control//hierarchical control

Hierarchical control is the architecture in which a system is run by a stack of loops inside loops, each several times slower than the one it contains and each giving the next one down its setpoint, and it is how every large controlled system that works is built, from a drone to a refinery to a power grid. In a quadcopter the motor current is corrected in microseconds inside the ESC, the angular rate about a thousand times a second, attitude and position tens to hundreds of times, the mission every second; a fleet reassigns tasks every minute, and maintenance closes its loop once a week. A plant runs the same stack from the drive's current loop through the PLC's process loops to supervision, production planning and the business, the levels the automation pyramid orders.


Hierarchical control is the architecture in which a system is run by a stack of loops inside loops, each several times slower than the one it contains and each giving the next one down its setpoint, and it is how every large controlled system that works is built, from a drone to a refinery to a power grid. In a quadcopter the motor current is corrected in microseconds inside the ESC, the angular rate about a thousand times a second, attitude and position tens to hundreds of times, the mission every second; a fleet reassigns tasks every minute, and maintenance closes its loop once a week. A plant runs the same stack from the drive's current loop through the PLC's process loops to supervision, production planning and the business, the levels the automation pyramid orders.

What lets anyone design such a stack is that each loop can ignore most of it. A loop treats the loops inside it as instantaneous and ideal (it asks for a tilt and gets it) and the loops outside it as frozen (the position setpoint it serves is a constant for the duration of its transient). That assumption, time-scale separation, holds when neighbouring layers differ by a factor of five to ten in speed, and it is what makes a system with thousands of states tractable as a handful of small designs.

Real systems are loops inside loops at very different rates, and the separation of rates is what makes them manageable.

Each layer is designed, tuned and tested on its own because its neighbours are either much faster or much slower; when two layers approach the same speed they interfere, and the stack has to be redesigned as one.

Cascade control is the hierarchy at its smallest, inside one controller: position sets attitude, attitude sets rate, rate sets the motors. It is the instance to study first, because every reason the architecture works shows up there in numbers.

An autopilot is the hierarchy written into a schedule. Each loop runs at the rate its dynamics demand, the inner ones fastest, and each is judged on its worst case at its own period (autopilot, real-time computing); above it, attitude control, a local planner, a global planner and fleet allocation form the same layers in a decision stack.

Mixing time scales is the classic architectural mistake. The microcontroller's control loop, a fleet layer on board, a warehouse server and a consensus cluster each have their own clock; putting a step that waits for a network majority inside a loop that must answer in milliseconds breaks the loop on the first slow round (fleet architecture).

The slowest loops are often not called control. Predictive maintenance measures degradation and acts on schedules over weeks, and a monthly report that changes a plant's targets is a sensor with thirty days of latency; reasoning about them as loops shows where their delay and their gain come from.

Estimation has the same shape. A gyroscope read at kilohertz rates and a GNSS receiver at 5 to 10 Hz are combined by letting the fast sensor carry the state between the slow one's corrections (multi-rate fusion).