Nonlinear Model Predictive Control
非线性模型预测控制NMPCAdvancedMPC 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)