Page 231 - Introduction to AI Robotics
P. 231
214
6 Common Sensing Techniques for Reactive Robots
strong to pass the thresholding in the transducer circuit. However, a new
FORESHORTENING problem, foreshortening, may occur. Recall that a sonar has a 30 field of view.
This means that sound is being broadcast in a 30 wide cone. If the surface is
not perpendicular to the transducer, one side of the cone will reach the object
first and return a range first. Most software assumes the reading is along the
axis of the sound wave. If it uses the reading (which is really the reading for
15 ), the robot will respond to erroneous data. There is no solution to this
problem.
SPECULAR REFLECTION Specular reflection is not only by itself a significant source of erroneous read-
ings; it can introduce a new type of error in rings of sonars. Consider a ring
of multiple sonars. Suppose the sonars fire (emit a sound) at about the same
time. Even though they are each covering a different region around the ro-
bot, some specularly reflected sound from a sonar might wind up getting
received by a completely different sonar. The receiving sonar is unable to tell
the difference between sound generated by itself or by its peers. This source
CROSS-TALK of wrong reading is called cross-talk, because the sound waves are getting
crossed. Most robot systems stagger the firing of the sonars in a fixed pattern
of four sonars, one from each quadrant of the ring) at a time. This helps some
with cross-talk, but is not a complete or reliable solution. If the sonar sound
frequency and firing rate can be changed (which is generally not the case),
then sophisticated aliasing techniques can be applied. These techniques are
outside the scope of this book.
One researcher, Monet Soldo, told a story of when she developed a reactive
mobile robot for IBM’s T.J.Watson Laboratories during the late 1980’s. The
robot used sonar as its primary sensors, and she had written behaviors to
guide the robot through doors, rooms, and hall successfully at reasonable
speeds. The day came for the big demonstration, which was to be held not
in the hallways of the laboratory but in the front reception area. The robot
navigated successfully out of the lab, down the halls, and then went berserk
when it got to the atrium. She rebooted, and tried again, but with the same
result. After days of trying to debug the code, she realized it wasn’t a code
problem, it was an environment problem: most of the atrium reception area
consisted of glass partitions. The specular reflection and cross-talk caused
the robot to hallucinate, although in different ways each time.
I had a similar problem when my robot started navigating in an office en-
vironment. In that environment, the robot was expected to navigate among
office cubes, or work areas delimited by partitions. The partitions were cov-
ered with cloth to dampen the sound from the workers. Unfortunately, the
cloth also absorbed the sound from the sonars! These stories emphasize the