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.

SONAR

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

Page 47
Image 47
Pioneer 2TM, 3TM manual Position Integration, Enable/Disabling Sonar, Polling Sequence and Rate