In this example, the thermostat is the controller and directs the activities of the heater. The heater is the processor that warms the air inside the house to the desired temperature (setpoint). The air temperature reading inside the house is the feedback. And finally, the house is the environment in which the heating system operates.
The notion of controllers can be extended to more complex systems. In the natural world, individual organisms also appear to be equipped with controllers that assure the homeostasis necessary for survival of each individual. Both human-made and natural systems exhibit collective behaviors amongst individuals in which the controllers seek some form of equilibrium.
In control theory there are two basic types of control. These are feedforward and feedback. The input to a feedback controller is the same as what it is trying to control - the controlled variable is "fed back" into the controller. The thermostat of a house is an example of a feedback controller. This controller relies on measuring the controlled variable, in this case the temperature of the house, and then adjusting the output, whether or not the heater is on. However, feedback control usually results in intermediate periods where the controlled variable is not at the desired setpoint. With the thermostat example, if the door of the house were opened on a cold day, the house would cool down. After it fell below the desired temperature (setpoint), the heater would kick on, but there would be a period when the house was colder than desired.
Feedforward control can avoid the slowness of feedback control. With feedforward control, the disturbances are measured and accounted for before they have time to affect the system. In the house example, a feedforward system may measure the fact that the door is opened and automatically turn on the heater before the house can get too cold. The difficulty with feedforward control is that the effect of the disturbances on the system must be perfectly predicted, and there must not be any surprise disturbances. For instance, if a window were opened that was not being measured, the feedforward-controlled thermostat might still let the house cool down.
To achieve the benefits of feedback control (controlling unknown disturbances and not having to know exactly how a system will respond to disturbances) and the benefits of feedforward control (responding to disturbances before they can affect the system), there are combinations of feedback and feedforward that can be used.
Some examples of where feedback and feedforward control can be used together are dead-time compensation, and inverse response compensation. Dead-time compensation is used to control devices that take a long time to show any change to a change in input, for example, change in composition of flow through a long pipe. A dead-time compensation control uses an element (also called a Smith predictor) to predict how changes made now by the controller will affect the controlled variable in the future. The controlled variable is also measured and used in feedback control. Inverse response compensation involves controlling systems where a change at first affects the measured variable one way but later affects it in the opposite way. An example would be eating candy. At first it will give you lots of energy, but later you will be very tired. As can be imagined, it is difficult to control this system with feedback alone, therefore a predictive feedforward element is necessary to predict the reverse effect that a change will have in the future.
Most control valve systems in the past were implemented using mechanical systems or solid state electronics. Pneumatics were often utilized to transmit information and control using pressure. However, most modern control systems in industrial settings now rely on computers for the controller. Obviously it is much easier to implement complex control algorithms on a computer than using a mechanical system.
For feedback controllers there are a few simple types. The most simple is like the thermostat that just turns the heat on if the temperature falls below a certain value and off it exceeds a certain value (on-off control).
Another simple type of controller is a proportional controller. With this type of controller, the controller output (control action) is proportional to the error in the measured variable.
The error is defined as the difference between the current value (measured) and the desired value (setpoint). If the error is large, then the control action is large. Mathematically:
In the above equation, represents the error, represents the controller's gain, and represents the steady state control action necessary to maintain the variable at the steady state when there is no error.
The gain will be positive if an increase in the input variable requires a decrease in the output variable (direct-acting control), and it will be negative if an increase in the input variable requires an increase in the output variable (reverse-acting control). A typical example of a reverse-acting system is controlling flow of cooling water - if the temperature increases, the flow must be increased to maintain the desired temperature. Conversely, a typical example of a direct-acting system is controlling flow of steam for heating - if the temperature increases, the flow must be decreased to maintain the desired temperature.
Although proportional control is simple to understand, it has drawbacks. The largest problem is that for most systems it will never entirely remove error. This is because when error is 0 the controller only provides the steady state control action so the system will settle back to the original steady state (which is probably not the new set point that we want the system to be at). To get the system to operate near the new steady state, the controller gain, Kc, must be very large so the controller will produce the required output when only a very small error is present. Having large gains can lead to system instability or can require physical impossibilities like infinitely large valves.
Alternates to proportional control are proportional-integral (PI) control and proportional-integral-derivative (PID) control. PID control is commonly used to implement closed-loop control.
Open-loop control can be used in systems sufficiently well-characterized as to predict what outputs will necessarily achieve the desired states. For example, the rotational velocity of an electric motor may be well enough characterized for the supplied voltage to make feedback unnecessary.
Drawbacks of open-loop control is that it requires perfect knowledge of the system (i.e. one knows exactly what inputs to give in order to get the desired output), and it assumes there are no disturbances to the system.