MPC 对比 PID:每次只执行计划的第一步
让一维小车到达目标位置。比较受限 MPC 的预测、优化、执行、再规划与 PID 反馈控制。
小屏可左右滑动图表查看完整内容;聚焦图表后也可用方向键横向滚动。
先规划一串,只执行一个
- 点一次单步:MPC 用当前测量状态,求解未来 N 步控制。紫色虚线是预测位置,下图柱子是计划控制。
- 再点一次:只执行绿色第 1 根柱子;其余柱子并没有施加到系统。
- 下一轮重新测量、重新优化。外力在 t = 6.0 s 突然作用一个采样周期,控制器事先不知道。
- 缩短预测长度或增大控制代价,观察提前减速、响应速度与控制幅度之间的取舍。
修改任意参数会暂停并重置。两种控制器具有相同的输入限幅,默认参数不是各自的最优整定,不能把某一曲线较好理解为算法普遍优越。
真正被求解的小型优化问题
采样周期 Δt = 0.2 秒。状态为位置 x 和速度 v:x_next = x + 0.2v + 0.02u;v_next = 0.96v + 0.2u。MPC 最小化各步位置误差平方 + 0.15v² + λu²;末步位置误差权重为 8,每个计划控制满足 −u_max ≤ u ≤ u_max。
实现使用加速投影梯度法求解这个凸二次问题,步长由 Hessian 行和上界确定,最多 600 次迭代。面板显示实际目标值与投影梯度残差,不假装使用精确解析解。约束只有执行器限幅,没有位置 / 速度硬约束,没有终端不变集,因此不声称闭环稳定性证明。
PID 使用 u = 1.6e + 0.25∫e − 1.8v,输出限幅并使用条件积分防止饱和积分累积。累计绝对误差为每个已执行采样点的 |x − 目标| × Δt 之和,不是 MPC 的优化目标。
与机器人论文的关系
这是用一维小车解释滚动时域控制的教学模型,不是 Cheetah 四足机器人的质心动力学、接触力优化或步态控制复现。精读页面可继续了解真正的四足 MPC。
对照精读:Cheetah 凸 MPC · Di Carlo 等:Dynamic Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive Control