DARPA Mobile Autonomous Robot Software (MARS) Project
ISAC Group: DataBase Associative Memory and Spreading Activation Network
The DataBase Associative Memory (DBAM) is a data structure that allows a robot to recall sequences of associated actions. The DBAM provides long-term memory for the robot by combining a database for holding information with a spreading activation mechanism for performing recall. An interface to the DBAM communicates with other agents in the robotic system. This interface allows system agents to cue the memory, modify memory and add new information to memory.
The Spreading Activation Network (SAN) uses a probabilistic spreading activation algorithm. This algorithm operates on action nodes and condition nodes. The SAN propagates activation throughout these nodes to determine what action to perform in the given state of the robot. This action recall can be reactive or deliberative. The DBAM continuously monitors the state of the robot. If a state change occurs, the condition nodes in the DBAM change value. This causes a change in the activation propagation of the SAN. However, the DBAM also allows for learning. The learning of sequences can create deliberative planning.
The database holds the action and condition nodes and all information needed about these nodes. This includes the connections between nodes and all probabilities needed for activation propagation. The SAN queries the database for information needed in the spread of activation. These two components communicate directly with each other. An interface allows the DBAM to interact with other agents in the system. Input into the DBAM consists of specific condition nodes and their values. The specific condition nodes are those that begin the spread of activation. Output from the DBAM consists of an action node that received the highest activation. This action node denotes the next action to be performed.
Figure 1 shows a simple sequence that has been directed using the DBAM. The sequence describes actions for a humanoid robot to perform in the task of greeting a human. The ovals denote condition nodes and the boxes denote action nodes. Depending on the state of the robot at each condition node, a certain set of actions is taken to meet the goal of "Greeting Complete". The DBAM has successfully recalled associated actions to perform to reach the goal under all states possible.