An approach based on concurrent object oriented programming (COOP) to build a control system for a mobile robot is presented. A behavior-based control system is decomposed in intercommunicating concurrent objects named Agents. These agents belong to five categories: Primitive Sensor, Virtual Sensor, Behavior, Primitive Actuator and Virtual Actuator. Based on this approach, a C++ tool is developed, where the categories above are implemented as C++ classes, in which built-in communication mechanisms are included. Each class has a standard interface and functionality. It is possible, then, to develop a complex control system by deriving new classes from the base classes and by instantiating objects. These objects are interconnected in a dynamic manner and thus building a control system with different behavior levels, which is able to react to environment changes.
behavior-based control; agents; mobile robots; concurrent object-oriented programming