control//controller design//MPC
MPC, model predictive control, is a controller that at every period solves an optimization over a short future horizon using a model of the plant and its limits, applies only the first input of the plan, and solves again at the next period with a fresh measurement; it is the standard advanced controller of refineries and chemical plants and a growing one in power electronics, legged robots and agile drones. Driving a mountain road is the picture: you look a hundred metres ahead, plan the braking for the bend, move the wheel now, and a moment later look again and redo the plan (receding horizon). With a linear model it solves
MPC, model predictive control, is a controller that at every period solves an optimization over a short future horizon using a model of the plant and its limits, applies only the first input of the plan, and solves again at the next period with a fresh measurement; it is the standard advanced controller of refineries and chemical plants and a growing one in power electronics, legged robots and agile drones. Driving a mountain road is the picture: you look a hundred metres ahead, plan the braking for the bend, move the wheel now, and a moment later look again and redo the plan (receding horizon). With a linear model it solves
minu0,…,uN−1 ∑k=0N−1(xkTQxk+ukTRuk)+xNTPxNs.t.xk+1=Axk+Buk, umin≤uk≤umax, xk∈X,\min_{u_0,\dots,u_{N-1}}\ \sum_{k=0}^{N-1}\left(x_k^{\mathsf T}Qx_k+u_k^{\mathsf T}Ru_k\right)+x_N^{\mathsf T}Px_N\quad\text{s.t.}\quad x_{k+1}=Ax_k+Bu_k,\ \ u_{\min}\le u_k\le u_{\max},\ \ x_k\in\mathcal X,u0,…,uN−1min k=0∑N−1(xkTQxk+ukTRuk)+xNTPxNs.t.xk+1=Axk+Buk, umin≤uk≤umax, xk∈X,
with NNN the horizon, x0x_0x0 the state measured or estimated now, X\mathcal XX the allowed states (do not pass the wall, do not tilt more than 35°) and PPP a terminal cost that summarizes what happens after the horizon. Linear model, quadratic cost and linear constraints make it a quadratic program, convex, with a single optimum and reliable algorithms.
MPC is an LQR that knows its limits.
With no constraint active and PPP the discrete Riccati solution, MPC gives exactly the LQR. Against a clipped LQR (its output saturated) the difference is anticipation: the clipped LQR discovers the limit when it is already touching it; the MPC has the limit in its plan and brakes earlier.
max position, LQR11.00 m, crash max position, MPC10.28 m QP iterations per step22 A cart of 1 kg with at most 2.0 N must stop at 10 m, with a wall at 11 m. With the same model and weights, the clipped LQR hits the wall at 2.8 m/s; the MPC with a horizon of 30 steps (3.0 s) peaks at 10.28 m and settles at 10 m by 5.7 s. With a horizon of 5 steps the MPC hits the wall at 2.4 m/s: by the time it sees the wall it can no longer brake.
Launch with a low force: the clipped LQR brakes late and hits the wall while the MPC brakes early; then shorten the horizon until it no longer covers the braking distance.
It took hold in process plants in the late 1970s (IDCOM, then DMC at Shell) for three reasons: minutes-long dynamics leave time to optimize, many variables are coupled, and the money is pinned to constraints, since the most profitable point of a column or compressor leans on a limit. Today: industry in refining and chemicals, niche in legged robots, power converters and small explicit tables, research in agile drones (nonlinear MPC).
With a short horizon or a large disturbance the problem can become infeasible exactly when it is needed. Practice makes state limits soft (violations allowed at a high penalty), keeps actuator limits hard because they are physical, and always keeps a backup controller. If PPP misrepresents the future the plan is myopic.
It pays every period what the LQR paid once (MPC computation), and its discrete model inherits the sampling error of the discretization. A model that is slightly wrong leaves a steady offset unless the controller estimates the mismatch as a disturbance and plans with it (offset-free MPC).
In fleets, distributed MPC (each vehicle solves its plan and shares it with neighbours, as in truck platoons) is mostly research. A task planner shares the replanning structure but decides what to do, about once a second, while MPC decides how to move the actuators (motion planning).