Embodied AI Glossary中文

Nonlinear Model Predictive Control

非线性模型预测控制NMPCAdvanced

MPC that uses a nonlinear dynamics model to predict the future and solves an optimization online every control cycle.

Model predictive control (MPC) works by using a system model, every control cycle, to predict a future window of states, solving an optimization for the sequence of control inputs that minimizes cost subject to constraints, then executing only the first one — recomputing with a fresh measurement next cycle, a scheme called receding-horizon control. NMPC is MPC whose model or constraints are nonlinear — for example, working directly with a robot's full rigid-body or centroidal dynamics rather than linearizing first. The benefit is more accurate prediction during large, fast motion, and the ability to directly handle nonlinear constraints like friction cones, foothold regions, and obstacle avoidance; the cost is a non-convex optimization that's computationally heavy and offers no guarantee of finding the global optimum. In practice the problem is usually discretized with multiple shooting or direct collocation and solved with sequential quadratic programming (SQP), using ‘real-time iteration’: only one or two iterations per cycle, without waiting for full convergence, to keep up with the control rate. Common tools include acados, OCS2, and CasADi. Convex MPC instead simplifies the model to something linear, making the problem convex and faster, but narrower in scope.

ExampleThe open-source framework legged_control uses NMPC (built on OCS2, solved with multiple shooting plus SQP) on a Unitree A1 quadruped to convert a desired torso velocity into a future state trajectory, which is then handed to a whole-body controller to compute joint torques.

Also called
NMPC, Nonlinear MPC
Related
Model Predictive Control · Convex MPC · Multiple Shooting · Sequential Quadratic Programming · Whole-Body Control · legged_control (NMPC + WBC framework for legged robots)
Sources
Wikipedia: Model predictive control
GitHub: qiayuanl/legged_control
Perceptive Locomotion through Nonlinear Model Predictive Control (arXiv 2208.08373)

See it in the full glossary →