Page 199 - Introduction to AI Robotics
P. 199

182
                                                                          5 Designing a Reactive Implementation
                                     able), instead of letting directly perceivable attributes of the world inform the
                                     robot as to what state it is in. Internal state is incompatible with reactivity.
                                       The FSA also hid the role of the avoid behavior. The avoid behavior was
                                     always running, while the other behaviors were asynchronously being in-
                                     stantiated and de-instantiated. It is difficult to show behavioral concurrency
                                     with an FSA. Other techniques, most especially Petri Nets, are used in soft-
                                     ware engineering but have not been commonly used in robotics. The avoid
                                     behavior was not a problem in this case. It was always running and the out-
                                     put of the avoid potential field vector could be summed with the output of
                                     whatever other behavior was active.

                              5.5.3  Implementation examples

                                     In a schema-theoretic implementation, the FSA logic would exist in one of
                                     two places. If the robot’s sole task was to recycle soda cans, the controlling
                                     logic could be placed in the main program. If the robot had many tasks that
                                     it could do, the ability to recycle trash would be an abstract behavior, called by
                                     the main program whenever the robot needed to recycle trash. In that case,
                                     the FSA logic would be placed in the coordinated control program slot of the
                                     behavior schema.
                                       Although the current discussion is on where the FSA goes, it might be use-
                                     ful to spend some time on the overall implementation. While the wander-to-
                                     goal and move-to-goal behaviors can be easily implemented with a potential
                                     fields methodology, drop-trash cannot. Drop-trash really isn’t a navigation
                                     behavior. It fits the overall profile of a behavioral schema: it has an obvious
                                     motor schema (open the gripper, turn the wheels), a perceptual schema (read
                                     gripper encoders and wheel encoders), a coordinated control program (open
                                     THEN turn), and a releaser (at trash can). While schema-theoretic implemen-
                                     tations use potential field methodologies and vector summation for effector
                                     control, not every behavior will generate a vector based on a potential field.
                                       One advantage of FSA is that they are abstract, and can be implemented
                                     in a number of ways. The behavior table illustrated one way the FSA could
                                     be implemented with a schema-theoretic system. Fig. 5.12 shows one way
                                     it could be implemented in subsumption. This example shows the power
                                     of inhibition and suppression which is not well represented by FSA state
                                     diagrams.
                                       In keeping with the idea of modularity and incrementally adding behav-
                                     iors, the system starts with an explicit avoid behavior running on top of Level
                                     0 (not shown). At the next level the robot wanders until it sees red. Then
   194   195   196   197   198   199   200   201   202   203   204