先记住一句话

NMPC 解决“预测是非线性的”,robust/stochastic MPC 解决“预测不可能完全准确”;二者都必须同时考虑可解性、实时性与安全 fallback。

nonlinear rollout局部线性/二次化解子问题更新 nominaluncertainty margin执行首拍
Nominalx̄,ū
LinearizeAₖ,Bₖ
QP stepδx,δu
Rolloutf(x,u)
SQP/RTI 在每拍有限的迭代预算中修正 nominal trajectory;robust margin 再为模型偏差留空间。

1. Nonlinear optimal control problem

min Φ(x_N)+Σℓ(xₖ,uₖ)
s.t. xₖ₊₁=f_d(xₖ,uₖ), g(xₖ,uₖ)≤0, x₀=x̂now

f_dg 非线性时成为 NLP。旋转 manifold、aerodynamics、friction、collision distance 与 nonlinear actuator model 都可能进入。

2. Shooting、multiple shooting 与 collocation

离散化决策变量特点
Single shooting主要是整串 inputsforward simulate 简单,但长 horizon sensitivity/conditioning 差
Multiple shootinginputs + 分段初始 states加 continuity constraints,warm start 与并行更友好
Direct collocationknot states/inputs 与多项式在 collocation points 约束 dynamics,适合 state constraints/隐式 dynamics

不存在永远最好的 transcription;需要按 dynamics stiffness、constraint 密度、horizon 与 solver sparsity 选。

3. SQP 与 Real-Time Iteration

Sequential Quadratic Programming 在当前 trajectory 周围 linearize constraints、quadraticize cost,反复解 QP 并更新。RTI-SQP 常把昂贵 preparation 放在 measurement 到达前,每 tick 只做一次 SQP step,以 feedback 高频重解弥补未完全 convergence。

“一次 iteration”仍需检查 QP feasibility、linearization quality 与 KKT residual;不是所有 nonconvex 场景都能靠 warm start 保持正确 local basin。

4. Nonconvexity 意味着什么

  • initial guess 可决定绕障碍左边还是右边;
  • contact sequence/discrete gear choice 可能需要上层 planner 或 mixed-integer formulation;
  • solver success 只说明找到 local stationary solution;
  • nonsmooth Coulomb friction/contact event 会破坏 gradient;
  • continuation、multi-start 和 mode schedule 能改善但增加计算。

5. Nominal MPC 为什么不够

如果只优化一个 nominal trajectory,真实 disturbance 让 state 偏离后 constraint 可能被撞穿。receding horizon 能纠错,却不等于具有 formal robustness;一个 tick 内的 disturbance、estimation error 与 actuator mismatch 仍存在。

6. Robust MPC 与 Tube MPC

x⁺=Ax+Bu+w, w∈W。Tube MPC 规划 nominal center trajectory,并用 local feedback 把所有可能 real states 限制在其周围的 invariant tube。为保证 tube 内任意 state 都安全,会把 nominal constraints 收紧:

real state = nominal state + bounded error
tightened constraint ⊕ error tube ⊆ original safe set

优势是 worst-case guarantee;代价是 conservatism,uncertainty set 过大时可能没有可行方案。

7. Stochastic 与 chance constraints

若 disturbance 有可信 distribution,可要求 P(xₖ∈X)≥1−α,允许小概率违反来换取较少 conservatism。线性 Gaussian 条件下可把 chance constraint 转成 mean + covariance margin;非 Gaussian、相关尾部与 distribution shift 会让 nominal probability 失真。

8. Risk-sensitive、scenario 与 learning

  • scenario MPC:对多条 sampled disturbance/model trajectory 同时约束;
  • min-max:按 uncertainty set 中最坏情形优化;
  • risk-sensitive/CVaR:更加惩罚尾部损失;
  • adaptive/learning MPC:在线更新 parameter/residual dynamics,同时维持 uncertainty bound。

learned dynamics 可提高 nominal accuracy,但如果没有 calibrated uncertainty 和 fallback,不能仅凭平均 validation loss 宣称安全。

9. 实际调试顺序

  1. 先让 state estimator 和 simple PD/LQR baseline 稳定;
  2. offline replay 检查 model one-step/multi-step error;
  3. 无 constraint NMPC 对齐 LQR/已知解;
  4. 逐个加入 input、state、contact constraints;
  5. 记录 cost、KKT residual、QP/NLP status、iteration、solve-time tail;
  6. 注入 parameter error、delay、force disturbance 与 bad initialization;
  7. 验证 timeout/infeasible 时的 fallback,而非只测 nominal demo。

10. 四个可手算的 nonlinear 与 uncertainty 例子

例 1:nonlinear Euler rollout

x_dot=x²+u,x=0.5、u=−0.1、Δt=0.2:导数=0.25−0.1=0.15,因此 x_next≈0.5+0.2×0.15=0.53。下一拍导数要用 0.53² 重算,不能用固定 A。

例 2:multiple-shooting 变量数

State 4D、input 2D、horizon N=10。若把 x₁…x₁₀ 与 u₀…u₉ 都作为变量,共 10×4+10×2=60 个;同时增加 10 组 4D dynamics continuity constraints,共 40 个等式。

例 3:tube constraint tightening

真实 position 必须 |x|≤1.0,local feedback 能把 |x−x̄| 限在 0.15。nominal 就必须满足 |x̄|≤1.0−0.15=0.85;这样 tube 最坏到 0.85+0.15=1.0。

例 4:Gaussian chance margin

要求单侧 violation probability≤5%,线性 Gaussian state mean μ=0.70、σ=0.10,95% quantile 约 1.645:上界预测为 μ+1.645σ=0.8645。若 limit=0.85,则 chance constraint 不满足。

常见误解:

每周期重规划本身不等于 robust MPC。robustness 是对指定 uncertainty set/distribution 与 constraint 的明确设计和分析,不是“仿真里推了一下还能回来”。

自测

1. multiple shooting 为什么多放 state 变量反而可能更好解?

它把长时间 sensitivity 拆成局部 dynamics constraints,改善 conditioning 并暴露稀疏结构。

2. tube MPC 为什么要 tighten nominal constraints?

要给 real state 相对 nominal 的 bounded deviation 留出空间,保证整条 tube 都不越过原安全边界。

3. chance constraint 的 α 是什么?

允许的 constraint violation probability;保证依赖 disturbance distribution 与 covariance calibration 正确。

一手资料

MIT Underactuated Robotics 的 Trajectory Optimization对 shooting、direct transcription/collocation、MPC 与 recursive feasibility 做了推导;其Robust Control章节连接 reachable sets 与 Tube MPC;Rawlings–Mayne–Diehl系统覆盖 robust、stochastic 与 nonlinear MPC。