Page 2 - ii
Copyright © 2002, ActivMedia Robotics, LLC. All rights reserved. Under international copyright laws, this manual or any portion of it may not be copied or in any way duplicated without the expressed written consent of ActivMedia Robotics. The software on disk and on the microcontroller ROM, which ac...
Page 3 - ActivMedia Robotics; Important Safety Instructions; iii
ActivMedia Robotics Important Safety Instructions ! Read the installation and operations instructions before using the equipment. ! Avoid using power extension cords. ! To prevent fire or shock hazard, do not expose the equipment to rain or moisture. ! Refrain from opening the unit or any of its acc...
Page 4 - Table of Contents; ActivMedia Robotics Basic Suite; iv
Table of Contents CHAPTER 1 INTRODUCTION ................................................................................................................. 1 R OBOT P ACKAGE ..................................................................................................................................
Page 6 - PID P
Step 2: Enable FLASH .......................................................................................................................... 47 Step 3: Put Microcontroller into Download Mode ............................................................................... 47 Step 4: Run p2osdl .......
Page 7 - Introduction; and -AT Mobile Robots first; Chapter 1; Robot Package; Optional Components and Attachments (partial list)
ActivMedia Robotics Introduction Figure 1. The Pioneer 2-DX and -AT Mobile Robots first appeared commercially in 1995. Chapter 1 Congratulations on your purchase and welcome to the rapidly growing community of researchers, developers, and enthusiasts of ActivMedia Robotics’ intelligent mobile robots...
Page 8 - Congratulations; User-Supplied Components / System Requirements; Additional Resources; Software;
Congratulations ! Serial cables for external connections ! Many more… User-Supplied Components / System Requirements ! Client computer: 586-class or later PC with Microsoft Windows© 9x/ME, or RedHat © Linux operating system ! One RS-232-compatible serial port ! Four megabytes of available hard-disk ...
Page 10 - Chapter 2; Pioneer is a family of mobile robots, both; Client Software
What Is Pioneer? Chapter 2 Pioneer is a family of mobile robots, both two-wheel and four-wheel drive, including the Pioneer 2-DX, -DXe, -CE, and -AT, and the PeopleBot (V1 and Performance) Mobile Robots. All are intelligent mobile robots, whose client-server architecture was originally developed by ...
Page 12 - ARIA
to use your robot, but it will not appear on your own menu since it copies functionalities of Navigator, which you may not distribute. ! M APPER provides the tools you need to construct a map of your robot’s real operating space (“world”). Navigator and WorldPass use this map floor plan to plan a pa...
Page 13 - The Pioneer Legacy; Pioneer 1
ActivMedia Robotics much of the ActivMedia Robotics Basic Suite and many other ventures. The complete, licensed Saphira robotics development environment, including C/C++ libraries, GUI interface and Simulator, comes bundled with your ActivMedia robot. The Pioneer Legacy Commercially introduced in Au...
Page 15 - Modes of Operation; Joydrive; email newslist. That's where we notify our customers of the
ActivMedia Robotics To the relief of those who have invested years in developing software for Pioneer 1, Pioneer 2 truly does combine the best of the new mobile robot technologies with the tried-and-true Pioneer architecture. Modes of Operation You may operate your Pioneer 2 or PeopleBot robot in on...
Page 16 - Specifications and Controls; Specifications & Controls; Chapter 3; sophisticated path planning tasks.; Physical Characteristics; virtually indestructible.; Main Components; ActivMedia robots are composed of several main parts:
Specifications and Controls Specifications & Controls Chapter 3 ActivMedia’s robots may be smaller than most, but they pack an impressive array of intelligent mobile robot capabilities that rival bigger and much more expensive machines. For example, the Pioneer 2-DXe with onboard PC is a fully a...
Page 18 - Figure 11. The PeopleBot V1 has a
Specifications and Controls Body, Nose, and Accessory Panels Your ActivMedia robot’s sturdy, but lightweight aluminum Body houses the batteries, drive motors, electronics, and other common components, including the front and rear sonar arrays. The Body also has sufficient room, with power and signal...
Page 20 - Motors and Position Encoders; Balance the batteries in your robot.; several days on a single battery charge.; Electronics; joystick port as well as it’s tabletop and breakbeam IR sensors.
Specifications and Controls Motors and Position Encoders Pioneer 2 and PeopleBot drive systems use high-speed, high-torque, reversible-DC motors, each equipped with a high-resolution optical quadrature shaft encoder for precise position and speed sensing and advanced dead-reckoning. Motor gearhead r...
Page 22 - Liquid-Crystal Display & Contrast Adjustment; Information about your robot's state and; and the; The MOTORS pushbutton is not a power switch—it does not directly
Specifications and Controls will automatically shut down the onboard PC. Discharging the batteries below 10 VDC may permanently damage them. You may continue to operate the robot while charging its batteries, although that will lengthen the recharge time. Because the onboard PC draws much current, e...
Page 23 - when using the optional radio modems.; RADIO
ActivMedia Robotics The MOTORS button and its associated green LED are under software control. Normally, your ActivMedia robot's motors are disabled when not connected with a client, such as Navigator or Saphira. When first connected with a client, 9 the motors remain disabled (LED flashes) until yo...
Page 24 - PeopleBot Sensors and Emergency STOP; Pioneer 2 Arm-related SIPs and Commands; Safety Watchdogs and Configuration
Specifications and Controls PeopleBot Sensors and Emergency STOP Performance PeopleBot’s tabletop sensors are very reliable diffuse IR detectors mounted to the front of the robot and which detect obstacles, particularly tabletops or rope barriers, that otherwise aren’t detected by the sonars. The ta...
Page 25 - Quick Start; Chapter 4; Preparative Assembly; Saphira Client Installation
ActivMedia Robotics Quick Start Chapter 4 Your ActivMedia robot comes ready for action. 11 This chapter describes how to operate the mobile robot with the Saphira demonstration software. For more details about programming and operating your ActivMedia mobile robot with Saphira, ARIA, or other client...
Page 26 - Saphira Client Start-Up
Quick Start For instance, the Windows© 9x/ME version is a self-extracting WinZip © archive. Simply double-click its .EXE icon and follow the extraction program’s instructions. The distribution archive decompresses into a Saphira\verxx directory of files. 12 Windows© 9x/ME users also need to set an e...
Page 27 - Starting Client-Server Communications; Figure 15. Connect Saphira with your; A Successful Connection
ActivMedia Robotics The same P2OS initialization sequence occurs whenever you press the red RESET button. Unlike the original Pioneer 1, you cannot engage the drive motors until after you have connected with a client, except during self-tests. RADIO ON If you own radio modems for client-server seria...
Page 28 - Operating the Saphira Demonstration Client; Table 1. Keyboard-controlled behaviors; KEY; connected Saphira client
Quick Start Connected P2OS v1.F 13.2* Operating the Saphira Demonstration Client When communications between the Saphira client and your robot’s servers are established, the robot becomes responsive and intelligent. For example, although it may drive toward an obstacle, your Pioneer 2-DXe will not c...
Page 29 - Disconnecting Serial Communications; disconnect the Saphira client
ActivMedia Robotics When manually joysticking the robot, each keypress moves the robot forward or backward faster or slower and incrementally changes its direction. For instance, when turning, it is often useful to press the left- or right-turn key rapidly several times in a row, because the turn in...
Page 30 - RESET; The Saphira-P2OS connection is SERIAL only.
Quick Start RESET button, you must restart the connection. Turning the Main Power switch off and then back ON or pressing the RESET button puts the robot servers back to their wait state, ready to accept client connections again. If the Saphira client application is still active, simply pull down th...
Page 31 - Joydrive and Self-Tests; Chapter 5; Joystick Connection; Beware; The Joystick and the older Gripper interfere at the User I/O port.; ON
ActivMedia Robotics Joydrive and Self-Tests Chapter 5 Beginning with P2OS version 1.C, all Pioneer 2s and PeopleBots may be tethered and driven manually with a common PC (analog) joystick. In version 1.G and later, you may also use the tethered joystick to manually drive the robot even when it is co...
Page 32 - Joydrive and Self Tests; Place your robot on the floor or ground and have everyone step; Press again to; Motors Test; Left forward
Joydrive and Self Tests handle find its default centered position before starting to drive. Try exiting (reset) and restarting joydrive mode if the joystick doesn’t seem to function well. The joystick’s “fire” button (button 1) acts as the joydrive “deadman”—press it to start driving; release it to ...
Page 33 - Sonar Test; MOTORS; Bumpers; OFF; Gripper
ActivMedia Robotics Use the drive test to ensure that the drive motors are working and that the encoder cables are in their correct sockets on the motor-power board. They’re the same size and have the same number of pins, so they can be mistakenly switched, right for left or left for right. In that ...
Page 34 - DIGIN and DIGOUT Test
Joydrive and Self Tests DIGIN and DIGOUT Test A subsequent self-test lets you examine the values of the eight digital input (ID0 – 7) and output (OD0-7) ports associated with User I/O on your ActivMedia robot’s microcontroller. The state of each port is mapped into a series of eight digits displayed...
Page 35 - Pioneer 2 Operating System; Chapter 6; server control architecture; Communication Packet Protocol; Table 2. Main elements of PSOS/P2OS communication packet protocol; Component Bytes Value
ActivMedia Robotics Pioneer 2 Operating System Chapter 6 Figure 19. ActivMedia Robotics client- server control architecture All ActivMedia robots use a client-server mobile robot-control architecture developed by Dr. Kurt Konolige and others at SRI International. In the model, the robot’s controller...
Page 36 - Packet Data Types; Data Type; int
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...
Page 37 - Name Data; DistConvFactor
ActivMedia Robotics provides very reliable links; radio modem-mediated communication is much less reliable. Accordingly, when designing client applications that may use radio modems, do not expect to receive every information packet intact, nor can you expect the server to accept every command. Tabl...
Page 38 - Server Information Packets; that currently is not supported by Saphira or ARIA.; Client Commands; Table 5. P2OS client command packet; Component Bytes
Pioneer 2 Operating System For some operations, however, the data do not decay as rapidly: Some commands are not overly time-sensitive—for example, those that perform such housekeeping functions as changing the sonar polling sequence. It would be useful to have a reliable packet protocol for these o...
Page 39 - Command; Before Client Connection
ActivMedia Robotics Table 6. P2OS/PSOS command set Command # Args Description PSOS P2OS Before Client Connection SYNC0 0 none Start connection; P2OS echoes 3.x 1.0 SYNC1 1 none synchronization commands back to SYNC2 2 none client. After Established Connection PULSE 0 none Client pulse resets server ...
Page 40 - Manual
Pioneer 2 Operating System IOREQUEST 40 none Request 1 or a continuous stream (>1) or tell to stop sending (0) IO SIPs – 1.E PTUPOS 41 int msb is the port number (1-4) and lsb is the pulse width in 100µsec units PSOS, 10µsec units P2OS. Version 1.J uses RC-servo 40ms duty cycle. 4.5 1.2 - 1.J TTY...
Page 41 - Programming P2OS; Establishing a Client-Server Connection—SYNC
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/in...
Page 42 - Keeping the Beat—PULSE; Movement Commands; Table 7. P2OS movement commands; Rotation
Pioneer 2 Operating System housekeeping functions, start its sonar and motor controllers (among other things), listen for client commands, and begin transmitting server information to the client. Note that once connected, Pioneer 2's and PeopleBot’s motors are disabled, regardless of their state whe...
Page 43 - Figure 20. Pioneer’s trapezoidal turning velocity profile
ActivMedia Robotics and velocity of the robot. When in translation/ rotation (TR) motion control (recommended), separate translation and rotation servers work independently to achieve the specified forward/ reverse speed and heading of the robot. P2OS will try to make the robot achieve the desired t...
Page 44 - Position Integration; Figure 21. Internal coordinate system for P2OS; Sonar
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. Registration between external and internal coordinates deteriorates rapidly with movement, due to gearbox play, whe...
Page 45 - NOTICE; BUMPSTALL requires supporting bump ring accessories.; stall
ActivMedia Robotics example. You may repeat a sonar number and have it ping more than once per sequence. For example: sfRobotComStrn(sfCOMPOLLING,"\001\002\001\002",4); /* ping front left only */ Note that if the string is empty, the sonar get turned off, even though you hadn't disabled the ...
Page 46 - Extended Packets; SinfoCycle
Pioneer 2 Operating System For example, sfRobotComInt (35,4); /* select AN4 to b in the standard SIP */ … later… if (sfRobot.timer & 0xff = = 4 && sfRobot.analog > 200) /* E-Stop button pressed and engaged */ else /* E-stop not engaged. */ Extended Packets Several different, additiona...
Page 47 - SERAUXpac and GETAUX
ActivMedia Robotics Send the CONFIG command #18 with or without an argument to have P2OS send back a special server information packet containing the robot's operational parameters. The CONFIGpac SIP packet type is 32 (0x20). The next chapter gives details about the configuration packet data. /* Sen...
Page 48 - ENCODERpac and ENCODER Command
Pioneer 2 Operating System number of bytes you request via the GETAUX command—up to 200 bytes at a time. P2OS waits to collect the requested number of incoming AUX-port serial bytes before sending the GETAUX packet to the client. Use the GETAUX command with a zero argument to flush the P2OS circular...
Page 50 - DIGOUT and PSUPOS; IOpac and IOREQUEST
Pioneer 2 Operating System sfSMessage("Port# % reads %i",sfRobot.timer, sfRobot.analog); Port# 5 reads 33 sfRobotComInt(35,2); sfSMessage("Port# % reads %i",sfRobot.timer, sfRobot.analog); Port# 2 reads 224 DIGOUT and PSUPOS The eight digital output ports on the P2OS controller’s Use...
Page 51 - Performance PeopleBot IRs; and
ActivMedia Robotics a byte value for the selected analog port, analog values in the IOpac are integers, with resolution to 12 bits. If either bumper is not installed, its reported value can vary. Table 11. IOpac packet contents Header integer Exactly 0xFA, 0xFB Count byte Number of data bytes + 2 Ty...
Page 52 - Updating and Reconfiguring P2OS; Updating & Reconfiguring P2OS; Chapter 7; Where to Get P2OS Software; Step 1. Serial Connection from Computer to Robot
Updating and Reconfiguring P2OS Updating & Reconfiguring P2OS Chapter 7 The P2OS server software and a set of operating parameters get stored in your robot’s microcontroller's FLASH ROM. With special download and configuration utilities, you may change and update the FLASH memory image without p...
Page 54 - Configuring P2OS Operating Parameters; Limited reconfigurations; Steps 1–3: Preparing for Configuration; Argument Description; List p2oscf argument options and quit
Updating and Reconfiguring P2OS Configuring P2OS Operating Parameters The program p2oscf(.exe) is the way you view and change your Pioneer 2’s identity and operating parameters. Limited reconfigurations . FLASH ROM in the controller is guaranteed for only 100 erase cycles. Steps 1–3: Preparing for C...
Page 55 - Editing P2OS Parameters; Table 14. p2oscf control commands
ActivMedia Robotics Step 6: Save Your Work Use the save command to save your configuration changes to FLASH or to a disk file. We strongly recommend that you save each of your robots’ parameter values to disk for later retrieval should your microcontroller get damaged or it’s FLASH inadvertently era...
Page 56 - Saving and Restoring
Updating and Reconfiguring P2OS Saving and Restoring The p2oscf program lets you save and restore whole configuration sets from disk-stored files. This lets you easily configure your robot for various different environments, as well as maintain a record of your original and test parameters. To save ...
Page 57 - KEYWORD
ActivMedia Robotics Table 15. Configuration parameters (currently P2OS 1_J) with values for Pioneer 2-DX KEYWORD Type Default Description CONSTANTS Should not be changed using p2oscf Type str Pioneer Identifies the robot type. Subtype str P2DX Identifies the Activ Media robot model. Serial str facto...
Page 58 - PID Parameters; Table 16. Some platform-dependent robot parameter values; Model
Updating and Reconfiguring P2OS PID Parameters The P2OS configuration parameters include settings for the PID motors controls for translation and rotation of the robot. The translation PID values also apply to independent wheel velocities. The default values shown in the Table are for a moderately l...
Page 59 - revcountcal; compasscal; Compasscal is for the V 2XG compass only not for the TCM2 Module.; Saphira required; CompassCal and RevcountCal only work with licensed and properly
ActivMedia Robotics Parameter DX DXe AT CE PB V1 Performance PB Encoder ticks per rev 500 500 500 100 500 500 Gear ratio 19.7 19.7 85.5 19.7 38.3 38.3 Wheel diam (mm) 165 191 220 165 165 191 Encoder ticks per mm wheel rotation 76 66 49 76 148 128 DistConvFactor 0.840 0.969 1.32 0.826 0.413 0.424 Dif...
Page 60 - bin
Updating and Reconfiguring P2OS after each startup. You may choose not to change the FLASH ROM values. Rather, you record the new configuration values and set/reset them using the p2oscf tool described earlier in this chapter. Install either compasscal(.exe) or revcountcal(.exe) into the bin directo...
Page 61 - Maintenance & Repair; Chapter 8; Drive Lubrication; wrap around and bind up your robot’s drive.; Batteries; Changing Batteries; The Batteries slide in; Center a single battery and place two batteries one on each side.
ActivMedia Robotics Maintenance & Repair Chapter 8 Your ActivMedia robot is built to last a lifetime and requires little maintenance. Drive Lubrication The drive motors and gearbox are sealed and self-lubricating, so you need not fuss with grease or oil. An occasional drop or two of oil on the a...
Page 62 - Maintenance and Repair; Alternative Battery Chargers; Getting Inside; onboard computer and its accessories.; Open the robot AT YOUR OWN RISK,; Removing the Nose
Maintenance and Repair Alternative Battery Chargers The center post of the charger socket is the positive (+) side of the battery; the case is the negative (-) side. A diode protects against the wrong charger polarity. Nonetheless, if you choose to use an alternative battery charge, be sure to conne...
Page 64 - Figure 25. Remove indicated screws to; Factory Repairs; details from us first.; We are not responsible for shipping damage or loss.
Maintenance and Repair Figure 25. Remove indicated screws to flip open the hinged Pioneer 2-AT rear Deck. Figure 26. Remove indicated screws to flip open the Pioneer 2-DXE rear Deck. Factory Repairs If, after reading this manual, you’re having hardware problems with your Pioneer or PeopleBot robot a...
Page 65 - Appendix A; C166 Controller Ports & Connections; Figure 27. Serial port IDC connector pins; Console Serial Port
ActivMedia Robotics Appendix A C166 Controller Ports & Connections This Appendix contains pinout and electrical specifications for the external and internal ports and connectors on the Pioneer 2/PeopleBot microcontroller board. These include an external (Host) serial port for P2OS-to-client conn...
Page 66 - Appendix A: Microcontroller Ports and Connections; Table 17. Common serial cable connections to Pioneer 2; Internal Serial Connectors; Connection; User I/O Expansion Port
Appendix A: Microcontroller Ports and Connections Table 17. Common serial cable connections to Pioneer 2 Platform & Connector Pin 3 (Tx) Pin 5 (Rx) Pin 9 (Gnd) Sun Sparcstation DB-25 3 2 7 SGI Irix mini-DIN 8 5 3 4 PC COM n : DB-9 2 3 5 PC COM n : DB-25 3 2 7 Macintosh mini-DIN 8 3 5 4 P2OS oper...
Page 67 - Pin; Performance PeopleBot I/O
ActivMedia Robotics ! 4 Pulse-width-modulation ports (PWM1-4) ! 1 signal ground (Gnd) ! 1 Vcc (+5 VDC) ! 1 Vpp (+12 VDC) Note that the general-purpose I/O and analog-to-digital ports are shared with the General I/O connector (below) and joystick circuitry and may not be available for use on all robo...
Page 68 - = Not used available for other User applications; Label
Appendix A: Microcontroller Ports and Connections Table 21. Performance PeopleBot I/O User I/O Pin # Label Use User I/O Pin # Label 1 OD0 ― 2 ID0 Lft Tabletop 3 OD1 ― 4 ID1 Rgt Tabletop 5 OD2 ― 6 ID2 Lft Breakbeam 7 OD3 ― 8 ID3 Rgt Breakbeam 9 ID4 Joystick 10 OD4 ― 11 ID5 Joystick 12 OD5 ― 13 ID6 Jo...
Page 69 - Appendix B; User Power Connections; Table 23. User Power Connector J1; Onboard Computer Option; Power Switch (J7) and Delayed Shutdown Logic
ActivMedia Robotics Appendix B Motor-Power Board The Pioneer 2 and PeopleBot robots have a separate Motor-Power board which, in conjunction with the microcontroller, provides power for motors as well as conditioned power for the standard and accessory onboard electronics. It also contains buffered p...
Page 70 - Appendix B: Motor-Power Board Connectors; Similarly, when the computer power is manually switched; DCD; Computer Power; Vpp
Appendix B: Motor-Power Board Connectors which output controls the computer's DC:DC voltage converter. Designed to provide for crash-less shutdown of the computer in the event of a power brownout or for unattended shutdowns, if Vpp drops below 10 VDC, the comparator automatically initiates a two-min...
Page 71 - Appendix C; Joystick Connector; such as the older style Gripper.
ActivMedia Robotics Appendix C Joystick Connector Use a 20-wire IDC-terminated ribbon cable to attach the 15-pin joystick connector to the User I/O port on the P2OS microcontroller. Both require P2OS version 1.c or later. Figure 30. Standard joyport for manual drive of a Pioneer 2 or PeopleBot Mobil...
Page 72 - Appendix D: Specifications; Appendix D; Specifications
Appendix D: Specifications Appendix D Specifications DXe DX AT Perf PB PB V1 CE Physical Characteristics Length (cm) 44.5 44 50 47 47 44 Width (cm) 40 33 49 38 38 33 Height (cm) 24.5 22 24 124 104 22 Clearance (cm) 6.5 5.1 5.5 3.5 3.5 5.1 Weight (kg) 9 9 14 21 19 9 Payload (kg) 23 20 40 11 13 20 Pow...
Page 73 - Sensors; Controls and Ports
ActivMedia Robotics Sensors DXe DX AT Perf PB PB V1 CE Sonar Front Array (one each side, six forward @ 20° intervals) 8 8 8 8 8 8 Rear Sonar Array (one each side, six rear @ 20° intervals) 8 8 8 8 8 na Top Deck Sonar (one each side, six rear @ 20° intervals) na na na 8 8 na Encoders (2 ea) counts/re...
Page 74 - Index; ENCODERpac
Index A/D, 43 Electronics, 14 ENCODERpac , 42 Accessory Panels, 12 Microcontroller, 15 Encoders, 14 ActivMedia Robotics Basic Suite, 5 Nose, 12 ePresence , 5 Optional, 1 Errors, 30 ADSEL, 43 Power, 15 Extended packets, 40 AmigoBot, 43 User supplied, 2 FLASH, 17, 47 Sounds, 43 Computer, 12 FLASH, 9 A...
Page 76 - Warranty & Liabilities; is overloaded with heavy objects.
Warranty & Liabilities Your ActivMedia robot is fully warrantied against defective parts or assembly for one year after it is shippedto you from the factory. Accessories are warrantied for 90 days. This warranty explicitly does not include damage from shipping or from abuse or inappropriate oper...