Pioneer 2 / PeopleBot manual Programming P2OS, Saphira Client Command Support, Autoconfiguration

Page 41

ActivMedia Robotics

for negative integers; see below). The argument is an integer, a string, or nothing, depending on the command.

Saphira Client Command Support

Saphira, as well as ARIA, all support P2OS client commands with useful library functions. You can find prototypes in $(SAPHIRA)/handler/include/saphira.h and saphira.pro. Saphira’s P2OS command names have the prefix sfCOM. Not all P2OS command names are supported in Saphira. See the Saphira Software Manual.

For example, to enable the motors from the Colbert interaction window in the Saphira client GUI, type:

sfRobotComInt(sfCOMENABLE,1);

Or to have your Pioneer 2 play a tune (albeit rather tinny), type:

sfRobotComStrn(sfCOMSAY,"\1\6\2\105",4);

Programming P2OS

You may create your own P2OS interface, or use the convenience functions available through the various applications-development software that come with your ActivMedia robot.

Establishing a Client-Server Connection—SYNC

Before exerting any control, a client application must first establish a connection to the robot server via the Host RS-232 serial port. Over that established communication link, the client then sends commands to and receives operating information from the server.

When first started, P2OS is in a special wait (“noconn”) state, listening for communication packets to establish a client-server connection. To establish a connection, the client application must send a series of three synchronization packets through the Host communication port, containing SYNC0, SYNC1, and SYNC2 command bytes, in succession, and retrieve the server responses.

When in wait mode, P2OS echoes packets back to the client. The client should listen for the returned packets and only issue the next synchronization packet after it has received the appropriate echo.

Autoconfiguration

P2OS automatically sends robot-configuration information back to the client in the last synchronization packet (SYNC2) echoed when establishing a connection. After the SYNC2 byte, there are three NULL-terminated strings that comprise the robot’s name, class, and subclass. You may uniquely name your Pioneer 2 with the p2oscf configuration tool we provide with the robot. The class and subclass also are parameters stored in the robot's FLASH, but are constants normally set at the factory and not changed thereafter. (See next chapter for details.)

The Pioneer class string is simply Pioneer; the subclass depends on your robot model; P2DX or P2AT, for example. Clients may use these identifying parameters to self- configure their own operating parameters. ARIA, for instance, loads the robot’s related parameters file found in a special robot params directory.

Opening the Servers—OPEN

Once you’ve established a communication link, the client should send the OPEN command to the server, which causes the ActivMedia robot controller to perform a few

35

Image 41
Contents Pioneer 2 / PeopleBot TM Page Important Safety Instructions Table of Contents Pioneer 2 Operating System Appendix C Robot Package IntroductionBasic Components all shipments Optional Components and Attachments partial listUser-Supplied Components / System Requirements Additional ResourcesSoftware NewsgroupsSupport@activmedia.com SupportClient Software What Is Pioneer?ActivMedia Robotics Basic Suite Http//robots.activmedia.comSaphira AriaPioneer 2 and PeopleBot Pioneer LegacyPioneer Page Modes of Operation Main Components Specifications & ControlsPhysical Characteristics Pioneer 2-AT Console and hinged Deck Decks and ConsoleBody, Nose, and Accessory Panels Sonar Arrays with Gain Adjustment Motors and Position Encoders Batteries and PowerElectronics Controls, Ports, and Indicators Reset and Motors Liquid-Crystal Display & Contrast AdjustmentSerial PeopleBot Sensors and Emergency Stop Safety Watchdogs and ConfigurationPioneer 2 Arm-related SIPs and Commands Saphira Client Installation Preparative AssemblyQuick Start Http//robots.activmedia.comRobot Cold Start-Up Saphira Client Start-UpSET SAPHIRA=C\Saphira\ver62 Export DISPLAY=remotecomputer0Successful Connection Starting Client-Server CommunicationsConnected Operating the Saphira Demonstration ClientQuickstart Troubleshooting Quick Start Joydrive Operation Joydrive and Self-TestsJoystick Connection Motors Test Engaging Self-TestsPress again to begin tests Left forward 13.2Bumpers Sonar TestGripper CompassAnalog Tests Digin and Digout TestUser PWMs Digin DigoutCommunication Packet Protocol Pioneer 2 Operating SystemPacket Checksum Packet ErrorsPacket Data Types Name Data Type Description Server Information Packets Client CommandsBefore Client Connection Ptupos Client Command Argument TypesAutoconfiguration Saphira Client Command SupportProgramming P2OS Establishing a Client-Server Connection-SYNCClosing the Connection-CLOSE Movement CommandsKeeping the Beat-PULSE PID Controls Pioneer in MotionPosition Integration SonarSfRobotComInt44,1 Estop and EstallPacket Processing CONFIGpac and Config CommandExtended Packets SERAUXpac and Getaux PLAYLISTpac and Playlist Command ENCODERpac and Encoder CommandGRIPPERpac and Griprequest Checksum Integer Computed checksumDIGIN, TIMER, and Adsel TCM2pac and TCM2 CommandInput / Output I/O SfSMessageDigin is %i,sfRobot.diginIOpac and Iorequest Digout and PsuposPerformance PeopleBot IRs Where to Get P2OS Software Updating & Reconfiguring P2OSInstalling the P2OS Utilities Updating P2OSPut Microcontroller into Download Mode Enable FlashDownload Troubleshooting Run p2osdlSteps 1-3 Preparing for Configuration Configuring P2OS Operating ParametersChanging Configuration Parameters Run p2oscfEditing P2OS Parameters Save C\p2os\myP2DX Saving and RestoringArm Parameters Keyword Encoder and Revcount PID ParametersParameter DXe Performance PB Calibration Tools revcountcal and compasscalCompasscal /dev/ttyS3 Batteries Maintenance & RepairDrive Lubrication Removing the Nose Alternative Battery ChargersGetting Inside Remove indicated screws to remove Original Pioneer 2-AT Deck Opening the DeckSupport@activmedia.com 603 924-2184 fax 603 924-9100 voice Factory RepairsC166 Controller Ports & Connections Appendix aUser I/O Expansion Port Internal Serial ConnectorsPin Label Use Performance PeopleBot I/OGeneral I/O Bus Power Switch J7 and Delayed Shutdown Logic User Power ConnectionsAppendix B Onboard Computer OptionComputer Power Power-State LogicAppendix C Joystick ConnectorAppendix D SpecificationsControls and Ports Controls IndexSpecifications Warranty & Liabilities Page Concord Street Peterborough, NH 603

2 / PeopleBot specifications

Pioneer 2, also known as PeopleBot, is an advanced mobile robot platform heralded for its versatile design and robust capabilities. Developed by the renowned robotics company Adept Technology, Pioneer 2 has become a staple in the field of mobile robotics, widely utilized for research, education, and practical applications in various industries.

One of the standout features of Pioneer 2 is its exceptional mobility. The robot is equipped with differential steering, allowing it to navigate complex environments with precision. Its compact and sturdy chassis enables it to traverse a variety of terrains, making it suitable for indoor and outdoor exploration. This mobility is further enhanced by an adaptable wheel configuration, allowing for smooth movement even over obstacles.

In terms of technologies, Pioneer 2 is outfitted with an array of sensors that facilitate autonomous navigation and obstacle avoidance. These sensors include laser range finders, infrared sensors, and bumpers, which work in tandem to map the surrounding environment and detect potential hazards. This capability is critical for applications in areas such as warehouse automation or reconnaissance tasks, where safe navigation is paramount.

Pioneer 2 also supports extensive software frameworks, notably the Robot Operating System (ROS). This compatibility allows researchers and developers to leverage a vast library of tools and algorithms, expediting the process of programming and deploying robotic applications. Additionally, the platform can be integrated with various payloads, such as cameras or grippers, expanding its functionality further.

Another significant characteristic of Pioneer 2 is its user-friendly design. The robot comes with an easy-to-use programming interface that empowers users with varying levels of expertise to engage with the technology. Educational institutions often employ Pioneer 2 in robotics courses to provide students with hands-on experience in programming and operating robotic systems.

Powering Pioneer 2 is a rechargeable battery system that ensures extended operation times. This feature is particularly advantageous for fieldwork applications where connectivity to a power source may not be readily available. Importantly, the robot’s modular design facilitates maintenance and upgrades, allowing users to keep their systems current with advances in technology.

Overall, Pioneer 2 (PeopleBot) exemplifies innovation in mobile robotics with its outstanding mobility, advanced sensing technologies, compatibility with leading software frameworks, and a design focused on ease of use and adaptability. It continues to be a preferred choice for researchers, educators, and professionals in the rapidly evolving landscape of robotics.