would be considered to satisfy both the regression and completeness properties, since
> ∧ at door is a tautology, and the result of action find door is to achieve the pre-
condition at door. A complete teleo-reactive program which satisfies the regression
property is said to be universal.
Teleo-reactive programming appeals as the basis of a method for robot control due
to their goal-directed nature, and recoverable properties. Rather than planning a dis-
crete, explicitly sequenced series of actions (although simpler TR programs can appear
like this), TR programs make action a direct mapping from sensor inputs, in the be-
havioural style of (cite some Brooks here). As a result, robots can opportunistically
take advantage of external events which might satisfy some rule’s precondition without
the robot acting for itself, or recover from adverse external events without re-planning.
For example, a program intended to seek out trails, then follow them to a cache of
some resource might be written:
see resource → collect resource
on trail → follow trail
> → wander
Should the robot be following a trail and for some reason lose it, or perceive that a
cache it had found becomes exhausted, it will simply default to the lower priority rules
as appropriate; no re-planning is needed. Conversely, should the robot be wandering
and fortuitously happen across a resource cache, it will simply skip the trail-following
stage, and opportunistically execute its collect resource action without having
to do any intermediate re-planning to cope with this unexpected stroke of luck.
Appealing though they are for intuitively constructing simple (and even moderately
complex) behaviours, teleo-reactive programs are limited in the extent to which they can
be used as a robot control architecture. They contain no defined mechanism for com-
munication; program state is (deliberately) minimal, and they are inherently directed
at a single goal. All of these factors limit their (unmodified) application as a taskable,
cooperative robot control system.
2.2 The Triple Tower
More recently [8], Nilsson described his Triple Tower architecture (Figure 1), building
on the foundation of teleo-reactive programs to construct a more capable architecture
aimed at a more cognitive style of robot control.
Acknowledging the need for control at different levels of abstraction, Nilsson pro-
poses (orthogonally to the traditional three-layer architecture) three towers, respectively
representing a robot’s perceptual expertise, its model of the world at a given time, and
its response functions. Each is intended to consist of an arbitrary number of levels, as
appropriate to the specific application.
The Model Tower, as indicated in figure 1, contains the predicates which comprise
the robot’s world model. At the lowest level, these directly correspond to the data ar-
riving from the robot’s sensors. The robot then uses the inference rules contained in the
Perception Tower to deduce higher-level information about its environment (e.g. navi-
gational information, task progress, etc.). To borrow Nilsson’s own example, a block-
stacking robot might directly perceive only whether each block is on another block,
56