Using a Blackboard to Integrate Multiple Activities and Achieve Strategic Reasoning for Mobile-Robot Navigation
Issue No. 02 - April (1995 vol. 10)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/64.395354
<p>The activity-based blackboard system consists of two hierarchical layers for strategic and reactive reasoning: A blackboard database to keep track of the state of the world and a set of activities to perform real-time navigation.</p> <p>Developing a mobile robot gives us the opportunity to investigate issues in the design of intelligent systems because the robot's mobility forces us to deal with many unpredictable environmental situations. One dictionary definition of intelligence is the ability to deal with new or trying situations. Thus, a mobile robot that reliably navigates in unknown environments gives the appearance of intelligent behavior. The main idea of an autonomous vehicle is quite simple: Given a task to perform, it must have the ability to perceive the environment and act appropriately. This ability requires a feedback control system to link the vehicle's sensing and control. Unfortunately, autonomous robots have characteristics not yet satisfactorily addressed by the classical control community:</p> <p><li>Solving the problems encountered by the mobile robot generally requires the integration of several methodologies.</li> <li>The robot's decision space is discrete and composed of distinct elements as opposed to continuous functions.</li> <li>The system must react to the environment in an appropriate time period.</li> <li>Due to the limitations of the sensors and sensory processing, most of the knowledge the robot acquires is either incomplete or uncertain.</li></p> <p>To address these problems, we have designed a mobile-robot system architecture that uses a blackboard to coordinate and integrate several real-time activities. An activity is an organizational unit, or module, designed to perform a specific function, such as traversing a hallway, going down steps, crossing over an open channel on the floor, or tracking a landmark. An activity resembles a behavior in that it controls the robot to perform a specific task. It differs from a behavior in that it is designed to perform the specific task in a narrow application domain, whereas a behavior generally resembles a biological response--that is, an organism's response to a stimulus.</p> <p>Payton defined the term activity as an instance of an activation set, where an activation set is composed of a number of behaviors. Payton's activities are a way to specify a combination of behaviors to achieve a more complex behavioral pattern. In contrast, we make no attempt to define our activities as a combination of basic behaviors. In our system, several activities are necessary for the robot to perform simple tasks such as moving around a factory bay. Some of these basic navigation activities are traversing open space, crossing over floor anomalies (cables or channels), and avoiding collisions.</p> <p>The system architecture must define a mechanism to coordinate the mobile robot's activities since they cannot all drive the robot simultaneously. Most mobile-robot control systems are hybrid systems combining approaches from hierarchical, behavioral, and blackboard-based systems. Behavior-based systems have recently become more prevalent for controlling mobile robots.</p> <p>Hierarchical architectures, such as NASREM (NASA/NIST Standard Functional Architecture for Telerobot Control System Architecture) and IMAS (Intelligent Mobile Autonomous System), offer a nice paradigm for breaking down a global task into subtasks, but the hierarchical structure quickly degrades into a hierarchical command structure combined with distributed sensing similar to that implemented on Mobot III. Most of these systems use sense-think-act cycles that are difficult to implement in real time when the robot must deal with diverse sensing conditions. Lumia has demonstrated the use of NASREM-style architecture for real-time tracking and catching a ball falling through a maze of pegs, but this system has a well-defined, narrow scope of operation and does not require the sensing diversity that a mobile robot needs.</p> <p>In an attempt to add reflexive ability to a hierarchical system, Payton proposed a vertical decomposition along with the more classical horizontal, hierarchical decomposition, resulting in a hierarchical structure composed of reflexive behaviors at the lowest level. The effect is a hierarchical system capable of managing diverse sensing conditions--and therefore a more robust system. Arkin also emphasized the importance of a nonhierarchical broadcast of information. Arkin chose to design a system using agents that manipulate a unified representation of the world based on potential fields. Our system does not use a unified representation to coordinate activities but relies on procedural knowledge and sensory data posted on the blackboard to make a decision.</p> <p>Similar to the Codger system architecture used to drive CMU's Navlab, our system does not use its blackboard as a problem-solving mechanism but primarily as the supervisor and coordinator of several real-time activities. These activities continually post their current state and the current state of the environment to the blackboard. The perception and sensing components of an activity are designed to run concurrently. Not all communications between an activity's modules go through the blackboard, thus reducing communications bandwidth and making reactive behavior possible. Like a traditional blackboard system, our system uses a central database to store information accessible by a number of modules, but it differs functionally because the modules do not work cooperatively to solve a common problem.</p> <p>In our system architecture, the blackboard's rule set and knowledge determine which activity controls the mobile robot's actuators. A production system facilitates experimental determination of adequate conditions for selecting the activity controlling the vehicle, and the blackboard database serves as a repository of state data and sensory data from the activities. Strategic reasoning is the ability to process sensory inputs, stored information, and long-term goals so that the robot can make decisions with a global view of the environment. The decision about which activity will control the vehicle is based on sensory and state information from the activities and therefore is a form of strategic reasoning.</p>
A. Manz, R. Liscano, J. Tigli, E. R. Stuck and R. E. Fayek, "Using a Blackboard to Integrate Multiple Activities and Achieve Strategic Reasoning for Mobile-Robot Navigation," in IEEE Intelligent Systems, vol. 10, no. , pp. 24-36, 1995.