Abstract
This chapter presents a design methodology of discrete event distributed control architecture for autonomous mobile robot systems. A modular, behavior-based distributed software architecture is presented on a hierarchical distributed microcontroller based hardware structure for intelligent control of mobile robots. Some intelligent behaviors, such as wall following, obstacle rounding, target seeking, and local environment mapping, have been implemented using sensor control modules such as multiple infrared range finding sensor modules and motion control modules to detect walls and obstacles in the surroundings of a mobile robot, based on environment features such as lines and corners estimated using a set of range sensors and a vision sensor. Upon these behavior modules, a Petri net based approach was applied to coordination of several concurrent activities of modules for the high-level tasks such as sensory navigation in unknown environments. Task specification implies the definition of a control program composed of behavior commands, which are not expressed in a sequential fashion but implicating parallel processing control. The net model can be directly obtained from the system requirements specification of each particular application. Thus, the remaining levels of the control structure are common to a wide range of applications. The Petri net based approach validates the implementation of synchronization and coordination in discrete event behavior-based control. Behavior modules are composed to design more complex modules according to applications. The detailed function of each control module is specialized according to the application, so that new control strategies can be easily embedded in the control modules for real-time performance of robotic actions. Compared to hand-written coding in robot program, because of explicit representation of robotic actions, behaviors and tasks, the system design procedure facilitates the understanding of the interaction among the different processes that might be present in the mobile robot control system. Consequently, it is easy and computationally inexpensive to design, write, and debug planned tasks. Besides it is possible to verify structural and behavioral properties of these programs owing to formal specification.