Open-loop controller

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Remote manipulator arms for working with radioactive materials – an open-loop mechanism, controlled by hand controls

An open-loop controller, also called a non-feedback controller, is a type of controller that computes its input into a system using only the current state and its model of the system.

A characteristic of the open-loop controller is that it does not use feedback to determine if its output has achieved the desired goal of the input. This means that the system does not observe the output of the processes that it is controlling. Consequently, a true open-loop system can not engage in machine learning and also cannot correct any errors that it could make. It also may not compensate for disturbances in the system.


An open-loop controller is often used in simple processes because of its simplicity and low cost, especially in systems where feedback is not critical. A typical example would be a conventional washing machine, for which the length of machine wash time is entirely dependent on the judgment and estimation of the human operator. Generally, to obtain a more accurate or more adaptive control, it is necessary to feed the output of the system back to the inputs of the controller. This type of system is called a closed-loop system.

For example, an irrigation sprinkler system, programmed to turn on at set times could be an example of an open-loop system if it does not measure soil moisture as a form of feedback. Even if rain is pouring down on the lawn, the sprinkler system would activate on schedule, wasting water.

Stepper motors are often used for open-loop control of position. A stepper motor rotates to one of a number of fixed positions, according to its internal construction. Sending a stream of electrical pulses to it causes it to rotate by exactly that many steps, hence the name. Such motors are often used, together with a simple initial datum sensor (a switch that is activated at the machine's home position), for the control of simple robotic machines or even the commonplace inkjet printer head. The drawback of open-loop control of steppers is that if the machine load is too high, or the motor attempts to move too quickly, then steps may be skipped. The controller has no means of detecting this and so the machine continues to run slightly out of adjustment, until reset. For this reason, more complex robots and machine tools instead use servomotors rather than stepper motors, which incorporate encoders and closed-loop controllers.

Open-loop control is useful for well-defined systems where the relationship between input and the resultant state can be modeled by a mathematical formula. For example, determining the voltage to be fed to an electric motor that drives a constant load, in order to achieve a desired speed would be a good application of open-loop control. If the load were not predictable, on the other hand, the motor's speed might vary as a function of the load as well as of the voltage, and an open-loop controller would therefore be insufficient to ensure repeatable control of the velocity.

An example of this is a conveyor system that is required to travel at a constant speed. For a constant voltage, the conveyor will move at a different speed depending on the load on the motor (represented here by the weight of objects on the conveyor). In order for the conveyor to run at a constant speed, the voltage of the motor must be adjusted depending on the load. In this case, a closed-loop control system would be necessary.

See also[edit]


  • Kuo, Benjamin C. (1991). Automatic Control Systems (6th ed.). New Jersey: Prentice Hall. ISBN 0-13-051046-7.
  • Ziny Flikop (2004). "Bounded-Input Bounded-Predefined-Control Bounded-Output" (
  • Basso, Christophe (2012). "Designing Control Loops for Linear and Switching Power Supplies: A Tutorial Guide". Artech House, ISBN 978-1608075577