先记住一句话
NMPC 解决“预测是非线性的”,robust/stochastic MPC 解决“预测不可能完全准确”;二者都必须同时考虑可解性、实时性与安全 fallback。
1. Nonlinear optimal control problem
min Φ(x_N)+Σℓ(xₖ,uₖ)s.t. xₖ₊₁=f_d(xₖ,uₖ), g(xₖ,uₖ)≤0, x₀=x̂nowf_d 和 g 非线性时成为 NLP。旋转 manifold、aerodynamics、friction、collision distance 与 nonlinear actuator model 都可能进入。
2. Shooting、multiple shooting 与 collocation
| 离散化 | 决策变量 | 特点 |
|---|---|---|
| Single shooting | 主要是整串 inputs | forward simulate 简单,但长 horizon sensitivity/conditioning 差 |
| Multiple shooting | inputs + 分段初始 states | 加 continuity constraints,warm start 与并行更友好 |
| Direct collocation | knot 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 errortightened 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. 实际调试顺序
- 先让 state estimator 和 simple PD/LQR baseline 稳定;
- offline replay 检查 model one-step/multi-step error;
- 无 constraint NMPC 对齐 LQR/已知解;
- 逐个加入 input、state、contact constraints;
- 记录 cost、KKT residual、QP/NLP status、iteration、solve-time tail;
- 注入 parameter error、delay、force disturbance 与 bad initialization;
- 验证 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。