control//controller design//MPC//nonlinear MPC

Nonlinear MPC is model predictive control whose prediction model is nonlinear, so that each period solves a nonconvex optimization instead of a quadratic program, and it is used where the plant leaves the region any single linearization can describe: aggressive drone flight, legged robots, vehicles at the edge of tyre grip. The structure is the MPC structure (plan \(N\) steps under constraints, apply the first, replan), with \(x_{k+1}=f(x_k,u_k)\) in place of \(Ax_k+Bu_k\).


Nonlinear MPC is model predictive control whose prediction model is nonlinear, so that each period solves a nonconvex optimization instead of a quadratic program, and it is used where the plant leaves the region any single linearization can describe: aggressive drone flight, legged robots, vehicles at the edge of tyre grip. The structure is the MPC structure (plan NNN steps under constraints, apply the first, replan), with xk+1=f(xk,uk)x_{k+1}=f(x_k,u_k)xk+1​=f(xk​,uk​) in place of Axk+BukAx_k+Bu_kAxk​+Buk​.

What changes is the guarantee. A linear MPC problem has one optimum and solvers that find it reliably; a nonlinear one can have several local minima, and the solver returns whichever its starting point leads to. The usual way to keep it tractable is the linearize-solve-repeat pattern: linearize the model around the previous plan shifted one step, solve the resulting QP, and use its answer as the next linearization point (a real-time iteration, one QP per period). The warm start is then also the safety: if the plan barely changes from one period to the next, the linearization stays valid.

It costs more compute and more engineering. For a drone, a dozen states over a horizon of about a second runs on an embedded ARM computer with generated code (acados is the common tool), while a flight microcontroller underneath keeps the fast attitude loop (MPC computation).

It needs a reliable nonlinear model. Its local guarantees are only as good as the model away from hover, which is exactly where identification data is thinnest (system identification).

Legged robots commonly use a compromise: a simplified convex model of the body (a few dozen states at tens of hertz) with joint loops at kilohertz underneath, which keeps the optimization a QP while the robot moves far from any single operating point.

Maturity: research, moving to niche in legged robots and aggressive flight. A gain-scheduled LQR or a trajectory tracker with flatness-based feedforward often gets most of the benefit at a fraction of the risk (controller design).