beautypg.com

Position integration, Sonar, Enable/disabling sonar – Pioneer 2TM User Manual

Page 47: Polling sequence and rate, Onar

background image

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

This manual is related to the following products: