control//feedback control//control loop//feedforward
Feedforward is control that acts on a cause before it shows up as an error: it measures a disturbance, or knows a change of setpoint in advance, and computes from a model of the plant the actuation that will cancel it. A heat exchanger that reads its incoming flow and opens the steam valve at once, or a drone that adds the thrust to carry its weight before any altitude error exists, is using feedforward.
Feedforward is control that acts on a cause before it shows up as an error: it measures a disturbance, or knows a change of setpoint in advance, and computes from a model of the plant the actuation that will cancel it. A heat exchanger that reads its incoming flow and opens the steam valve at once, or a drone that adds the thrust to carry its weight before any altitude error exists, is using feedforward.
It complements feedback and never replaces it. Feedforward is only as good as its model and does nothing about what it does not measure. Feedback corrects whatever remains, model errors included, but only after an error has appeared. Combined, the feedforward does the bulk of the work at once and the feedback trims the rest, so the feedback can be tuned gently.
The simplest feedforward is a static gain. If a unit of extra flow needs a known amount of extra steam at steady state, the controller adds that much immediately; matching the plant's dynamics as well (lead-lag compensation) improves the transient, but needs a better model.
Tracking a moving reference needs it. Feedback alone trails a ramp or a curve by construction, so a robot arm or a machine-tool axis computes the torque its planned trajectory requires (velocity and acceleration feedforward) and leaves only the small remainder to the feedback (motion control).
In the drone, the term mgmgmg that cancels the weight and the term mr¨m\ddot rmr¨ that accelerates along the planned path are both feedforward; the corrections on position and velocity error are the feedback (vertical drone).
A feedforward that is too strong is a disturbance of its own making: it pushes the output off target in the opposite direction, and the feedback then has to fight it. An error in the model's gain costs in proportion, so feedforward pays only where that gain is known reasonably well.