Page 180 - Introduction to AI Robotics
P. 180

163
                                      5.3 Steps in Designing a Reactive Behavioral System
                                      in the case of potential fields, a vector of (0.0,0.0), which is the same as if the
                                      behavior wasn’t active at all. This style of programming can tie up some
                                      resources, but is generally a simple, effective way to program. Fig. 5.2 shows
                                      the two approaches.
                                        Either way, once the robot saw red, the observable aspect of move to goal
                                      (e.g., moving directly toward the goal) would commence. The extract goal
                                      schema would update the percept data (relative angle of the goal and size of
                                      red region) every time it was called. This percept would then be available to
                                      the motor schema, which would in turn produce a vector.
                                        As will be covered in Sec. 5.5, the releaser must be designed to support the
                                      correct sequence. Depending where the robot was in the sequence of activi-
                                      ties, the robot uses move to goal to move to a red Coke can or a blue recycling
                                      bin. Otherwise, the robot could pursue a red Coke can and a blue recycling
                                      bin simultaneously. There is nothing in the OOP design to prevent that from
                                      happening—in fact, OOP makes it easy. In this situation, there would be two
                                      move to goal objects, one instantiated with goal of “red” and the other with
                                      goal of “blue.” Notice that the move to goal behavior can use any perceptual
                                      schema that can produce a goal angle and goal strength. If the robot needed
                                      to move to a bright light (phototropism), only the perceptual schema would
                                      need to be changed. This is an example of software reusability.


                                5.3   Steps in Designing a Reactive Behavioral System


                                      Fig. 5.3 shows the steps in designing a reactive behavioral system, which
                                      are taken from Behavior-Based Robotics 10  and a case study by Murphy. 98  This
                                      section will first give a broad discussion of the design process, then work
                                      through each step using the winning approach taken in the 1994 Unmanned
                                      Ground Vehicle Competition.
                                        The methodology in Fig. 5.3 assumes that a designer is given a task for the
                                      robot to do, and a robot platform (or some constraints, if only budgetary).
                                      The goal is to design a robot as a situated agent. Therefore, the first three
                                      steps serve to remind the designer to specify the ecological niche of the robot.
                                        The fourth step begins the iterative process of identifying and refining the
                                      set of behaviors for the task. It asks the question: what does the robot do? Defin-
                                      ing the ecological niche defines constraints and opportunities but doesn’t
                                      necessarily introduce major insights into the situatedness of the robot: how it
                                      acts and reacts to the range of variability in its ecological niche. This step is where
                                      a novice begins to recognize that designing behaviors is an art. Sometimes,
   175   176   177   178   179   180   181   182   183   184   185