The Intelligent Machine Architecture (IMA) is an agent-based software system that permits robot control through collections of cooperating software agents (Figure 1). In a general sense, IMA is an architecture for concurrently executing IMA agents on separate machines that perform as a group through extensive inter-agent communication. Atomic IMA agents are autonomous entities that have one or more execution threads. Typically, an atomic agent cannot perform useful activity independently. Collections of IMA agents interact to complete tasks by providing capabilities, such as sensing the external environment. For robot control, various types of IMA agents exist, including: hardware agents for accessing sensors and actuators, environment agents for abstracting object and environment interactions. Within IMA, the robot itself is abstracted as a self-agent(SA), and the state of external entities, such as people, is abstracted in the form of human agents.
The self-agent uses a memory database structure, consisting of short-term and long-term structures, to determine the appropriate situational control commands for the robot. The short-term memory (STM) uses the Sensory EgoSphere (SES) to represent short-term external events in the environment. The SES is a data structure that provides a short-term-memory to store events, such as the state of external human agents. The long-term memory (LTM) contains information about procedures considered intrinsic to the robot. The self-agent uses both the short and long term memory structures to provide control. The STM is used by the self-agent to provide an estimate of the current external state for determining appropriate task-level intentions for the robot. Based on these intentions, the self-agent uses procedures in LTM to provide control commands to accomplish the robot's intentions. In this paper, we propose a self-agent that uses derived behaviors as procedures to produce motion control for achieving robot objectives. Within the self-agent, we are working on a central executive controller (CEC) uses the derived behaviors in LTM.
Figure 1. Component view of the IMA multi-agent-based system
IMA Documentation Page