We have described how a number of partial representations embedded in parallel control paths can be used to control a mobile robot. This approach allows the incremental development of a system by the accretion of successive performance layers and is operationally robust because of its flexible activity scheduling. We then turned to practical matters and showed how to create basic behaviors by defining a number of easily extractable partial representations and then devising appropriate control actions for each key situation. Next, we discussed how each behavior contains some grain of expertise concerning a particular subtask and then explained how to make these individual behaviors cooperate to achieve the overall task. Finally, we examined several ways in which outside guidance could be provided to such a distributed system.
In the course of explaining the design principles we have also covered a variety of different types of behaviors. Looking back on these, we find that they basically fall in to four classes. First, there is the collection of primitive "Avoidance" behaviors. These take care of collision with obstacles, escaping from predators, and maintaining the appropriate the separation from the creature's peers. On top of these, there are usually a number of "Exploratory" behaviors. These let the robot do things like map its environment or forage for "food". Beyond these, there is typically a class of "Seeking" behaviors which cause the robot to go to some predefined location or to approach some type of target when it is visible. Finally, although not discussed here, there is also usually a collection of "Social" behaviors. These govern aspects such as "courtship", ritualized combat, cooperative building (e.g. of nests), and team hunting (i.e. in packs). You might want to keep these four broad classes in mind when designing behaviors for your own robot.
While you can spend years developing a theoretically perfect set of control algorithms, chances are they will not work in the real world. Our approach has been along engineering lines instead: we first find out what works then go back and try to extract useful generalizations from it. We believe empirical studies such as this to be of great value in mobile robotics. This is the driving force behind the Generic Robot Assembly Kit - making it relatively easy for you to devise and experiment with your own creatures, similar to those describe here.
Copyright © 1992, Johuco Ltd., All Rights Reserved