In this paper, two behavior control architectures for autonomous agents in the form of cross-platform C++ frameworks are presented, the State Controller Library and the Behavior Control Framework. While the former is state-based and generalizes the notion of states and finite state machines to allow for multi-action planning, the latter is behavior-based and exploits a hierarchical structure and the concept of inhibitions to allow for dynamic transitioning. The two frameworks have completely independent implementations, but can be used effectively in tandem to solve behavior control problems on all levels of granularity. Both frameworks have been used to control the NimbRo-OP, a humanoid soccer robot developed by team NimbRo of the University of Bonn.
A new architecture for controlling mobile robots is described. Layers of control system are built to let the robot operate at increasing levels of competence. Layers are made up of asynchronous modules that communicate over low-bandwidth channels. Each module is an instance of a fairly simple computational machine. Higher-level layers can subsume the roles of lower levels by suppressing their outputs. However, lower levels continue to function as higher levels are added. The result is a robust and flexible robot control system. The system has been used to control a mobile robot wandering around unconstrained laboratory areas and computer machine rooms. Eventually it is intended to control a robot that wanders the office areas of our laboratory, building maps of its surroundings using an onboard arm to perform simple tasks. Brooks, R.A., Intelligence without representation, Artificial Intelligence 47 (1991) 139159. Artificial intelligence research has foundered on the issue of representation. When intelligence is approached in an incremental manner, with strict reliance on interfacing to the real world through perception and action, reliance on representation disappears. In this paper we outline our approach to incrementally building complete intelligent Creatures. The fundamental decomposition of the intelligent system is not into independent information processing units which must interface with each other via representations. Instead, the intelligent system is decomposed into independent and parallel activity producers which all interface directly to the world through perception and action, rather than interface to each other particularly much. The notions of central and peripheral systems evaporateeverything is both central and peripheral. Based on these principles we have built a very successful series of mobile robots which operate without supervision as Creatures in standard office environments.  Most animals have significant behavioral expertise built in without having to explicitly learn it all from scratch. This expertise is a product of evolution of the organism; it can be viewed as a very long-term form of learning which provides a structured system within which individuals might learn more specialized skills or abilities. This paper suggests one possible mechanism for analagous robot evolution by describing a carefully designed series of networks, each one being a strict augmentation of the previous one, which control a six-legged walking machine capable of walking over rough terrain and following a person passively sensed in the infrared spectrum. As the completely decentralized networks are augmented, the robot's performance and behavior repertoire demonstrably improve. The rationale for such demonstrations is that they may provide a hint as to the requirements for automatically building massive networks to carry out complex sensory-motor tasks. The experiments with an actual robot ensure that an essence of reality is maintained and that no critical disabling problems have been ignored. The goal of my work is to develop and implement an architecture for an autonomous agent, which I refer to as "ANA". An ANA agent consists of a distributed set of "competence modules". Competence modules are linked in a network. A spreading activation process operates on the network to decide what the "relevance" or relative strength of a competence module is in the current context. This process implements a competition among modules for activation energy. The higher the activation energy level of a module, the more likely it is that this module determines what the autonomous agent does or communicates to believe. Learning is a central, completely integrated feature of the architecture. The competence module network is continuously being developed and changed on the basis of experience: links are added and deleted depending on real world observations and new "macro modules" are created whenever a goal is achieved. This paper presents an overview of the architecture. It describes the functionalities that have been implemented, the results that have been obtained with robotic and simulated ANA agents, and finally it discusses (current) limitations and future work.