Position integration, Sonar, Enable/disabling sonar – Pioneer 2TM User Manual
Page 47: Polling sequence and rate, Onar
ActivMedia Robotics
Consequently, we typically use a minimum value for Ki in the range of 0 to 10 for lightly to
heavily loaded robots respectively.
Position Integration
ActivMedia robots, including Pioneer 2s and 3s, track their position and orientation based
on dead-reckoning from wheel motion derived from encoder readings. The robot
maintains its internal coordinate position in platform-dependent units, as reported in the
standard SIP (Xpos, Ypos, and Thpos).
Be aware that with the simulator as well as with real robots, registration between external
and internal coordinates deteriorates 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, depending on the surface. Carpets tend to be worse than
hard floors.
Also, moving either too fast or too slow tends to exacerbate the absolute position errors.
Accordingly, consider the robot’s dead-reckoning 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 with respect to a global map.
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.
You may reset the internal coordinates to 0,0,0 with the SETO command #7.
S
ONAR
When connected with and opened by the client, AROS automatically begins firing your
robot’s sonar, one disc each simultaneously for each array, as initially sequenced and
enabled in your robot’s FLASH parameters. The sonar servers also begin sending the
sonar-ranging results to the client via the standard SIP.
Enable/Disabling Sonar
Use the SONAR client command #28 to enable or disable all or individual sonar arrays.
Set ("1") bit zero of the SONAR argument to enable or reset it ("0") to disable the sonar
pinging. Set argument bits two through four to an individual array number one through
four to enable or disable only that array. Array zero, the form of the P2OS command,
affects all the arrays at once.
For example, an argument value of one enables all the sonar arrays, whereas an
argument value of six silences array number three. Monitor the status of the sonar arrays
in the FLAGS integer of the standard SIP.
Polling Sequence and Rate
Each array’s sonar fire at a rate and in the sequence defined in your robot’s FLASH
parameters. (Consult the next chapter on how to change the FLASH settings.) Use the
sonar POLLING command #3 to have your client change the firing sequence, and the
SONAR_CYCLE command #48 to change the rate. The changes persist until you reset the
controller or restart the client-server connection.
The POLLING command string argument consists of a sequence of sonar numbers one
through 32. Sonar numbers one through eight get added to the polling sequence for
41