Page 231 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 231
Chapter 14
Certainly, the advantage to tight coupling is obvious in that the current odometry es-
timate is available to the navigation agent in real time; the disadvantage is one of
flexibility. If all navigation agents and sensor interfaces must be built into the main
computer of the robot, then it may be difficult to expand the system as time goes on.
I have read papers that dismissed loosely coupled systems, explaining that loosely
coupled processes cannot adequately compensate for motion distortion of sensor
data. We did not find this to be true, at least for indoor robots.
Cybermotion robots were designed for maximum flexibility, so they were loosely
coupled. In order for the slave processors to know the robot’s current position esti-
mate, a serial broadcast message is transmitted ten times per second. This message
contains not only the coordinates, but also the acceleration and velocity of the drive
and steering servos. The received broadcast is placed in local memory along with a
time reference from a local time counter.
When the lidar data is received, each range reading is converted into a relative XY
target position by first calculating the position of the robot at the time of the read-
ing and then adding the vector angle and range to that position. This compensation
was completely adequate for all conditions except rapid turning and deceleration.
During these types of maneuvers the errors are not constant as they are in straight-
line motion, so the fuzzy logic filters them out very nicely.
It may be tempting to dismiss message latency if one is using a fast Ethernet connection
between the processes. It is important not to confuse the bandwidth of the connec-
tion with the message latency. For small amounts of data, an Ethernet connection
may not be faster than a high-speed serial connection.
For high-speed outdoor vehicles, there is no doubt that tight coupling is nearly essen-
tial. It may become necessary at these higher speeds to record the actual position
estimates of the robot into an array at the same rate that the lidar is collecting range
readings. Then when the scan data is returned, the backward processing of the array
against the laser range data can be accomplished.
Thinking of a mobile robot as multiple robot time-places
We tend to think of problem solving from a static perspective. This implies that we
expect the robot to be able to determine its position and heading without moving.
This is often not the case. Instead, we must take advantage of our odometry accuracy
to allow us to take readings from two or more time-places and assume they are in the
same coordinate system. Again, this is only possible with good odometry.
214

