步态控制与全身控制
一句话定义
步态控制解决足式机器人"何时落足、如何摆腿"的稳定性问题;全身控制(WBC)把躯干任务与四肢约束统一为一个多目标优化,让高自由度身体在接触中协调运动。
为什么重要
- 足式(尤其双足人形)是控制难度最高的主流形态,其方法栈(ZMP → MPC → RL/WBC)是理解 kp-503 人形机器人的必修课。
- WBC 是"高自由度身体 + 多接触任务"的通用求解框架,人形上半身操作、四足开门都靠它。
- 2022 年后 RL 逐步接管步态层,但理解经典方法才能看懂 RL 策略在"学什么"、失败在"哪一层"。
前置知识
核心概念
ZMP(零力矩点):地面反力的等效作用点。动态平衡条件:ZMP 落在支撑多边形内。走路 = 让 ZMP 始终在"当前+未来支撑"多边形内的落足点序列问题。
LIPM(线性倒立摆模型):把身体压缩成"质点+无质量腿",解析给出质心轨迹与落足点的关系,是 ZMP 步态生成的经典模型(Kajita 2001)。
捕获点(Capture Point):使机器人能停住的那一步落点。超出可捕获范围 = 必摔。它给出比 ZMP 更直观的扰动裕度(推一下,还能救吗?)。
MPC 步态(MIT Mini Cheetah, 2018):在短时域内优化质心轨迹 + 落足时序,生成地面反力分配——四足的主流方案。
WBC(全身控制):把躯干运动、摆腿轨迹、接触力约束、关节限位等写成层级化 QP(task-priority),以极高频率(0.5~1 kHz)求各关节力矩。理论基础是 Khatib 的操作空间方法(1987)。
接触动力学:足-地接触的摩擦锥(切向力 ≤ μ·法向力)是非光滑约束,是足式与操作(kp-203)共同的数学难点。
原理与机制
经典栈(ZMP 时代,ASIMO 为代表):
足型规划(何时何地落脚)─► 质心轨迹生成(LIPM,保证ZMP在支撑内)
─► 逆运动学摆腿 ─► 关节跟踪 + 姿态平衡反馈
优点:理论清晰、可证明稳定;缺点:跛行式直膝步态、抗扰差。
现代栈(模型预测 + WBC,或 RL):
指令速度 ─► MPC(0.02~0.1s时域,优化质心+落足+反力)
─► WBC(1kHz QP:分配关节力矩,尊重摩擦锥/限位/自碰)
─► 关节电流环
MPC 管"想",WBC 管"做":MPC 输出的粗轨迹被 WBC 以全身一致性精修——双系统架构在控制层的原型(对应 kp-003 的分层闭环)。
RL 接管(详见 kp-206):GPU 并行仿真中训练速度跟踪/复杂地形策略,直接输出关节目标;真机再叠加安全滤波。优点是步态自然、抗扰强;缺点是可解释性与形式化稳定性弱。
公式与图示
LIPM 的质心动力学(高度恒定 $z_c$):
$p_x$ 为 ZMP 位置——质心加速度正比于质心与 ZMP 的偏离,"把支点甩到身体外侧"就是走路。
WBC 的层级 QP 骨架:
接触力 $\mathbf{f}$ 必须在摩擦锥 $\mathcal{C}_{friction}$ 内——非光滑约束通常线性化为多面体。
推一下 ─► 质心偏离 ─► 捕获点落在支撑外?
│ │
│否:WBC/MPC 调整 ────┘ 恢复
▼是
触发恢复步/跨步(capture step)─► 重新建立支撑
直观类比
- 走独木桥:你不断把重心投影挪回脚下窄条(ZMP 控制);要摔时迈一步"自救"(捕获步)。
- 推不倒翁:底部配重让它总能摆回来;足式机器人没有配重,只能用"迈步"制造动态恢复——这就是为什么轻微推搡下机器人会"踉跄两步",那不是 bug,是控制律在救场。
实例与案例
- MIT Mini Cheetah(2018):MPC 步态开源后成为全球四足实验室标配方案;宇树早期产品同样路线。
- Boston Dynamics Atlas(液压版):跑酷视频背后的经典栈是 MPC+WBC 混合;2024 电动版转向更依赖学习式方法。
- ETH ANYmal:从 MPC(Science Robotics 2019 之前的经典)全面转向 RL(2019-2023 系列论文),展示了该领域的范式迁移全过程。
- 人形上身操作:Figure、宇树 demo 中"走路+搬箱"由 WBC 或 RL-WBC 混合实现,躯干稳定性与手臂任务冲突时由层级优先级仲裁。
常见误区
- 误区一:ZMP = 质心投影。ZMP 由加速度决定,静止时才等于质心投影;跑步时 ZMP 可以在支撑面外(飞行相)。
- 误区二:RL 步态不需要模型。训练奖励、地形课程、观测空间的设计全是模型知识(kp-206);RL 只是换了"求解器",没换"物理"。
- 误区三:WBC 稳定=系统稳定。WBC 是 1kHz 内环,其上游 MPC 或 RL 给出烂目标照样摔;排查足式问题必须分层看。
自测题
- 用 LIPM 解释"为什么走路时身体会前后摆动"。
- 捕获点与 ZMP 的关系是什么?"被推之后还能不能救回来"由什么量决定?
- 描述 MPC+WBC 分工,并说明 RL 步态如何替换其中一层。
与其他知识点的关系
- kp-205 MPC:MPC 的足式特化。
- kp-206 RL 运动控制:学习式替代方案。
- kp-503 人形机器人:这些控制栈的载体产业。
延伸阅读
- Kajita et al., ZMP-based Locomotion(Springer Handbook of Robotics 章节)。
- Di Carlo et al., Dynamic Locomotion in the MIT Cheetah 3, IROS 2018。
- Wensing, Posa, Hu, Escande, Mansard, Del Prete, Optimization-Based Control for Dynamic Legged Robots, T-RO 2023(WBC 最佳综述)。
本节引用来源
- Vukobratović & Stepanenko, ZMP, 1972
- Di Carlo et al., MIT Cheetah MPC, IROS 2018