Page 2
The various names and logos for products used in this manual are often registered trademarks or trademarks of their respective companies. Mention of any third-party hardware or software constitutes neither an endorsement nor a recommendation. ActivMedia Robotics Pioneer 2/PeopleBot Operations Manual v10, July 2002...
Page 3
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 accessories. Keep wheels away from long hair or fur.
This Pioneer 2 Operations Manual provides both the general and technical details you need to operate your Pioneer 2-DX, -CE, -DXe, -AT, or PeopleBot Mobile Robot and to begin developing your own Robotics hardware and software. Please consult the Pioneer 2 H8 or the Performance PeopleBot manuals if you own a newer, Hitachi H8S-based robot.
From: <your return e-mail address goes here> Subject: <something of interest to pioneer users> Access to the pioneer-users newslist is limited to subscribers, so your address is safe from spam. However, the list currently is unmoderated, so please confine your comments and inquiries to issues concerning the operation and programming of Pioneer or PeopleBot robots.
Because this is a support option, not a general-interest newsgroup like pioneer-users, we reserve the option to reply only to questions about problems with your robot or software.
With the onboard computer option, your ActivMedia robot becomes an autonomous agent. With Ethernet-ready onboard autonomy, your robot even becomes an agent for multi-intelligence work. Figure 3. Components and some accessories of the Pioneer 2-DX, many of which are identical for the Pioneer 2-DXE and CE. Client Software Your ActivMedia robot is the server in a client-server environment: It handles the low- level details of mobile robotics, including maintaining the platform’s drive speed and...
ActivMedia Robotics Basic Suite To better support our customers, ActivMedia Robotics software designers have blended and refined the best of advanced mobile robotics software found in the many development environments into a suite of state-of-the-art software tools and applications.
Pioneer 1 Intended mostly for indoor use on hard, flat surfaces, the Pioneer 1 has solid rubber tires and a two-wheel differential, reversible drive system with a rear caster for balance. The Pioneer 1 came standard with seven sonar range finders (two side-facing and five forward-facing) and integrated wheel encoders.
Page 14
This means that even programs that interface at the lowest communication levels will work with both Pioneer 1 and with Pioneer 2 platforms. This also means that the higher level clients, such as Saphira, ARIA, and others including your own software, will work with...
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 one of four modes:...
These characteristics also permit it to carry extraordinary payloads: The DXe can carry up to 23 Kg (50 lbs.) additional weight; the Pioneer 2-AT can carry over 30 Kg (66 lbs.) more! Yet the Pioneer 2 is lightweight enough that it is also as easy to transport as a suitcasea task made even easier by the DXe's built-in handle.
ActivMedia Robotics Deck(s) and Console The original Pioneer 2-DX, -CE, and -AT Decks are one piecethe top plate of the robot. The new DXe and AT models now have hinged top-plates which let you much more easily access the internal components of the robot.
AT panel is accessible through a hinged door. With older Pioneer 2 models, you also need to remove the Gripper before removing the Nose. With the DXE and newer AT, the Nose and Gripper come off together, so you only need to remove the Nose’s mounting screws.
ActivMedia Robotics All models come with an access port near the center of the Deck through which to run cables to the internal components. Sonar Arrays with Gain Adjustment Natively, ActivMedia robots support both front and rear sonar arrays, each with eight transducers that provide object detection and range information for features recognition, as well as navigation around obstacles.
Pioneer 2-AT and PeopleBot charge life typically ranges from two to three hours. The Pioneer 2-DX and -DXe run continuously for six hours or more; up to four hours with onboard computer. If you don’t use the motors, your robot’s microcontroller will run for several days on a single battery charge.
Controls, Ports, and Indicators Main Power, Fuse, and Indicator A single slide-switch on the rear left panel of Pioneer 2 and PeopleBot robots controls power to the entire robot and all its integrated accessories. Up is ON; down is OFF.
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 batteries, lengthen the recharge time. onboard PC draws much current, even the high-speed 4A charger will not be able to fully recharge the batteries unless you power down the PC.
Press and hold the MOTORS button in combination with the RESET button to put the microcontroller into a special system-download mode for reprogramming the onboard FLASH ROM. See Pioneer 2 Operating System and Updating & Reconfiguring P2OS, Chapter 6 and Chapter 7. SERIAL Your ActivMedia robot's microcontroller has two serial ports and three connectors.
Saphira, in the standard Server Information Packet. See the . IOpac packet contents Pioneer 2 Arm-related SIPs and Commands Please consult the Pioneer 2 Arm Manual for details. Performance PeopleBot IRs sections in Chapter 6 and in Appendix A for details.
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 serial communications, switch RADIO power Starting Client-Server Communications After it starts up, resets, or completes its self-tests, your robot’s onboard servers (P2OS)
When communications between the Saphira client and your robot’s servers are established, the robot becomes responsive and intelligent. may drive toward an obstacle, your Pioneer 2-DXe will not crash (unless its obstacle- avoidance behaviors have been disabled) because it can detect and actively avoid collisions.
When you finish playing with your robot, pull down the Saphira client’s Connect menu and choose the Disconnect option. Your Pioneer 2 or PeopleBot will disengage its drive motors and stop moving automatically, and its sonar should stop firing. The LCD also should return to the waiting-state message.
Page 30
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 the Connect menu and choose the Disconnect option.
But it also means that you may drive your Pioneer 2 around without the niceties of a client’s protective behaviors like obstacle avoidance—so be careful. Pioneer 2-ATs and the Performance PeopleBot come standard with a joystick connector and internal wiring.
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;...
The next self-test displays the states of the inputs from the front and rear bumpers available for Pioneer 2 and PeopleBot robots. The state of each bump switch is mapped into a series of eight LCD display digits. The five switches in each bumper—front and rear—are related to the digits one through five, left to right, on the LCD.
Joydrive and Self Tests DIGIN and DIGOUT Test A subsequent self-test lets you examine the values of the eight digital input (ID0 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 on the LCD. Each digit, 0 or 1, representing the ON or OFF state of a port, numbered right-to-left from 0 to 7.
Experienced Pioneer users can be assured that P2OS is upwardly compatible with PSOS, implementing all the same commands and information packets. extends the servers to add new functionality, improve performance, and provide additional information about the robot's state and sensing.
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. cable tether between the robot and client computer, such as a piggyback laptop,...
Page 37
Selected analog port number 1-5 User Analog input (0-255=0-5 VDC) reading on selected port User I/O digital input User I/O digital output Checksum (see previous section) Re-transmitting server ActivMedia Robotics ‡ ‡ for degrees. ‡ —currently 1.0 for ‡ for degrees ‡...
Server Information Packets Like its Pioneer 1 PSOS predecessor, P2OS automatically sends a packet of information over the Host serial communication port to a connected client every 100 milliseconds. The standard P2OS Server Information Packet (SIP) informs the client about a number of operating states and readings, using the order and data types described in Table 4.
Page 39
Independent wheel velocities; lsb=right wheel; msb=left wheel; PSOS is in ±4mm/sec; P2OS in ±2cm/sec increments Pioneer 1 and Pioneer 2 Gripper server command. See the Pioneer Gripper manuals for details. Select the A/D port number for analog value in SIP.
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.
(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 when last connected. After starting a connection, you must either enable the motors manually (white MOTORS button) or send the P2OS motors ENABLE command with the argument 1;...
(See E_STOP and E_STALL later in this chapter.) PID Controls The Pioneer drive servers use a common Proportional-Integral-Derivative (PID) control system to adjust the PWM pulse width at the drivers and subsequent power to the motors. The motor-duty cycle is 200 µsec; pulse-width is proportional 0-500.
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. Front +180 Figure 21. Internal coordinate system for P2OS The orientation commands HEAD and DHEAD turn the robot with respect to its internal dead-reckoned angle.
(The current analog port# is encoded in the timer entry.) With P2OS version 1.5, we With the robot equipped with forward and/or rear NOTICE /* Enable E_STALL */ /* Disable E_STALL */ ActivMedia Robotics...
Extended Packets Several different, additional types of server information packets come with P2OS to better support the ActivMedia Robotics community. On request from the client by a related P2OS command, the P2OS server packages and sends one or a continuous stream (one per cycle) of information packets back to the client over the Host serial communication line.
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). configuration packet data. Send commands and retrieve responses via the P2OS AUX serial port */ #define SERAUXpac 0xB0 int serbytes, inbufptr;...
0 to stop continuous packets. PLAYLISTpac and PLAYLIST Command Unlike its Pioneer and PeopleBot cousins, the AmigoBot mobile robot has onboard sound reproduction hardware and software that includes a playlist of contents. To support the ActivMedia Robotics Basic Suite that includes all ActivMedia’s robots, we’ve added the PLAYLISTpac (type = 208;...
Input / Output (I/O) Your Pioneer 2 or PeopleBot comes with a number of I/O ports that you may use for sensor and other accessories and custom attachments. locations on the microcontroller.
Pioneer 2 Operating System sfSMessage("Port# % Port# 5 reads 33 sfRobotComInt(35,2); sfSMessage("Port# % Port# 2 reads 224 DIGOUT and PSUPOS The eight digital output ports on the P2OS controller’s User I/O connector are both reported in the standard SIP (digout) and controllable with the P2OS commands DIGOUT and PTUPOS.
Checksum integer Pioneer 2 Arm-related SIPs and Commands Please consult the Pioneer 2 Arm Manual for details. Performance PeopleBot IRs Two breakbeam IR sensors sense objects which intrude into the Performance PeopleBot’s profile, but which may not be otherwise detected by its sonar or tabletop IR sensors. The left and right IR breakbeams are connected to the User I/O digital input ports ID2 and ID3, respectively.
Where to Get P2OS Software Your ActivMedia robot comes preinstalled with the latest version of P2OS. Thereafter, stay tuned to the pioneer-users newsgroup or periodically visit our support website to obtain the latest P2OS and related documentation: http://robots.activmedia.com Installing the P2OS Utilities Software utilities for downloading a new P2OS (p2osdl) and for changing your robot’s...
Repeat downloads until successfully completed. After it has finished initializing, place it in Since FLASH gets erased at the beginning of a ActivMedia Robotics...
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. FLASH ROM in the controller is guaranteed for only 100 erase cycles. Steps 1–3: Preparing for Configuration Prepare for changing your robot’s configuration parameters identically to Steps 1, 2 and...
FLASH. And, too, you may over-ride many of these parameters with respective P2OS commands from the client. Similarly, type '?' or 'help' to see a list of p2oscf current, edited P2OS-based edited (p2oscf) variables stored FLASH ActivMedia Robotics Arm-related values from file,...
ActivMedia robot models, including p2de for the Pioneer 2-DXe, p2at for the Pioneer 2-AT, and so on. You may edit the file-restored parameters just as you edit those retrieved from the robot.
Page 57
Table 15. Configuration parameters (currently P2OS 1_J) with values for Pioneer 2-DX Type Default KEYWORD CONSTANTS Pioneer Type Subtype P2DX Serial factory FourMotors byte RotVelTop 2200 TransVelTop RotAccTop TransAccTop 4000 PwmMax Encoder VARIABLES not_set Name SInfoCycle byte HostBaud byte byte...
PID values. Consequently, we recommend the listed values for all Pioneer 2 and PeopleBot robots, whereas earlier P2OS versions required much more tuning of the parameters depending on robot type and configuration/payload.
See Chapter 3, "Quick Start", for additional detail. Briefly, the programs operate in two stages. First, they connect with your Pioneer 2 or PeopleBot robot via a Saphira-based client and retrieve the robot’s current operating parameters via the ENCODERpac or CONFIGpac extended SIPs (see previous chapter).
Page 60
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 directory of your Saphira distribution.
11 VDC. Changing Batteries Except the Pioneer 2 CE and AmigoBot, ActivMedia robots have a special battery harness and latched doors for easy access to the onboard batteries. Simply unlatch the rear door, swing it open and locate the one to three onboard batteries inside.
We describe here how to remove your robot’s Nose to get at the onboard computer. And we describe how to access the contents of the Body of your Pioneer 2-DX/DXe or - AT robot.
ActivMedia Robotics Opening the Deck The new Pioneer 2-AT and -DXe models have a center hinge in the Deck which let you easily open and access internal components without completely removing the top plate. With earlier Pioneer 2 models and with the PeopleBots, you need to remove the respective Deck and other covers to access the robot’s components.
Figure 25. Remove indicated screws to flip open the hinged Pioneer 2-AT rear Deck. Factory Repairs If, after reading this manual, you’re having hardware problems with your Pioneer or PeopleBot robot and you’re satisfied that it needs repair, contact us: support@activmedia.com (603) 924-2184 (fax)
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 connections; two internal serial ports for Host and auxiliary (AUX) communications, each with switched five and 12 VDC power;...
TxD1 RxD1 P3_15 The AUX RS232-compatible serial port (connector JP7) on the Pioneer 2/PeopleBot microcontroller operates independently from the host serial port and is for accessory attachments, such as the PTZ Robotic Camera. Note the additional power connections. Table 19. Auxiliary Internal Serial Port Connections ("AUX" JP7)
For example, the analog lines P5_4-7, are used by the Joystick port, which now comes standard with the Pioneer 2-AT and Performance PeopleBot. In addition, four of the A/D ports and the PWM ports are shared with digital input and output lines, respectively.
Appendix A: Microcontroller Ports and Connections Table 21. Performance PeopleBot I/O User Label Pin # ― = Not used; available for other User applications The General I/O Bus The 34-pin IDC socket on the P2OS microcontroller provides a general-purpose I/O bus containing: ! 8 read/write data lines (D0-7) ! 4 chip select lines (CS_2-5)
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 Figure 29.
Appendix B: Motor-Power Board Connectors which output controls the computer's DC:DC voltage converter. 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-minute delay before computer power (not system-wide) shutdown. Similarly, when the computer power is manually switched OFF, the comparator is grounded (below 10 VDC, of course) and the same two minute-delayed shutdown occurs.
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 Mobile Robot Figure 31. Joyport with signal switch for sharing User I/O ports with other accessories,...
ActivMedia Robotics products in any way. They shall bear no responsibilities or liabilities for any operation or application of the robot, or for support of any of those activities.