control//feedback control//cascade control

Cascade control is a structure of nested feedback loops in which the output of an outer controller is the setpoint of an inner, faster one, and it is how drones fly and how process plants hold their temperatures: each loop handles one link of a chain that a single controller would struggle to tame. A multirotor shows why the chain exists. To move sideways it must tilt, to tilt it needs a torque, and the torque comes from a difference between motor thrusts; between that difference and the lateral position sit four integrations in a row (planar drone). One PID reading position and driving the motors would have to deal with all the lag those integrations pile up. The cascade splits the chain, one loop per link, each faster than the one around it:


Cascade control is a structure of nested feedback loops in which the output of an outer controller is the setpoint of an inner, faster one, and it is how drones fly and how process plants hold their temperatures: each loop handles one link of a chain that a single controller would struggle to tame. A multirotor shows why the chain exists. To move sideways it must tilt, to tilt it needs a torque, and the torque comes from a difference between motor thrusts; between that difference and the lateral position sit four integrations in a row (planar drone). One PID reading position and driving the motors would have to deal with all the lag those integrations pile up. The cascade splits the chain, one loop per link, each faster than the one around it:

1Position and velocity looptens of Hz2Attitude loophundreds of Hz3Angular-rate loop on the gyroscopehundreds of Hz to 8 kHz4Motor commutation in the ESCtens of kHz

Each loop measures with its best sensor and hands the next one a limited request: the position loop reads the state estimate (GNSS, vision) and asks for a tilt, the attitude loop asks for an angular rate, the rate loop asks for a torque that the motor mixer splits among the motors. PX4, one of the most used open autopilots, has exactly this structure, proportional on position, PID on velocity, proportional on attitude, PID on angular rate; Betaflight in acrobatic mode closes only the rate loop, at several kilohertz, and the pilot is the outer loop.

Every link gets its own loop, its own sensor and its own limit.

If each inner loop is five to ten times faster than the outer one, the outer sees it as an almost ideal actuator and each loop is designed on its own. Disturbances die close to where they are born: the rate loop corrects a gust in milliseconds, before the position notices. And the rate loop reads the gyroscope directly, so the attitude loop's damping needs no numerical derivative and comes out clean.

A chemical plant runs the identical structure, slower. The reactor temperature (minutes) sets the setpoint of the cooling-jacket temperature (seconds), which sets the position of the control valve through its positioner; a fouled exchanger or a pressure swing in the coolant is caught by the jacket loop long before it reaches the reactor.

It is tuned from the inside out, on flight logs or plant records: the inner loop first, until it is fast and well damped, then the next one out, treating the tuned inner loop as part of its plant (PID tuning).

Windup crosses the levels. The outer loop's request is limited to what the inner loop can deliver (a maximum tilt of 30 to 45 degrees on a drone), and when the inner loop saturates the outer integrator must stop as well, or it keeps accumulating an error nobody can act on (integral windup).

Unfolded, a cascade of proportional loops is a state feedback whose gains are products taken in order; modern control adds a method to choose those gains and drops the need for an ordered chain. The structure is the smallest case of hierarchical control, and its working condition is time-scale separation.