MPC
How it works
At each time step T: (1) estimate the current state x(t) (e.g., via KF); (2) solve a QP/NLP: min Σ||x-ref||²_Q + ||u||²_R s.t. x_{t+1}=f(x_t,u_t), u_min≤u≤u_max, x_min≤x≤x_max, over horizon N; (3) apply u*(0) to the plant; (4) shift the horizon by 1 step.
Problem solved
How to explicitly incorporate physical constraints (actuator saturation, safe operating ranges) into the control loop while optimizing a multi-step trajectory.
Components
Plant dynamics model (linear or nonlinear) used to predict the state trajectory over the horizon.
Cost function penalising reference deviations and input cost: J = Σ(||x-xref||²_Q + ||u||²_R) + ||x_N-xref||²_P.
Explicit constraints on states and inputs: u_min ≤ u ≤ u_max, x_min ≤ x ≤ x_max.
Optimization solver (OSQP, HPIPM, IPOPT, ACADOS) solving the problem in real time.
Implementation
NMPC may exceed the sampling period on embedded CPUs, causing instability.
Mismatch between internal model and plant (especially after a fault in FTC) degrades control quality.
Infeasible QP/NLP under tight constraints or disturbances may block control computation.
Evolution
Richalet et al. propose IDCOM — the first industrial MPC implementation in a refinery.
Cutler & Ramaker present DMC — MPC with step-response model.
Mayne, Rawlings, Rao, Scokaert publish foundational theory with stability guarantees.
ACADO and CasADi enable NMPC on embedded hardware for drones and manipulators.
Integration of learned models (GP, NN) into the MPC framework — better prediction accuracy while retaining safety guarantees.
Hardware requirements
QP solvers (OSQP, HPIPM) heavily optimised for SIMD/AVX on CPU.
GPUs used for batched MPC or learning-based MPC with neural networks.
FPGA MPC solutions for ultra-short horizons (explicit MPC / pre-computed LUT).