Pioneer 2 / PeopleBot manual Sonar, Position Integration

Page 44

Pioneer 2 Operating System

Position Integration

Pioneer keeps track of its position and orientation based on dead-reckoning from wheel motion, which is an internal coordinate position.

0

+X

Front

+90 +Y

+270

+180

Figure 21. Internal coordinate system for P2OS

Registration between external and internal coordinates deteriorates rapidly with movement, due to gearbox play, wheel imbalance and slippage, and many other real- world factors. You can rely on the dead-reckoning ability of the robot for just a short range—on the order of several meters and one or two revolutions, depending on the surface. Carpets tend to be worse than hard floors.

Also, moving either too fast or too slow tends to exacerbate the ab- solute position errors. Accordingly, consider the robot’s dead-reckon- ing capability as a means of tying together sensor readings taken over a short period of time, not as a method of keeping the robot on course in a global map.

The orientation commands HEAD and DHEAD turn the robot with respect to its internal dead-reckoned angle. On start-up, the robot is at the origin (0,0), pointing toward the positive X-axis at 0 degrees. Absolute angles vary between 0 and 359. As the robot moves, it will update this internal position based on dead-reckoning. The X,Y position is always positive, and rolls over at about 3,000 millimeters. So, if the robot is at position (400,2900) and moves 400 millimeters along the Y-axis and -600 millimeters along the X- axis, its new position will be (2800,300).

You may reset the internal coordinates to 0,0,0 with the SETO P2OS command.

Sonar

When OPENed (see Opening the Servers—OPENabove), P2OS automatically begins firing your robot’s sonar arrays in the predefined default sequence: 18, 916, 1724, and 2532, one sonar per array simultaneously.20 P2OS also begins sending the sonar-ranging results to the client via the server-information packet. Use the SONAR command to enable (argument is "1") or disable (argument is "0") the sonar pinging. This is an all or nothing command; you cannot disable a single array this way.

For example:

sfRobotComInt(sfCOMSONAR,0); /* Stop the pinging when not needed */

Use the sonar POLLING command to change the polling sequence of an array. Its argument is a null-terminated string of up to 15 sonar numbers. Front sonar are numbered \001 through \010 (octal), and the rear sonar are \011 through \100, for

20See the next chapter for details on how to enable sonar arrays with p2oscf.

38

Image 44
Contents Pioneer 2 / PeopleBot TM Page Important Safety Instructions Table of Contents Pioneer 2 Operating System Appendix C Introduction Robot PackageBasic Components all shipments Optional Components and Attachments partial listAdditional Resources User-Supplied Components / System RequirementsSoftware NewsgroupsSupport Support@activmedia.comWhat Is Pioneer? Client SoftwareHttp//robots.activmedia.com ActivMedia Robotics Basic SuiteAria SaphiraPioneer 2 and PeopleBot Pioneer LegacyPioneer Page Modes of Operation Main Components Specifications & ControlsPhysical Characteristics Decks and Console Pioneer 2-AT Console and hinged DeckBody, Nose, and Accessory Panels Sonar Arrays with Gain Adjustment Motors and Position Encoders Batteries and PowerElectronics Controls, Ports, and Indicators Liquid-Crystal Display & Contrast Adjustment Reset and MotorsSerial PeopleBot Sensors and Emergency Stop Safety Watchdogs and ConfigurationPioneer 2 Arm-related SIPs and Commands Preparative Assembly Saphira Client InstallationQuick Start Http//robots.activmedia.comSaphira Client Start-Up Robot Cold Start-UpSET SAPHIRA=C\Saphira\ver62 Export DISPLAY=remotecomputer0Starting Client-Server Communications Successful ConnectionOperating the Saphira Demonstration Client ConnectedQuickstart Troubleshooting Quick Start Joydrive Operation Joydrive and Self-TestsJoystick Connection Engaging Self-Tests Motors TestPress again to begin tests Left forward 13.2Sonar Test BumpersGripper CompassDigin and Digout Test Analog TestsUser PWMs Digin DigoutPioneer 2 Operating System Communication Packet ProtocolPacket Checksum Packet ErrorsPacket Data Types Name Data Type Description Client Commands Server Information PacketsBefore Client Connection Client Command Argument Types PtuposSaphira Client Command Support AutoconfigurationProgramming P2OS Establishing a Client-Server Connection-SYNCClosing the Connection-CLOSE Movement CommandsKeeping the Beat-PULSE Pioneer in Motion PID ControlsSonar Position IntegrationEstop and Estall SfRobotComInt44,1Packet Processing CONFIGpac and Config CommandExtended Packets SERAUXpac and Getaux ENCODERpac and Encoder Command PLAYLISTpac and Playlist CommandGRIPPERpac and Griprequest Checksum Integer Computed checksumTCM2pac and TCM2 Command DIGIN, TIMER, and AdselInput / Output I/O SfSMessageDigin is %i,sfRobot.diginDigout and Psupos IOpac and IorequestPerformance PeopleBot IRs Updating & Reconfiguring P2OS Where to Get P2OS SoftwareInstalling the P2OS Utilities Updating P2OSEnable Flash Put Microcontroller into Download ModeDownload Troubleshooting Run p2osdlConfiguring P2OS Operating Parameters Steps 1-3 Preparing for ConfigurationChanging Configuration Parameters Run p2oscfEditing P2OS Parameters Save C\p2os\myP2DX Saving and RestoringArm Parameters Keyword PID Parameters Encoder and RevcountCalibration Tools revcountcal and compasscal Parameter DXe Performance PBCompasscal /dev/ttyS3 Batteries Maintenance & RepairDrive Lubrication Removing the Nose Alternative Battery ChargersGetting Inside Opening the Deck Remove indicated screws to remove Original Pioneer 2-AT DeckFactory Repairs Support@activmedia.com 603 924-2184 fax 603 924-9100 voiceAppendix a C166 Controller Ports & ConnectionsInternal Serial Connectors User I/O Expansion PortPerformance PeopleBot I/O Pin Label UseGeneral I/O Bus User Power Connections Power Switch J7 and Delayed Shutdown LogicAppendix B Onboard Computer OptionPower-State Logic Computer PowerJoystick Connector Appendix CSpecifications Appendix DControls and Ports Index ControlsSpecifications 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.