Pioneer 2 / PeopleBot manual Packet Data Types, Packet Checksum, Packet Errors

Page 36

Pioneer 2 Operating System

server to client. Both are bit streams consisting of four main elements: a two-byte header, a one-byte count of the number of subsequent packet bytes, the client command and its arguments or the server information data bytes, and, finally, a two- byte checksum.

Packet Data Types

Client commands and server information packets contain several data types, as defined in Table 3.

Table 3. P2OS Communication Packet Data Types

Data Type

Bytes

Order

 

integer

2

b0

low byte; b1

high byte

word

4

b0

low byte; b3

high byte

string

up to ~200,

b0

length of string;

 

length-prefixed

b1

first byte of string

Packet Checksum

Calculate the PSOS/P2OS client-server packet checksum by successively adding data byte pairs (high byte first) to the running checksum (initially zero), disregarding sign and overflow. If there is an odd number of data bytes, the last byte is XORed to the low- order byte of the checksum.

int calc_chksum(unsigned char *ptr)

{

//ptr is array of bytes

//first is data count

int n; int c = 0;

n = (ptr++);

/* Step over byte count

*/

n -= 2;

/* don't include checksum word */

while (n > 1)

 

 

{

 

 

c += (*(ptr)<<8) *(ptr+1); c = c & 0xffff;

n -= 2; ptr += 2;

}

if (n > 0)

c = c ^ (int)*(ptr++); return(c);

}

NOTE: In P2OS, the checksum word is placed at the end of the packet, with its bytes in the reverse order of that used for arguments and data; that is, b0 is the high byte and b1 is the low byte.

Packet Errors

Currently, P2OS ignores a client command packet whose Byte Count exceeds 200 or has an erroneous checksum. The client should similarly ignore erroneous server information packets.

P2OS does not acknowledge receipt of a command packet nor does it have any facility to handle client acknowledgment of a server information packet. Consequently, Pioneer client/server communications are as reliable as the physical communication link. A cable tether between the robot and client computer, such as a piggyback laptop,

30

Image 36
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 Legacy PioneerPioneer 2 and PeopleBot Page Modes of Operation Specifications & Controls Physical CharacteristicsMain Components Decks and Console Pioneer 2-AT Console and hinged DeckBody, Nose, and Accessory Panels Sonar Arrays with Gain Adjustment Batteries and Power ElectronicsMotors and Position Encoders Controls, Ports, and Indicators Liquid-Crystal Display & Contrast Adjustment Reset and MotorsSerial Safety Watchdogs and Configuration Pioneer 2 Arm-related SIPs and CommandsPeopleBot Sensors and Emergency Stop 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 and Self-Tests Joystick ConnectionJoydrive Operation 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 Errors Packet Data TypesPacket Checksum 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-SYNCMovement Commands Keeping the Beat-PULSEClosing the Connection-CLOSE Pioneer in Motion PID ControlsSonar Position IntegrationEstop and Estall SfRobotComInt44,1CONFIGpac and Config Command Extended PacketsPacket Processing 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 Saving and Restoring Arm ParametersSave C\p2os\myP2DX Keyword PID Parameters Encoder and RevcountCalibration Tools revcountcal and compasscal Parameter DXe Performance PBCompasscal /dev/ttyS3 Maintenance & Repair Drive LubricationBatteries Alternative Battery Chargers Getting InsideRemoving the Nose 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.