Pioneer 2TM ActivMedia Robotics Operating System, CLIENT-SERVER Communication Packet Protocols

Page 37

ActivMedia Robotics

Chapter 6 ActivMedia Robotics Operating System

All ActivMedia robots use a client-server mobile robot-control architecture originally developed at SRI International, Inc. and Stanford University. In the model, the robot’s controller servers work to manage all the low- level details of the mobile robot’s systems. These include operating the motors, firing the sonar, collecting sonar and wheel encoder data, and so onall on command from and reporting to a separate client application, such as ARIA.

With this client/server architecture, robotics applications developers do not need to know many details about a particular robot server, because the client insulates them from this lowest level of control. Some of you, however, may want to write your own robotics control and reactive planning programs, or just would like to have a closer programming relationship with your robot. This chapter explains how to communicate with and control your ActivMedia robot via the ActivMedia Robotics Operating System (AROS) client-server interface. The same AROS functions and commands are supported in the various client-programming environments that accompany your robot or are available for separate license.

Figure 16. ActivMedia Robotics client-server control architecture

Experienced ActivMedia robot users can be assured that AROS is upwardly compatible with all ActivMedia robots, implementing the same commands and information packets that first appeared in the Pioneer 1-based PSOS and in the original Pioneer 2-based P2OS. AROS, of course, extends the servers to add new functionality, improve performance, and provide additional information about the robot's state and sensing.

CLIENT-SERVER COMMUNICATION PACKET PROTOCOLS

ActivMedia robots communicate with a control client using special client-server communication packet protocols, one for command packets from client to server and another for server information packets (SIPs) from the server to client. Both protocols are bit streams consisting of five main elements: a two-byte header, a one-byte count of the number of subsequent packet bytes, the client command or SIP packet type, command data types and argument values or SIP data bytes, and, finally, a two-byte checksum. Packets are limited to a maximum of 206 bytes each.

The two byte header which signals the start of a packet is the same for both client- command packets and SIPs: 0xFA, 0xFB. The byte count value counts the number of all subsequent bytes in the packet including the checksum, but not including the byte count value itself or the header bytes.

Data types are simple and depend on the element (see descriptions below): client commands, SIP types, and so on, are single 8-bit bytes, for example. Command arguments and SIP values may be 2-byte integers, ordered as least-significant byte

31

Image 37
Contents Pioneer H8-Series Operations Manual Page Important Safety Instructions Table of Contents Operating the Aria Demonstration Client Appendix C Robot Package IntroductionBasic Components all shipments Optional Components and Attachments partial listAdditional Resources User-Supplied Components / System RequirementsSupport Website NewsgroupsSupport@activmedia.com SupportPioneer Reference Platform What Is Pioneer?Hitachi H8S-BASED Microcontroller Plus MOTOR-POWER BoardHttp//robots.activmedia.com Client SoftwarePioneer Legacy Supporting SoftwarePioneer 2 and PeopleBot Pioneer 1 and ATActivMedia Robotics Maintenance and Standalone Modes Server ModeModes of Operation Joydrive and Self Test ModesPhysical Characteristics Specifications & ControlsMotor Stop Button Main ComponentsP3-DX User Control Panel User Control PanelSonar Arrays with Gain Adjustment Body, Nose, and Accessory PanelsMotors, Wheels, and Position Encoders Batteries and PowerRecharging Battery Indicators and Low Voltage ConditionsManual Operation Robot Power and Systems on Manual Operation Robot Power OFFDOCKING/CHARGING System Client-server connection options Radio Controls and AccessoriesComputer Control Panel Onboard PCPC Networking Operating the Onboard PCUPS and Genpowerd Safety Aros Watchdogs Install Aria Preparative AssemblyQuick Start Client-Server Communications Install BatteriesStarting UP Client and Server Drive Self-TestIpthru Demo Startup OptionsOperating the Aria Demonstration Client Successful ConnectionQuickstart Troubleshooting DisconnectingProper Connections SRIsim OFFJoydrive and Self-Tests Joydrive ModeEngaging SELF-TESTS CLIENT-SERVER Communication Packet Protocols ActivMedia Robotics Operating SystemPacket Checksum Packet ErrorsMultiply by DistConvFactor‡ Server Information PacketsBefore Client Connection Client CommandsP2OS CLIENT-SERVER Connection Opening the Servers-OPEN Autoconfiguration SYNC2Keeping the Beat-PULSE Closing the Connection-CLOSERotation Motion CommandsPlatform Dependent and Independent Variables ActivMedia Robots in MotionInternal coordinate system PID ControlsPosition Integration Enable/Disabling SonarSonar Polling Sequence and Rate11-15 Reserved Stalls and EmergenciesPacket Processing Accessory Commands and PacketsSerial Port Communications CONFIGpac and Config CommandChanging Baud Rates and Autobauding Encoder Packets HOST-to-AUX Serial TransfersGripper packets TCM2 SoundsHeading Correction Gyro Onboard PCUser I/O Input Output I/OIO packets Bumper and IR I/ODOCKING/CHARGING System I/O Expansion I/ODigital Port Controls Docking/Charging ServersCharge State Overcharge ~Volts Charge current ID7 Monitoring the Recharge CycleActivMedia Robotics Operating System Where to GET Aros Software Updating & Reconfiguring ArosAros Maintenance Mode Simple Aros UpdatesStarting Aroscf Updating and Reconfiguring ArosInteractive Commands Configuring Aros Operating ParametersChanging Parameters PID Parameters Save Your WorkKeyword 0056 0057 0060 0034 Ticksmm and RevcountBumpers Stallval and StallcountUpdating and Reconfiguring Aros Tire Inflation Maintenance & RepairDrive Lubrication BatteriesAutomated Docking/Charging System Alternative Battery ChargersTightening the AT Drive Belt Removing the Nose Getting InsideFactory Repairs Opening the DeckAppendix a Power ConnectorH8S Ports & Connections H8S MicrocontrollerUser I/O, Gripper, Docking/Charging Port Serial PortsExpansion I/O Bus OD7Motors, Encoders, and IR Sensors Bumper PortsUser Control Interface Joystick Port Configuration for Current and Temperature Sensing Pioneer 3 and 2-PLUS MOTOR-POWER BoardAppendix B Radio, Auxiliary, and User Power Connectors Controller Power and InterfaceGND IR Signal and PowerAppendix C Radio Modem SettingsConsole mode Serial Ethernet SettingsAppendix D Peer-to-Peer Networking WebpageAppendix E SpecificationsControls and Ports Warranty & Liabilities Columbia Drive Amherst, NH 603