TM
Pioneer 2 / PeopleBot
Operations Manual
for P2OS-based ActivMedia Robots
TM
PIONEER 2-DXE
PIONEER 2-AT
PEOPLEBOT
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Important Safety Instructions
ꢀ
ꢀ
ꢀ
ꢀ
Rea d the insta lla tion a nd opera tions instruc tions before using the equipment.
Avoid using power extension c ords.
To prevent fire or shoc k ha za rd, do not expose the equipment to ra in or moisture.
Refra in from opening the unit or a ny of its a c c essories.
ꢀ Keep wheels a wa y from long ha ir or fur.
Inappropriate Operation
Ina ppropria te opera tion voids your wa rra nty! Ina ppropria te opera tion inc ludes, but is
not limited to:
ꢀ
Dropping the robot, running it off a ledge, or otherwise opera ting it in a n
irresponsible ma nner
ꢀ
ꢀ
ꢀ
Overloa ding the robot a bove its pa yloa d c a pa c ity
G etting the robot wet
C ontinuing to run the robot a fter ha ir, ya rn, string, or a ny other items ha ve
bec ome wound a round the robot’s a xles or wheels
ꢀ All other forms of ina ppropria te opera tion or c a re
iii
Download from Www.Somanuals.com. All Manuals Search And Download.
Table of Contents
ROBOT PACKAGE ........................................................................................................................................ 1
ADDITIONAL RESOURCES ............................................................................................................................ 2
CLIENT SOFTWARE...................................................................................................................................... 4
ActivMedia Robotics Basic Suite...................................................................................... 5
THE PIONEER LEGACY................................................................................................................................. 7
Pioneer 2 and PeopleBot........................................................................................................................ 7
MODES OF OPERATION................................................................................................................................ 9
PHYSICAL CHARACTERISTICS.................................................................................................................... 10
MAIN COMPONENTS .................................................................................................................................. 10
Body, Nose, and Accessory Panels....................................................................................................... 12
Sonar Arrays with Gain Adjustment..................................................................................................... 13
ELECTRONICS ............................................................................................................................................ 14
Sonar Boards........................................................................................................................................ 15
CONTROLS, PORTS, AND INDICATORS ....................................................................................................... 15
RESET and MOTORS........................................................................................................................... 16
RADIO.................................................................................................................................................. 17
FLASH.................................................................................................................................................. 17
PEOPLEBOT SENSORS AND EMERGENCY STOP......................................................................................... 18
Pioneer 2 Arm-related SIPs and Commands...........................................Error! Bookmark not defined.
SAFETY WATCHDOGS AND CONFIGURATION............................................................................................. 18
CHAPTER 4 QUICK START................................................................................................................... 19
PREPARATIVE ASSEMBLY.......................................................................................................................... 19
SAPHIRA CLIENT START-UP ...................................................................................................................... 20
ROBOT COLD START-UP ........................................................................................................................... 20
STARTING CLIENT-SERVER COMMUNICATIONS......................................................................................... 21
iv
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
A SUCCESSFUL CONNECTION.....................................................................................................................21
OPERATING THE SAPHIRA DEMONSTRATION CLIENT .................................................................................22
DISCONNECTING SERIAL COMMUNICATIONS (INTENTIONALLY OR UNINTENTIONALLY) ....................................23
QUICKSTART TROUBLESHOOTING..............................................................................................................23
JOYSTICK CONNECTION .............................................................................................................................25
JOYDRIVE OPERATION ...............................................................................................................................25
ENGAGING SELF-TESTS..............................................................................................................................26
MOTORS TEST............................................................................................................................................26
SONAR TEST...............................................................................................................................................27
BUMPERS ...................................................................................................................................................27
GRIPPER .....................................................................................................................................................27
COMPASS ...................................................................................................................................................27
DIGIN AND DIGOUT TEST.......................................................................................................................28
ANALOG TESTS .......................................................................................................................................28
USER PWMS..............................................................................................................................................28
CHAPTER 6 PIONEER 2 OPERATING SYSTEM................................................................................29
COMMUNICATION PACKET PROTOCOL.......................................................................................................29
SERVER INFORMATION PACKETS ...............................................................................................................32
CLIENT COMMANDS...................................................................................................................................32
PROGRAMMING P2OS................................................................................................................................35
Keeping the Beat—PULSE....................................................................................................................36
MOVEMENT COMMANDS............................................................................................................................36
SONAR .......................................................................................................................................................38
BUMP_STALL.........................................................................................................................................39
E_STOP AND E_STALL...........................................................................................................................39
EXTENDED PACKETS..................................................................................................................................40
INPUT / OUTPUT (I/O) ................................................................................................................................43
PERFORMANCE PEOPLEBOT IRS ................................................................................................................45
WHERE TO GET P2OS SOFTWARE .............................................................................................................46
INSTALLING THE P2OS UTILITIES ..............................................................................................................46
UPDATING P2OS........................................................................................................................................46
v
Download from Www.Somanuals.com. All Manuals Search And Download.
Step 3: Put Microcontroller into Download Mode............................................................................... 47
Step 4: Run p2osdl................................................................................................................................ 47
CONFIGURING P2OS OPERATING PARAMETERS........................................................................................ 48
Steps 1–3: Preparing for Configuration............................................................................................... 48
Step 6: Save Your Work........................................................................................................................ 49
EDITING P2OS PARAMETERS .................................................................................................................... 49
SAVING AND RESTORING........................................................................................................................... 50
ARM PARAMETERS.................................................................................................................................... 50
PID PARAMETERS ..................................................................................................................................... 52
ENCODER AND REVCOUNT ........................................................................................................................ 52
CALIBRATION TOOLS - REVCOUNTCAL AND COMPASSCAL ........................................................................ 53
DRIVE LUBRICATION................................................................................................................................. 55
BATTERIES ................................................................................................................................................ 55
Changing Batteries............................................................................................................................... 55
Hot-Swapping the Batteries.................................................................................................................. 55
GETTING INSIDE ........................................................................................................................................ 56
FACTORY REPAIRS .................................................................................................................................... 57
FACTORY REPAIRS .................................................................................................................................... 58
INTERNAL SERIAL CONNECTORS ............................................................................................................... 60
USER I/O EXPANSION PORT ...................................................................................................................... 60
PERFORMANCE PEOPLEBOT I/O ................................................................................................................ 61
THE GENERAL I/O BUS ............................................................................................................................. 62
USER POWER CONNECTIONS ..................................................................................................................... 63
ONBOARD COMPUTER OPTION .................................................................................................................. 63
Power Switch (J7) and Delayed Shutdown Logic................................................................................ 63
JOYSTICK CONNECTOR.............................................................................................................................. 65
SPECIFICATIONS ........................................................................................................................................ 66
vi
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Chapter 1 Introduction
C ongra tula tions on your purc ha se a nd welc ome to
the ra pidly growing c ommunity of resea rc hers,
developers, a nd enthusia sts of Ac tivMedia Robotic s’
intelligent mobile robots.
This Pioneer 2 Operations Manual provides both the
genera l a nd tec hnic a l deta ils you need to opera te
your Pioneer 2-DX, -C E, -DXe, -AT, or PeopleBot Mobile
Robot a nd to begin developing your own Robotic s
ha rdwa re a nd softwa re. Plea se c onsult the Pioneer 2
H8 or the Performanc e Pe opleBot ma nua ls if you own
a newer, Hita c hi H8S-ba sed robot.
Figure 1. The Pioneer 2-DX
and -AT Mobile Robots first
appeared c ommerc ially in
1995.
Robot Package
Our experienc ed ma nufa c turing sta ff put your mobile robot a nd a c c essories through a
“burn in” period a nd c a refully tested them before shipping the produc ts to you. In
a ddition to the c ompa nion resourc es listed a bove, we wa rra nty your Ac tivMedia robot
a nd our ma nufa c tured a c c essories a ga inst mec ha nic a l, elec tronic , a nd la bor defec ts
for one yea r. Third-pa rty a c c essories a re wa rra nted by their ma nufa c turers, typic a lly for
90 da ys.
Even though we’ve ma de every effort to ma ke your Ac tivMedia Robotic s pa c ka ge
c omplete, plea se c hec k the c omponents c a refully a fter you unpa c k them from the
shipping c ra te.
Basic Components (all shipments)
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
One fully a ssembled mobile robot with ba ttery
C D-ROM c onta ining lic ensed c opies of Ac tivMedia softwa re a nd doc umenta tion
Hex wrenc hes a nd a ssorted repla c ement sc rews
Repla c ement fuse
Set of ma nua ls
Registra tion a nd Ac c ount Sheet
Optional Components and Attachments (partial list)
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Ba ttery c ha rger (some c onta in power rec epta c le a nd 220VAC a da pters)
Onboa rd PC c omputer with PC 104+ bus, ha rd-drive a nd other a c c essories
Ra dio Ethernet a nd/or seria l modems; one mounted inside the robot
C ompa nion ra dio for LAN or ba sesta tion c onnec tion
Supplementa ry a nd repla c ement ba tteries
3-Ba ttery C ha rge Sta tion (110/220 VAC )
Added sona r a rra ys
G ripper
5-DOF Arm with gripper
Ac tivMedia C olor Tra c king System (AC TS)
Stereo Vision Systems
Pa n-Tilt-Zoom Surveilla nc e C a mera s
C ustom Vision System
Ra nge-finding la ser
G loba l Positioning System
C ompa ss
Bumper rings
1
Download from Www.Somanuals.com. All Manuals Search And Download.
Congratulations
ꢀ
ꢀ
Seria l c a bles for externa l c onnec tions
Ma ny more…
User-Supplied Components / System Requirements
ꢀ
C lient c omputer: 586-c la ss or la ter PC with Mic rosoft Windows© 9x/ME, or
RedHa t© Linux opera ting system
ꢀ
ꢀ
One RS-232-c ompa tible seria l port
Four mega bytes of a va ila ble ha rd-disk stora ge
Additional Resources
New Ac tivMedia Robotic s Pioneer 2 a nd PeopleBot c ustomer get three a dditiona l a nd
va lua ble resourc es:
ꢀ
A priva te a c c ount on our Internet server for downloa ding softwa re, upda tes, a nd
ma nua ls
ꢀ
ꢀ
Ac c ess to priva te newsgroups
Direc t a c c ess to the Ac tivMedia Robotic s tec hnic a l support tea m
Software
We ma inta in a 24-hour, seven-da y per week Web server where c ustomers ma y obta in
softwa re a nd support ma teria ls:
Some a rea s of the website a re restric ted to lic ensed c ustomers. To ga in a c c ess, enter
the userna me a nd pa ssword written on the Re gistration & Ac c ount Sheet tha t
a c c ompa nied your robot.
Newsgroups
We ma inta in severa l ema il-ba sed newsgroups through whic h Ac tivMedia robot owners
sha re idea s, softwa re, a nd questions a bout the robot.
Visit the support
for exa mple, send a n e-ma il messa ge to the –requests a utoma ted newsgroup server:
To: pioneer-users-requests@activmedia.com
From: <your return e-mail address goes here>
Subjec t: <c hoose one c ommand:>
help
(returns instruc tions)
lists (returns list of newsgroups)
subscribe
unsubscribe
Our Sma rtList-ba sed listserver will respond a utoma tic a lly. After you subsc ribe, send your
ema il c omments, suggestions, a nd questions intended for the worldwide c ommunity of
To: pioneer-users@activmedia.com
From: <your return e-mail address goes here>
Subjec t: <something of interest to pioneer users>
Ac c ess to the pioneer-users newslist is limited to subsc ribers, so your a ddress is sa fe
from spa m.
However, the list c urrently is unmodera ted, so plea se c onfine your
c omments a nd inquiries to issues c onc erning the opera tion a nd progra mming of Pioneer
or PeopleBot robots.
1
Note: Lea ve out the –requests pa rt of the ema il a ddress when sending messa ges to the newsgroup.
2
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Support
Ha ve a problem? C a n’t find the a nswer in this or a ny of the a c c ompa nying ma nua ls? Or
do you know a wa y tha t we might improve our robots? Sha re your thoughts a nd
questions direc tly with us:
Plea se inc lude your robot's serial number (look for it beside the Ma in Power switc h)we
often need to understa nd your robot's c onfigura tion to best a nswer your question.
Your messa ge goes direc tly to the Ac tivMedia Robotic s tec hnic a l support tea m. There a
sta ff member will help you or point you to a pla c e where you c a n find help.
Bec a use this is a support option, not a genera l-interest newsgroup like pioneer-users,
we reserve the option to reply only to questions a bout problems with your robot or
softwa re.
3
Download from Www.Somanuals.com. All Manuals Search And Download.
Chapter 2 What Is Pioneer?
Pioneer is a fa mily of mobile robots, both
two-wheel a nd four-wheel drive, inc luding
the Pioneer 2-DX, -DXe, -C E, a nd -AT, a nd
the PeopleBot (V1 a nd Performa nc e)
Mobile Robots. All a re intelligent mobile
robots, whose c lient-server a rc hitec ture
wa s origina lly developed by Kurt Konolige,
Ph.D., of SRI Interna tiona l, Inc . a nd Sta nford
University.
Ac tivMedia ’s robots a re truly intelligent, off-
the-shelf mobile pla tforms, c onta ining a ll of
the ba sic c omponents for sensing a nd
na viga tion in a rea l-world environment,
inc luding ba ttery power, drive motors a nd
wheels, position-speed enc oders, integ-
ra ted sensors, a nd a c c essories. They a re a ll
ma na ged by a n onboa rd mic roc ontroller
a nd mobile-robot server softwa re.
Figure 2. Ac tivMedia Robots
Your Ac tivMedia robot a lso ha s a va riety of expa nsion power a nd I/O ports for
a tta c hment a nd c lose integra tion of a dditiona l sensors a nd other a c c essories.
Expa nsion inc ludes a n a ddressa ble I/O bus for up to 16 devic es, two RS-232 seria l ports,
eight digita l I/O ports, five A/D ports, PSU c ontrollers a nd more—a ll a c c essible through a
c ommon a pplic a tion interfa c e to the robot server softwa re, P2OS.
With the onboa rd c omputer option, your Ac tivMedia robot bec omes a n a utonomous
a gent. With Ethernet-rea dy onboa rd a utonomy, your robot even bec omes a n a gent for
multi-intelligenc e work.
Figure 3. C omponents and some ac c essories of the Pionee r 2-DX, many of whic h
are identic al for the Pioneer 2-DXE and C E.
Client Software
Your Ac tivMedia robot is the server in a c lient-server environment: It ha ndles the low-
level deta ils of mobile robotic s, inc luding ma inta ining the pla tform’s drive speed a nd
hea ding over uneven terra in, a c quiring sensor rea dings, suc h a s the sona r, a nd
4
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
ma na ging a tta c hed a c c essories like the G ripper.
To c omplete the c lient-server
a rc hitec ture, Ac tivMedia robots require a c lient c onnec tion: softwa re running on a
c omputer worksta tion c onnec ted with the robot’s c ontroller via a seria l link tha t provides
the high-level, intelligent robot c ontrols, inc luding obsta c le a voida nc e, pa th pla nning,
fea tures rec ognition, loc a liza tion, a nd so on.
An importa nt benefit of Ac tivMedia Robotic s’ c lient-server a rc hitec ture is tha t different
robot servers c a n be run using the sa me high-level c lient. For exa mple, we provide a
robot simula tor tha t runs on the host ma c hine tha t c a n look a nd a c t just like your rea l
robot. With the Simula tor, you ma y c onveniently perfec t your a pplic a tion softwa re, then
run it without modific a tion on a ny Ac tivMedia robot. Severa l c lients a lso ma y sha re
responsibility for c ontrolling a single mobile server, whic h permits experimenta tion in
distributed c ommunic a tion, pla nning, a nd c ontrol.
C urrently a va ila ble c lient softwa re a nd development environments for the Mic rosoft
ꢀ
ꢀ
ꢀ
ꢀ
Ac tivMedia Robotic s Ba sic Suite with WorldLink Internet surveilla nc e a nd c ontrol
Ac tivMedia Robotic s Interfa c e for Applic a tions (ARIA)
Ac tivMedia robot simula tor
The Sa phira c lient development suite with C olbert
Versions a nd upda tes for supported c omputing pla tforms a re a va ila ble to pa ssword-
registered c ustomers for downloa d from our softwa re website:
ActivMedia Robotics Basic Suite
To better support our c ustomers, Ac tivMedia Robotic s softwa re designers ha ve blended
a nd refined the best of a dva nc ed mobile robotic s softwa re found in the ma ny
development environments into
a
suite of sta te-of-the-a rt softwa re tools a nd
a pplic a tions. We c a ll this suite Ac tivMedia Robotic s Ba sic Suite, a nd it inc ludes the
following five modules plus a robot simula tor:
ꢀ
NAVIGATOR is the c rown jewel—a sophistic a ted
gra phic a l-user c ontrol module with whic h you
a c c ess your Ac tivMedia robot’s ma ny intelligent
c a pa bilities, from gua rded teleopera tion to self-
guided na viga tion a long a pla nned pa th to a
goa l tha t you selec t onsc reen with a c lic k of the
mouse. Na viga tor a lso lets you remotely sha re,
c onnec t a nd opera te the robot from the
Internet, or a loc a l a rea network. You c a n see
a nd hea r from a fa r wha t your robot sees a nd
hea rs through its c a mera a nd mic rophone.
Na viga tor even lets you c ha t a nd exc ha nge
a udio a nd video with others who ma y be
c onnec ted simulta neously.
Figure 4. Navigator and
WorldPass guide your
robot to a goal with a
c lic k of the mouse.
ꢀ
WORLDPASS is a free version of Na viga tor tha t lets
you sha re you robot with c ollea gues, friends, a nd fa mily. WorldPa ss provides a ll
the networking a nd remote-c ontrol func tiona lity of Naviga tor, inc luding network
video a nd a udio, but only c onnec ts with a robot through a host running
Na viga tor, not to one direc tly. You ma y distribute WorldPa ss to a nyone you wa nt
2
Some softwa re ma y c ome bundled with your robot. Other pa c ka ges require purc ha se for lic ensing. Some
softwa re a lso a re a va ila ble for a lterna tive opera ting systems, suc h a s Ma c intosh, SunOS, Sola ris, a nd BSD Unix.
5
Download from Www.Somanuals.com. All Manuals Search And Download.
to use your robot, but it will not a ppea r on your own menu sinc e it c opies
func tiona lities of Na viga tor, whic h you ma y not distribute.
ꢀ
ꢀ
ꢀ
MAPPER provides the tools you need to c onstruc t a ma p of your robot’s rea l
opera ting spa c e (“world”). Na viga tor a nd WorldPa ss use this ma p floor pla n to
pla n a pa th from one point to a nother within a spa c e.
TRAINER is a progra mming editor a nd robot interfa c e in whic h you c rea te a nd
perfec t your own intelligent mobile robot-c ontrol progra ms with the simple, yet
powerful C olbert progra mming la ngua ge.
SIMULATOR is not a sepa ra te module of Ba sic Suite. It is a c onnec tion option tha t
provides a virtua l repla c ement for your robot. By c onnec ting to the simula tor
instea d of a rea l robot, you c a n test C olbert progra ms, ma ps, a nd so on, when
the rea l robot isn’t pra c tic a l or a va ila ble.
ꢀ
AMIGOSOUNDS is for AmigoBot only. With AmigoSounds, you a ssemble rec orded
sounds stored on your PC ’s disk into a pla ylist of sounds for your AmigoBot. With
AmigoSounds, you ma y give AmigoBot different a udio-ba sed persona lities.
ARIA
The Ac tivMedia Robotic s Interfa c e for Applic a tions (ARIA) is C ++-ba sed open-sourc e
development environment tha t provides a robust c lient-side interfa c e to a va riety of
intelligent robotic s systems, inc luding your Ac tivMedia robot’s c ontroller a nd a c c essory
systems.
ARIA is the idea l pla tform for integra tion of your own robot-c ontrol softwa re, sinc e it
nea tly ha ndles the lower-level deta ils of c lient-server intera c tions, inc luding seria l
c ommunic a tions, c omma nd a nd server-information pa c ket proc essing, c yc le timing,
a nd multithrea ding, a s well a s a va riety of a c c essory c ontrols, suc h a s for the PTZ robotic
c a mera , the P2-G ripper, sc a nning la ser-ra nge finder, a nd motion gyros, a mong ma ny
others.
Wha t’s more, it c omes with sourc e c ode so tha t you ma y exa mine the softwa re a nd
modify it for your own sensors a nd a pplic a tions.
Figure 5. Ac tivMedia robots require a c omputer, typic ally a Windows© 9x/ME- or
RedHat© Linux-based PC , to run c lient software for intelligent robotic s c ommand
and c ontrol ope rations.
Saphira
Sa phira , inc luding the C olbert la ngua ge, is a full-fea tured robotic s c ontrol environment
developed a t SRI Interna tiona l’s Artific ia l Intelligenc e C enter. Sa phira a nd its ARIA
founda tion form the robotic s-c ontrol a nd a pplic a tions-development founda tion for
6
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
muc h of the Ac tivMedia Robotic s Ba sic Suite a nd ma ny other ventures. The c omplete,
lic ensed Sa phira robotic s development environment, inc luding C /C ++ libra ries, G UI
interfa c e a nd Simula tor, c omes bundled with your Ac tivMedia robot.
The Pioneer Legacy
C ommerc ia lly introduc ed in August of 1995, Pioneer 1 wa s the origina l Pioneer pla tform.
It introduc ed a single-boa rd 68HC 11-ba sed robot mic roc ontroller a nd the Pioneer Server
Opera ting System (PSOS) softwa re. It’s low-c ost a nd high-performa nc e c a used a n
explosion in the number of resea rc hers a nd developers who now ha ve a c c ess to a rea l,
intelligent mobile robotic pla tform.
Pioneer 1
Intended mostly for indoor use on ha rd, fla t surfa c es, the Pioneer 1 ha s solid rubber tires
a nd a two-wheel differentia l, reversible drive system with a rea r c a ster for ba la nc e. The
Pioneer 1 c a me sta nda rd with seven sona r ra nge finders (two side-fa c ing a nd five
forwa rd-fa c ing) a nd integra ted wheel enc oders.
Softwa re-wise, the Pioneer 1 initia lly served a s a
pla tform for SRI Interna tiona l's AI/fuzzy logic -ba sed
Sa phira robotic s a pplic a tions development. But it
wa sn't long before it's open a rc hitec ture bec a me
the popula r pla tform for the development of a
va riety
of
a lterna tive
robotic s
softwa re
environments.
Ma ny developers c rea ted softwa re tha t interfa c ed
direc tly with PSOS. Others extended the c a pa bilities
of Sa phira (PAI a nd P-LOG O a re two good
exa mples),
while
others ha ve
implemented
a lterna tive robotic s-c ontrol a rc hitec tures, suc h a s
the subsumption-like Ayllu.
Func tiona lly a nd progra mma tic a lly identic a l to the
Pioneer 1, the four-wheel drive, skid-steering Pioneer
AT wa s introduc ed in the Summer of 1997 for
Figure 6. All Ac tivMedia
robots may be c onfigured
with a variety of integrate d
ac c essorie s, inc luding (DX
shown here ) a very high-
performanc e laser range-
finder and robotic pan-tilt-
zoom c olor c amera with
onboard PC and
opera tion
in
uneven
indoor a nd
outdoor
environments, inc luding loose, rough terra in.
Exc ept for the drive system, there a re virtua lly no
opera tiona l differenc es between the Pioneer AT a nd
the Pioneer 1:
The integra ted sona r a rra ys a nd
mic roc ontrollers a re the sa me. The a c c essories
a va ila ble for the Pioneer 1 a lso work with the Pioneer
AT. Further, a pplic a tions developed for the Pioneer
1 work with little or no porting to the Pioneer 2s.
framegrabber for c olor-
trac king and surveillanc e .
Pioneer 2 and PeopleBot
The next genera tion of Pioneer Mobile Robots—inc luding the Pioneer 2-DX, -C E, a nd -AT,
introduc ed in Fa ll 1998 through Summer 1999, improved upon the Pioneer 1 lega c y while
a pplic a tions softwa re, Pioneer 2 works identic a lly with Pioneer 1 models.
3
Pric e/performa nc e ra tio inc luded! The muc h more c a pa ble a nd expa nda ble Pioneer 2 wa s introduc ed four
yea rs la ter for just a few hundred dolla rs (US) more tha n the origina l Pioneer 1.
7
Download from Www.Somanuals.com. All Manuals Search And Download.
Sporting a more holonomic body, la rger wheels a nd stronger motors for better indoor
performa nc e, the Pioneer 2-DX a nd C E models, like Pioneer 1, were two-wheel,
differentia l-drive mobile robots.
The four-wheel drive Pioneer 2-AT ha s
independent motor drivers, a s well a s
a sta ll-detec tion system. And unlike
its predec essor, the Pioneer 2-AT
c omes with infla ta ble pneuma tic tires
a nd meta l wheels for muc h more
robust opera tion in rough terra in, a s
well a s the a bility to c a rry nea rly 30
kilogra ms (66 lbs) of pa yloa d a nd
c limb
a
60-perc ent gra de!
The
newest version of the 2-AT, introduc ed
in mid-2001, inc ludes a n integra ted
joystic k port for ma nua l opera tion
a nd a hinged top-pla te for ea sy
a c c ess to the interna l systems.
The
PeopleBot
robots
were
Figure 7. Nearly identic al to its re se arc h
predec essor (right), the Performanc e
Pe ople Bot (left) sports an attrac tive body
de sign and bundle d syste ms, inc luding
inte grate d G rippe r, for c omme rc ial-
c onsumer human-interac tion applic ations.
introduc ed in 2000.
They a re
a rc hitec tura lly Pioneer 2 robots, but
with stronger motors a nd integra ted
huma n-intera c tion fea tures, inc luding
a
pedesta l extension, integra ted
voic e a nd sound synthesis a nd
rec ognition.
The Performa nc e PeopleBot is a fully redesigned, but very Pioneer 2-like system. Bec a use
of its a ttra c tive, non-threa tening, a nd huma n-a c c essible body, Performa nc e PeopleBot
is idea l for huma n-intera c tion studies a s well a s for c ommerc ia l a nd c onsumer mobile-
robotic s a pplic a tions.
The la test Pioneer 2—the new Pioneer 2-DXe (Summer 2001)—repla c es the DX. The DXe
c omes with pneuma tic rubber tires for better mobility a nd a hinged top-pla te for ea sy
a c c ess to interna l c omponents.
All Ac tivMedia Robotic s Pioneer 2 a nd PeopleBot robots use a high-performa nc e 20 MHz
Siemens 88C 166-ba sed mic roc ontroller, with independent motor/power a nd sona r-
c ontroller boa rds for a versa tile opera ting environment. The c ontroller ha s two RS232-
sta nda rd c ommunic a tions ports a nd a n expa nsion bus to support the ma ny a c c essories
a va ila ble for your Ac tivMedia robot, a s well a s your own c ustom a tta c hments.
Ac tivMedia robots a lso supports a full c omplement of 32 sona r in four a rra ys for nea rly
sea mless objec t detec tion.
Softwa re-wise, the Pioneer 2 is upwa rdly c ompa tible with Pioneer 1: The Pioneer 2
Opera ting System (P2OS) softwa re extends—but does not repla c e—the origina l PSOS.
This mea ns tha t even progra ms tha t interfa c e a t the lowest c ommunic a tion levels will
work with both Pioneer 1 a nd with Pioneer 2 pla tforms. This a lso mea ns tha t the higher
level c lients, suc h a s Sa phira , ARIA, a nd others inc luding your own softwa re, will work with
P2OS a nd a ny host Pioneer 2 or PeopleBot pla tform just a s they ha d worked with Pioneer
Sa phira , ARIA, a nd others, in order to ta ke full a dva nta ge of P2OS.
4
The two-time gold meda l winners of the Interna tiona l RoboC up robot soc c er c ompetition used Pioneer 1s one
yea r a nd quic kly c onverted to Pioneer 2s in the next yea r.
8
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
To the relief of those who ha ve invested yea rs in developing softwa re for Pioneer 1,
Pioneer 2 truly does c ombine the best of the new mobile robot tec hnologies with the
tried-a nd-true Pioneer a rc hitec ture.
Modes of Operation
You ma y opera te your Pioneer 2 or PeopleBot robot in one of four modes:
ꢀ
ꢀ
ꢀ
ꢀ
Joydrive
Self-test
Server
Sta nda lone
The Pioneer 2/PeopleBot mic roc ontroller c omes with 32K fla sh-progra mma ble, rea d-only
memory (FLASH-ROM) a s pa rt of its Siemens 88C 166 mic roproc essor, a nd a n a dditiona l
32K of dyna mic RAM: 64K tota l memory spa c e for your sta nda lone robotic s progra ms.
But we don't rec ommend tha t you sta rt lea rning C 166 progra mming. Ra ther, the robot
c omes to you insta lled with the la test P2OS robotic s server softwa re.
In c onjunc tion with c lient softwa re, suc h a s ARIA, or Sa phira running on a n onboa rd PC or
other user-supplied c omputer, P2OS lets you ta ke a dva nta ge of modern c lient-server
Pionee r 2 Ope rating System, for deta ils.)
Most users run their Ac tivMedia robot in server mode, bec a use it gives them quic k, ea sy
a c c ess to its robotic s func tiona lity while working with high-level softwa re on a fa milia r
host c omputer.
For experiments in mic roc ontroller-level opera tion of your robot’s func tions, you ma y
reprogra m the onboa rd fla sh-ROM a nd RAM for direc t a nd sta nda lone opera tion of your
Ac tivMedia robot. We supply the mea ns to downloa d, but not the mic roc ontroller's
progra mming softwa re, for you to work in sta nda lone mode.
In fa c t, the downloa d utilities we provide for you to reprogra m the 88C 166-ba sed
c ontroller's FLASH a nd RAM a lso a re used to upda te a nd upgra de your P2OS. We
typic a lly provide the upgra des free for downloa d from our website, so be sure to sign up
for the pioneer-users ema il newslist. Tha t's where we notify our c ustomers of the
upgra des, a s well a s where we provide a c c ess to Pioneer a nd PeopleBot users
worldwide.
Fina lly, we provide onboa rd softwa re tha t lets you drive the robot from a tethered
joystic k.
And we provide some self-test progra ms tha t exerc ise your robot’s
mic roc ontroller ha rdwa re a nd softwa re. We exa mine these modes in some deta il in
9
Download from Www.Somanuals.com. All Manuals Search And Download.
Specifications and Controls
Chapter 3 Specifications & Controls
Ac tivMedia ’s robots ma y be sma ller tha n most, but they pa c k a n impressive a rra y of
intelligent mobile robot c a pa bilities tha t riva l bigger a nd muc h more expensive
ma c hines.
For exa mple, the Pioneer 2-DXe with onboa rd PC is a fully a utonomous
intelligent mobile robot, but unlike other c ommerc ia lly a va ila ble robots, the DXe’s
modest size lends itself very well to na viga tion in tight qua rters a nd c luttered spa c es,
suc h a s c la ssrooms, la bora tories, a nd sma ll offic es.
At the sa me time, the powerful P2OS server with Ac tivMedia Robotic s c lient softwa re, is
fully c a pa ble of ma pping its environment, finding its wa y home, a nd performing other
sophistic a ted pa th pla nning ta sks.
Physical Characteristics
Weighing only 9 kg (20 pounds with one ba ttery), the ba sic Pioneer 2-DXe Mobile Robot
is lightweight, but its strong a luminum body ma teria ls a nd solid c onstruc tion ma ke it
virtua lly indestruc tible.
Figure 8. The Pione e r 2-DXE’s physic al dime nsions and swing radius
These c ha ra c teristic s a lso permit it to c a rry extra ordina ry pa yloa ds: The DXe c a n c a rry
up to 23 Kg (50 lbs.) a dditiona l weight; the Pioneer 2-AT c a n c a rry over 30 Kg (66 lbs.)
more! Yet the Pioneer 2 is lightweight enough tha t it is a lso a s ea sy to tra nsport a s a
suitc a sea ta sk ma de even ea sier by the DXe's built-in ha ndle.
Main Components
Ac tivMedia robots a re c omposed of severa l ma in pa rts:
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
Dec k(s) a nd C onsole
Body, Nose, a nd Ac c essory Pa nels
Sona r Arra y(s)
Motors a nd enc oders
Ba tteries a nd Power
10
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Deck(s) and Console
The origina l Pioneer 2-DX, -C E, a nd -AT Dec ks a re one piec ethe top pla te of the robot.
The new DXe a nd AT models now ha ve hinged top-pla tes whic h let you muc h more
ea sily a c c ess the interna l c omponents of the robot.
Figure 9. Pioneer 2-AT C onsole and hinged Dec k
The robot’s Dec k is simply the fla t surfa c e for mounting projec ts a nd a c c essories, suc h a s
the PTZ Robotic C a mera or a la ser ra nge finder. The PeopleBot’s ha ve lower a nd upper
Dec ks.
Feed-through slots on ea c h side of the DX, C E, a nd DXe
Dec k let you c onveniently route c a bles to the a c c essory
pa nels on ea c h side of the robot. A remova ble plug in
c onvenient a c c ess to the interior of the robot.
In genera l, you should try to c enter the robot's pa yloa d
over the drive wheels.
If you must a dd a hea vy
a c c essory to the edge of the Dec k, c ounterba la nc e the
weight with a hea vy objec t on the opposite end. A full
c omplement of ba tteries helps ba la nc e the robot, too.
The Pioneer 2’s or PeopleBot’s C onsole c onsists of a
liquid-c rysta l displa y (LC D), MOTORS, a nd RESET c ontrol
buttons a nd indic a tors, a nd a n RS232-c ompa tible seria l
port with a 9-pin DSUB c onnec tor. The Pioneer 2 a nd
PeopleBot V1 C onsoles sit a t the front of the Dec k. The
Performa nc e PeopleBot’s C onsole is in the left c olumn.
Atta c hed direc tly undernea th the C onsole is the robot’s
Figure 10. The C onsole is in
the left c olumn of the
Performanc e PeopleBot.
5
Lower Dec k of the PeopleBot’s.
11
Download from Www.Somanuals.com. All Manuals Search And Download.
Specifications and Controls
Body, Nose, and Accessory Panels
Your Ac tivMedia robot’s sturdy, but lightweight a luminum Body houses the ba tteries,
drive motors, elec tronic s, a nd other c ommon c omponents, inc luding the front a nd rea r
sona r a rra ys. The Body a lso ha s suffic ient room, with power a nd signa l c onnec tors, to
support a va riety of robotic s a c c essories inside, inc luding a n A/V wireless surveilla nc e
system, ra dio modems or ra dio Ethernet, onboa rd c omputer, a nd more.
On a ll models exc ept the DE, a hinged rea r door gives you ea sy a c c ess to the ba tteries,
whic h you ma y quic kly hot-swa p to refresh a ny of up to three ba tteries.
The PeopleBot V1 ha s a remova ble pedesta l
mounted to its ba se Dec k. A remova ble
ba c k pa nel gives you a c c ess to interna l
wiring a nd c omponents, inc luding stereo
spea kers, A/V a nd Ethernet ra dios, a nd
mic rophone prea mplifier. On top of the
pedesta l is the upper Dec k where you ma y
a dd c omponents like the PTZ Robotic
C a mera tha t norma lly mounts to the Dec k of
a Pioneer 2.
PeopleBot’s a lso ha ve a n
a dditiona l front sona r a rra y.
Both PeopleBot models inc lude front a nd
rea r bump rings for sta bility a s well a s
sensitive c ollision detec tion.
The Noses of Pioneer 2s a nd PeopleBots a re
empty, exc ept when equipped with a n
onboa rd PC . The Nose is rea dily remova ble
for a c c ess: Simply remove two sc rews from
undernea th the front sona r a rra y. With the 2-
AT, a third sc rew holds the Nose to the
bottom of the Body; the DXe’s Nose is hinged
a t the bottom.
Figure 11. The PeopleBot V1 has a
removable pede stal with top Dec k and
sonar array. A rear panel gives you
ac c e ss to the pe de stal’s internal
c omponents and c onnec tors.
Ea rlier Pioneer 2 models a nd the PeopleBots
ha ve a Nose tha t is sec ured by a single
sc rew benea th the front sona r a rra y a nd one
on the bottom of the robot.
provides a quic k a nd ea sy wa y to get to the a c c essory boa rds a nd disk drive of the
onboa rd PC , a s well a s to the sona r ga in a djustment for the front sona r a rra y. The Nose
a lso is a n idea l pla c e for you to a tta c h your own c ustom a c c essories a nd sensors.
The Pioneer 2-DX, -DXe, -C E, a nd PeopleBot V1 robots c ome with remova ble pa nels on
ea c h side through whic h you ma y insta ll a c c essory c onnec tors a nd c ontrols. A spec ia l
side pa nel c omes with the onboa rd PC option, for exa mple, whic h gives users monitor,
keyboa rd, mouse, a nd 10Ba se-T Ethernet a c c ess, a s well a s the mea ns to reset a nd
switc h power for the onboa rd c omputer.
The AT c omes with a single a c c essory pa nel in the Dec k. Fa stened down with finger-tight
sc rews, the AT pa nel is a c c essible through a hinged door.
6
With older Pioneer 2 models, you a lso need to remove the G ripper before removing the Nose.
With the DXE a nd newer AT, the Nose a nd G ripper c ome off together, so you only need to
remove the Nose’s mounting sc rews. See C ha pter 8, Maintenanc e & Repair for deta ils.
12
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
All models c ome with a n a c c ess port nea r the c enter of the Dec k through whic h to run
c a bles to the interna l c omponents.
Sonar Arrays with Gain Adjustment
Na tively, Ac tivMedia robots support both front a nd rea r sona r a rra ys, ea c h with eight
tra nsduc ers tha t provide objec t detec tion a nd ra nge informa tion for fea tures
rec ognition, a s well a s na viga tion a round obsta c les. With sona r expa nsion elec tronic s,
you ma y a dd up to 16 more sona r in two a dditiona l a rra ys of eight sona r ea c h.
PeopleBots, for insta nc e, ha ve a n a dditiona l a rra y a t the front of the upper Dec k.
The sona r positions in a ll a rra ys a re fixed: one on ea c h side, a nd six fa c ing outwa rd a t 20-
degree interva ls. Together, fore a nd a ft sona r a rra ys provide 360 degrees of nea rly
sea mless sensing for the pla tform.
Ea c h sona r a rra y c omes with its own
driver elec tronic s for independent
c ontrol.
Ea c h a rra ys’ sona r a re
multiplexed; the sona r a c quisition
ra te is 25 Hz (40 millisec onds per sona r
per a rra y. Sensitivity ra nges from ten
c entimeters (six inc hes) to nea rly five
meters (16 feet). You ma y c ontrol the
sona r’s
firing
pa ttern
through
softwa re; the defa ult is left-to-right in
sequenc e 0 to 7 for ea c h a rra y.
The driver elec tronic s for ea c h a rra y is
c a libra ted a t the fa c tory. However,
you ma y a djust the a rra y’s sensitivity
a nd
ra nge
to
a c c ommoda te
differing opera ting environments.
The sona r ga in c ontrol is on the
underside of the sona r driver boa rd,
Figure 12. Ac tivMedia robot sonar array
whic h is a tta c hed to the floor of ea c h sona r module.
Sona r sensitivity a djustment c ontrols a re a c c essible direc tly, a lthough you ma y need to
remove the G ripper to a c c ess the front sona r, if you ha ve tha t a c c essory a tta c hed.7 For
the front sona r, for insta nc e, loc a te a hole nea r the front underside of the a rra y through
whic h you c a n see the c a p of the sona r-ga in a djustment potentiometer. Using a sma ll
fla t-bla de sc rewdriver, turn the ga in c ontrol c ounterc loc kwise to ma ke the sona r less
sensitive to externa l noise a nd fa lse ec hoes.
Low sona r-ga in settings reduc e the robot’s a bility to see sma ll objec ts. Under some
c irc umsta nc es, tha t is desira ble. For insta nc e, a ttenua te the sona r if you a re opera ting in
a noisy environment or on uneven or highly reflec tive floora hea vy sha g c a rpet, for
exa mple. If the sona r a re too sensitive, they will “see” the c a rpet immedia tely a hea d of
the robot a s a n obsta c le.
Inc rea se the sensitivity of the sona r by turning the ga in-a djustment sc rew c loc kwise,
ma king them more likely to see sma ll objec ts or objec ts a t a grea ter dista nc e. For
insta nc e, inc rea se the ga in if you a re opera ting in a rela tively quiet a nd open
environment with a smooth floor surfa c e.
7
It’s ea sier to remove the DXE’s Nose with G ripper a tta c hed.
13
Download from Www.Somanuals.com. All Manuals Search And Download.
Specifications and Controls
Motors and Position Encoders
Pioneer 2 a nd PeopleBot drive systems use high-speed, high-torque, reversible-DC
motors, ea c h equipped with a high-resolution optic a l qua dra ture sha ft enc oder for
prec ise position a nd speed sensing a nd a dva nc ed dea d-rec koning. Motor gea rhea d
ra tios a nd enc oder tic ks per revolution va ry by robot model. See Appendix D for deta ils.
Batteries and Power
Exc ept the 2-C E, Pioneer 2 a nd PeopleBot robots ma y c onta in up to three, hot-
swa ppa ble, seven a mpere-hour, 12 volts direc t-c urrent (VDC ) sea led lea d/a c id ba tteries
(tota l of 252 wa tt-hours), a c c essible though a hinged a nd la tc hed ba c k door. We
provide a suc tion c up tool to help gra b a nd slide ea c h ba ttery out of its ba y. Spring
c onta c ts on the robot’s ba ttery power boa rd a llevia te the need for ma nua lly a tta c hing
a nd deta c hing power c a bles or c onnec tors.
Ba la nc e the ba tteries in your robot.
Ba ttery life, of c ourse, depends on the c onfigura tion of a c c essories a nd motor a c tivity.
Pioneer 2-AT a nd PeopleBot c ha rge life typic a lly ra nges from two to three hours. The
Pioneer 2-DX a nd -DXe run c ontinuously for six hours or more; up to four hours with
onboa rd c omputer. If you don’t use the motors, your robot’s mic roc ontroller will run for
severa l da ys on a single ba ttery c ha rge.
IMPORTANT: Ba tteries ha ve a signific a nt impa c t on the ba la nc e a nd opera tion of your
robot.
Under most c onditions, we rec ommend opera ting with three ba tteries.
Otherwise, a single ba ttery should be mounted in the c enter, or two ba tteries inserted on
ea c h side of the ba ttery c onta iner.
Typic a l rec ha rge time using the rec ommended a c c essory (800 mA) c ha rger va ries
a c c ording to the disc ha rge sta te; it is roughly equa l to three hours per volt per ba ttery.
The Power C ube a c c essory a llows simulta neous rec ha rge of three swa ppa ble ba tteries
outside the robot.
With the optiona l high-speed (4A ma ximum c urrent) c ha rger, rec ha rge time is grea tly
reduc ed. It a lso supplies suffic ient c urrent to c ontinuously opera te the robot a nd
onboa rd a c c essories, suc h a s the onboa rd PC a nd ra dios. But with the higher-c urrent
c ha rger, c a re must be ta ken to c ha rge a t lea st two ba tteries a t onc e. A single ba ttery
ma y overc ha rge a nd thereby da ma ge both itself a nd the robot.
Both rec ommended c ha rgers a re spec ific a lly designed for optima l a nd sa fe lea d-a c id
ba ttery rec ha rging. Indic a tors on the module’s fa c e show fa st-c ha rge mode (typic a lly
a n ora nge LED) in whic h the disc ha rged ba tteries a re given the ma xima l c urrent, a nd
tric kle mode (green LED indic a tor) whic h the ba tteries a re given only enough c urrent to
rema in a t full c ha rge.
Electronics
Pioneer 2 a nd PeopleBot sta nda rd elec tronic s reside on two ma in boa rds: a
mic roc ontroller a nd a motor-power distribution boa rd. Ea c h sona r a rra y a lso ha s a
c ontroller boa rd mounted in its ba se. A spec ia l I/O expa nsion boa rd found inside the
left c olumn strut of the Performa nc e PeopleBot distributes User I/O for use by the robot’s
joystic k port a s well a s it’s ta bletop a nd brea kbea m IR sensors.
A Ma in Power switc h a t the ba c k of the robot c ontrols power for the entire system.
Proc essor c ontrol switc hes a nd indic a tors fit through the C onsole.
14
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Motor-Power Board
Inside the robot, mounted to the ba ttery box, is the Motor-Power boa rd. It supplies both
the 12 a nd five volts direc t-c urrent (VDC ) power requirements of your robot’s systems.
The sta nda rd Motor-Power boa rd ha s a 12-pin User-Power c onnec tor tha t supports four
sets of five- a nd 12-VDC power ports (tota l 1.5 a mpere) for c ustom a c c essories.
An optiona l c omputer-power sec tion to the boa rd supplies power for the onboa rd PC . It
inc ludes a spec ia l low-power a nd power-down c irc uit tha t lets you gently shut down the
in this ma nua l a nd the C omputer Tec h Notes tha t ma y a c c ompa ny your robot for
deta ils.)
Microcontroller
The Pioneer 2/PeopleBot mic roc ontroller ha s a 20 MHz Siemens 88C 166 mic roproc essor
with integra ted 32K FLASH-ROM. It a lso ha s 32K of dyna mic RAM, two RS232-c ompa tible
seria l ports, severa l digita l a nd a na log-to-digita l, a nd PSU I/O user-a c c essible ports, a nd
All of the I/O ports, exc ept those used for the motors, enc oders, a nd sona r, a re a va ila ble
to the user for a c c essory ha rdwa re. The embedded opera ting softwa re (P2OS) lets you
support a nd ma na ge ea c h of these I/O ports. C onnec tor pinouts a nd elec tronic s deta ils
a ppea r in the Appendic es.
Sonar Boards
Assoc ia ted with ea c h sona r a rra yforwa rd a nd rea ris a sona r multiplexer/firing boa rd.
Wire lea ds to the individua l sona r plug into a 16-pin c onnec tor on the boa rd. A 10-
c onduc tor power/signa l c a ble c onnec ts the sona r boa rd with the mic roc ontroller.
Controls, Ports, and Indicators
Main Power, Fuse, and Indicator
A single slide-switc h on the rea r left pa nel of Pioneer 2 a nd PeopleBot robots c ontrols
power to the entire robot a nd a ll its integra ted a c c essories. Up is ON; down is OFF.
red LED on the C onsole indic a tes Ma in Power.
A
Inside, on the top right side of the ba ttery box (a c c essible through the hinged ba c k door)
is the Ma in Power Fuse. It is a n a utomotive-type (spa de termina ls) 15A (DX, DXe, C E, a nd
PeopleBots) or 20A (AT) fuse designed for tool-less repla c ement. To the left of the fuse,
on the sa me ba ttery c onnec tion boa rd, is the ma in power rela y, whic h isola tes the high-
a mpere dra w of the robot system from the Ma in Power Switc h.
Recharge/Power Port
Below the Ma in Power Switc h is the ba ttery rec ha rger port. It provides 12 VDC power to
the robot's elec tronic s, motors, a nd a c c essories, even without ba tteries. Use the
rec ommended a c c essory power c ha rger or equiva lent.
You should ma inta in your robot’s ba tteries in a c ha rged sta te a bove 11 VDC , a s
indic a ted on the C onsole LC D. We rec ommend rec ha rging the ba ttery when it fa lls
below 11 VDC , even though the robot ma y c ontinue to opera te below 10 VDC . The
mic roc ontroller will sound a wa rning when the ba ttery volta ge fa lls below tha t level (see
15
Download from Www.Somanuals.com. All Manuals Search And Download.
Specifications and Controls
will a utoma tic a lly shut down the onboa rd PC . Disc ha rging the ba tteries below 10 VDC
ma y perma nently da ma ge them.
You ma y c ontinue to opera te the robot while
c ha rging its ba tteries, a lthough tha t will
lengthen the rec ha rge time.
Bec a use the
onboa rd PC dra ws muc h c urrent, even the
high-speed 4A c ha rger will not be a ble to fully
rec ha rge the ba tteries unless you power down
If you ha ve only one ba ttery onboa rd, plug
your robot into the c ha rger before “hot-
swa pping” the exha usted ba ttery for a fresh
one.
To hot-swa p two or three ba tteries,
repla c e ea c h ba ttery one-a t-a -time, lea ving
a t lea st one ba ttery in pla c e to supply power
to the robot.
The Power C ube a c c essory is a c onvenient
wa y to externa lly rec ha rge one to three of the
hot-swa pped ba tteries.
Liquid-Crystal Display & Contrast Adjustment
Information a bout your robot's sta te a nd
c onnec tions a ppea rs on a 32-c ha ra c ter (two
lines) liquid-c rysta l displa y (LC D) on the
C onsole. When under c ontrol of the P2OS
servers, for exa mple, the displa y shows the
sta te of c ommunic a tion with the c lient
c omputer, a long with the ba ttery volta ge a nd
a blinking "hea rtbea t" a sterisk (*) in the sec ond
line of text.
Figure 13. The C onsole
A sma ll, c ontra st-a djustment potentiometer for
the LC D is inset next to the displa y. Ma ke sure the Ma in Power switc h is ON a nd the
ba ttery is well c ha rged. Then, using a sma ll, fla t-bla de sc rewdriver, turn the a djustment
sc rew to da rken or lighten the sc reen so tha t the c ha ra c ters a re c lea rly visible under your
lighting c onditions.
RESET and MOTORS
The RESET (red) a nd MOTORS (white) push-button switc hes on the C onsole a ffec t the
mic roc ontroller’s logic a nd motor-driver systems.
When pressed a lone, RESETputs the mic roc ontroller into its sta rt-up sta te, disrupting a ny
running progra m or c lient c onnec tion. It a lso disa bles the drive motors—just a s if you
c yc le Main Power. But, unlike a c old-power resta rt, RESETpreserves the c ontents of the
mic roc ontroller's RAM, so a ny user progra ms downloa ded in sta nda lone mode get
resta rted.
The MOTORS pushbutton is not a power switc h—it does not direc tly
c ontrol power to the motors.
8
We delibera tely limit the c ha rger power to a void serious da ma ge tha t c a n oc c ur from overc ha rging lea d-
a c id ba tteries.
16
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
The MOTORS button a nd its a ssoc ia ted green LED a re under softwa re c ontrol. Norma lly,
your Ac tivMedia robot's motors a re disa bled when not c onnec ted with a c lient, suc h a s
(LED fla shes) until you press a nd relea se the MOTORS button. Pressing a nd relea sing the
white MOTORS button then ena bles/disa bles the motors a s long a s the robot rema ins
ena bled a nd blink ONa nd OFFwhen disenga ged.
When not c onnec ted with a c lient, pressing a nd relea sing the MOTORS button puts your
robot into joystic k-drive mode. A subsequent press a nd relea se of the MOTORS button
puts the robot into Self-Test Mode tha t exerc ises the robot's drive, c ontroller, a nd I/O
systems. See C ha pter 5, Joydrive and Se lf-Test Mode s, for deta ils.
Press a nd hold the MOTORS button in c ombina tion with the RESET button to put the
mic roc ontroller into a spec ia l system-downloa d mode for reprogra mming the onboa rd
SERIAL
Your Ac tivMedia robot's mic roc ontroller ha s two seria l ports a nd three c onnec tors. One
c onnec tor, la beled SERIAL, is a sta nda rd 9-pin D-SUB rec epta c le loc a ted on the
C onsole a nd is for direc t RS232-c ompa tible seria l da ta c ommunic a tion between the
mic roc ontroller a nd a c lient c omputer.
This “Host” seria l port sha res its three-line
tra nsmit, rec eive, a nd ground c onnec tions with one of the two seria l c onnec tors tha t is
Amber LEDs on ea c h side of the Host seria l port light during da ta -exc ha nge a c tivity
tra nsmitted from or rec eived by the mic roc ontroller.
Remove a ny tether or la ptop c onnec tion from the C onsole SERIAL port
when using the optiona l ra dio modems.
RADIO
The RADIO slide switc h on your robot’s C onsole c ontrols power to the optiona l ra dio
modem or Ethernet ra dio. It does not a ffec t the SERIALport func tions direc tly, but you
must switc h the ra dio modem’s power OFF if you use the C onsole SERIAL port to
c onnec t a piggyba c k la ptop or a nother externa l c omputer to the robot.
The ra dio modem gets power a s well a s signa ls through the interna l, sha red Host seria l
port a nd c a n interfere with C onsole SERIAL c ommunic a tions. In some c a ses, you ma y
ha ve to physic a lly remove the ra dio seria l c onnec tion from the mic roc ontroller to
elimina te tha t interferenc e.
FLASH
A slide switc h la beled FLASH is rec essed into the C onsole. It write-protec ts the FLASH
ROM-stored P2OS softwa re a nd your robot's opera ting pa ra meters (see Updating and
Re c onfiguring P2OS, C ha pter 7). When switc hed forwa rd, FLASH is ena bled for writing.
Ac tivMedia ’s P2OS ma intena nc e utilities wa rn you if FLASH is disa bled.
9
See the Quic k Start c ha pter for c lient c onnec tion deta ils.
10
A P2OS c omma nd a lso lets you toggle the motors under c lient c ontrol.
17
Download from Www.Somanuals.com. All Manuals Search And Download.
Specifications and Controls
PeopleBot Sensors and Emergency STOP
Performa nc e PeopleBot’s ta bletop sensors a re very relia ble diffuse IR detec tors mounted
to the front of the robot a nd whic h detec t obsta c les, pa rtic ula rly ta bletops or rope
ba rriers, tha t otherwise a ren’t detec ted by the sona rs. The ta bletop IR detec tors respond
to a ny surfa c e exc ept gla ss or other mirrored surfa c es, a nd c a n detec t objec ts a s thin a s
a huma n finger. They a re oriented to trigger when a n objec t is 28 c m (11.5 inc hes) or
nea rer to the front of the robot a nd 3.75 c m (1.5 inc hes) a t the height of the lower dec k.
Two “brea kbea m” IR sensors, one on ea c h side 3.75 c m (1.5 inc hes) forwa rd of the left
a nd right c olumn struts a nd between the top a nd lower Dec ks of the Performa nc e
PeopleBot, sense objec ts whic h intrude into the robot’s profile, but whic h ma y not be
otherwise detec ted by the sona rs or ta bletop IR sensors.
Sinc e the ta bletop a nd brea kbea m IR sensors a re c onnec ted to User I/O digita l ports,
their sta tes a re c ommunic a ted from the P2OS server to a c onnec ted c lient, suc h a s
Pioneer 2 Arm-related SIPs and Commands
The Performa nc e PeopleBot c onta ins a la rge, red Emergenc y STOP button prominently
positioned on the left c olumn just benea th the upper Dec k. When pressed, the button
physic a lly disc onnec ts power from the motors a nd elec tric a lly shorts them to bra ke the
motors. A sepa ra te digita l sense line to the mic roc ontroller c a n a c tiva te a n emergenc y
Emergenc y STOPbutton, press it in a nd twist.
Safety Watchdogs and Configuration
Pioneer 2’s a nd PeopleBot’s sta nda rd onboa rd softwa re, P2OS, c onta ins
a
c ommunic a tions watchdog tha t will ha lt motion if c ommunic a tions between a c lient
c omputer a nd the server a re disrupted for a set time interva l, nomina lly two sec onds
(watchdog pa ra meter). The robot will a utoma tic a lly resume a c tivity, inc luding motion,
a s soon a s c ommunic a tions a re restored.
P2OS a lso c onta ins a sta ll monitor.
If the drive exerts a PWM pulse tha t equa ls or
exc eeds a c onfigura ble level a nd the wheels fa il to turn (stallval), motor power is c ut
off for a c onfigura ble a mount of time (stallwait). The server softwa re a lso notifies the
c lient whic h motor is sta lled.
When the stallwait time ela pses, motor power
a utoma tic a lly switc hes ba c k ON a nd motion c ontinues under server c ontrol.
All these “fa ilsa fe” mec ha nisms help ensure tha t your robot will not c a use da ma ge or be
da ma ged during opera tion. You ma y rec onfigure the c ommunic a tions, drive c urrent,
a nd stallwait va lues to suit your a pplic a tion.
See C ha pter 7, Updating
&
Re c onfiguring P2OS, for deta ils.
18
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Chapter 4 Quick Start
the mobile robot with the Sa phira demonstra tion softwa re. For more deta ils a bout
progra mming a nd opera ting your Ac tivMedia mobile robot with Sa phira , ARIA, or other
c lient softwa re, see their respec tive progra mming ma nua ls.
Preparative Assembly
Out of the box, your Ac tivMedia robot c omes fully a ssembled, with its ba tteries fully
c ha rged—just slide them into the ba ttery box through the ba c k door. You a lso ma y
need to a tta c h a n a ntenna or plug in a n a c c essory tha t we intentiona lly left una tta c hed
so a s to prevent da ma ge during shipping. C onsult the Tec h Notes a nd a c c essory
ma nua ls tha t ma y a c c ompa ny your robot for fina l a ssembly deta ils.
Figure 14. Your robot server needs a serial link with a c lient c omputer.
Your robot requires a seria l c ommunic a tion link with a c lient for opera tion. The seria l link
ma y be:
ꢀ
ꢀ
ꢀ
A tether from the robot’s 9-pin seria l c onnec tor on the C onsole to a c omputer
A piggyba c k la ptop c a bled to the robot’s 9-pin seria l c onnec tor on the C onsole
An optiona l ra dio modem pa ir—one inside the robot a tta c hed to the
mic roc ontroller’s host seria l port, a nd a c ompa nion ra dio modem c onnec ted to
the seria l port of the c lient c omputer
ꢀ
An integra ted onboa rd PC wired interna lly for direc t onboa rd c ontrol
Saphira Client Installation
The Sa phira c lient softwa re-development environment, inc luding the Sa phira
demonstra tion progra m a nd robot Simula tor, c omes on C D-ROM with your new robot. It
is c onfigured a nd c ompiled for Windows© 9x/ME a s well a s for RedHa t© Linux-ba sed PC s.
If you ha ve a n onboa rd PC insta lled with softwa re from the fa c tory, the Sa phira
demonstra tion progra m a lrea dy is insta lled. Ac tivMedia Robotic s c ustomers a lso ma y
obta in Sa phira a nd rela ted softwa re a nd upda tes for other pla tforms from our support
from your Registra tion Sheet in order to a c c ess portions of our c ustomer website:
When insta lled, Sa phira typic a lly requires four mega bytes of ha rd-disk spa c e. To insta ll
the softwa re, follow the instruc tions in the a c c ompa nying README file.
11
You ma y need to a tta c h some a c c essories a nd the PeopleBot V1’s pedesta l needs to be a tta c hed.
19
Download from Www.Somanuals.com. All Manuals Search And Download.
Quick Start
For insta nc e, the Windows© 9x/ME version is a self-extra c ting WinZip© a rc hive. Simply
double-c lic k its .EXE ic on a nd follow the extra c tion progra m’s instruc tions.
Windows© 9x/ME users a lso need to set a n environment va ria ble in the C: (boot drive)
autoexec.batfile. Loa d the file with a simple text proc essor like WordPa d a nd a dd the
line:
SET SAPHIRA=C:\Saphira\ver62
whic h is the defa ult insta lla tion pa th to Sa phira ’s top-level direc tory. Then reboot.
Linux users should be sure they ha ve permission to rea d/write through their PC ’s seria l port
tha t c onnec ts with the robot. The defa ult is /dev/ttyS0.
Sa phira a lso requires X-
Window. If you ha ve a n onboa rd PC with Ethernet ra dio, exportthe X-Windows displa y
if you a re opera ting the Sa phira G UI from a remote X-termina l over the network.
With bash, for exa mple:
%export DISPLAY=remote_computer:0
where remote_c omputer is the known hostna me (/etc/hostsor DNS entry) or IP a ddress
of the remote X-termina l.
Saphira Client Start-Up
To sta rt the Sa phira c lient demonstra tion progra m, first loc a te its exec uta ble: It’s inside
the bin direc tory
tha t is in
the
top-level Sa phira
direc tory—typic a lly
C :\ Sa phira \ verxx\ bin or /usr/loc a l/sa phira /verxx/bin. The demonstra tion progra m is
na med sa phira or sa phira .exe.
For insta nc e, with the mouse double-c lic k the saphira.exe ic on inside
C:\Saphira\ver62\bin on your Windows© 9x/ME desktop. On your UNIX or Linux
ma c hine via a n X-Windows termina l, na viga te (c d) to the /usr/local/Saphira/
ver62/bin direc tory a nd type saphira, or ./saphira to exec ute the Sa phira c lient
softwa re there. We set the ${PATH} for the onboa rd, Linux-ba sed PC systems tha t we
insta ll for you, so tha t you need only type saphira in a n X-Window termina l to exec ute
the demonstra tion progra m.
If the demonstra tion progra m is insta lled a nd exec uted properly, a Sa phira ma in window
should open a nd a ppea r on your gra phic s sc reen. Otherwise, dia gnostic error dia logs
Robot Cold Start-Up
Position your Ac tivMedia robot on the floor or ground in a n open spa c e. Slide the Ma in
Power switc h up to ON. The red power indic a tor LED benea th the FLASH switc h on the
C onsole should light. After a short P2OS initia liza tion pha se, the LC D on the c ontrol
pa nel then displa ys the c urrent sta tus, the Host seria l port ba ud ra te, the c urrent P2OS
version number, a nd the ba ttery c ha rge, in volts. For exa mple,
no conn 19.2 kB
P2OS v1.F 13.8*
The "hea rtbea t" a sterisk c ha ra c ter following the ba ttery volta ge should be fla shing ON
a nd OFF.
12
C urrent verxx is ver62.
20
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
The sa me P2OS initia liza tion sequenc e oc c urs whenever you press the red RESETbutton.
Unlike the origina l Pioneer 1, you c a nnot enga ge the drive motors until a fter you ha ve
c onnec ted with a c lient, exc ept during self-tests.
RADIO ON
If you own ra dio modems for c lient-server seria l c ommunic a tions, switc h RADIO power
ON.
Starting Client-Server Communications
After it sta rts up, resets, or c ompletes its self-tests, your robot’s onboa rd servers (P2OS)
enters disc onnec t ("noc onn") mode—a quiet sta te in whic h P2OS a wa its c onnec tion with
a c lient c omputer a nd softwa re like Sa phira or ARIA.
To esta blish a c onnec tion between your
robot a nd the Sa phira demonstra tion
c lient, pull down the Connect menu a nd
enga ge the a ppropria te seria l port: It's the
one tha t you c onnec ted to the robot via a
direc t c a ble or through modems. With the
onboa rd PC , it is the first (defa ult) seria l
port, COM1 or /dev/ttyS0. The port na me
The Sa phira c lient initia tes a c onnec tion
with your robot server by exc ha nging three
sync hroniza tion pa c kets. You ma y monitor
this proc ess on your robot’s LC D a nd in
Sa phira ’s C olbert intera c tion window.
As sync hroniza tion pa c kets a re rec eived
a nd ec hoed by the c ommunic a tions
server, they a ppea r sequentia lly next to the
word SYNC on the top line of the LC D
displa y on the robot. If these numbers do
not a ppea r, the c ommunic a tion line is
down or the c lient is ma lfunc tioning. Press
RESET to return P2OS to its c lient-
c onnec tion wa iting sta te.
Figure 15. C onnec t Saphira with your
Ac tivMedia robot through a serial port.
A Successful Connection
After Sa phira negotia tes a c onnec tion suc c essfully, the c lient requests va rious P2OS
servers to sta rt their a c tivities, inc luding sona r polling, position integra tion, a nd so on. The
mic roc ontroller sounds a n a udible c onnec tion c ue, a nd you should hea r the robot’s
sona r ping with a distinc tive a nd repetitive c lic king.
Press the white MOTORSpushbutton to ena ble the drive motors. The a ssoc ia ted green LED
should stop fla shing a nd light c ontinuously.
The a mber SERIAL port indic a tor LEDs on the robot’s C onsole should blink to indic a te
Sa phira -c lient to P2OS-server c ommunic a tions. The C onsole LC D a lso should displa y a
messa ge simila r to the following:
13
C hoose Local Portto c onnec t with the simula tor.
21
Download from Www.Somanuals.com. All Manuals Search And Download.
Quick Start
Connected
P2OS v1.F 13.2*
Operating the Saphira Demonstration Client
When c ommunic a tions between the Sa phira c lient a nd your robot’s servers a re
esta blished, the robot bec omes responsive a nd intelligent. For exa mple, a lthough it
ma y drive towa rd a n obsta c le, your Pioneer 2-DXe will not c ra sh (unless its obsta c le-
a voida nc e beha viors ha ve been disa bled) bec a use it c a n detec t a nd a c tively a void
c ollisions.
Enga ge the robot’s motors (white MOTORSbutton) a fter c onnec ting
or it won’t move, no ma tter how exc ited you get.
Table 1. Keyboard-c ontrolled behaviors
C ollision a voida nc e is just one of the
ma ny
mobile
robot
beha viors
KEY
i, ↑
ACTION
a va ila ble through Sa phira a nd other
c lient softwa re a va ila ble from
Increment forward velocity
Decrement forward velocity
Incremental left turn
Incremental right turn
All stop
Ac tivMedia Robotic s, inc luding the
Ac tivMedia Robotic s Ba sic Suite,
ARIA, a nd others. Remember, this
sec tion is mea nt to fa milia rize you
with your new robot. Plea se rea d the
respec tive softwa re ma nua ls for how
to get the most out of your robot a nd
softwa re.
m, ↓
j, ←
l, →
k, space
g
Toggle constant velocity
Toggle obstacle avoidance
c
The ma in window of the Sa phira c lient displa ys a sona r ma p built by Sa phira a s the robot
moves a round its environment. La ndma rks ma y be defined a s Sa phira rec ognizes a nd
c la ssifies c erta in sensor da ta pa tterns—wa lls a nd openings, for exa mple.
In Figure 17, for exa mple, a Pioneer 2-
DX (c enter oc ta gon) ha s identified a
c orridor a nd severa l doors. Notic e
the sma ll dots, whic h a re rec ent
reflec tions detec ted by the front
sona r a rra y? The long lines through
the onsc reen sona r a rtifa c ts a re the
c a lc ula ted c orridor’s geometry. The
rec ta ngles direc tly a hea d of the
robot
“detec ted a nd of interest” to the
robot. One of Sa phira ’s beha viors,
represent
a n
obsta c le
by the wa y, is to ha ve your robot seek
a nd tra verse the c enter of a c orridor.
You ma y ena ble a nd disa ble Sa phira
beha viors tha t intelligently guide your
Ac tivMedia robot by selec ting or
deselec ting them from menu items in
Figure 16. The main window of a robot-
c onnec ted Saphira c lient
the Sa phira c lient a nd from the c lient keyboa rd. These inc lude ma nua l drive opera tion
a nd disa bling/ena bling obsta c le a voida nc e a nd c onsta nt veloc ity beha viors.
22
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
When ma nua lly joystic king the robot, ea c h keypress moves the robot forwa rd or
ba c kwa rd fa ster or slower a nd inc rementa lly c ha nges its direc tion. For insta nc e, when
turning, it is often useful to press the left- or right-turn key ra pidly severa l times in a row,
bec a use the turn inc rement is sma ll.
Disconnecting Serial Communications (intentionally or unintentionally)
When you finish pla ying with your robot, pull down
the Sa phira c lient’s Connect menu a nd c hoose
the Disconnectoption.
Your Pioneer 2 or PeopleBot will disenga ge its drive
motors a nd stop moving a utoma tic a lly, a nd its
sona r should stop firing. The LC D a lso should return
to the wa iting-sta te messa ge. You ma y now slide
the robot’s Ma in Power switc h to OFF.
Quickstart Troubleshooting
You must ha ve a va lid Sa phira lic ense to c onnec t
with a robot. Unlic ensed Sa phira c lients ma y only
c onnec t with the simula tor. Lic ensed versions of
Sa phira c ome with the robot a nd c a n be
downloa ded by c ustomers from the Ac tivMedia
Figure 18. Please, grac efully
Robotic s support website:
disc onne c t the Saphira c lie nt
from the robot server.
Most problems oc c ur when a ttempting to c onnec t the Sa phira c lient with a robot for the
first time. Ma ke sure you ha ve Sa phira properly insta lled a nd its rela ted environment
va ria bles set. It's a lso a good idea to rec hec k tha t the seria l c a ble is plugged into a
working seria l port on your c omputer.
UNIX a nd Linux users should be sure they ha ve permission to rea d/write the c onnec tion
seria l port. On the server side, ma ke sure your ra dio modem is ON, if tha t is the
c onnec tion route.
If you a c c ess the wrong seria l port, the Sa phira demonstra tion progra m will c ompla in,
"Error opening" tha t selec ted seria l port. If the robot server isn't listening, or if the seria l link
is severed somewhere between the c lient a nd server (c a ble loose, or a modem OFF, for
insta nc e), the c lient will a ttempt to "Sync ing 0" six times a nd fa il with a "C onnec tion
refused." In tha t c a se, reset the robot a nd c hec k your seria l c onnec tions. For insta nc e,
if you a re using the InfoWa ve ra dio modems, the DC D la mp on the host should light up.
If it doesn't, it mea ns it c a nnot find the one in the robot.
Onc e suc c essfully c onnec ted, remember tha t the robot won't move unless its motors a re
enga ged, a nd tha t you ha ve to ma nua lly enga ge the motors just a fter you ma ke a
c onnec tion with a c lient, not beforeha nd.
If for some rea son, c ommunic a tions get severed between the Sa phira c lient a nd P2OS
server, but both the c lient a nd server rema in a c tive, you ma y revive the c onnec tion with
little effort: If you a re using ra dio modems, first c hec k a nd see if the robot is out of ra nge.
To test for ra nge limits, simply pic k up the robot a nd move it c loser to the ba sesta tion
ra dio modem. If the robot wa s out of ra nge, the c onnec tion should resume. If not,
c hec k to ma ke sure tha t ra dio modems were not ina dvertently switc hed OFF.
C ommunic a tions a lso will fa il if the c lient a nd/or server is somehow disa bled during a
session. For insta nc e, if you ina dvertently switc h off the robot’s Ma in Power or press the
23
Download from Www.Somanuals.com. All Manuals Search And Download.
Quick Start
RESET button, you must resta rt the c onnec tion. Turning the Ma in Power switc h off a nd
then ba c k ONor pressing the RESETbutton puts the robot servers ba c k to their wa it sta te,
rea dy to a c c ept c lient c onnec tions a ga in. If the Sa phira c lient a pplic a tion is still a c tive,
simply pull down the Connect menu a nd c hoose the Disconnect option. Otherwise,
resta rt the a pplic a tion a nd rec onnec t the Sa phira c lient with the P2OS servers.
The Sa phira -P2OS c onnec tion is SERIAL only.
You ma y not c onnec t a Sa phira or other c lient softwa re running on a n
offboa rd c omputer with the P2OS c ontroller over a TC P/IP link.
Ra ther, you need the spec ia l IPTHRU progra m running on a n onboa rd
c omputer a nd whic h tra nsla tes IP pa c kets into P2OS seria l pa c kets to
support a TC P/IP-ba sed remote c lient.
This is not the sa me a s EXPORTING the onboa rd PC c ontrols, in whic h
Sa phira or other c lient softwa re c onnec ts via a seria l link with the P2OS
servers loc a lly, but the c omputer is otherwise opera ted from a remote
termina l.
24
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Chapter 5 Joydrive and Self-Tests
Beginning with P2OS version 1.C , a ll Pioneer 2s a nd PeopleBots ma y be tethered a nd
driven ma nua lly with a c ommon PC (a na log) joystic k. In version 1.G a nd la ter, you ma y
a lso use the tethered joystic k to ma nua lly drive the robot even when it is c onnec ted with
a c lient. And P2OS c omes with a series of short test routines for your Ac tivMedia robot's
drive motors, sona r, User I/O func tions, a nd a c c essories.
To run in either joydrive or self-test mode, sta rt up or RESET the robot into its P2OS wa it
sta te (LC D "no c onn"). You ma y press the RESETbutton a t a ny time to disa ble self-test
a nd joydrive modes. To ena ble joydrive while c onnec ted with a c lient, you must send
Joystick Connection
You ma y a tta c h a c ommon PC joystic k to the User I/O’s a na log ports a nd ma nua lly drive
your robot a round without the need for a c lient c onnec tion a nd inc umbent a c c essories.
But it a lso mea ns tha t you ma y drive your Pioneer 2 a round without the nic eties of a
c lient’s protec tive beha viors like obsta c le a voida nc e—so be c a reful. Pioneer 2-ATs a nd
the Performa nc e PeopleBot c ome sta nda rd with a joystic k c onnec tor a nd interna l wiring.
An a c c essory kit is a va ila ble to a da pt other models. See Appendix C for c onnec tion
deta ils.
Bewa re:
The Joystic k a nd the older G ripper interfere a t the User I/O port.
Bec a use they sha re ports on the User I/O c onnec tor of the mic roc ontroller, older versions
c ontrol lines with a 4PDT toggle switc h. See Appe ndix C for deta ils.
Alterna tively, there is a n a c c essory kit a va ila ble tha t moves the G ripper c ontrols to the
G enera l I/O bus, libera ting the User I/O ports for other uses, inc luding a tta c hing a joystic k.
Joydrive Operation
To joydrive your robot when not c onnec ted with a c lient progra m like Sa phira or ARIA,
a tta c h a PC joystic k to the 15-pin DSUB soc ket of the robot’s joystic k port. Then, a fter
switc hing the robot’s Ma in Power ON, press the white MOTORS button onc e. Listen for a
rhythmic , low-tone beeping indic a ting joydrive mode.
To joydrive while c onnec ted with a c lient, you must ha ve the c lient send the P2OS
c omma nd number 47 with a n integer a rgument 1 to ena ble joydrive. Then, press a nd
relea se the joystic k fire button to ena ble self-c a libra tion mode. Ha ve your c lient send the
P2OS Joydrive c omma nd number 47 with a n integer a rgument of 0 to disa ble the joystic k
drive-override.
The joystic k is self-c a libra ting: When you first ena ble joydrive mode, P2OS detec ts the
joystic k’s c enter a nd extreme positions a nd sa ves these va lues to ba la nc e the driving
a c tion. Ac c ordingly, rota te the joystic k a round its extreme limits a nd then let the joystic k
14
Identified a s hasgripper= 1 in your robot’s pa ra meters; see C ha pter 7, Updating & Rec onfiguring P2OS,
a nd the Pionee r 2 G ripper Manual, version 2 or la ter, for deta ils.
25
Download from Www.Somanuals.com. All Manuals Search And Download.
Joydrive and Self Tests
ha ndle find its defa ult c entered position before sta rting to drive. Try exiting (reset) a nd
resta rting joydrive mode if the joystic k doesn’t seem to func tion well.
The joystic k’s “fire” button (button 1) a c ts a s the joydrive “dea dma n”—press it to sta rt
driving; relea se it to stop the robot’s motors. The robot should drive forwa rd a nd reverse,
a nd turn left or right in response a nd a t speeds rela tive to the joystic k’s position.
When not c onnec ted with a c lient c ontrol progra m, relea sing the joystic k fire button
stops the robots. However, when c onnec ted with a c lient, the c lient progra m resumes
a utoma tic opera tion of your robot’s drive system. So, for exa mple, your robot ma y speed
up or slow down a nd turn, depending on the a c tions of your c lient progra m.
You ma y a djust the ma ximum tra nsla tiona l a nd rota tiona l speeds, even disa ble joydrive
Engaging Self-Tests
ATTENTION!
Pla c e your robot on the floor or ground a nd ha ve everyone step
ba c k before enga ging self-tests.
A messa ge should a ppea r in the LC D:
Press again to
begin tests 13.2*
And there should be tha t rhythmic beeping sound c oming from the C onsole spea ker to
a lert you tha t you ma y ha ve enga ged joydrive a nd self-test modes ina dvertently. If so,
press the red RESETbutton. If you rea lly intended to run the self-tests, move on...
Note tha t you ma y interrupt the c urrent self-test a nd move on to the next one by pressing
the white MOTORSbutton. Or you ma y disc ontinue a ll testing a t a ny time a nd return to
the P2OS servers’ wa it sta te by c yc ling power or, better, by pressing the red RESETbutton
on your robot’s C onsole.
Motors Test
The first self-test exerc ises your Ac tivMedia robot’s drive motors. During this test, the robot
is not a t a ll c onsc ious of bysta nders. Plea se ha ve everyone step ba c k a nd remove a ny
obsta c les from within a dia meter of four to five feet a round. When rea dy, press the white
MOTORSbutton.
The motors self-test begins by enga ging the left drive wheel, first forwa rd, then in reverse,
ea c h to c omplete a pa rtia l turn c loc kwise, then c ounterc loc kwise. Simila rly, the right
wheel enga ges, first forwa rd, then reverse to c omplete pa rtia l turns, first
c ounterc loc kwise, then c loc kwise.
The C onsole LC D, a lthough diffic ult to rea d while the robot is in motion, displa ys a
messa ge for ea c h test. For exa mple:
Left forward
13.2*
15
As desc ribed a bove, the first MOTORSpress a nd relea se puts the robot into joydrive mode.
26
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Use the drive test to ensure tha t the drive motors a re working a nd tha t the enc oder
c a bles a re in their c orrec t soc kets on the motor-power boa rd. They’re the sa me size
a nd ha ve the sa me number of pins, so they c an be mista kenly switc hed, right for left or
left for right. In tha t erroneous c a se, the robot will spin ma dly in pla c e.
Sonar Test
When the motors test c ompletes, self-tests a utoma tic a lly c ontinue to the sona r tests.
You should hea r the distinc tive c lic king sound a s ea c h sona r "pings", one from ea c h of
two a rra ys simulta neously, ea c h in order from left to right in front a nd right to left in the
rea r. The LC D displa ys, in hexa dec ima l nota tion, the sona r number a nd the number of
mic rosec onds it ta kes to rec eive a n ec ho from a nea rby objec t, suc h a s your ha nd.
For exa mple, this might be the LC D messa ge if you held your ha nd a few inc hes from the
c enter sona r during its test period:
FS:#3 034A
RS:#B 7D00 12.4V*
Absent ec hoes return a t the ma ximum time of 7D00.
a dded sona r suc h a s with a PeopleBot, a sec ond set of sona r tests a utoma tic a lly
c ommenc e.
Bumpers
The next self-test displa ys the sta tes of the inputs from the front a nd rea r bumpers
a va ila ble for Pioneer 2 a nd PeopleBot robots. The sta te of ea c h bump switc h is ma pped
into a series of eight LC D displa y digits. The five switc hes in ea c h bumper—front a nd
rea r—a re rela ted to the digits one through five, left to right, on the LC D. For insta nc e in
the exa mple below, the front bumpers 1 a nd 5 a re pressed; the rest a re OFF, wherea s in
the rea r bumper, the sec ond a nd third bumps a re ON.
Front 00100010
Rear 00001100
The first two a nd la st displa y digits a re not c onnec ted a nd ma y toggle between 0 a nd 1.
Likewise, without a n a tta c hed bumper, the rea dings ma y va ry (usua lly a ll "0"s).
Press the white MOTORSbutton to proc eed to the next test.
Gripper
Those of you fortuna te enough to own a G ripper a c c essory for your Pioneer 2 or
PeopleBot a utoma tic a lly get a self-test for the a c c essory. See the Pioneer 2 G ripper
Manual for deta ils.
Compass
If you own a TC M2 or V-2XG c ompa ss module, this self-test displa ys its c ompa ss hea ding
in the LC D. See their respec tive ma nua ls for deta ils.
16
Sona r tests a utoma tic a lly proc eeded in P2OS versions before 1.F.
27
Download from Www.Somanuals.com. All Manuals Search And Download.
Joydrive and Self Tests
DIGIN and DIGOUT Test
A subsequent self-test lets you exa mine the va lues of the eight digita l input (ID0–7) a nd
output (OD0-7) ports a ssoc ia ted with User I/O on your Ac tivMedia robot’s mic roc ontroller.
The sta te of ea c h port is ma pped into a series of eight digits displa yed on the LC D. Ea c h
digit, 0 or 1, representing the ONor OFFsta te of a port, numbered right-to-left from 0 to 7.
For insta nc e, in the exa mple below, digita l input (DIGIN) ports 1 a nd 5 a re ON; the rest a re
OFF:
DIGIN: 00100010
DIGOUT: 01010101
The DIGOUTports a utoma tic a lly a nd rhythmic a lly toggle ONa nd OFF.
The ba sic mic roc ontroller ha s no a tta c hments to the I/O ports. Bec a use their norma l
sta te is floa ting, the DIGIN rea dings will va ry. The DIGIN self-test bec omes useful, of
c ourse, when you ha ve equipment a tta c hed to one or more of the digita l input ports.
ANALOG Tests
P2OS versions 1.2 a nd la ter let you a lterna tively use four of the digita l input ports a s
a na log-to-digita l (A/D) input ports. And there is one dedic a ted A/D port on the User I/O
c onnec tor. The ANALOG self-test mea sures the volta ge (0-5 VDC ) a pplied to ea c h of
the A/D ports a nd displa y its digitized va lue a s a single byte in hexa dec ima l on the LC D:
ANALOG #1: A9
13.2*
Press the white MOTORS button to selec t the next a na log port, 2-5. Port #5 is the
dedic a ted a nd defa ult A/D port. Like DIGIN, the mea sured va lue is unrelia ble unless you
c onnec t something to the port.
User PWMs
P2OS versions 1.2 a nd la ter let you a lterna tively use four of the digita l output ports a s
pulse-width-modula ting sourc es to drive servo motors, for exa mple. The User PWM self-
test puts a one millisec ond pulse onto ea c h of these four PWM ports. Monitor them with
a n osc illosc ope.
28
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Chapter 6 Pioneer 2 Operating System
All Ac tivMedia robots use a c lient-server
mobile
robot-c ontrol
a rc hitec ture
developed by Dr. Kurt Konolige a nd others
a t SRI Interna tiona l. In the model, the
robot’s c ontroller servers—the Pioneer 2
Opera ting
ma na ge a ll the low-level deta ils of the
mobile robot’s systems. These inc lude
System
(P2OS)—work
to
opera ting the motors, firing the sona r,
c ollec ting sona r a nd wheel enc oder da ta ,
a nd so ona ll on c omma nd from a nd
reporting to a sepa ra te c lient a pplic a tion,
suc h a s ARIA or Sa phira .
With this c lient/server a rc hitec ture, robotic s
a pplic a tions developers do not need to
know ma ny deta ils a bout a pa rtic ula r robot
server, bec a use the c lient insula tes them
from this lowest level of c ontrol. Some of
you, however, ma y wa nt to write your own
robotic s c ontrol a nd rea c tive pla nning
progra ms, or just would like to ha ve a
c loser progra mming rela tionship with your
robot.
This c ha pter expla ins how to
c ommunic a te with a nd c ontrol your
Ac tivMedia robot via the P2OS c lient-server
interfa c e. The sa me P2OS func tions a nd
c omma nds a re supported in the va rious
Figure 19. Ac tivMedia Robotic s c lient-
se rve r c ontrol arc hitec ture
c lient-progra mming
environments tha t
a c c ompa ny your robot or a re a va ila ble for
sepa ra te lic ense.
Experienc ed Pioneer users c a n be a ssured tha t P2OS is upwa rdly c ompa tible with PSOS,
implementing a ll the sa me c omma nds a nd informa tion pa c kets. P2OS, of c ourse,
extends the servers to a dd new func tiona lity, improve performa nc e, a nd provide
a dditiona l informa tion a bout the robot's sta te a nd sensing. Henc e, P2OS-spec ific
progra ms ma y not opera te on origina l Pioneers.
Communication Packet Protocol
Table 2. Main eleme nts of PSOS/P2OS c ommunic ation pac ket protoc ol
Component
Header
Byte Count
Bytes
Value
Description
2
1
0xFA, 0xFB Packet header; same for client and server
N + 2
Number of subsequent data bytes, including
the Checksum word, but not the Byte Count.
Maximum 200 bytes.
Data
N
2
command
or SIP
computed
Client command or server information
packet (SIP)
Packet integrity checksum
Checksum
P2OS c ommunic a tes with a c lient a pplic a tion using a spec ia l pa c ket protoc ol for both
c omma nd pa c kets from c lient to server a nd server informa tion pa c kets (SIPs) from the
29
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
server to c lient. Both a re bit strea ms c onsisting of four ma in elements: a two-byte
hea der, a one-byte c ount of the number of subsequent pa c ket bytes, the c lient
c omma nd a nd its a rguments or the server informa tion da ta bytes, a nd, fina lly, a two-
byte c hec ksum.
Packet Data Types
C lient c omma nds a nd server informa tion pa c kets c onta in severa l da ta types, a s defined
in Ta ble 3.
Table 3. P2OS C ommunic ation Pac ket Data Types
Data Type
Bytes
Order
integer
2
b0 low byte; b1 high byte
word
string
4
b0 low byte; b3 high byte
b0 length of string;
up to ~200,
length-prefixed b1 first byte of string
Packet Checksum
C a lc ula te the PSOS/P2OS c lient-server pa c ket c hec ksum by suc c essively a dding da ta
byte pa irs (high byte first) to the running c hec ksum (initia lly zero), disrega rding sign a nd
overflow.
If there is a n odd number of da ta bytes, the la st byte is XORed to the low-
order byte of the c hec ksum.
int calc_chksum(unsigned char *ptr)
{
// ptr is array of bytes
// first is data count
int n;
int c = 0;
n = (ptr++);
n -= 2;
/* Step over byte count
/* 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 c hec ksum word is pla c ed a t the end of the pa c ket, with its bytes in
the reverse order of tha t used for a rguments a nd da ta ; tha t is, b0 is the high byte a nd b1
is the low byte.
Packet Errors
C urrently, P2OS ignores a c lient c omma nd pa c ket whose Byte C ount exc eeds 200 or ha s
a n erroneous c hec ksum. The c lient should simila rly ignore erroneous server informa tion
pa c kets.
P2OS does not a c knowledge rec eipt of a c omma nd pa c ket nor does it ha ve a ny fa c ility
to ha ndle c lient a c knowledgment of a server informa tion pa c ket. C onsequently, Pioneer
c lient/server c ommunic a tions a re a s relia ble a s the physic a l c ommunic a tion link.
A
c a ble tether between the robot a nd c lient c omputer, suc h a s a piggyba c k la ptop,
30
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
provides very relia ble links; ra dio modem-media ted c ommunic a tion is muc h less relia ble.
Ac c ordingly, when designing c lient a pplic a tions tha t ma y use ra dio modems, do not
expec t to rec eive every informa tion pa c ket inta c t, nor c a n you expec t the server to
a c c ept every c omma nd.
Table 4. Standard P2OS Server Information Pac ket (SIP)
Name
Header
Byte Count
Data Type
integer
byte
Description
Exactly 0xFA, 0xFB
Number of data bytes + 2 (checksum); must be
less than 201 (0xC9)
Status/Packet
Type
byte = 0x3S; where S =
Motors status
Motors stopped
Robot moving
2
3
Xpos
unsigned integer (15 ls-bits)
Wheel-encoder integrated coordinates; platform-
dependent units; multiply by DistConvFactor‡
to convert to millimeters.
Ypos
unsigned integer (15 ls-bits)
signed integer
Th pos
Orientation in platform-dependent units—
multiply by AngleConvFactor‡ for degrees.
Wheel velocities (respectively Left and Right)
in platform-dependent units;
L vel
R vel
signed integer
signed integer
multiply by VelConvFactor‡—currently 1.0 for
all—to convert into millimeters per second.
Battery charge in tenths of volts
Battery
byte
Stall and
Bumpers
integer
Motor stall and bumper accessory indicators. Bit
0 of the lsbyte is the left wheel stall indicator =
1 if stalled. Bits 1-5 of that same byte
correspond to the bump switch states (1=on) for
the rear bumpers accessory. Bit 0 of the msbyte
is the right wheel stall; the bits 1-5 of that same
msbyte correspond to the front bumpers switch
states.
Control
signed integer
Setpoint of the server’s angular position servo—
multiply by AngleConvFactor‡ for degrees
b0 – motors flag (1=motors enabled)
b1 – sonar flag: enabled if 1.
FLAGS
(was PTU)
Compass
Sonar
readings
Sonar
unsigned integer
byte
byte
Compass heading in 2-degree units
Number of new sonar readings included in
information packet; readings follow:
Sonar number
byte
number
Sonar
range
unsigned integer
Sonar range; multiply by RangeConvFactor‡—
currently 0.268 for all—for millimeters
…rest of the sonar readings…
Timer
Analog
unsigned int
byte
Selected analog port number 1-5
User Analog input (0-255=0-5 VDC) reading on
selected port
Digin
byte
User I/O digital input
Digout
byte
User I/O digital output
Checksum
integer
Checksum (see previous section)
‡
’
Bec a use of the rea l-time na ture of the c lient/server intera c tion, we ma de a c onsc ious
dec ision to provide a n una c knowledged pa c ket interfa c e. Re-tra nsmitting server
informa tion or c omma nd pa c kets would serve no useful purpose, bec a use old da ta
would be virtua lly useless in ma inta ining responsive c lient-server intera c tion.
31
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
For some opera tions, however, the da ta do not dec a y a s ra pidly: Some c omma nds a re
not overly time-sensitive—for exa mple, those tha t perform suc h housekeeping func tions
a s c ha nging the sona r polling sequenc e. It would be useful to ha ve a relia ble pa c ket
protoc ol for these opera tions, a nd we a re c onsidering this for a future relea se of the
server interfa c e.
In the mea ntime, the Ac tivMedia Robotic s c lient-server interfa c e provides a simple
mea ns for dea ling with ignored c omma nd pa c kets: Most of the c lient c omma nds a lter
sta te va ria bles in the server. By exa mining those va lues in the server informa tion pa c ket,
c lient softwa re ma y detec t ignored c omma nds a nd re-issue them until a c hieving the
c orrec t sta te.
Server Information Packets
Like its Pioneer 1 PSOS predec essor, P2OS a utoma tic a lly sends a pa c ket of informa tion
The sta nda rd P2OS Server Informa tion Pa c ket (SIP) informs the c lient a bout a number of
P2OS a lso supports severa l a dditiona l server informa tion pa c ket types, extending the
c a pa bilities of the Pioneer 2 a nd PeopleBot robots. These inc lude a n “a lterna tive” SIP
for a desc ription of the extended server informa tion pa c ket types.
Client Commands
P2OS ha s a struc tured c omma nd forma t for rec eiving a nd responding to direc tions from
a c lient for c ontrol a nd opera tion of your Ac tivMedia robot or its simula tor.
Table 5. P2OS c lient c ommand pac ket
Component
Bytes Value
Description
Header
2
0xFA,
Packet header; same for client and server
0xFB
Byte Count
1
N + 2
Number of following command bytes plus
Checksum’s two bytes, but not including Byte
Count. Maximum of 200.
Command
Number
Argument Type
(command
dependent)
1
1
0 - 255
Client command number;
see Table 4-4
Required data type of command argument:
positive integer (sfARGINT),
negative integer or absolute value (sfARGNINT), or
string (sfARGSTR)
0x3B or
0x1B or
0x2B
Argument
(command dependent)
Checksum
n
2
data
Command argument; integer or string
computed Packet integrity checksum
The number of c lient c omma nds you ma y send per sec ond depends on the Host seria l
ba ud ra te, a vera ge number of da ta bytes per c omma nd, sync hronic ity of the
c ommunic a tion link, a nd so on. C omma nds a re proc essed a t a ma ximum ra te of one
per millisec ond, a lthough the P2OS servers ma y not be up to the ta sk of ma na ging a
deluge of c omma nds.
17
Or 50 millisec onds. Rea d on.
Indeed, if ena bled, the a lterna tive SIP a ppa rently will “brea k” the c lient softwa re. Rea d c a refully.
18
32
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Table 6. P2OS/PSOS c ommand set
Command
#
Args
Description
PSOS P2OS
Before Client Connection
Start connection; P2OS echoes
synchronization commands back to
client.
SYNC0
SYNC1
SYNC2
0
1
2
none
none
none
3.x
1.0
After Established Connection
Client pulse resets server watchdog
Starts the controller
Close server and client connection
Set sonar polling sequence
Enable=1; disable=0 the motors
PULSE
OPEN
CLOSE
POLLING
ENABLE
SETA
0
1
2
3
4
5
none
none
none
string
int
3.x
3.x
3.x
3.9
–
1.0
1.0
1.0
1.0
1.0
1.0
signed int Resets translational acceleration parameter,
if positive, or deceleration, if negative; in
millimeters per second2
–
SETV
6
int
Reset maximum translational velocity, in
millimeters per second
Resets server to 0,0,0 origin
4.8
3.x
4.8
3.x
4.2
3.x
4.2
1.0
1.0
1.0
1.0
1.0
1.0
1.0
SETO
MOVE
SETRV
7
8
10
none
signed int Translation distance to move in mm
int
Resets maximum rotational velocity in
degrees per second
VEL
11 signed int Move forward (+) or reverse (-) at
millimeters per second
12 signed int Turn to absolute heading (+) =
counterclockwise; ± degrees
13 signed int Turn relative to current heading (+) =
counterclockwise; ± degrees
15
HEAD
DHEAD
SAY
string
As many as 20 pairs of duration (20 ms
increments) /tone (half-cycle) pairs; int is
string length
CONFIG
ENCODER
18
19
int
int
1=Request configuration SIP
Request 1 or continuous stream (>1), or tell
to stop sending (0) Encoder SIPs
–
–
1.4
1.4
RVEL
DCHEAD
21 signed int Rotate at ± degrees per second
22 signed int Heading setpoint relative to last setpoint;
± degrees; (+) = counterclockwise
4.2
1.0
SETRA
23 signed int Sets rotational (+)acceleration or
(-)deceleration, in mm/sec/sec
1.0
1.0
–
–
SONAR
28
int
1=Enable; 0=disable all the sonar
STOP
29
30
none
int
Stops robot (motors remain enabled)
–
1.0
1.2
DIGOUT
Msbits is a byte mask that selects output
port(s) for changes; lsbits set (1) or reset (0)
the selected port.
4.2
VEL2
32 signed int Independent wheel velocities; lsb=right
wheel; msb=left wheel; PSOS is in
4.1
4.0
1.0
1.3
1.2
±4mm/sec; P2OS in ±2cm/sec increments
GRIPPER
ADSEL
33
35
int
int
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. Selected port reported in SIP Timer
value.
–
–
–
GRIPPERVAL
GRIPREQUEST
36
37
int
Pioneer 2 gripper server value. See P2
Gripper Manual for details.
Request 1 or continuous stream (>1), or tell
to stop sending (0) Gripper SIPs
none
1.E
33
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
IOREQUEST
PTUPOS
40
41
none
int
Request 1 or a continuous stream (>1) or
tell to stop sending (0) IO SIPs
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.
–
1.E
4.5
1.2
-
1.J
TTY2
42
43
string
int
Send string argument to serial device
connected to AUX port on microcontroller
Request to retrieve 1-200 bytes from the
aux serial channel; 0 flushes the aux serial
input buffer.
Stop and register a stall if front (1), rear (2)
or either (3) bump-ring contacted. Off
(default) is 0.
4.2
1.0
1.4
GETAUX
–
–
BUMP_STALL
44
int
1.5
1.6
TCM2
DOCK
45
46
int
int
TCM2 Module commands; see TCM2
Manual for details.
–
Default is 0=OFF; 1=enable docking
signals; 2=enable docking signals and stop
the robot when docking power sensed.
Default is O=OFF; 1=allow joystick drive
from hardware port
–
–
1.C
1.G
JOYDRIVE
47
int
E_STOP
55
56
none
int
Emergency stop, overrides deceleration
–
–
1.8
1.E
E_STALL
Emergency stop button causes stall on
PeopleBot only
STEP
64
–
80
82
none
Single-step mode (simulator only)
3.x
1.0
ARM
70
Please consult the Pioneer 2 Arm Manual
for details.
1.H
–
–
–
ROTKP
int
Change rotation’s proportional drive factor
1.J
ROTKV
83
84
85
86
87
90
int
int
int
int
int
int
Change rotation’s differential drive factor
Change rotation’s integral drive factor
Change translation proportional drive factor
Change translation differential drive factor
Change translation integral drive factor
Must be 0; request AmigoBot sound playlist
–
–
–
–
–
–
1.J
1.J
ROTKI
TRANSKP
TRANSKV
TRANSKI
PLAYLIST
1.E
The c lient must send a c omma nd pa c ket a t lea st onc e every watchdog(defa ult is two)
sec onds (see next c ha pter). Otherwise, the robot’s onboa rd drives a utoma tic a lly stop,
but will resume a ga in on rec eipt of a c lient pa c ket. To ma inta in the wa tc hdog, Sa phira ,
for insta nc e, sends the a c tion-less PULSE c omma nd in the a bsenc e of other c lient
c omma nds.
A P2OS c omma nd is c omprised of a one-byte c omma nd number optiona lly followed by,
if required by the c omma nd, a one-byte desc ription of the a rgument type a nd the
a rgument va lue.
Client Command Argument Types
There a re four types of P2OS c lient c omma nd a rguments: none, unsigned integers two
bytes long, signed integers two bytes long, a nd NULL-termina ted strings c onsisting of a s
ma ny a s 196 c ha ra c ters.
The byte order, where a pplic a ble, is lea st-signific a nt byte first. Nega tive integers a re
tra nsmitted a s their a bsolute va lue (unlike informa tion pa c kets, whic h use sign extension
34
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
for nega tive integers; see below). The a rgument is a n integer, a string, or nothing,
depending on the c omma nd.
Saphira Client Command Support
Sa phira , a s well a s ARIA, a ll support P2OS c lient c omma nds with useful libra ry func tions.
You c a n find prototypes in $(SAPHIRA)/handler/include/saphira.h a nd
saphira.pro. Sa phira ’s P2OS c omma nd na mes ha ve the prefix sfC OM. Not a ll P2OS
c omma nd na mes a re supported in Sa phira . See the Saphira Software Manual.
For exa mple, to ena ble the motors from the C olbert intera c tion window in the Sa phira
c lient G UI, type:
sfRobotComInt(sfCOMENABLE,1);
Or to ha ve your Pioneer 2 pla y a tune (a lbeit ra ther tinny), type:
sfRobotComStrn(sfCOMSAY,"\1\6\2\105",4);
Programming P2OS
You ma y c rea te your own P2OS interfa c e, or use the c onvenienc e func tions a va ila ble
through the va rious a pplic a tions-development softwa re tha t c ome with your Ac tivMedia
robot.
Establishing a Client-Server Connection—SYNC
Before exerting a ny c ontrol, a c lient a pplic a tion must first esta blish a c onnec tion to the
robot server via the Host RS-232 seria l port. Over tha t esta blished c ommunic a tion link, the
c lient then sends c omma nds to a nd rec eives opera ting informa tion from the server.
When first sta rted, P2OS is in a spec ia l wa it (“noconn”) sta te, listening for c ommunic a tion
pa c kets to esta blish a c lient-server c onnec tion. To esta blish a c onnec tion, the c lient
a pplic a tion must send a series of three sync hroniza tion pa c kets through the Host
c ommunic a tion port, c onta ining SYNC0, SYNC1, a nd SYNC2 c omma nd bytes, in
suc c ession, a nd retrieve the server responses.
When in wa it mode, P2OS ec hoes pa c kets ba c k to the c lient. The c lient should listen for
the returned pa c kets a nd only issue the next sync hroniza tion pa c ket a fter it ha s rec eived
the a ppropria te ec ho.
Autoconfiguration
P2OS a utoma tic a lly sends robot-c onfigura tion informa tion ba c k to the c lient in the la st
sync hroniza tion pa c ket (SYNC2) ec hoed when esta blishing a c onnec tion. After the
SYNC 2 byte, there a re three NULL-termina ted strings tha t c omprise the robot’s name,
class, a nd subclass. You ma y uniquely na me your Pioneer 2 with the p2oscf
c onfigura tion tool we provide with the robot. The class a nd subclass a lso a re
pa ra meters stored in the robot's FLASH, but a re c onsta nts norma lly set a t the fa c tory a nd
not c ha nged therea fter. (See next c ha pter for deta ils.)
The Pioneer classstring is simply Pioneer; the subclassdepends on your robot model;
P2DX or P2AT, for exa mple. C lients ma y use these identifying pa ra meters to self-
c onfigure their own opera ting pa ra meters. ARIA, for insta nc e, loa ds the robot’s rela ted
pa ra meters file found in a spec ia l robot paramsdirec tory.
Opening the Servers—OPEN
Onc e you’ve esta blished a c ommunic a tion link, the c lient should send the OPEN
c omma nd to the server, whic h c a uses the Ac tivMedia robot c ontroller to perform a few
35
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
housekeeping func tions, sta rt its sona r a nd motor c ontrollers (a mong other things), listen
for c lient c omma nds, a nd begin tra nsmitting server informa tion to the c lient.
Note tha t onc e c onnec ted, Pioneer 2's a nd PeopleBot’s motors a re disa bled, rega rdless
of their sta te when la st c onnec ted. After sta rting a c onnec tion, you must either ena ble
the motors ma nua lly (white MOTORSbutton) or send the P2OS motors ENABLEc omma nd
Keeping the Beat—PULSE
A
P2OS sa fety wa tc hdog expec ts tha t the c ontroller rec eives a t lea st one
c ommunic a tion pa c ket from the c lient every watchdog sec onds (defa ult is two).
Otherwise, it a ssumes the c lient-server c onnec tion is broken a nd stops the robot.
It’s good pra c tic e to ha ve the c lient send a PULSEc omma nd just a fter opening the P2OS
servers. And if your c lient a pplic a tion will be otherwise distra c ted for some time,
periodic a lly issue the PULSEc omma nd to let P2OS know you a re indeed a live a nd well.
If the robot shuts down due to la c k of c ommunic a tions tra ffic , it will revive upon rec eipt
of a c lient c omma nd a nd a utoma tic a lly a c c elera te to the la st-spec ified speed a nd
hea ding setpoints.
Closing the Connection—CLOSE
To c lose the c lient-server c onnec tion, disa bling the motors a nd sona r, a nd resetting P2OS
to its wa it sta te, simply issue the c lient CLOSEc omma nd.
Movement Commands
The P2OS motor-c ontrol
servers a c c ept severa l
Table 7. P2OS movement c ommands
different motion
ma nds of two mutua lly
exc lusive types: either
c om-
Rotation
HEAD
Absolute heading
direc t wheel-veloc ities or
tra nsla tiona l/rota tiona l
motor c ontrols. The robot
DHEAD,
Differential heading from control point
DCHEAD
servers
a ba ndon
a utoma tic a lly
a ny P2OS
ROTATE
SETRA
SETRV
Rotational speed
tra nsla tiona l or rota tiona l
setpoints a nd switc h to
Rotational (de)acceleration to achieve setpoint
direc t
wheel-veloc ity
Sets maximum rotational velocity and is
velocity used for Colbert turn and turnto
command speeds.
c ontrol mode when they
rec eive a VEL2c omma nd.
Any
other
motion
c omma nd ma kes P2OS
a ba ndon direc t wheel-
veloc ity c ontrol.
Translation
VEL
Forward/back velocity
For exa mple, if P2OS is in
MOVE
SETA
Forward/back distance
direc t-wheel
veloc ity
Translation (de)acceleration to achieve setpoint
(VEL2) mode a nd is given
a HEAD c omma nd, it
disa bles tha t direc t-wheel
veloc ity mode a nd sta rts
c ontrolling the hea ding
SETV
Sets maximum translational velocity and is
used for Colbert move command speed.
19
Alterna tively, disa ble the motors with the ENABLEc omma nd a rgument 0.
36
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
a nd veloc ity of the robot.
When in tra nsla tion/ rota tion (TR) motion c ontrol (rec ommended), sepa ra te tra nsla tion
a nd rota tion servers work independently to a c hieve the spec ified forwa rd/ reverse
speed a nd hea ding of the robot. P2OS will try to ma ke the robot a c hieve the desired
tra nsla tiona l veloc ity a nd rota te to the desired hea ding a s soon a s the c omma nds a re
rec eived. Ac c elera tion a nd dec elera tion ma na gers, whic h defa ult va lues you ma y
prepa re a nd a lso c ha nge on-the-fly (SETRA a nd SETA), opera te independently for
tra nsla tion a nd rota tion, too.
Pioneer in Motion
When P2OS rec eives a tra nsla tion, rota tion, or direc t-wheel veloc ity c omma nd, it
a c c elera tes the robot a t the SETA(both TR a nd VEL2 modes)a nd SETRA(TR mode only)
ra tes you progra m, or a t the ra tes preset in the P2OS c onfigura tion pa ra meters.
Rota tiona l hea dings a nd tra nsla tiona l setpoints a re a c hieved by a tra pezoida l veloc ity
func tion. This func tion is rec omputed ea c h time a new motion c omma nd is rec eived,
ma king on-the-fly c ha nges possible.
Rota tiona l
a nd
tra nsla tiona l
veloc ities
a re
limited
to
the
short turn,
max velocity
not reached
max velocity
ma ximum va lues set in
the P2OS pa ra meters or
whic h you ma y reset
with the SETVEL a nd
rotational
velocity
accel
decel
SETRV
c omma nds.
time
Ma ximums ta ke a ffec t
start
position
position
achieved
position
achieved
on
subsequent
not
esta blished
or hea ding
c omma nds,
previously
veloc ity
setpoints.
Figure 20. Pioneer’s trapezoidal turning veloc ity profile
Note tha t with P2OS version 1.8 a nd la ter, you ma y override dec elera tion with the
emergenc y stop (E_STOP) c omma nd number 55 or with the Emergenc y STOP button
ena bled on the Performa nc e PeopleBot (E_STALL c omma nd #56). Ac c ordingly, the
robot bra kes to zero tra nsla tiona l a nd rota tiona l veloc ities with very high dec elera tion
a nd rema ins stopped until it rec eives a subsequent tra nsla tiona l or rota tiona l veloc ity
c omma nd from the c lient. (See E_STOP and E_STALL la ter in this c ha pter.)
PID Controls
The Pioneer drive servers use a c ommon Proportiona l-Integra l-Deriva tive (PID) c ontrol
system to a djust the PWM pulse width a t the drivers a nd subsequent power to the
motors. The motor-duty c yc le is 200 µsec ; pulse-width is proportiona l 0-500.
The P2OS drive servers rec a lc ula te a nd a djust your robot’s tra jec tory a nd speed every
10ms (P2OS v1.I a nd ea rlier) or every 5ms (P2OS1.J) ba sed on feedba c k from the wheel
enc oders. Note tha t the la tter time c yc le lea ds to enha nc ed performa nc e of the robot.
The defa ult PID va lues for both tra nsla tion a nd rota tion a re stored in FLASH. Beginning
with P2OS1.J, you ma y c ha nge those va lues on the fly with the c lient c omma nds 84-87.
37
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
Position Integration
Pioneer keeps tra c k of its position a nd orienta tion ba sed on dea d-rec koning from wheel
motion, whic h is a n internal c oordinate position.
Registra tion between externa l a nd
interna l c oordina tes deteriora tes
0
ra pidly with movement, due to
+X
gea rbox pla y, wheel imba la nc e
a nd slippa ge, a nd ma ny other rea l-
world fa c tors. You c a n rely on the
dea d-rec koning a bility of the robot
Front
for just a short ra nge—on the order
of severa l meters a nd one or two
+90 +Y
+270
revolutions, depending on the
surfa c e. C a rpets tend to be worse
tha n ha rd floors.
Also, moving either too fa st or too
slow tends to exa c erba te the a b-
solute position errors. Ac c ordingly,
c onsider the robot’s dea d-rec kon-
ing c a pa bility a s a mea ns of tying
together sensor rea dings ta ken over
a short period of time, not a s a
method of keeping the robot on
c ourse in a globa l ma p.
+180
Figure 21. Internal c oordinate system for P2OS
The orienta tion c omma nds HEAD a nd DHEAD turn the robot with respec t to its interna l
dea d-rec koned a ngle. On sta rt-up, the robot is a t the origin (0,0), pointing towa rd the
positive X-a xis a t 0 degrees. Absolute a ngles va ry between 0 a nd 359. As the robot
moves, it will upda te this interna l position ba sed on dea d-rec koning. The X,Y position is
a lwa ys positive, a nd rolls over a t a bout 3,000 millimeters. So, if the robot is a t position
(400,2900) a nd moves 400 millimeters a long the Y-a xis a nd -600 millimeters a long the X-
a xis, its new position will be (2800,300).
You ma y reset the interna l c oordina tes to 0,0,0 with the SETOP2OS c omma nd.
Sonar
your robot’s sona r a rra ys in the predefined defa ult sequenc e: 1–8, 9–16, 17–24, a nd 25–
results to the c lient via the server-informa tion pa c ket. Use the SONAR c omma nd to
ena ble (a rgument is "1") or disa ble (a rgument is "0") the sona r pinging. This is a n a ll or
nothing c omma nd; you c a nnot disa ble a single a rra y this wa y.
For exa mple:
sfRobotComInt(sfCOMSONAR,0); /* Stop the pinging when not needed */
Use the sona r POLLING c omma nd to c ha nge the polling sequenc e of a n a rra y. Its
a rgument is a null-termina ted string of up to 15 sona r numbers. Front sona r a re
numbered \ 001 through \ 010 (oc ta l), a nd the rea r sona r a re \ 011 through \ 100, for
20
See the next c ha pter for deta ils on how to ena ble sona r a rra ys with p2osc f.
38
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
exa mple. You ma y repea t a sona r number a nd ha ve it ping more tha n onc e per
sequenc e.
For exa mple:
sfRobotComStrn(sfCOMPOLLING,"\001\002\001\002",4); /* ping front left only */
Note tha t if the string is empty, the sona r get turned off, even though you ha dn't disa bled
the sona r with the SONARc omma nd.
BUMP_STALL
Bec a use the robots a re progra mmed to c limb, it c a n ta ke up to a sec ond or more to
detec t objec t c ollisions a nd subsequent motor sta lls. With P2OS version 1.5, we
introduc ed a responsive wa y to stop your robot within a few millisec onds upon c ollision
with a n obsta c le: BUMP_STALL. With the robot equipped with forwa rd a nd/or rea r
bumpers, you c a n now progra m P2OS to immedia tely stop the robot a nd notify the c lient
of a sta ll if a ny one of the forwa rd or rea r bump sensors get triggered.
NOTICE
BUMPSTALL requires supporting bump ring a c c essories.
Send the BUMP_STALL c omma nd (#44) with a integer a rgument of 0 to disa ble the
beha vior (defa ult on sta rtup). Use the a rgument va lue 1 to ena ble BUMP_STALL only
when a forwa rd bump sensor gets triggered; 2 for rea r-only BUMP_STALL; or 3 for both
rea r a nd forwa rd bump ring-a c tiva ted sta lls.
For exa mple, to ena ble BUMP_STALL when a ny one of the five c onta c t sensors on a
forwa rd bump ring gets triggered:
sfRobotComInt(44,1);
E_STOP and E_STALL
In a n emergenc y, your c lient ma y wa nt the robot to stop quic kly, not subjec t to norma l
dec elera tion. In tha t c a se, send the E_STOP c omma nd (#55).
Like BUMP_STALL, use P2OS’ built-in E_STALL fea ture (version 1_E or la ter) to simula te a
sta ll when someone presses the Performa nc e PeopleBot’s Emergenc y STOP button. An
integra ted switc h in the button c a uses the User I/O a na log port #4 on the mic roc ontroller
to go high (+5VDC ) a nd thereby notify P2OS of the emergenc y c ondition. Ac c ordingly,
when ena bled, E_STALLwill disa ble the motors in P2OS a nd notify your Sa phira or other
softwa re c lient tha t the robot ha s sta lled (stall bytes in the sta nda rd SIP), thereby
a voiding the motor rush tha t ma y oc c ur when you rea c tiva te the emergenc y STOP
button.
Sinc e it is norma lly disa bled, you must ena ble E_STALL through softwa re a t lea st onc e
a fter a reset or power c yc le of the Performa nc e PeopleBot. To ena ble E_STALL, send
the E_STALLP2OS c omma nd (#56) with a rgument = 1; 0 disa bles E_STALL.
For exa mple, with Sa phira :
sfRobotComInt(56,1); /* Enable E_STALL */
sfRobotComInt(56,0); /* Disable E_STALL */
You ma y a lso monitor the sta te of the Emergenc y STOP button with or without E_STALL a s
a n a na log va lue reported in the sta nda rd SIP. You must first request tha t the va lue be
inc luded in the sta nda rd pa c ket sinc e it is not the defa ult a na log port. (The c urrent
a na log port# is enc oded in the timerentry.)
39
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
For exa mple,
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
Severa l different, a dditiona l types of server informa tion pa c kets c ome with P2OS to
better support the Ac tivMedia Robotic s c ommunity. On request from the c lient by a
rela ted P2OS c omma nd, the P2OS server pa c ka ges a nd sends one or a c ontinuous
strea m (one per c yc le) of informa tion pa c kets ba c k to the c lient over the Host seria l
c ommunic a tion line.
Extended pa c kets get intermingled with the sta nda rd SIP that
P2OS sends to your c lient every 100 or 50 millisec onds, depending on the SinfoCycle
Packet Processing
Like the sta nda rd SIP, a ll P2OS server informa tion pa c kets get enc a psula ted with a
hea der (0xFA, 0xFB), byte c ount, pa c ket type byte, a nd tra iling c hec ksum. It is up to the
c lient to pa rse the pa c kets, sorted by type for c ontent. Plea se c onsult the respec tive
c lient a pplic a tion progra mming ma nua ls for deta ils.
Sa phira , for exa mple, ha s a n interna l pa rser for the PSOS/P2OS pa c ket type 0x3S (S=0-2;
a ka “sta nda rd” SIP), but not for the P2OS extended pa c kets we desc ribe in this sec tion.
However, you a re a ble to progra m a nd a dd pa c ket ha ndlers to Sa phira : either a s a
website (look for deta ils in the contributed direc tory) or direc tly in your own Sa phira
c lient. A sa mple pa c ket proc essor is inc luded with the Sa phira distribution—packet.cin
the apps/direc tory, a nd see the AUX seria l SIP proc essing c ode in the following sec tion.
CONFIGpac and CONFIG Command
21
You ma y ha ve to a djust the Host port seria l ba ud ra te to a c c ommoda te the a dditiona l c ommunic a tions
tra ffic .
40
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Send the CONFIGc omma nd #18 with or without a n a rgument to ha ve P2OS send ba c k a
spec ia l server informa tion pa c ket c onta ining the robot's opera tiona l pa ra meters. The
CONFIGpac SIP pa c ket type is 32 (0x20). The next c ha pter gives deta ils a bout the
c onfigura tion pa c ket da ta .
/* Send commands and retrieve responses via the P2OS AUX serial port */
#define SERAUXpac 0xB0
int serbytes, inbufptr;
char inbuf[200];
...
/* Replace Saphira's default packet processor with
our own that can detect and parse SERAUXpac packets */
void myStartupFn(void)
{
sfInitProcess(myPackets, "GetAuxPkt");
sfRemoveTask("packets");
...
/* default packet processing */
}
/* SERAUXpac packet processor */
void myPackets(void)
{
char packet_type;
if (sfIsConnected)
{
while(sfHaveClientPacket())
{
packet_type = sfReadClientByte();
if (packet_type == SERAUXpac)
{
/* get aux serbytes into inbuf */
while (inbufptr++ < serbytes)
inbuf[inbufptr] = sfReadClientByte();
}
/* If not SERAUXpac, send along to default */
else
sfProcessClientPacket(packet_type);
}
}
void main(int argc, char **argv)
{
/* Initialize client and connect with robot */
...
sfRobotComInt(43,0);
/* flush the aux buffer */
sfRobotComStrn(42,"fictitious command",18); /* send command to AUX device */
inbufptr = 0;
serbytes = 10; /* number of response bytes to retrieve */
sfRobotComInt(43,serbytes); /* Expect a 10 byte response */
...
}
SERAUXpac and GETAUX
P2OS 1.4 implemented two-wa y c ommunic a tions through the AUX seria l port on the
mic roc ontroller. And with those ea rlier versions of P2OS, you a re a ble to send a string of
da ta (a c omma nd or otherwise) from the Host port-c onnec ted c lient to a n AUX port-
c onnec ted seria l devic e (TTY2c omma nd number 42), but you c ould not get da ta ba c k
from tha t devic e.
Now P2OS ma inta ins a c irc ula r buffer for inc oming seria l da ta from the AUX port a nd
sends suc c essive portions of the buffer to your c lient via the Host port depending on the
41
Download from Www.Somanuals.com. All Manuals Search And Download.
Pioneer 2 Operating System
number of bytes you request via the GETAUX c omma nd—up to 200 bytes a t a time.
P2OS wa its to c ollec t the requested number of inc oming AUX-port seria l bytes before
sending the GETAUX pa c ket to the c lient. Use the G ETAUX c omma nd with a zero
a rgument to flush the P2OS c irc ula r buffer a nd reset its pointers.
In the c ode exa mple a bove, a fic titious c omma nd gets sent to a seria l devic e a tta c hed
to the mic roc ontroller's AUX port a nd retrieves a 10-byte response from tha t devic e (note
tha t ellipses ma rk the ma ny portions of a c omplete c lient tha t ha ve been deleted for
brevity).
ENCODERpac and ENCODER Command
Issue the ENCODERc omma nd #19 with a n a rgument of 1 for a single or with a n a rgument
of 2 or more for a c ontinuous strea m of ENCODERpac (type 144; 0x90) SIPs. Disc ontinue
the pa c kets by sending the ENCODERc omma nd #19 with the a rgument 0.
Table 8. P2OS Enc oder Se rver Information Pac ket C ontents
Header
Byte Count
Left Encoder
integer
byte
Exactly 0xFA, 0xFB
Number of data bytes + 2 (checksum)
integer
integer
integer
integer
integer
Least significant, most significant portion of the
current 4-byte raw encoder count from the left drive wheel
Least significant, most significant portion of the
current 4-byte raw encoder count from the left drive wheel
Checksum for packet integrity
Right Encoder
Checksum
GRIPPERpac and GRIPREQUEST
To a meliora te a few shortc oming when we tra nsferred c onnec tion a nd c ontrol of the P2
G ripper a c c essory from User I/O to the G enera l I/O bus, P2OS 1.E introduc ed a nd we
improved the new GRIPPERpac (type=224; 0xE0) pa c ket type a nd rela ted GRIPREQUEST
P2OS c omma nd #37 in P2OS 1_F.
Table 9. G ripper pac ket c ontents (P2OS 1_F and later)
Header
Byte Count byte
Type byte
integer Exactly 0xFA, 0xFB
Number of data bytes + 2 (checksum)
Packet type = 0xE0
HasGripper byte
Grip_state byte
Grasp_Time byte
Gripper type: 0=none; 1=User; 2=General I/O
See Table 12and P2 Gripper Manual
See P2 Gripper Manual
Checksum
integer Computed checksum
Norma lly disa bled, your c lient progra m must request one (c omma nd a rgument 1) or a
c ontinuous strea m (c omma nd a rgument > 1) of G ripper pa c kets. Send GRIPREQUEST
with the a rgument va lue 0 to stop c ontinuous pa c kets.
PLAYLISTpac and PLAYLIST Command
Unlike its Pioneer a nd PeopleBot c ousins, the AmigoBot mobile robot ha s onboa rd sound
reproduc tion ha rdwa re a nd softwa re tha t inc ludes a pla ylist of c ontents. To support the
Ac tivMedia Robotic s Ba sic Suite tha t inc ludes a ll Ac tivMedia ’s robots, we’ve a dded the
PLAYLISTpac(type = 208; 0xD0) a nd PLAYLISTrequest c omma nd #91 to P2OS 1.E. We
doc ument the c omma nd a nd pa c ket here for c ompleteness, but they ha ve no effec t
on the opera tion or performa nc e of your Pioneer 2 or PeopleBot Mobile Robot.
42
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Table 10. G RIPPERpac state byte
bit
0
1
Function
Grip limit
Lift limit
State
paddles fully open when 0; otherwise between or closed
Lift fully up or down when 0; otherwise in between
2
3
Outer breakbeam obstructed when 0; nothing in between when 1
Inner breakbeam obstructed when 0; nothing in between when 1
4
5
6
7
Left paddle
Right paddle
Lift
grasping when 0
grasping when 0
moving when 1
moving when 1
Gripper
The AmigoBot Sounds pla ylist c onsists of a series of one to 255 24-byte long sound
referenc es, followed by individua l sound da ta . Sound referenc es ma y be NULL or
redunda nt.
Sound referenc es c onsist of a 16-byte sound na me followed by two long integers, whic h
spec ify the sound da ta position a nd length in the pla ylist. The PLAYLISTP2OS c omma nd
#91 with a ny or no a rgument responds with a pa c ket of 25 NULL bytes, telling the c lient
tha t your P2OS-ba sed robot does not ha ve a ny onboa rd sounds.
TCM2pac and TCM2 Command
The TC M2 a c c essory is a n integra ted inc linometer, ma gnetometer, thermometer, a nd
c ompa ss tha t a tta c hes to the AUX seria l port of the P2OS mic roc ontroller. When
a tta c hed a nd ena bled, spec ia l TC M2 c ompa ss servers rea d a nd report the hea ding a s
the compass byte in the sta nda rd SIP. Use the TC M2 c omma nd to request a dditiona l
informa tion from the devic e in the form of the TCM2pac. See the TC M2 Manual a nd
supporting softwa re tha t a c c ompa nies the devic e for deta ils.
Input / Output (I/O)
Your Pioneer 2 or PeopleBot c omes with a number of I/O ports tha t you ma y use for
loc a tions on the mic roc ontroller. The va rious I/O sta tes a nd rea dings a ppea r in the
sta nda rd SIP a nd ma y be ma nipula ted with P2OS c lient c omma nds.
P2OS 1.E a lso
introduc ed a new SIP for c onvenient a c c ess to your Pioneer 2’s I/O (see a subsequent
sec tion for deta ils).
DIGIN, TIMER, and ADSEL
The sta tes of the eight digita l input ports, na tive to the c ontroller, get ma pped a s a single
For exa mple, exa mine Sa phira 's sfRobotstruc ture va lue digin:
sfSMessage("Digin is %i",sfRobot.digin);
When not c onnec ted, the digita l input port va lues ma y va ry a nd c ha nge without
wa rning.
The digita l input ports 4-7 (ID4-7) a lso ma y be used a s A/D input ports (see below). Use
the ADSEL c lient c omma nd to selec t the A/D port tha t is to a ppea r in the P2OS SIP
analogva lue. The defa ult port is #5, the dedic a ted A/D port on the system. The P2OS
SIP reports the c urrently selec ted a na log input port number.
In the following exa mple, the first Sa phira sta tement queries for the c urrent a na log port
a nd its A/D va lue. The sec ond Sa phira c omma nd c ha nges the selec ted port whic h
va lue gets reported through the la st Sa phira c omma nd in the exa mple:
43
Download from Www.Somanuals.com. All Manuals Search And Download.
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 digita l output ports on the P2OS c ontroller’s User I/O c onnec tor a re both
reported in the sta nda rd SIP (digout) a nd c ontrolla ble with the P2OS c omma nds DIGOUT
a nd PTUPOS. Elec tric a lly, the ports a re digita l high (1) a t ~5 VDC (Vc c ) a nd low (0) a t ~0
VDC (GND).
For exa mple, to rea d the sta te of the digita l output ports with Sa phira :
sfSMessage("Digout is %i",sfRobot.digout);
Digout is 240
Use the P2OS DIGOUT c omma nd to selec t a nd c ha nge the sta te of one or more of the
output ports a t a time. DIGOUT ta kes a 2 byte (unsigned integer) a rgument. The first
byte is a ma sk whose bit pa ttern selec ts (1) or ignores (0) the sta te of the c orresponding
bit in the sec ond byte to set (1) or unset (0) the digita l output port.
For exa mple, you might use Sa phira to set digita l output ports 1 a nd 3, reset port 4, a nd
lea ve a ll the rest a lone (reta in origina l sta te):
sfRobotComInt2Bytes(30, 0x19, 0x09);
The digita l output ports OD0-4 ma y a lso be used for pulse-width-modula ted (PWM)
c ontrol of a c c essories, suc h a s DC motor speed or RC -servo motor position c ontrol. Use
the PTUPOSc omma nd to selec t a port (msbyte) a nd spec ify its pulse-width (lsbyte) in 10
µsec ond units.
For exa mple, to ha ve a repea ting one millisec ond pulse a ppea r on PWM port #1 (pin 1
on the User I/O c onnec tor):
sfRobotCom2Bytes(41,1,100);
You've got to disa ble a running PWM port to use it a s a digita l output port:
sfRobotCom2Bytes(41,1,0);
In P2OS versions 1.J a nd la ter, the duty c yc le is 20ms, with a 0-2.55ms pulse c orresponding
to c ommon RC -servo a pplic a tions.
IOpac and IOREQUEST
P2OS 1.E introduc ed a new server informa tion pa c ket in whic h your P2OS-ba sed robot
c ontroller reports a ll of its I/O-c onnec ted sensor input a nd output va lues in a single c yc le.
Your c lient softwa re must explic itly request IO pa c kets; they norma lly a re disa bled. Use
the P2OS IOREQUEST c omma nd #40 with a n a rgument va lue of 0, 1, or 2. The
a rgument 1 requests a single pa c ket to be sent within the next c yc le. The request
a rgument va lue 2 tells P2OS to send IO pa c kets c ontinuously, a t a pproxima tely one per
c yc le, depending on seria l port speed a nd other pending SIPs. Use the IOREQUEST
a rgument va lue 0 to stop c ontinuous pa c kets.
The c ommon IOpac c onta ins three digita l input bytes, User I/O digin a nd two bumper
sta te bytes, front followed by rea r; one digita l output byte (digout); a nd five a na log-to-
digita l va lues c orresponding to the ports AN1-5. Unlike the sta nda rd SIP, whic h c onta ins
44
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
a byte va lue for the selec ted a na log port, a na log va lues in the IOpa c a re integers, with
resolution to 12 bits. If either bumper is not insta lled, its reported va lue c a n va ry.
Table 11. IOpac pac ket c ontents
Header
Count
Type
Ni
integer Exactly 0xFA, 0xFB
byte
byte
byte
Number of data bytes + 2
Packet type = 0xF0
Number of digtal input bytes
Digin
No
Ni bytes Digital input bytes
byte
Number of digital output bytes
Digout
Na
No bytes Digital output bytes
byte
Number of A/D values
A/D
Na ints
A/D values 1-Na; 0-2047 (12-bit
resolution) = 0-5 VDC
Checksum integer Computed checksum
Pioneer 2 Arm-related SIPs and Commands
Plea se c onsult the Pioneer 2 Arm Manual for deta ils.
Performance PeopleBot IRs
Two brea kbea m IR sensors sense objec ts whic h intrude into the Performa nc e PeopleBot’s
profile, but whic h ma y not be otherwise detec ted by its sona r or ta bletop IR sensors. The
left a nd right IR brea kbea ms a re c onnec ted to the User I/O digita l input ports ID2 a nd
ID3, respec tively. Norma lly high (1), the respec tive input port goes low (0) when a n
objec t brea ks the IR tra nsmitter’s bea m to its c ompa nion rec eiver.
The left a nd right ta bletop IR detec tors on the Performa nc e PeopleBot a re c onnec ted to
the ID0 a nd ID1 digita l input ports of the User I/O, respec tively. Norma lly high (1), the
digita l input port goes low (0) when its respec tive ta bletop IR sensor detec ts a n objec t
within its ra nge of opera tion.
The ta bletop a nd brea kbea m IR sensor sta tes a ppea r in the sta nda rd P2OS Server
Informa tion Pa c ket. Ac c ordingly, to rea c t to the sta te of a n brea kbea m or ta bletop IR
sensor in a Sa phira c lient, for exa mple, test the sta te of its respec tive bit:
#define LFT_TTIR 0x01
#define RGT_TTIR 0x02
#define LFT_BREAKBEAM 0x04
#define RGT_BREAKBEAM 0x08
if (sfRobot.digin & LFT_BREAKBEAM = = 0)
/* Something has triggered the left column breakbeam … */
45
Download from Www.Somanuals.com. All Manuals Search And Download.
Updating and Reconfiguring P2OS
Chapter 7 Updating & Reconfiguring P2OS
The P2OS server softwa re a nd a set of opera ting pa ra meters get stored in your robot’s
mic roc ontroller's FLASH ROM. With spec ia l downloa d a nd c onfigura tion utilities, you ma y
c ha nge a nd upda te the FLASH memory ima ge without physic a lly repla c ing a ny
ha rdwa re.
Where to Get P2OS Software
Your Ac tivMedia robot c omes preinsta lled with the la test version of P2OS. Therea fter,
sta y tuned to the pioneer-users newsgroup or periodic a lly visit our support website to
obta in the la test P2OS a nd rela ted doc umenta tion:
Installing the P2OS Utilities
Softwa re utilities for downloa ding a new P2OS (p2osdl) a nd for c ha nging your robot’s
c onfigura tion pa ra meters (p2oscf) c ome with your robot on C D-ROM a nd in the
onboa rd c omputer. Fresh c opies a nd upda tes a lso ma y be downloa ded from the
support website bundled with the P2OS ima ge. Use the version tha t ma tc hes your host
c omputer’s environment. For exa mple, use p2osV_r.tgz for RedHa t© Linux or p2osV_r.EXE
with Mic rosoft Windows© 9x/ME systems ("V" is the version number a nd "r" is the revision
number; p2os1_J, for exa mple).
The p2osV_r.EXE distribution is a self-extra c ting, self-insta lling pa c ka ge: Simply follow the
on-sc reen direc tions. For the Linux/UNIX versions, unc ompress a nd unta r them using the
a ppropria te system utilities. For exa mple, with the Linux version:
% tar –zxvf p2os1_J.tgz
The c omma nd c rea tes a p2os/ direc tory in the c urrent pa th a nd stores the P2OS
softwa re there.
Updating P2OS
Use the p2osdl(.exe) progra m tha t c omes with ea c h distribution to downloa d a fresh
An onboa rd ra dio modem typic a lly interferes
with P2OS downloa d a nd rec onfigura tion.
You ma y need to remove its c onnec tor from the Host seria l port
inside the robot on the mic roc ontroller.
Step 1. Serial Connection from Computer to Robot
C onnec t your Pioneer 2 or PeopleBot to your host c omputer through their respec tive
seria l ports. If you ha ve a n onboa rd PC , use it to perform the downloa d or switc h its
power OFF. Otherwise, use a direc t (“stra ight-through”) seria l tether from your PC to the
9-pin SERIALc onnec tor on your robot’s C onsole. If you ha ve a n onboa rd ra dio modem,
you ma y ha ve to remove its seria l c onnec tor from the Host seria l port on the
mic roc ontroller by rea c hing in with your fingers through the rec ta ngula r a c c ess port on
modem interferes with the direc t c onnec tion.
22
The p2osdl progra m ma y upda te your robot’s c onfigura tion pa ra meter setting, so be sure to use the progra m
tha t ma tc hes your c urrent P2OS version.
46
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Step 2: Enable FLASH
Loc a te the FLASH switc h on the C onsole. It's rec essed. Use a fla t-bla ded sc rewdriver or
other thin instrument to move the slide switc h forwa rd towa rd the front of your robot to
ena ble FLASH writes.
Step 3: Put Microcontroller into Download Mode
Sta rt up or reset your Ac tivMedia robot. After it ha s finished initia lizing, pla c e it in
downloa d mode:
1. Press a nd hold the white MOTORSbutton.
2. Press a nd relea se the red RESETbutton.
3. C ontinue holding the MOTORSbutton for three or more sec onds.
4. Relea se the MOTORSbutton.
The robot should not reset. If it does, you proba bly didn’t hold the MOTORSbutton down
long enough. Try a ga in. When suc c essfully in BOOT mode, notic e tha t the "hea rtbea t"
a sterisk stops blinking in the LC D.
Step 4: Run p2osdl
With Linux/UNIX systems, enter the p2os/ direc tory a nd exec ute p2osdl with the
following a rguments:
% p2osdl p2os1_J.hex <comm-port>
The pa thna me for the P2OS HEX ima ge file is required a nd ma y be a direc t or rela tive
pa th. The file p2os1_J.hex, for exa mple, is the c urrent P2OS version 1.H hex-enc oded
ima ge.
The comm-port a rgument is optiona l. It lets you spec ify the seria l c ommunic a tion port
tha t c onnec ts p2osdlwith the P2OS mic roc ontroller. For Linux/UNIX systems, the defa ult
is /dev/ttyS0. To c ommunic a te through /dev/ttyS3, for exa mple, use:
% p2osdl p2os1_J.hex /dev/ttyS3
For Win32 systems, you must pa ss the required p2osV_r.hex file to p2osdl.exe, so you
c a nnot simply double-c lic k the progra m ic on. Instea d, use your mouse to suc c essfully
la unc h the progra m by dra gging a nd dropping the .hex ic on (p2os1_H.hex, for
exa mple) onto the psosdl.exe ic on. But this works only if you use the defa ult COM1seria l
port a nd the c urrent direc tory is set to the P2OS one.
The universa l solution is to exec ute p2osdl.exe a nd pa ss it the proper a rguments from
the MS-DOS Prompt progra m, whic h norma lly resides in the Programs sec tion of the
Start menu. You might a lso Run…the progra m from the Startmenu.
Download Troubleshooting
The p2osdlprogra m will tell you if the downloa d wa s suc c essful or not. If it wa s, simply
reboot the robot a nd go on to c onnec t with a c lient or c ha nge its opera ting pa ra meters
(see next sec tion). Otherwise, try the downloa d from Step 1 a ga in, to be sure you
performed ea c h step c orrec tly. Sinc e FLASH gets era sed a t the beginning of a
downloa d, a n unsuc c essful session ma y lea ve the c ontroller empty a nd a ppa rently
broken, a lthough it is not. Repea t downloa ds until suc c essfully c ompleted.
47
Download from Www.Somanuals.com. All Manuals Search And Download.
Updating and Reconfiguring P2OS
Configuring P2OS Operating Parameters
The progra m p2oscf(.exe) is the wa y you view a nd c ha nge your Pioneer 2’s identity
a nd opera ting pa ra meters.
Limited reconfigurations.
FLASH ROM in the c ontroller is gua ra nteed for only 100 era se c yc les.
Steps 1–3: Preparing for Configuration
Prepa re for c ha nging your robot’s c onfigura tion pa ra meters identic a lly to Steps 1, 2 a nd
3 for upda ting P2OS desc ribed a bove.
Step 4: Run p2oscf
As with p2osdl, you will find p2oscf(.exe) in the p2os/ direc tory of your PSOS
distribution. The progra m a c c epts optiona l a rguments (Ta ble 12); the a rgument-less
defa ult sta rtup is to c onnec t with your robot’s P2OS mic roc ontroller through your PC ’s
seria l port /dev/ttyS0 in Linux/UNIX systems or COM1with Win32. With the defa ult, you
ma y double-c lic k to la unc h psoscf.exe direc tly from your desktop, ra ther tha n
exec uting the progra m from the MS-DOS Prompt window.
Table 13. p2osc f startup options
Argument Description
-h
-b
List p2oscf argument options and quit
Batch mode; series configuration command must follow.
Configuration changes made to FLASH parameters
-n
-p
-s
Operate p2oscf without connecting with the microcontroller.
Useful for editing parameter files saved to disk.
Set serial port; serial port name must follow immediately
after argument; /dev/ttyS1 or COM3, for example.
Automatically save changes to disk file named in path
immediately following argument.
Step 5: Changing Configuration Parameters
On sta rt up (a fter power c yc le or RESET), P2OS rea ds a set of opera ting pa ra meters from
its FLASH memory a nd uses these va lues if a nd until you override them with explic it P2OS
c omma nds. For insta nc e, a defa ult ma ximum veloc ity is stored in the TransVelMax
pa ra meter. After esta blishing a c lient-server c onnec tion, you ma y send a SETVEL
c omma nd whic h c ha nges tha t defa ult ma ximum veloc ity.
Norma lly when it sta rts, p2oscf a utoma tic a lly retrieves the c urrent identifying a nd
opera ting pa ra meters from your Pioneer 2 or PeopleBot robot. Some of the pa ra meters,
"C onsta nts", a re not to be c ha nged. The others, "Va ria bles", a re the identifying a nd
opera ting pa ra meters tha t you ma y edit with p2oscf.
With p2oscf, you edit a tempora ry c opy of the pa ra meters list. Your c ha nges a re not
c ha nged in your robot’s FLASH memory until you c hoose to explic itly "save" them. Even
then, p2osc f will write to FLASH only if you ha ve c ha nged some pa ra meter va lue. Writes
to the C 166 FLASH a re gua ra nteed for only 100 c yc les, so we c a ution tha t you
rec onfigure/upda te your P2OS mic roc ontroller only when nec essa ry.
48
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Step 6: Save Your Work
Use the savec omma nd to sa ve your c onfigura tion c ha nges to FLASH or to a disk file. We
strongly rec ommend tha t you sa ve ea c h of your robots’ pa ra meter va lues to disk for
la ter retrieva l should your mic roc ontroller get da ma ged or it’s FLASH ina dvertently
era sed. Defa ult pa ra meter files c ome with ea c h P2OS distribution, but it is tedious to
rec onstruc t a n individua l robot’s unique c onfigura tion.
Editing P2OS Parameters
To view the list of c urrent P2OS c onsta nts or va ria bles, type ‘a’, 'c'or 'v', respec tively,
followed by a return (Enter). Simila rly, type '?' or 'help' to see a list of p2oscf
c omma nds.
Table 14. p2osc f c ontrol c ommands
Command
Description
keyword <value>
Alone, keyword displays current, edited value. Add
value argument to change current value.
c or constants
Display P2OS constant values. User cannot change.
v or variables
Display current, edited P2OS operational values;
may be different than values currently stored in
FLASH on the robot.
a or arm
Display current, edited P2OS-based Arm-related
values. May be different than those stored in
FLASH on the robot.
r or restore
<pathname>
Restores edited (p2oscf) variables to values
currently stored in FLASH or from file, if
argument included.
save <pathname>
Saves current edited values to FLASH and exits
program or saves current edited values to disk for
later reference and continues in editor.
q or quit
Exits p2oscf without saving any changes to flash.
Displays commands and descriptions.
? or help
To see a n individua l pa ra meter's c urrent va lue, type its keyword a lone. To c ha nge a
P2OS pa ra meter's va lue, type its keyword followed by the repla c ement va lue. That
va lue ma y be a string (no quotes or spa c es) or a dec ima l or hexa dec ima l ("0xN")
number. For exa mple, to c ha nge the watchdogtimeout to four sec onds, type:
> watchdog 4000
or
> watchdog 0xfa0
The c ritic a l opera ting pa ra meters for your robot a re revcount, encoder, a nd the PID
c ontrol pa ra meters. If you get them wrong, your robot won’t run properly. Note, too,
tha t your p2oscf-edited pa ra meters are not used by P2OS unless a nd until you save
them to FLASH. And, too, you ma y over-ride ma ny of these pa ra meters with respec tive
P2OS c omma nds from the c lient.
49
Download from Www.Somanuals.com. All Manuals Search And Download.
Updating and Reconfiguring P2OS
Saving and Restoring
The p2oscfprogra m lets you sa ve a nd restore whole c onfigura tion sets from disk-stored
files. This lets you ea sily c onfigure your robot for va rious different environments, a s well a s
ma inta in a rec ord of your origina l a nd test pa ra meters.
To sa ve your c urrent c onfigura tion to a disk file, get c onnec ted through p2oscf a s
desc ribed ea rlier. This loa ds the c urrent opera ting pa ra meters into the c onfigura tion
editor. Then simply sa ve your c urrent c onfigura tion to disk. For exa mple:
save C:\p2os\myP2DX
The c omma nd does not c ha nge the working c onfigura tion in a ny wa y.
Use the p2osc f restorec omma nd to not only retrieve the c urrent opera ting pa ra meters
from the robot, but to loa d a sa ved pa ra meters files from disk. The P2OS distributions
c ome with c ommon c onfigura tion files for the a ll Ac tivMedia robot models, inc luding
p2de for the Pioneer 2-DXe, p2a t for the Pioneer 2-AT, a nd so on.
You ma y edit the file-restored pa ra meters just a s you edit those retrieved from the robot.
And you ma y sa ve those edited pa ra meters over the sa me file or a different one, using
the p2osc f savec omma nd.
Note tha t file-restored c onfigura tion pa ra meters a re not nec essa rily the sa me a s those
stored in the robot's FLASH. You must save them there sepa ra tely. The following
sequenc e of p2osc f c omma nds illustra tes the restore/save proc ess. Notic e tha t the
namestored on the robot doesn't c ha nge until the c ha nge is sa ved to FLASH:
command> name
Your robot's name is Son_of_Flakey
command>restore p2dx
command> name
Your robot's name is ActivMedia_P2DX
command> restore
command> name
Your robot's name is Son_of_Flakey
command> restore p2dx
command> save
command> restore
command> name
Your robot's name is ActivMedia_P2DX
Also notic e tha t the la st restore c omma nd is redunda nt. Immedia tely a fter a save,
p2oscf's a nd the robot's pa ra meters a re identic a l.
Arm Parameters
P2OS version 1.H introduc ed a c omprehensive set of servers for ma na ging the
Ac tivMedia Robotic s Pioneer 2 Arm a c c essory. Plea se c onsult the Pioneer 2 Arm Manual
for deta ils a bout its ma ny opera ting pa ra meters tha t a re store in FLASH a nd modified
through p2osc f.
50
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Table 15. C onfiguration parameters (c urre ntly P2OS 1_J) with values for Pioneer 2-DX
Type
Default Description
Should not be changed using p2oscf
Pioneer Identifies the robot type.
KEYWORD
CONSTANTS
str
Type
str
str
byte
int
int
int
int
int
int
P2DX Identifies the ActivMedia robot model.
factory Serial number for the robot.
Subtype
Serial
0 Is '1' for the four-motor Pioneer 2-AT
360 Maximum rotational velocity; deg/sec
2200 Maximum translation speed; mm/sec
600 Maximum rotation (de)acceleration; deg/sec2
4000 Maximum translational (de)acceleration; mm/sec2
500 Maximum motor PWM period (500=fully on).
FourMotors
RotVelTop
TransVelTop
RotAccTop
TransAccTop
PwmMax
76 Encoder ticks/mm: (ticks/rev x gear-ratio)
(wheel_diameter x PI)
Encoder
Parameters that you may change with p2oscf
VARIABLES
str
byte
byte
not_set Unique name for your robot.
Name
Maximum of 20 characters, no spaces.
0 Server information packet communication cycle
time: 0=classic 100 ms; 1=new 50 ms cycle time
0 Baud rate for host (client) serial port
connection: 0=9600, 1=19200, 2=38400 bps.
2 Baud rate for AUX serial port; see HostBaud
SInfoCycle
HostBaud
byte
int
AuxBaud
HasGripper
0 1 if P2 Gripper installed into User I/O; 2 if
installed in General I/O; otherwise 0
int
byte
int
1 1 if front sonar array installed; otherwise 0
0 1 if rear sonar array installed; otherwise 0
FrontSonar
RearSonar
LowBattery
110 In 1/10 volts; microcontroller alarm activated
when battery charge falls below this value.
20000 The number of differential encoder ticks for a
360 degree revolution of the robot.
2000 Ms time before robot automatically stops if it
has not received a command from a client.
Restarts on restoration of connection.
int
int
RevCount
WatchDog
byte
int
int
0 1 enables alternative SIP. Otherwise 0.
200 Maximum PWM before stall. If > PwmMax, never.
100 Ms time after a stall for recovery. Motors not
engaged during this time.
P2Mpacs
StallVal
StallCount
Int
int
int
int
int
int
int
int
int
int
int
int
int
int
int
int
int
0 Compass type: 0=none; 1=V2XG; 2=TCM2
Compass
CompX
CompY
RotVelMax
TransVelMax
RotAcc
RotDecel
RotKp
0 V2XG Compass calibration X-offset
0 V2XG Compass calibration Y-offset
200 Max rotational speed; deg/sec.
300 Max translational speed; mm/sec.
50 Rotational acceleration; deg/sec2
50 Rotational deceleration; deg/sec2
30 Proportional PID for rotation
200 Differential PID for rotation
0 Integral PID for rotation
RotKv
RotKi
300 Translational acceleration; mm/sec2
300 Translational deceleration; mm/sec2
15 Proportional PID for translation
800 Differential PID for translation
4 Integral PID for translation
TransAcc
TransDecel
TransKp
TransKv
TransKi
JoyVelMax
JoyRVelMax
600 Joydrive maximum translation velocity
125 Joydrive maximum rotational velocity
51
Download from Www.Somanuals.com. All Manuals Search And Download.
Updating and Reconfiguring P2OS
PID Parameters
The P2OS c onfigura tion pa ra meters inc lude settings for the PID motors c ontrols for
tra nsla tion a nd rota tion of the robot.
The tra nsla tion PID va lues a lso a pply to
independent wheel veloc ities. The defa ult va lues shown in the Ta ble a re for a
modera tely loa ded robot. Experiment with different va lues to improve the performa nc e
of your robot in its c urrent environment.
Note tha t with P2OS version 1.J a nd la ter, the PID va lues ha ve c ha nged from ea rlier
versions due to c ha nges in the drive servers. Overa ll drive performa nc e ha s improved
with the la tter version a nd is muc h less sensitive individua l PID va lues. C onsequently, we
rec ommend the listed va lues for a ll Pioneer 2 a nd PeopleBot robots, wherea s ea rlier
P2OS versions required muc h more tuning of the pa ra meters depending on robot type
a nd c onfigura tion/pa yloa d.
The P term va lue Kp inc rea ses the overa ll ga in of the system by a mplifying the position
error. La rge ga ins will ha ve a tendenc y to overshoot the veloc ity goa l; sma ll ga ins will
limit the overshoot but c a use the system to bec ome sluggish. We’ve found tha t a fully
loa ded robot works best with a Kp setting of a round 15 to 20, wherea s lightly loa ded
robot ma y work best with Kp in the ra nge of 20 to 30.
The D term Kv provides a PID ga in fa c tor tha t is proportiona l to the output veloc ity. It ha s
the grea test effec t on system da mping a nd minimizing osc illa tions within the drive
system. The term usua lly is the first to be a djusted if you enc ounter unsa tisfa c tory drive
response. Typic a lly, we find Kv to work best in the ra nge of 600 to 800 for lightly to hea vily
loa ded robots, respec tively.
The I Term Ki modera tes a ny stea dy sta te errors thereby limiting veloc ity fluc tua tions
during the c ourse of a move. At rest, your robot will seek to “zero out” a ny c omma nd
position error. Too la rge of a Ki fa c tor will c a use a n exc essive windup of the motor when
the loa d c ha nges, suc h a s when c limbing over a bump or a c c elera ting to a new speed.
C onsequently, we typic a lly use a minimum va lue for Ki in the ra nge of 0 to 10 for lightly to
hea vily loa ded robots respec tively.
Encoder and Revcount
P2OS uses the encodera nd revcountpa ra meters to c onvert your pla tform-independent
speed a nd rota tion c omma nds—typic a lly expressed in millimeters or degrees per
sec ond, respec tively—into pla tform-dependent units. In previous versions, the encoder
va lue wa s c onta ined in the P2OS c ode. With improvements to the motion c ontrol servers
in P2OS a nd to support the inc rea sing va riety of Ac tivMedia robot c onfigura tions, the
encoderva lue is now inc luded a s a c onfigura tion pa ra meter, a lthough unlike revcount,
its va lue is a c onsta nt.
The encoder va lue is the number of enc oder pulses (“tic ks”) per millimeter of wheel
rota tion. The enc oder va lue is, of c ourse, dependent upon the wheel enc oder’s
resolution, the motor-to-wheel gea r ra tio, a nd the wheel’s dia meter.
The revcountva lue is the number of enc oder tic ks for one full revolution of the robot. It
depends on a number of fa c tors, princ ipa lly the length of the wheel ba se, whic h ma y
c ha nge due to pa yloa d, tire wea r, opera ting surfa c e, a nd so on. Ac c ordingly, we
provide a c a libra tion tool tha t lets you determine revcount for your individua l robot
c onfigura tion a nd opera ting c onditions.
Table 16. Some platform-dependent robot parameter values
Model
52
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Parameter
Encoder ticks per rev
Gear ratio
DX
500
19.7
165
76
DXe
500
19.7
191
66
AT
500
85.5
220
49
CE
100
19.7
165
76
PB V1
500
Performance PB
500
38.3
191
128
38.3
165
Wheel diam (mm)
Encoder ticks per mm
wheel rotation
148
DistConvFactor
DiffConvFactor
0.840
0.969
1.32
0.826
0.413
0.424
0.0056
0.0057
0.0034
0.0056
0.0056
0.0060
Calibration Tools - revcountcal and compasscal
P2OS 1.4 introduc ed two new P2OS c a libra tion tools: revcountcal a nd compasscal.
Both tools a re for helping your robot a nd its V-2XG c ompa ss a c c essory a da pt to your
unique opera ting environment.
C ompa ssc a l is for the V 2XG c ompa ss only; not for the TC M2 Module.
The revcount c a libra tion tool helps you redefine the differentia l enc oder c ounts tha t
desc ribes a full 360-degree turn of your robot. The defa ult revcountva lue works fine for
smooth, ha rd surfa c es, but it c a n c ha nge dra ma tic a lly for other opera ting environments,
pa rtic ula rly for the Pioneer 2-AT on loose outdoor versus ha rd indoor surfa c es.
The c ompa ss tool lets owners c a libra te their integra ted elec tronic c ompa ss for va rious
environments a nd positions on the robot.
Saphira required
C ompa ssC a l a nd Revc ountC a l only work with lic ensed a nd properly
insta lled Sa phira .
Note tha t unlike the p2oscf a nd p2osdl tools, the c ompa ss a nd revc ount c a libra tion
tools use the Sa phira opera ting environment. Henc e, the progra ms need to be loc a ted
in the bin/direc tory of a lic ensed Sa phira insta lla tion.
A Sa phira lic ense c omes with your Ac tivMedia Mobile Robot, a nd you ma y retrieve new
C ha pter 3, "Quic k Start", for a dditiona l deta il.
Briefly, the progra ms opera te in two sta ges. First, they c onnec t with your Pioneer 2 or
PeopleBot robot via a Sa phira -ba sed c lient a nd retrieve the robot’s c urrent opera ting
pa ra meters via the ENCODERpac or CONFIGpac extended SIPs (see previous c ha pter).
Following progra m prompts, you c ha nge the orienta tion of the robot or c ompa ss—rota te
the c ompa ss a nd/or the robot—a nd the progra m c a lc ula tes a new revcountva lue or X
a nd Y offsets for the elec tronic c ompa ss. The proc ess ma y be repea ted indefinitely,
ea c h time c a lc ula ting fresh va lues; they a re not rec orded or c ha nged in your robot’s
FLASH.
In a sec ond sta ge, the c a libra tion utilities let you sa ve the la st-a c quired pa ra meter to
your P2OS mic roc ontroller’s FLASH ROM, so tha t the new va lue gets used by the robot
53
Download from Www.Somanuals.com. All Manuals Search And Download.
Updating and Reconfiguring P2OS
a fter ea c h sta rtup. You ma y c hoose not to c ha nge the FLASH ROM va lues. Ra ther, you
rec ord the new c onfigura tion va lues a nd set/reset them using the p2oscftool desc ribed
ea rlier in this c ha pter.
Insta ll either compasscal(.exe) or revcountcal(.exe) into the bin direc tory of your
Sa phira distribution. C onnec t your robot's HOST seria l port to the c omputer, by tether if
you pla n to sa ve the c a libra tion pa ra meter to FLASH ROM. Turn on the robot's Ma in
Power.
From a n X-termina l (Linux/UNIX) or DOS c omma nd line, exec ute the c a libra tion tool. The
defa ult c onnec tion port is the first seria l port on your c omputer: COM1for Win32 systems or
/dev/ttys0 for other Linux/UNIX systems. Spec ify a n a lterna tive port by providing a
sta rtup a rgument.
For exa mple:
% compasscal /dev/ttyS3
c onnec ts the compasscal c a libra tion tool with the robot via the Linux c omputer's
/dev/ttyS3seria l port.
If the tool fa ils to c onnec t the Sa phira c lient with the robot server, it will tell you
"C onnec tion refused" a nd ha ng. Press control-c to stop the progra m a nd try a ga in
a fter fixing the seria l c onnec tion. Typic a lly, reboot the robot with its red RESETC onsole
button a fter a n error.
54
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Chapter 8 Maintenance & Repair
Your Ac tivMedia robot is built to la st a lifetime a nd requires little ma intena nc e.
Drive Lubrication
The drive motors a nd gea rbox a re sea led a nd self-lubric a ting, so you need not fuss with
grea se or oil. An oc c a siona l drop or two of oil on the a xle bushings between the wheels
a nd the c a se won’t hurt. And keep the a xles c lea r of c a rpet or other strings tha t ma y
wra p a round a nd bind up your robot’s drive.
Batteries
Lea d-a c id ba tteries like those in your Ac tivMedia robot la st longest when kept fully
c ha rged.
In fa c t, severe disc ha rge is ha rmful to the ba ttery, so be c a reful not to
opera te the robot if the ba ttery volta ge fa lls below 11 VDC .
Changing Batteries
CAREFUL!
The Ba tteries slide in
TERMINALS LAST!
Exc ept the Pioneer 2 C E a nd AmigoBot, Ac tivMedia robots ha ve a spec ia l ba ttery
ha rness a nd la tc hed doors for ea sy a c c ess to the onboa rd ba tteries. Simply unla tc h the
rea r door, swing it open a nd loc a te the one to three onboa rd ba tteries inside.
To remove a ba ttery, simply gra sp it a nd pull out. We a lso provide a suc tion-c up tool to
help. Spring-loa ded c onta c ts elimina te the need to deta c h a ny c onnec ting wires.
Simila rly, insert ba tteries by simply sliding ea c h one into a ba ttery box c ompa rtment.
Loa d the ba tteries so tha t their weight gets distributed evenly a c ross the pla tform:
C enter a single ba ttery a nd pla c e two ba tteries one on ea c h side.
Hot-Swapping the Batteries
You ma y c ha nge the ba tteries on your Ac tivMedia robot without disrupting opera tion of
the onboa rd systems (exc ept the motors, of c ourse): Either c onnec t the c ha rger, whic h
powers the robot's systems while you c ha nge the ba ttery or ba tteries. Or, if you ha ve
two or three ba tteries, swa p ea c h with a freshly c ha rged one individua lly, so tha t a t lea st
one ba ttery is in pla c e a nd providing the nec essa ry power.
Charging the Battery
If you ha ve the sta nda rd c ha rger a c c essory, insert it into a sta nda rd 110 VAC three-
pronged wa ll power rec epta c le. (Some users ma y require a spec ia l power a da pter.)
Loc a te the round plug a t the end of the c a ble tha t is a tta c hed to the c ha rger a nd insert
it into the c ha rge soc ket tha t is just below your robot’s Ma in Power switc h. The LEDs on
the c ha rger indic a te c ha rge sta tus, a s ma rked on its c a se.
It ta kes fewer tha n 12 hours—often just a few hours, depending on the level of
disc ha rge—to fully c ha rge a Pioneer 2 or PeopleBot ba ttery using the a c c ompa nying
c ha rger (roughly, three hours per volt per ba ttery). Although you ma y opera te the robot
while rec ha rging, it restric ts the robot’s mobility.
55
Download from Www.Somanuals.com. All Manuals Search And Download.
Maintenance and Repair
Alternative Battery Chargers
The c enter post of the c ha rger soc ket is the positive (+) side of the ba ttery; the c a se is the
nega tive (-) side. A diode protec ts a ga inst the wrong c ha rger pola rity. Nonetheless, if
you c hoose to use a n a lterna tive ba ttery c ha rge, be sure to c onnec t positive to positive
a nd nega tive to nega tive from c ha rger to robot.
An a lterna tive AC to DC c onverter/ba ttery c ha rger should susta in a t lea st 0.75A a t 13.75
to 14 VDC per ba ttery, a nd not more tha n 2-2.5 a mperes per ba ttery. The High-Speed
C ha rger a c c essory, for exa mple, is a four a mpere c ha rger a nd should be used with a t
lea st two of the sta nda rd ba tteries.
An a lterna tive c ha rger a lso should be volta ge- a nd c urrent-limited so tha t it c a nnot
overc ha rge the ba tteries.
Getting Inside
We norma lly disc oura ge you from opening up your robot. However, on oc c a sion, you
ma y need to get inside, for insta nc e to a c c ess the User Power c onnec tions on the Motor-
Power boa rd a nd a tta c h your c ustom elec tronic s. Or you ma y need to get to your
onboa rd c omputer a nd its a c c essories.
Open the robot AT YOUR OWN RISK,
unless explic itly a uthorized by the fa c tory.
We desc ribe here how to remove your robot’s Nose to get a t the onboa rd c omputer.
And we desc ribe how to a c c ess the c ontents of the Body of your Pioneer 2-DX/DXe or -
AT robot.
Removing the Nose
Pioneer 2’s a nd PeopleBot’s onboa rd c omputer sits just behind the robot’s Nose. And
you ma y ha ve to remove the Nose to a c c ess the front sona r a rra y’s ga in a djustment pot.
For ea rly DX, C E, a nd AT models, a nd for the PeopleBot robots, the Nose is a tta c hed to
the robot with two sc rews: one direc tly undernea th the front sona r ba y a nd one on the
bottom of the robot just behind the sea m between the robot’s Body a nd the Nose. The
new AT a nd the DXe model ha ve two sc rews holding the Nose to the front sona r (or
bla nk) a rra y, a nd the DXe doesn’t ha ve the bottom sc rew sinc e the Nose is hinged a t the
bottom.
Remove a ll Nose reta ining sc rews with the hex wrenc h supplied with your robot. Exc ept
with the new AT or DXe, if you ha ve either the G ripper or a front Bump Ring a c c essories,
remove it first.
BE C AREFUL: Delic a te wiring inside.
Onc e loosened, the DXd Nose pivots down on a hinge. For the other models, four pins
a long the Nose’s ba c k edges guide it onto the front Body of the robot. Simply pry the
Nose out a nd a wa y from the Body. C a reful: The c omputer’s ha rd-drive, fa n, a nd
spea ker ha ve a tta c hed wire ha rnesses tha t you need to relieve before c ompletely
deta c hing the Nose from the Body. We rec ommend unplugging the spea ker wire a nd
simply rota ting the Nose out of the wa y to a c c ess the onboa rd c omputer.
56
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Opening the Deck
The new Pioneer 2-AT a nd -DXe models ha ve a c enter hinge in the Dec k whic h let you
ea sily open a nd a c c ess interna l c omponents without c ompletely removing the top
pla te. With ea rlier Pioneer 2 models a nd with the PeopleBots, you need to remove the
respec tive Dec k a nd other c overs to a c c ess the robot’s c omponents.
In a ll c a ses, you need to remove the selec ted sc rews c ompletely, then c a refully lift the
Dec k or sec tion of the Dec k up off the Body. Review the following figures for sc rew
loc a tions.
Figure 24. Remove indic ate d sc rews to
flip open the front of the Pionee r 2-DXE or
AT Dec k. (G ripper or bump ring may
remain attac hed.)
Figure 23. Remove indic ate d sc rews to
remove original Pioneer 2-DX, C E, or
PeopleBot De c k.
Figure 22. Remove indic ated sc re ws to re move
57
original Pioneer 2-AT Dec k.
Download from Www.Somanuals.com. All Manuals Search And Download.
Maintenance and Repair
Figure 25. Remove indic ate d sc rews to
flip open the hinged Pionee r 2-AT rear
Dec k.
Figure 26. Remove indic ated sc re ws to
flip open the Pionee r 2-DXE re ar Dec k.
Factory Repairs
If, a fter rea ding this ma nua l, you’re ha ving hardware problems with your Pioneer or
PeopleBot robot a nd you’re sa tisfied tha t it needs repa ir, c onta c t us:
(603) 924-2184 (fax)
(603) 924-9100 (voice)
In the body of your ema il or fa x messa ge, desc ribe the problem in a s muc h deta il a s
possible. Also, inc lude your na me, ema il a nd ma il a ddresses, a s well a s phone a nd fa x
numbers. Tell us when a nd how we c a n best c onta c t you (we will a ssume ema il is the
best ma nner, unless otherwise notified).
We will try to resolve the problem through c ommunic a tion. If the robot must be returned
to the fa c tory for repa ir, obta in a shipping a nd repa ir a uthoriza tion c ode a nd shipping
deta ils from us first.
We a re not responsible for shipping da ma ge or loss.
58
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Appendix A
C166 Controller Ports & Connections
This Appendix c onta ins pinout a nd elec tric a l spec ific a tions for the externa l a nd interna l
ports a nd c onnec tors on the Pioneer 2/PeopleBot mic roc ontroller boa rd. These inc lude
a n externa l (Host) seria l port for P2OS-to-c lient c onnec tions; two interna l seria l ports for
Host a nd a uxilia ry (AUX) c ommunic a tions, ea c h with switc hed five a nd 12 VDC power;
a n expa nsion bus (G enera l I/O); a nd a disc rete c onnec tor for c ustom User I/O.
Note tha t a ll the interna l c onnec tors (IDC soc kets) a re numbered odd pins on top a nd
13 11
14 12 10
9
7
8
5
6
3
4
1
2
Figure 27. Serial port IDC c onnec tor pins
Figure 28. Pioneer 2/PeopleBot mic roc ontroller ports and c ontrols loc ations
Console Serial Port
Use the C onsole DSUB-9 seria l port c onnec tor for c lient c onnec tions to the P2OS servers
a nd for P2OS downloa ds. Only three pins a re a c tive: RS232-c ompa tible pins 2 (TxD1), 3
(RxD1), a nd 5 (signa l ground).
Ta ble 17 lists the c a ble c onnec tions for va rious host c omputers to this externa l seria l port.
Most direc t seria l c onnec tions use a simple, stra ight-through c a ble, suc h a s the one for a
c ommon PC . The c ommunic a tion lines a re sha red with those on the interna l P2OS seria l
port (see below).
59
Download from Www.Somanuals.com. All Manuals Search And Download.
Appendix A: Microcontroller Ports and Connections
Table 17. C ommon serial c able c onnec tions to Pioneer 2
Platform & Connector
Sun Sparcstation DB-25
SGI Irix mini-DIN 8
PC COMn: DB-9
PC COMn: DB-25
Macintosh mini-DIN 8
Pin 3 (Tx)
Pin 5 (Rx)
Pin 9 (Gnd)
3
5
2
3
3
2
3
3
2
5
7
4
5
7
4
P2OS opera tes a t the following c onfigura tion: 9,600, 19,200 or 38,400 bits per sec ond
da ta ra te; eight da ta bits; one stop bit; no pa rity or ha rdwa re ha ndsha king (DTR).
Internal Serial Connectors
Two 10-pin seria l port c onnec tors on the P2OS mic roc ontroller support independent RS-
232 seria l c ommunic a tions. The ports a lso c onta in switc hed (RADIO on the C onsole) 5
a nd 12 VDC power @ 1.5A for a c c essory c onnec tions, suc h a s a ra dio modem, ra dio
Ethernet, PTZ robotic c a mera , or the TC M2 elec tronic c ompa ss.
The Host seria l c onnec tor (JP8) is the port used by the mic roc ontroller for c lient-server
c ommunic a tions. It sha res its tra nsmit (TxD1) a nd rec eive (RxD1) lines with the externa l
seria l port on the C onsole. The c onnec tor a lso ha s three da ta lines (P3_12, _14, a nd _15)
tha t a re used by the V-2XG c ompa ss.
Table 18. P2OS Internal Serial Port C onnec tions ("HOST" JP8)
Pin #
Connection
Gnd
Pin #
2
4
6
8
Connection
P3_12
12 VDC (switched)
Gnd
P3_14
5 VDC (switched)
1
3
5
7
9
TxD1
RxD1
P3_15
Gnd
10
The AUX RS232-c ompa tible seria l port (c onnec tor JP7) on the Pioneer 2/PeopleBot
mic roc ontroller opera tes independently from the host seria l port a nd is for a c c essory
a tta c hments, suc h a s the PTZ Robotic C a mera . Note the a dditiona l power c onnec tions.
Table 19. Auxiliary Inte rnal Se rial Port C onnec tions ("AUX" JP7)
Pin #
Connection
Gnd
TxD2
RxD2
No connection
Gnd
Pin #
2
4
6
8
Connection
12 VDC (switched)
12 VDC (switched)
Gnd
5 VDC (switched)
5 VDC (switched)
1
3
5
7
9
10
User I/O Expansion Port
A 20-pin IDC soc ket on the P2OS mic roc ontroller provides the following digita l, a na log,
a nd power ports for user c onnec tions:
ꢀ
ꢀ
8 genera l-purpose digita l input a nd output ports (ID/OD0-7)
5 a na log-to-digita l input ports (AD1-5)
60
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
ꢀ
ꢀ
ꢀ
ꢀ
4 Pulse-width-modula tion ports (PWM1-4)
1 signa l ground (G nd)
1 Vc c (+5 VDC )
1 Vpp (+12 VDC )
Note tha t the genera l-purpose I/O a nd a na log-to-digita l ports a re sha red with the
G enera l I/O c onnec tor (below) a nd joystic k c irc uitry a nd ma y not be a va ila ble for use
on a ll robots. For exa mple, the a na log lines P5_4-7, a re used by the Joystic k port, whic h
now c omes sta nda rd with the Pioneer 2-AT a nd Performa nc e PeopleBot. In a ddition,
four of the A/D ports a nd the PWM ports a re sha red with digita l input a nd output lines,
respec tively.
Table 20. User I/O Expansion Port
Pin
#
1
Label
Use
Pin Label
#
Use
ID0
2
P2_12 OD0 or
PWM #1
P2_13 OD1 or
PWM #2
P2_14 OD2 or
PWM #3
P2_15 OD3 or
PWM #4
P5_4
P5_5
P5_6
P5_7
P5_9
Vpp
P3_0
P3_1
P3_2
P3_3
P3_4
P3_5
P3_6
P3_7
Vcc
3
5
4
ID1
6
ID2
7
8
ID3
9
10
12
14
16
18
20
ID4 or
A/D #1
ID5 or
A/D #2
ID6 or
A/D #3
ID7 or
A/D #4
A/D
OD4
11
13
15
17
19
OD5
OD6
OD7
<100ma
#0/5
<100ma
Gnd
Performance PeopleBot I/O
The left a nd right Ta bletop IR detec tors on the Performa nc e PeopleBot a re c onnec ted to
the ID0 a nd ID1 digita l input ports of the User I/O, respec tively, whic h a ppea r a s bits 0
a nd 1 in the diginbyte of the sta nda rd P2OS Server Informa tion Pa c ket. Norma lly high
(1), the digita l input port goes low (0) when its respec tive Ta bletop sensor detec ts a n
objec t within its ra nge of opera tion.
The left a nd right IR brea kbea ms a re c onnec ted the User I/O digita l input ports ID2a nd
ID3, respec tively. Norma lly high (1), the respec tive input port goes low (0) when a n
objec t brea ks the IR tra nsmitter’s bea m to its c ompa nion rec eiver.
61
Download from Www.Somanuals.com. All Manuals Search And Download.
Appendix A: Microcontroller Ports and Connections
Table 21. Pe rformanc e Pe opleBot I/O
User
I/O
Label
Use
User
I/O
Label
Pin #
Pin #
1
3
5
7
9
11
13
15
17
19
OD0
OD1
OD2
OD3
ID4
ID5
ID6
ID7
AD1
Vpp
―
―
―
2
4
6
8
10
12
14
16
18
20
ID0
ID1
ID2
Lft Tabletop
Rgt Tabletop
Lft Breakbeam
Rgt Breakbeam
―
ID3
Joystick
Joystick
Joystick
E-Stop
―
OD4
OD5
OD6
OD7
Vcc
Gnd
―
―
―
-―
+5VDC
Gnd
+12VDC
― = Not used; available for other User applic ations
The General I/O Bus
The 34-pin IDC soc ket on the P2OS mic roc ontroller provides a genera l-purpose I/O bus
c onta ining:
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
8 rea d/write da ta lines (D0-7)
4 c hip selec t lines (C S_2-5)
2 a ddress lines (A0, A1)
Rea d (RD#) a nd write (WR) lines
8 genera l-purpose digita l I/O (P3_0-7)
1 a na log-to-digita l input (A/D) (P5_9)
4 PWM/digita l output (P2_12-15)
2 signa l ground (G nd)
2 Vc c (+5 VDC )
1 Vpp (+12 VDC )
Table 22. G eneral I/O Bus C onnec tions
Pin # Label
Pin
#
Label
1
3
5
7
9
11
13
15
17
19
2
4
6
8
10
12
14
16
18
20
P3_0
P3_1
P3_2
P3_3
P3_4
P3_5
P3_6
P3_7
WR
D0
D1
D2
D3
D4
D5
D6
D7
CS2
CS3
(Bumpers)
CS4
CS5
A0
Vpp
21
23
25
27
29
31
33
22
24
26
28
30
32
34
P2_12
P2_13
P2_14
P2_15
P5_9
Gnd
A1
Vcc
RD#
Vcc
Gnd
62
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Appendix B
Motor-Power Board
The Pioneer 2 a nd PeopleBot robots ha ve a sepa ra te Motor-Power boa rd whic h, in
c onjunc tion with the mic roc ontroller, provides power for motors a s well a s c onditioned
power for the sta nda rd a nd a c c essory onboa rd elec tronic s. It a lso c onta ins buffered
Figure 29. Pioneer 2 Motor-Power Board
pa ss-through c onnec tors for the motor enc oders. An optiona l power pa c ka ge
("c omputer rea dy") is a va ila ble for the onboa rd c omputer system.
User Power Connections
On the Motor-Power boa rd, four sets of
unswitc hed ba ttery (Vpp) a nd DC :DC -
Table 23. User Power C onnec tor J1
c onditioned 5 VDC (Vc c ) power, with
Pin #
Connection
Vcc
Pin #
7
Connection
Vcc
power ground (Vpp), a re a va ila ble for
a c c essory a nd c ustom elec tronic s on a
12-pin Molex-type la tc h-loc k (100mm)
c onnec tor. Vc c gets sha red with the
mic roc ontroller a nd a c c essories c on-
nec ted to tha t boa rd (Appendix A).
The ma ximum Vc c power a va ila ble
with sta nda rd robot models is 1.5A.
1
2
3
4
5
6
Gnd
8
Gnd
Vpp
Vcc
Gnd
Vpp
9
Vcc
Gnd
Vpp
10
11
12
Vpp
Onboard Computer Option
With the "c omputer-rea dy" option, the Motor-Power boa rd is spec ia lly popula ted with
c onnec tors a nd c irc uits to provide sepa ra te DC :DC c onditioned, 7A @ 5 VDC power to
a n onboa rd c omputer a nd its a c c essories. And, in c onjunc tion with softwa re, the c irc uit
provides for a utoma tic , una ttended, c ra sh-less shutdown of the onboa rd c omputer,
either when ma nua lly powered down or when the ba ttery volta ge drops below 10 VDC .
Power Switch (J7) and Delayed Shutdown Logic
A simple SPDT switc h c ontrols logic a l power to the c omputer-power sec tion of the Motor-
Power boa rd. When ON, the switc h provides Vpp to the input of a volta ge c ompa ra tor
63
Download from Www.Somanuals.com. All Manuals Search And Download.
Appendix B: Motor-Power Board Connectors
whic h output c ontrols the c omputer's DC :DC volta ge c onverter. Designed to provide
for c ra sh-less shutdown of the c omputer in the event of a power brownout or for
una ttended shutdowns, if Vpp drops below 10 VDC , the c ompa ra tor a utoma tic a lly
initia tes a two-minute dela y before c omputer power (not system-wide) shutdown.
Simila rly, when the c omputer power is ma nua lly switc hed OFF, the c ompa ra tor is
grounded (below 10 VDC , of c ourse) a nd the sa me two minute-dela yed shutdown
oc c urs.
In a ll c a ses, power shutdown, but not nec essa rily c omputer softwa re shutdown, is
c a nc eled if power is restored to a bove 10 VDC , either by c onnec ting a ba ttery c ha rger
or by hot-swa pping the ba tteries.
With older Motor-Power systems, you ma y disa ble the two-minute dela y c irc uitry
(switc hed or low-volta ge shutdown immedia te) by moving the jumpers on both J3 a nd
J6 on the Motor-Power Boa rd to the pins opposite their ON position.
Power-State Logic
A 9-pin DSUB rec epta c le (P1) on the Motor-Power boa rd provides a logic -level shutdown
indic a tor (DC D pin 1) whic h sta te goes low when c omputer power shutdown is first
initia ted. The onboa rd c omputer ma y use this line sta te to initia te softwa re-media ted
shutdown, suc h a s provided by genpowerd for RedHa t© Linux PC s.
Table 24. Power State 9-pin DSUB re c eptac le (P1)
1
2
3
4
5
6
7
8
9
DCD
nc
nc
pin 6 nc pin 4 nc nc Gnd
10-20K adj.
across 4 & 6
Computer Power
Table 25. C omputer power c onnec tor
Pin #
Connection
Vpp
Gnd
Gnd
5VDC @ 7A
A c ommon 4-c onduc tor, bevel-keyed c onnec tor (J5) provides 5
VDC @ 7A power for the onboa rd c omputer, a nd ba ttery power
for the optiona l 12VDC fa n.
1
2
3
4
64
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
Appendix C
Joystick Connector
Use a 20-wire IDC -termina ted ribbon c a ble to a tta c h the 15-pin joystic k c onnec tor to the
User I/O port on the P2OS mic roc ontroller. Both require P2OS version 1.c or la ter.
Figure 30. Standard joyport for manual drive of a Pioneer 2 or PeopleBot Mobile Robot
Figure 31. Joyport with signal switc h for sharing User I/O ports with other ac c essories,
suc h as the older style G ripper.
65
Download from Www.Somanuals.com. All Manuals Search And Download.
Appendix D: Specifications
Appendix D
Specifications
DXe
DX
AT
Perf PB
PB V1
CE
Physical Characteristics
Length (c m)
44.5
44
33
22
5.1
9
50
49
24
5.5
14
40
47
38
47
38
44
33
22
5.1
9
Width (c m)
40
24.5
6.5
9
Height (c m)
C lea ra nc e (c m)
Weight (kg)
Pa yloa d (kg)
124
3.5
21
104
3.5
19
23
20
11
13
20
Power
Ba tteries 12VDC
lea d-a c id
3
3
3
3
3
1
C ha rge (wa tt-
hrs)
252
252
252
252
252
84
Run time (hrs)
with PC (hrs)
8–10
3-4
8–10
3-4
4-6
2-3
na
na
8-10
na
3-4
3-4
Rec ha rge time
hr/ba ttery
std c ha rger
6
6
6
6
6
6
High-Speed
(3 ba tteries)
2.4
2.4
2.4
2.4
2.4
na
Mobility
2
2 solid
rubber
4
2
2 solid
rubber
2 solid
rubber
Wheels
pneuma tic
pneuma tic
pneuma tic
dia m (mm)
191
165
37
220
75
191
50
165
37
165
width (mm)
C a ster (mm)
Steering
50
37
75
75
na
75
75
75
Differentia l
Differentia l
19.7:1
32
Skid
85.2:1
40
Differentia l Differentia l
Differentia l
G ea r ra tio
Swing (c m)
Turn (c m)
19.7:1
32
38.3:1
38.3:1
19.7:1
32
0
0c m
0c m
0
Tra nsla te speed
ma x (mm/sec )
1,800
360
20
1,600
300
20
700
140
89
900
150
15
800
130
15
1,600
300
20
Rota te speed
ma x (deg/sec )
Tra versa ble step
ma x (mm)
Tra versa ble ga p
ma x (mm)
89
89
127
40%
50
50
89
Tra versa ble slope
ma x (gra de)
25%
25%
11%
11%
25%
Wheel-
c ha ir
a c c essible
Wheel-
c ha ir
a c c essible
Wheel-
c ha ir
a c c essible
Wheel-
c ha ir
a c c essible
Wheel-
c ha ir
a c c essible
Tra versa ble
terra ins
Unc onsolida ted
No c a rpets!
66
Download from Www.Somanuals.com. All Manuals Search And Download.
Ac tivMedia Robotic s
CE
DXe
DX
AT
Perf PB
PB V1
Sensors
Sona r Front Arra y
(one ea c h side,
six forwa rd @ 20°
interva ls)
8
8
8
8
8
8
Rea r Sona r Arra y
(one ea c h side,
six rea r @ 20°
interva ls)
8
8
8
8
8
na
Top Dec k Sona r
(one ea c h side,
six rea r @ 20°
interva ls)
na
na
na
8
8
na
Enc oders (2 ea )
c ounts/rev
39,400
39,400
34,000
76,600
76,600
39,400
c ounts/mm
66
76
49
128
148
76
c ounts/rota tion
18,400
20,000
22,500
33,500
39,000
18,400
Controls and Ports
Ma in Power
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
ꢀ
C ha rge Port
Joydrive
Optiona l
Optiona l
Sta nda rd
Sta nda rd
Optiona l
Optiona l
Microcontroller and Console Controls & Ports
Proc essor
Siemens 8C 166 (20 MHz)
32 c ha ra c ters on 2 lines
4
LC D
Enc oder inputs
Audio
Piezo buzzer
PWM outputs
Sona r inputs
Digita l I/O
A/D
8 (4 user-a va ila ble)
2x8 (multiplexed)
16 logic ports; 8 in, 8 out
5 @ 0-5 VDC ; 1024- or 256-bit resolution
8 @ 1µsec resolution;
32 KB; P2OS a nd robot-spec ific pa ra meters
32 KB
Digita l timers
FLASH PROM
RAM
Power switc hes
C omm ports
1 ma in; 1 RADIO
2 RS-232 seria l interna l; 1 RS-232 externa l
Power (interna l
c omm. ports)
RESET a nd MOTORS
Logic
pushbuttons
Indic a tor LEDs
Ma in power; RADIO power; Host SERIAL RxD a nd TxD
67
Download from Www.Somanuals.com. All Manuals Search And Download.
Index
A/D, 43
Accessory Panels, 12
ActivMedia Robotics Basic
Suite, 5
Electronics, 14
Microcontroller, 15
Nose, 12
ENC ODERpa c , 42
Encoders, 14
ePresence, 5
Optional, 1
Errors, 30
ADSEL, 43
AmigoBot, 43
Sounds, 43
AmigoSounds, 6
ARIA, 6
Assembly, 19
Autoconfiguration, 35
AUX, 41
Power, 15
Extended packets, 40
FLASH, 17, 47
FLASH, 9
User supplied, 2
Computer, 12
Onboard, 63
Shutdown delay, 63
Computer, 1
Fuse, 15
General I/O, 25, 62
Gripper, 25, 27
G RIPPERpa c , 42
G RIPREQUEST, 42
High-speed charger, 14
IOpac, 44
CONFIG, 41
CONFIGpac, 41
Configuration, 18
Configuration packets, 41
Configuration parameters, 48
Console, 11
Batteries, 14, 55
Changing, 55
Charging, 55
Hot-swap, 55
Joydrive, 25
Joystick, 25, 65
Kurt Konolige, Dr., 4
Liquid-Crystal Display, 16
Maintenance, 55
Mapper, 6
Recharge port, 15
Battery charger, 14
Body, 12
Breakbeam IR, 18, 45
BUMP_STALL, 39
Bumpers, 27
Calibration tools
compasscal, 53
revcountcal, 53
Charge Cube, 14
Charger, 14
Contrast, 16
Controller
Specifications, 59
Controls, 10
Sonar Gain, 13
Controls & Ports
Contrast, 16
Microcontroller, 8, 15
Modes
Connected, 17
Downloa d, 17
Joydrive, 17
FLASH, 17
LCD, 16
Main Power, 15
MOTORS, 16
POWER, 17
Recharge, 15
SERIAL, 17
STATUS LED, 16
STOP, 18
Self-tests, 17
Modes of Operation
Joydrive. See Joydrive
Self-Test. See Self-Test
Server. See P2OS
Standalone. See
Standalone
Motion commands, 36
Motor-Power, 63
Motor-Power board, 15
Motors, 14
MOTORS, 16
Motors enable, 36
Navigator, 5
Newsgroups, 2
Nose, 12
Onboard PC, 63
OPEN, 35
Chargers
Alternative, 56
Checksum, 30
Client commands
Argument types, 34
Communication rate, 32
CONFIG, 41
General, 32
Client-Server, 29
CLOSE, 36
Data types, 30
DCHEAD, 36
Deck, 11
Hinged, 57
DHEAD, 36
Colbert, 6
Digin, 43
Cold Start, 20
Communication packets, 30.
See Packets
Communication rate, 32
Communications, 21
compass, 27, 53
compasscal, 53
Components
Digital Input, 43
Digital Output, 44
Digout, 44
Dissassembly, 56
Nose, 56
Onboard PC, 56
Download mode, 47
Drive Lubrication, 55
E_STALL, 37, 39
E_STOP, 37, 39
Electronics, 14
Emergency STOP, 18, 37, 39
Encoder, 52
P2OS, 8, 29
Configuration parameters,
48
Configuring, 46, 48
Critical parameters, 49
Download, 46
encoder pararmeter, 52
Installing, 46
p2oscf, 48
Accessory Panels, 12
Basic, 1
Body, 12
Computer, 12
Console, 11
Deck, 11
ENCODER, 42
68
Download from Www.Somanuals.com. All Manuals Search And Download.
PID parameters, 52
Programming, 35
Restoring parameters, 50
revcount parameter, 52
Saving parameters, 50
Troubleshooting, 47
Updating, 46
Quick Start, 19
Radio POWER, 17
RC-Servos, 44
Recharge, 15
Recharger, 14
Repairs, 55, 58
Authorization, 58
RESET, 16
Resources, 2
revcount, 52, 53
revcountcal, 53
Robot parameters, 49
ROM. See FLASH
Rotation, 36
GRIPREQUEST, 42
IOREQUEST, 44
OPEN, 35
PLAYLIST, 42
POLLING, 38
Position integration, 38
PTUPOS, 44
PULSE, 36
SETO, 36
SETRA, 36
SETRV, 36
Shut down, 35
Start up, 35
P2OS commands, 34
p2oscf, 48
Commands, 49
Restore, 50
Save, 50
p2osdl, 47
Packets
SYNC, 35
Checksum, 30
CONFIGpac, 41
Configuration, 41
Data types, 30
ENC ODERpa c , 42
Errors, 30
Extended, 40
GRIPPERpac, 42
IOpac, 44
RVEL, 36
Safety, iii
Safety Watchdog, 18
Saphira, 6
TCM2, 43
VEL, 36
VEL2, 36
SETO, 36
SETRA, 36
SETRV, 36
Simulator, 6
Software, 4
Software download, 2
Software downloads, 5
Sonar, 38
Firing rate, 13
ON-OFF, 38
Sonar, 13
Sonar Gain, 13
Specifications, 10
Stalls, 18
Connection, 21
Disconnecting, 23
Errors, 23
Installation, 19
Main display, 22
Operation, 22
Problems, 23
Servers, 29
PLAYLISTpac, 42
Processing, 40
Protocols, 30
Startup, 20
SERAUXpac, 41
TCM2pac, 43
Payloads, 10
Saphira.h, 35
Self-Tests, 25
Analog, 28
PeopleBot, 8
Bumpers, 27
Compass, 27
Digital I/O, 28
Enabling, 26
Gripper, 27
I/O, 61
stallval, 18
PeopleBot sensors, 18, 45
Physical characteristics, 10
PID parameters, 52
Pioneer 1, 7
stallwait, 18
STATUS, 16
Support, 3
Motors, 26
SYNC, 35
Pioneer 2, 8
PWM, 28
Sonar, 27
SERAUXpac, 41
Serial
Auxiliary port, 60
Console Port, 59
Host port, 60
Internal ports, 60
SERIAL port, 17
Serial ports
AUX, 41
Server Information Packets,
32
Tabletop sensors, 18
TCM2, 27, 43
Timer, 43
Pioneer 2 Operating System,
8
Pioneer 2-AT, 8
Pioneer 2-CE, 7
Pioneer 2-DX, 7
Pioneer 2-DXE, 8
Pioneer AT, 7
Pioneer Server Operating
System, 7
PLAYLIST, 42
PLAYLISTpa c , 42
POLLING, 38
Ports
Trainer, 6
Translation, 36
Troubleshooting, 23
User I/O, 25, 43
Analog, 28
Digin, 28
Digout, 28
PWM, 28
User I/O Ports, 60
Analog, 61
Digital, 61
User power, 63
Vector
2X, 53
TCM2, 53
VEL, 36
VEL2, 36
Servers, 29
Joystick, 65
Power, 63
ADSEL, 43
Autoconfiguration, 35
BUMP_STALL, 39
CLOSE, 36
DCHEAD, 36
DHEAD, 36
DIGOUT, 44
E_STALL, 39
E_STOP, 39
Fuse, 15
Main, 15
User, 63
Power board, 15
PSOS, 7
PTUPOS, 44
PULSE, 36
PWM, 44
Wait State, 21
watchdog, 18
WorldPass, 5
ENCODER, 42
69
Download from Www.Somanuals.com. All Manuals Search And Download.
Warranty & Liabilities
Your Ac tivMedia robot is fully wa rra ntied a ga inst defec tive pa rts or a ssembly for one yea r
a fter it is shippedto you from the fa c tory. Ac c essories a re wa rra ntied for 90 da ys. This
wa rra nty explic itly doe s not inc lude da ma ge from shipping or from a buse or
ina ppropria te opera tion, suc h a s if the robot is a llowed to tumble or fa ll off a ledge, or if it
is overloa ded with hea vy objec ts.
The developers, ma rketers, a nd ma nufa c turers of Ac tivMedia Robotic s produc ts sha ll
bea r no lia bilities for opera tion a nd use of the robot or a ny a c c ompa nying softwa re
exc ept tha t c overed by the wa rra nty a nd period. The developers, ma rketers, or
ma nufa c turers sha ll not be held responsible for a ny injury to persons or property involving
Ac tivMedia Robotic s produc ts in a ny wa y. They sha ll bea r no responsibilities or lia bilities
for a ny opera tion or a pplic a tion of the robot, or for support of a ny of those a c tivities.
And under no c irc umsta nc es will the developers, ma rketers, or ma nufa c turers of
Ac tivMedia Robotic s produc t ta ke responsibility for support of a ny spec ia l or c ustom
modific a tion to Ac tivMedia robots or their softwa re.
70
Download from Www.Somanuals.com. All Manuals Search And Download.
71
Download from Www.Somanuals.com. All Manuals Search And Download.
44 Concord Street
Peterborough, NH 03458
(603) 924-9100
(603) 924-2184 fax
Download from Www.Somanuals.com. All Manuals Search And Download.
|