4. 传统步态控制方法

在深度强化学习进入四足机器人领域之前,工程师们主要依赖基于模型的控制理论来生成和稳定步态。这些经典方法——中枢模式发生器(CPG)、零力矩点(ZMP)、线性倒立摆(LIPM)以及基于运动规划的轨迹生成——构成了现代四足机器人控制的基石。理解这些方法的数学内核、适用边界与失效场景,是评估强化学习价值的前提。本章将逐一剖析这些经典方法的原理框架、操作流程、典型应用案例及其在真实物理世界中的局限性,为后续对比学习打下基础。

传统四足步态控制方法体系与局限 CPG 中枢模式发生器 耦合振荡器网络 相位锁定 → 节律生成 无需环境反馈 局限: 抗扰差/参数难调 ZMP 零力矩点 支撑多边形内稳定判据 动力学约束 → 步态规划 适用于静态/准静态 局限: 动态性不足 LIPM 线性倒立摆 质心动力学简化模型 捕获点/轨道能量 实时步态调整 局限: 模型简化误差 轨迹规划 足端摆线/贝塞尔曲线 逆运动学 → 关节角度 预定义时序 局限: 缺乏自适应 传统控制栈 模型驱动 + 状态反馈 共性局限 模型精度依赖高 | 参数整定困难 | 动态适应弱 | 鲁棒性不足 强化学习替代 数据驱动 | 端到端 | 自适应 图:传统步态控制方法关系与局限汇总 开环节律 → 闭环修正 静态稳定 → 动态稳定 模型精确 → 模型近似 手工调参 → 自动学习

4.1 CPG:从生物节律到工程振荡器

核心原理

中枢模式发生器(Central Pattern Generator, CPG)源于神经生物学发现——即使去除大脑和感觉反馈,脊髓中的神经网络仍能产生节律性运动信号。工程化CPG通常采用非线性振荡器(如Hopf振荡器、Matsuoka振荡器)构建耦合网络,每个振荡器对应一个关节或一条腿。通过调整振荡器之间的耦合权重和相位偏移,可以生成对角小跑、溜蹄、跳跃等不同步态模式。其数学表达通常为:

dx_i/dt = α(μ - r_i²)x_i - ω_i y_i + Σ_j k_ij (x_j - x_i)
dy_i/dt = α(μ - r_i²)y_i + ω_i x_i

其中r_i为振荡器幅值,ω_i为固有频率,k_ij为耦合系数。CPG的核心优势在于:无需精确的环境模型即可产生平滑的节律信号,且天然具备相位锁定特性。

操作流程

  1. 振荡器选型:根据关节运动特性选择Hopf(正弦输出)或Matsuoka(脉冲输出)模型。
  2. 网络拓扑设计:确定四条腿之间的相位关系(如对角步态相位差为π)。
  3. 参数整定:通过遗传算法或手动调节耦合权重、固有频率,使输出幅值和频率匹配期望步态。
  4. 信号映射:将振荡器输出映射为关节角度指令,通常需叠加偏置项以调整站立高度。
  5. 反馈融合:引入姿态传感器信号作为扰动项,修正振荡器相位(如着地检测触发相位重置)。

案例拆解:MIT Cheetah 的CPG前身实验

在MIT Cheetah早期研究中,团队曾尝试用CPG生成腿部摆动轨迹。初始目标是在跑步机上实现稳定对角小跑,速度1.0 m/s。实验中发现:当振荡器频率设定为2.5 Hz时,空中小跑(flight phase)占比过高导致落地冲击大;将频率降至2.0 Hz后,支撑相延长但速度下降。最终方案是采用自适应频率调节——根据足端力传感器信号动态调整ω_i,使振荡频率与机械共振频率对齐。这一调整将能效比从0.8提升至1.2,但参数整定耗时超过两周,且在不同地形(草地、沙地)上需要重新标定。

CPG核心局限:参数空间高维且非凸,缺乏系统性的稳定性证明。当机器人受到较大侧向冲击时,CPG的相位锁定可能被破坏,且没有内建机制恢复同步。此外,CPG生成的轨迹是“节律性”而非“任务性”的,无法处理跨越障碍、爬坡等非周期任务。

4.2 ZMP与倒立摆:动力学稳定的基石

核心原理

零力矩点(Zero Moment Point, ZMP)由Vukobratović于1968年提出,定义为地面反作用力合力在支撑多边形内的作用点。当ZMP位于支撑多边形内部时,机器人不会发生翻转。线性倒立摆模型(LIPM)则将机器人简化为质心(CoM)与地面接触点之间的无质量连杆,假设质心高度恒定,从而将动力学方程线性化为:

ddot{x}_CoM = (g / z_c) * (x_CoM - x_ZMP)

其中z_c为质心高度。这一线性方程使得我们可以用解析方法规划CoM轨迹,确保ZMP始终落在支撑域内。捕获点(Capture Point)理论进一步扩展了LIPM,定义了机器人能够完全停止的临界点。

判断方法与操作流程

步骤操作内容关键参数/公式
1. 模型简化将四足机器人简化为单质心模型,忽略腿部质量z_c = 0.5~0.7m(站立高度)
2. 步态规划预设足端落点序列,生成支撑多边形步长0.3m,步频1.5Hz
3. CoM轨迹生成用LIPM方程反解CoM轨迹,使ZMP在支撑域内采用模型预测控制(MPC)滚动优化
4. 稳定性判据实时计算ZMP位置,判断是否超出支撑多边形|x_ZMP| < 支撑边界
5. 落点调整当ZMP接近边界时,调整下一步落点位置捕获点控制律

案例拆解:双足与四足的差异

ZMP理论在双足机器人(如ASIMO、Atlas)中取得了巨大成功,但在四足机器人中直接应用面临挑战。以ANYmal机器人为例,其静态稳定裕度远大于双足,但在动态小跑时,支撑相仅占周期40%,ZMP轨迹呈现快速跳变。若严格约束ZMP在支撑多边形内,步态会变得保守缓慢。实际工程中,四足机器人通常采用“虚拟ZMP”概念——将ZMP约束放宽到支撑多边形的凸包外一定范围,允许动态不稳定但可恢复的状态。波士顿动力Spot则采用“重心速度控制”替代ZMP,直接控制CoM速度而非位置,牺牲了理论完备性换取了更强的动态性能。

关键洞察:ZMP/LIPM框架的核心价值在于提供了“稳定性边界”的量化描述,但其线性假设在高速运动(>2m/s)时失效——此时惯性力与科氏力不可忽略,质心高度也不再恒定。强化学习方法之所以能超越传统方法,正是因为不再依赖这些简化假设,而是直接从状态-动作历史中学习稳定策略。

4.3 轨迹规划:从足端摆线到全身运动

核心原理

轨迹规划方法将步态分解为足端轨迹与躯干轨迹两部分。足端轨迹通常采用摆线(cycloid)或贝塞尔曲线,保证在摆动相起点和终点的速度为零,减少落地冲击。躯干轨迹则根据ZMP或LIPM规划CoM运动。整体流程为:规划足端位置序列 → 逆运动学求解关节角度 → 插值生成平滑关节轨迹 → 前馈+反馈控制跟踪。

操作流程

  1. 步态时序定义:确定步态周期、占空比(支撑相比例)、相位偏移。
  2. 足端轨迹生成:在摆动相使用五次多项式或摆线插值,抬腿高度通常为5-15cm。
  3. 躯干轨迹规划:基于LIPM或直接设定CoM高度恒定,水平速度按梯形速度曲线规划。
  4. 逆运动学求解:对每条腿的3个自由度(髋关节横滚、髋关节俯仰、膝关节俯仰)求解解析解。
  5. 前馈控制:计算关节力矩前馈项(重力补偿+科氏力补偿),叠加PD反馈。

案例拆解:小跑步态的参数敏感性

以Unitree A1机器人为例,设定小跑步态:步频2.2Hz,步长0.25m,抬腿高度0.08m。初始轨迹规划后,实测发现膝关节力矩峰值达到12Nm,超过电机额定扭矩的80%。分析发现:摆线轨迹在抬腿最高点处加速度突变,导致冲击力矩。解决方案是将轨迹改为“修正摆线”——在最高点附近增加匀速段,使加速度连续。调整后力矩峰值降至8Nm,但步态周期延长了15%。进一步实验表明,当步频提升至3.0Hz时,轨迹规划方法开始出现明显的相位滞后,因为逆运动学计算耗时约2ms,加上轨迹插值延迟,实际关节指令滞后于期望轨迹约5ms,在高速下导致足端拖地。

工程经验:轨迹规划方法适合结构化环境中的中低速运动(<1.5m/s)。其优势在于可解释性强、调试直观;劣势在于对地形变化零鲁棒性——一旦地面高度偏差超过2cm,预规划的足端轨迹就会产生“踩空”或“提前触地”。这也是为什么现代四足机器人普遍引入“触地检测+轨迹重规划”机制,但这本质上已经偏离了纯前馈的轨迹规划范式。

4.4 传统方法的共性局限与反思

局限一:模型精度依赖

所有传统方法都依赖精确的动力学模型参数(质量分布、惯性张量、关节摩擦系数)。实际中,电池电量变化导致质心偏移、负载变化、关节磨损都会使模型失配。以ZMP为例,模型误差超过5%时,ZMP计算偏差可达3cm,在支撑域边缘时极易导致失稳。

局限二:参数整定困难

CPG需要调节耦合权重,ZMP需要调节MPC权重矩阵,轨迹规划需要调节插值系数。这些参数之间相互耦合,且最优值随运动速度、地形条件变化。传统方法通常需要工程师数周的经验调参,且无法保证全局最优。

局限三:动态适应能力弱

传统方法本质上是“规划-跟踪”的开环架构,对突发扰动(如侧向推力、地面打滑)的响应依赖于反馈控制器的带宽。PD控制器的带宽受限于执行器饱和与传感器噪声,通常只能应对小幅扰动。当扰动幅度超过一定阈值时,需要上层规划器重新规划轨迹,而这一过程耗时数十毫秒,在动态场景中往往来不及。

局限四:任务泛化性差

每种步态(小跑、溜蹄、跳跃)都需要单独设计CPG参数或轨迹模板。当面临“跨越障碍后立即转身”这类复合任务时,传统方法需要切换多个控制器,切换逻辑本身就是一个复杂的有限状态机,极易出现状态冲突。

总结复盘:传统方法并非“错误”,而是“不充分”。它们在结构化环境、中低速、模型已知的条件下表现优异,但面对真实世界的非结构化、高速、模型不确定场景时,其性能天花板明显。强化学习的核心优势在于:用数据替代模型,用策略网络替代手工规则,用端到端学习替代模块化流水线。然而,强化学习并非完全抛弃传统方法——现代四足RL算法(如SAC、PPO)通常将ZMP或CPG作为动作空间的先验或奖励函数的参考项,实现“传统知识引导+数据驱动优化”的融合范式。