Behavioral based control is very complex. Many different responses to the environment must be integrated with intelligent decision making. No one paradigm is capable of serving as the sole controller in such a system. Further, if the designer wished to include another behavior or trait in the system, he would have to completely retrain the one-paradigm model.
Figure 11.1 is a data-flow diagram of the complete Behavioral-Navigation-System. Each of the rectangles in the diagram is a separate controller. In the following sections each of those rectangles will be expanded into diagrams depicting the particular paradigm used. Each of the rectangles is called a subsystem.
In a subsystem approach, each task of behavior is handled by a separate controller. The added advantage is that each controller may be optimized by using the paradigm that solves that particular task the best. Each controller performs its task independent of the other controllers. For instance, the Goal Seeking subsystem is unconcerned whether the target information is coming from a real target or on generated by Artificial Target Generator. The Torque Controller functions to convert desired heading and velocity inputs into a pair of wheel torques. The Torque Controller does not know or even care whether the control is coming from Edge Following or Goal Seeking Outputs. The Proximity Detection acts only to modify the Goal Seeking output. If the map was unobstructed, the Proximity Detection subsystem could be removed and the Goal Seeking subsystem and the Torque Controller would still function to bring the vehicle to its objective. The Artificial Target Generator is an example of adding a behavior to the completed system. Originally the system only went to its objective. That is what it was designed and trained to do. Creating a random wandering behavior did not require the redesign or retraining of the whole system. And, it did not require the construction of a whole separate control system complete with navigation. Another subsystem was built and trained independent of the Behavioral-Navigation-System and inserted into one of the data flow lines.
This module is part of a robotics simulation that was demonstrated in a Master's Thesis entitled: