Open-loop controller

In control theory, an open-loop controller, also called a non-feedback controller, is a control loop part of a control system in which the control action ("input" to the system ) is independent of the "process output", which is the process variable that is being controlled. It does not use feedback to determine if its output has achieved the desired goal of the input command or process setpoint.

There are many open-loop controls, such as on/off switching of valves, machinery, lights, motors or heaters, where the control result is known to be approximately sufficient under normal conditions without the need for feedback. The advantage of using open-loop control in these cases is the reduction in component count and complexity. However, an open-loop system cannot correct any errors that it makes or correct for outside disturbances unlike a closed-loop control system.

Applications
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 an older model domestic clothes dryer, for which the length of time is entirely dependent on the judgement of the human operator, with no automatic feedback of the dryness of the clothes.

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.

Another example is a stepper motor used for control of position. Sending it a stream of electrical pulses causes it to rotate by exactly that many steps, hence the name. If the motor was always assumed to perform each movement correctly, without positional feedback, it would be open-loop control. However, if there is a position encoder, or sensors to indicate the start or finish positions, then that is closed-loop control, such as in many inkjet printers. 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.

However, open-loop control is very useful and economic for well-defined systems where the relationship between input and the resultant state can be reliably 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. But if the load were not predictable and became excessive, the motor's speed might vary as a function of the load not just the voltage, and an open-loop controller would  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.

Thus there are many open-loop controls, such as switching valves, lights, motors or heaters on and off, where the result is known to be approximately sufficient without the need for feedback.

Combination with feedback control
A feed back control system, such as a PID controller, can be improved by combining the feedback (or closed-loop control) of a PID controller with feed-forward (or open-loop) control. Knowledge about the system (such as the desired acceleration and inertia) can be fed forward and combined with the PID output to improve the overall system performance. The feed-forward value alone can often provide the major portion of the controller output. The PID controller primarily has to compensate whatever difference or error remains between the setpoint (SP) and the system response to the open-loop control. Since the feed-forward output is not affected by the process feedback, it can never cause the control system to oscillate, thus improving the system response without affecting stability. Feed forward can be based on the setpoint and on extra measured disturbances. Setpoint weighting is a simple form of feed forward.

For example, in most motion control systems, in order to accelerate a mechanical load under control, more force is required from the actuator. If a velocity loop PID controller is being used to control the speed of the load and command the force being applied by the actuator, then it is beneficial to take the desired instantaneous acceleration, scale that value appropriately and add it to the output of the PID velocity loop controller. This means that whenever the load is being accelerated or decelerated, a proportional amount of force is commanded from the actuator regardless of the feedback value. The PID loop in this situation uses the feedback information to change the combined output to reduce the remaining difference between the process setpoint and the feedback value. Working together, the combined open-loop feed-forward controller and closed-loop PID controller can provide a more responsive control system in some situations.