Model Predictive Control in 550 Microseconds
An embedded quadratic-optimisation solver running MPC on real-time control hardware — pitch-controlling a scaled wind turbine in a turbulent wind tunnel, solving each step in about half a millisecond.
PROBLEM
Numerical studies kept reporting promising results for model predictive control of wind turbines — but almost nobody had closed the loop on real hardware. MPC means solving a constrained optimisation problem inside every control step; on an embedded target, in a turbulent wind tunnel, the solver either finishes in time, every time, or the experiment fails.
APPROACH
I implemented an active-set-method QP solver for MoWiTO, ForWind’s scaled model wind turbine, and embedded it on the cRIO real-time controller alongside the rest of the control software. The controller was then driven through wind-tunnel campaigns with reproducible gusts and full turbulence.
OUTCOME
Experimental validation of real-time MPC on a physical turbine: every pitch action solved in under 1 ms, with mean solve times of 558 µs in the gust experiments and 535 µs under turbulence. The claim in the title is the slower of the two, rounded — measurements over marketing. It is also where my instinct for putting optimisation on real hardware, under real constraints, was formed.