Position Integration; Sonar - Pioneer 2 / PeopleBot Operation Manual

Pioneer 2 / peoplebot operations manual
Table of Contents

Advertisement

Pioneer 2 Operating System

Position Integration

Pioneer keeps track of its position and orientation based on dead-reckoning from wheel
motion, which is an internal coordinate position.
+90
+Y
Figure 21. Internal coordinate system for P2OS
The orientation commands HEAD and DHEAD turn the robot with respect to its internal
dead-reckoned angle. On start-up, the robot is at the origin (0,0), pointing toward the
positive X-axis at 0 degrees. Absolute angles vary between 0 and 359. As the robot
moves, it will update this internal position based on dead-reckoning. The X,Y position is
always positive, and rolls over at about 3,000 millimeters. So, if the robot is at position
(400,2900) and moves 400 millimeters along the Y-axis and -600 millimeters along the X-
axis, its new position will be (2800,300).
You may reset the internal coordinates to 0,0,0 with the SETO P2OS command.

Sonar

When OPENed (see Opening the Servers—OPEN above), P2OS automatically begins firing
your robot's sonar arrays in the predefined default sequence: 1
32, one sonar per array simultaneously.
results to the client via the server-information packet.
enable (argument is "1") or disable (argument is "0") the sonar pinging. This is an all or
nothing command; you cannot disable a single array this way.
For example:
sfRobotComInt(sfCOMSONAR,0);
Use the sonar POLLING command to change the polling sequence of an array. Its
argument is a null-terminated string of up to 15 sonar numbers.
numbered \001 through \010 (octal), and the rear sonar are \011 through \100, for
See the next chapter for details on how to enable sonar arrays with p2oscf.
20
38
0
+X
Front
+270
+180
20
/* Stop the pinging when not needed */
Registration between external and
internal
coordinates
rapidly with movement, due to
gearbox play, wheel imbalance
and slippage, and many other real-
world factors. You can rely on the
dead-reckoning ability of the robot
for just a short range—on the order
of several meters and one or two
revolutions,
surface. Carpets tend to be worse
than hard floors.
Also, moving either too fast or too
slow tends to exacerbate the ab-
solute position errors. Accordingly,
consider the robot's dead-reckon-
ing capability as a means of tying
together sensor readings taken over
a short period of time, not as a
method of keeping the robot on
course in a global map.
8, 9
P2OS also begins sending the sonar-ranging
Use the SONAR command to
deteriorates
depending
on
the
16, 17
24, and 25
Front sonar are

Advertisement

Table of Contents
loading

Table of Contents