Page 364 - Introduction to AI Robotics
P. 364
347
Hybrid Architecture
9.5 Case Study of Topological Navigation with a
fail. The robot was eventually fixed and the software worked fine. The tests
before and after the competition offered several practical lessons.
First, it is critical to build the abstract navigation behaviors out of robust
primitives. The biggest problem with the implementation has not been with
the scripts per se, but rather with the quality of the primitive behaviors.
If the robot cannot reliably detect an open doorway while it is following a
wall around a room, it will never exit no matter what the script says. Sec-
ond, contention for sensing resources is an emerging issue for robotic con-
trol schemes. The video camera on the robot did not have a pan mech-
anism; essentially, Clementine’s directional control is the camera effector.
In one instantiation of the navigate-hall behavior between a H node
and a Hd node, the nominal behavior of hallfollow frequently pointed
Clementine and her camera away from the anticipated location of the door,
interfering with the confirm-door perceptual behavior used to terminate
navigate-hall. Even at slow speeds, Clementine frequently missed the
door. One alternative is to let the two active behaviors take turns with con-
trol of the robot. This leads to a move, stop, sense scenario which slowed the
robot’s progress and still allowed the robot to roll past the door.
Note that the representation and path planning algorithm support the ad-
dition of metric information. The metric distance between every visited
could be stored in the database. The distance could be attached to the ref-
erence index in the node class, much the same as the nodes connected to the
N, E, S, W are stored. One problem with simply attaching the metric dis-
tance is deciding what distance value to use. If wallfollow takes the robot
around the perimeter of a foyer in order to exit, the distance traveled will not
reflect the straight line distance between nodes. Nor is the measure bidirec-
tional; going N-S through the foyer could be significantly longer than S-N if
the foyer is asymmetric and the robot follows different walls each time. On
the other hand, if the width of a foyer were known, the robot might possibly
be able to use dead reckoning to move directly across it to the desired exit.
The impact of obstacles lengthening the distance traveled can also be a prob-
lem, especially if the obstacles are people moving down a hall. A short hall
can take a long time to navigate if it is cluttered during one visit, but a short
time during another. Another difficulty with adding metric distances is how
to use it effectively. Metric distances may not be known for all pairs of nodes,
making it difficult to apply Dijkstra’s algorithm. Likewise, distance may be
only one factor in selecting a route; our current implementation prefers go-
ing through halls versus taking short cuts between rooms. Utility theory can
be used to quantitify the impact of these competing concerns.