Model Predictive Control
模型预测控制MPCEssentialUses a model to predict the near future at every step, optimizes an action sequence, executes only the first step, and repeats.
Model predictive control originated in the 1970s in process industries such as oil refining and chemicals, and became widespread in those industries during the 1980s. Each control cycle it does the same thing: using a system model x_{k+1} = f(x_k, u_k) (x is the state, u is the control input) to predict N steps ahead, it solves for the sequence of inputs that minimizes some cost (such as tracking error plus energy use) subject to constraints like joint limits and torque caps — then executes only the first input, and re-solves from scratch next cycle using the newest measurement, which is why it's also called receding horizon control. Compared with PID, which only reacts to an error that has already appeared, it can plan ahead for the future and for constraints; compared with a linear quadratic regulator (LQR), which solves for a fixed feedback gain once offline, it re-optimizes online at every step, so it can directly handle constraints and nonlinear models. The cost is that it must solve an optimization online, which demands compute and depends on model accuracy. In legged robots it's commonly used with a simplified model to plan foot forces, which are then handed off to whole-body control to execute.
ExampleMIT's Mini Cheetah uses MPC to optimize foot-contact forces, combined with whole-body impulse control, to run at up to 3.7 m/s; the open-source framework legged_control runs nonlinear MPC on Unitree's A1, with the authors reporting a solve rate near 200 Hz on an 11th-generation Intel NUC mini PC.
- Also called
- MPC, Receding Horizon Control
- Related
- Convex MPC · Nonlinear Model Predictive Control · Sampling-based MPC · Whole-Body Control · Linear Quadratic Regulator · Trajectory Optimization
- Sources
- Wikipedia: Model predictive control(含 MPC vs. LQR) (Chinese)
Qin & Badgwell, A survey of industrial model predictive control technology (Control Engineering Practice, 2003)
Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control (arXiv:1909.06586)
qiayuanl/legged_control (GitHub)