Here is a model of the control loop paradigm:
A Control Loop Architecture
Most industrial robots support minimal handling of unpredictable events: the tasks are fully predefined (e.g, welding certain automobile parts together), and the robot has no responsibility with respect to its environment (it is rather the environment that is responsible for not interfering with the robot). The open loop paradigm applies naturally to this situation: the robot initiates an action or series of actions without bothering to check on their consequences [Lozano90].
Upgrading this paradigm to mobile robots involves adding feedback, thus producing a closed loop architecture. The controller initiates robot actions and monitors their consequences, adjusting the future plans based on this return information.
(R1) An advantage of the closed loop paradigm is its simplicity: it captures the basic interaction between the robot and the outside.
Its simplicity is also a drawback in the more unpredictable environments. One expert [Lozano90] comments on the fact that the feedback loop assumes that changes in the environment are linear and require linear reactions (e.g., like the control of pressure through the gradual opening and closing of a valve); robots, though, are mostly confronted with disparate, discrete events that demand switches between very different behavior modes (e.g., between controlling manipulator motions and adjusting the base position, to avert loss of equilibrium) . The model does not provide any hints as to how different kinds of events may be managed.
For complex tasks, the control loop gives no leverage for decomposing the software into cooperating components. If the steps of sensing, planning, and acting have to be refined, other paradigms have to provide the nuances the control loop model lacks.
(R2) For the resolution of uncertainty, the control loop paradigm is biased towards one method: reducing the unknowns through iteration; a trial-and-error process with action and reaction eliminates possibilities at each turn. If more subtle steps are needed, the architecture offers no framework for pintegrating these with the basic loop or for delegating them to separate entities.
(R3) Fault tolerance and safety are supported by the closed loop paradigm in the sense that its simplicity makes duplication easy and reduces the chance of errors creeping into the system.
(R4) The major components of a robot architecture (supervisor, sensors, motors) are separated from each other and can be replaced independently. More refined tuning has to take place inside the modules, at a level of detail the architecture does not show.
In summary, the closed loop paradigm seems most appropriate for simple robotic systems which have to handle only a small number of external events and whose tasks involve no complicated decomposition.
Updated Halloween 95 by
Comments to maintainer