Page 195 - Introduction to AI Robotics
P. 195

178
                                              FSA   Behavioral analog     5 Designing a Reactive Implementation
                                              K     all the behaviors for a task
                                                    the releasers for each behavior in K
                                                    the function that computes the new state
                                              s     the behavior the robot starts in when turned on
                                              F     the behavior(s) the robot must reach to terminate


                                       In more complex domains, robots need to avoid obstacles (especially peo-
                                     ple). Avoidance should always be active, so it is often implicit in the FSA.
                                     move-to-goal often is shorthand for move-to-goal and avoid. This implicit
                                     grouping of “interesting task-related behaviors” and “those other behaviors
                                     which protect the robot” will be revisited in Ch. 7 as strategic and tactical
                                     behaviors.
                                       Another important point about using FSA is that they describe the over-
                                     all behavior of a system, but the implementation may vary. Fig. 5.8 is an
                                     accurate description of the state changes in the UGV entry. The control
                                     for the behaviors could have been implemented exactly as indicated by the
                                     FSA: if following-line is active and range returns range near, then move-
                                     ahead. However, due to timing considerations, the entry was programmed
                                     differently, though with the same result. The following examples will show
                                     how the FSA concept can be implemented with subsumption and schema-
                                     theoretic systems.


                              5.5.2  A Pick Up the Trash FSA
                                     As another example of how to construct and apply an FSA, consider the Pick
                                     Up the Trash task. Assume that the robot is a small vehicle, such as the ones
                                     used by Georgia Tech shown in Fig. 5.7 or the Pioneer shown in Fig. 5.10,
                                     with a camera, and a bumper switch to tell when the robot has collided with
                                     something. In either case, the robot has a simple gripper. Assume that the
                                     robot can tell if the gripper is empty or full. One way to do this is to put an
                                     IR sensor across the jaw of the gripper. When the IR returns a short range,
                                     the gripper is full and it can immediately close, with a grasping reflex. One
                                     problem with grippers is that they are not as good as a human hand. As such,
                                     there is always the possibility that the can will slip or fall out of the gripper.
                                     Therefore the robot should respond appropriately when it is carrying a can
                                     or trash and loses it.
                                       The Pick Up the Trash environment is visually simple, and there are obvi-
                                     ous affordances. Coca-cola cans are the only red objects in the environment,
   190   191   192   193   194   195   196   197   198   199   200