I describe an architecture for linking perception and action in a robot.
It consists of three "towers" of layered components. The "perception tower"
contains rules that create
increasingly abstract descriptions of the current environmental situation
starting with the primitive predicates produced by the robot's sensory apparatus.
These descriptions are deposited in a "model tower" which is continuously kept faithful
to the current environmental situation by a "truth-maintenance" system.
The predicates in the model tower, in turn, evoke appropriate action-producing
programs in the "action tower".
It is proposed that the actions be written as "teleo-reactive" programs ---
ones that react dynamically to changing situations in ways that lead inexorably
toward their goals. Programs in the action tower are organized more-or-less
hierarchically --- bottoming out in programs that cause the robot to take
primitive actions in its environment. The effects of the actions are
sensed by the robot's sensory mechanism, completing a sense-model-act cycle
that is quiescent only at those times when the robot's goal is perceived to be
satisfied. I illustrate the operation of the architecture using a simple