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.
   359   360   361   362   363   364   365   366   367   368   369