4. 传统步态控制方法
在深度强化学习进入四足机器人领域之前,工程师们主要依赖基于模型的控制理论来生成和稳定步态。这些经典方法——中枢模式发生器(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的核心优势在于:无需精确的环境模型即可产生平滑的节律信号,且天然具备相位锁定特性。
操作流程
- 振荡器选型:根据关节运动特性选择Hopf(正弦输出)或Matsuoka(脉冲输出)模型。
- 网络拓扑设计:确定四条腿之间的相位关系(如对角步态相位差为π)。
- 参数整定:通过遗传算法或手动调节耦合权重、固有频率,使输出幅值和频率匹配期望步态。
- 信号映射:将振荡器输出映射为关节角度指令,通常需叠加偏置项以调整站立高度。
- 反馈融合:引入姿态传感器信号作为扰动项,修正振荡器相位(如着地检测触发相位重置)。
案例拆解:MIT Cheetah 的CPG前身实验
在MIT Cheetah早期研究中,团队曾尝试用CPG生成腿部摆动轨迹。初始目标是在跑步机上实现稳定对角小跑,速度1.0 m/s。实验中发现:当振荡器频率设定为2.5 Hz时,空中小跑(flight phase)占比过高导致落地冲击大;将频率降至2.0 Hz后,支撑相延长但速度下降。最终方案是采用自适应频率调节——根据足端力传感器信号动态调整ω_i,使振荡频率与机械共振频率对齐。这一调整将能效比从0.8提升至1.2,但参数整定耗时超过两周,且在不同地形(草地、沙地)上需要重新标定。
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速度而非位置,牺牲了理论完备性换取了更强的动态性能。
4.3 轨迹规划:从足端摆线到全身运动
核心原理
轨迹规划方法将步态分解为足端轨迹与躯干轨迹两部分。足端轨迹通常采用摆线(cycloid)或贝塞尔曲线,保证在摆动相起点和终点的速度为零,减少落地冲击。躯干轨迹则根据ZMP或LIPM规划CoM运动。整体流程为:规划足端位置序列 → 逆运动学求解关节角度 → 插值生成平滑关节轨迹 → 前馈+反馈控制跟踪。
操作流程
- 步态时序定义:确定步态周期、占空比(支撑相比例)、相位偏移。
- 足端轨迹生成:在摆动相使用五次多项式或摆线插值,抬腿高度通常为5-15cm。
- 躯干轨迹规划:基于LIPM或直接设定CoM高度恒定,水平速度按梯形速度曲线规划。
- 逆运动学求解:对每条腿的3个自由度(髋关节横滚、髋关节俯仰、膝关节俯仰)求解解析解。
- 前馈控制:计算关节力矩前馈项(重力补偿+科氏力补偿),叠加PD反馈。
案例拆解:小跑步态的参数敏感性
以Unitree A1机器人为例,设定小跑步态:步频2.2Hz,步长0.25m,抬腿高度0.08m。初始轨迹规划后,实测发现膝关节力矩峰值达到12Nm,超过电机额定扭矩的80%。分析发现:摆线轨迹在抬腿最高点处加速度突变,导致冲击力矩。解决方案是将轨迹改为“修正摆线”——在最高点附近增加匀速段,使加速度连续。调整后力矩峰值降至8Nm,但步态周期延长了15%。进一步实验表明,当步频提升至3.0Hz时,轨迹规划方法开始出现明显的相位滞后,因为逆运动学计算耗时约2ms,加上轨迹插值延迟,实际关节指令滞后于期望轨迹约5ms,在高速下导致足端拖地。
4.4 传统方法的共性局限与反思
局限一:模型精度依赖
所有传统方法都依赖精确的动力学模型参数(质量分布、惯性张量、关节摩擦系数)。实际中,电池电量变化导致质心偏移、负载变化、关节磨损都会使模型失配。以ZMP为例,模型误差超过5%时,ZMP计算偏差可达3cm,在支撑域边缘时极易导致失稳。
局限二:参数整定困难
CPG需要调节耦合权重,ZMP需要调节MPC权重矩阵,轨迹规划需要调节插值系数。这些参数之间相互耦合,且最优值随运动速度、地形条件变化。传统方法通常需要工程师数周的经验调参,且无法保证全局最优。
局限三:动态适应能力弱
传统方法本质上是“规划-跟踪”的开环架构,对突发扰动(如侧向推力、地面打滑)的响应依赖于反馈控制器的带宽。PD控制器的带宽受限于执行器饱和与传感器噪声,通常只能应对小幅扰动。当扰动幅度超过一定阈值时,需要上层规划器重新规划轨迹,而这一过程耗时数十毫秒,在动态场景中往往来不及。
局限四:任务泛化性差
每种步态(小跑、溜蹄、跳跃)都需要单独设计CPG参数或轨迹模板。当面临“跨越障碍后立即转身”这类复合任务时,传统方法需要切换多个控制器,切换逻辑本身就是一个复杂的有限状态机,极易出现状态冲突。