This paper presents a heterogeneous, asynchronous architecture for controlling autonomous mobile robots which is capable of controlling a robot performing multiple tasks in real time in noisy, unpredictable environments. The architecture produces behavior which is reliable, task-directed (and taskable), and reactive to contingencies. Experiments on real and simulated real-world robots are described. The architecture smoothly integrates planning and reacting by performing these two functions asynchronously using heterogeneous architectural elements, and using the results of planning to guide the robot’s actions but not to control them directly. The architecture can thus be viewed as a concrete implementation of Agre and Chapman’s plans-as-communications theory. The central result of this work is to show that completely unmodified classical AI programming methodologies using centralized world models can be usefully incorporated into real-world embedded reactive systems.