Page 181 - Introduction to AI Robotics
P. 181

164
                                            1. Describe the task          5 Designing a Reactive Implementation
                                                                                     Specification
                                                                                      & Analysis:
                                            2. Describe the robot
                                                                                      ecological
                                                                                        niche
                                            3. Describe the environment


                                            4. Describe how the robot should
                                                                                        Design
                                            act in response to its environment



                                            5. Implement & refine each behavior
                                                                                   Implementation &
                                                                                      unit testing
                                            6. Test each behavior independently



                                            7. Test behaviors together              System testing


                                     Figure 5.3 Steps in designing a reactive behavioral system, following basic software
                                     engineering phases.




                                     a behavioral decomposition appears obvious to a roboticist after thinking
                                     about the ecological niche. For example, in the 1994 and 1995 Pick Up the
                                     Trash events, most of the teams used a partitioning along the lines of: ran-
                                     dom search until see red, move to red, pick up can, random search until see
                                     blue, move to blue, drop can.
                                       Roboticists often attempt to find an analogy to a task accomplished by
                                     an animal or a human, then study the ethological or cognitive literature for
                                     more information on how the animal accomplishes that class of tasks. This,
                                     of course, sidesteps the question of how the roboticist knew what class of an-
                                     imal tasks the robot task is similar to, as well as implies a very linear think-
                                     ing process by roboticists. In practice, roboticists who use biological and
                                     cognitive insights tend to read and try to stay current with the ethological
                                     literature so that they can notice a connection later on.
                                       Steps 5-7 are less abstract. Once the candidate set of behaviors has been
                                     proposed, the designer works on designing each individual behavior, spec-
   176   177   178   179   180   181   182   183   184   185   186