技术深度解析
MIT猎豹软件栈是应用控制理论的典范,围绕三大核心支柱构建:用于运动规划的模型预测控制(MPC)、实时状态估计器以及底层力控制器。MPC公式是其中的明星。它在每个控制循环(通常为1-3 kHz)中求解一个带约束的优化问题,以在短时间窗口(通常为0.5-1秒)内计算最优地面反作用力和关节扭矩。该模型采用简化的单刚体动力学(SRBD)模型,将机器人视为一个具有惯性的单一质量,而非对每个连杆进行建模。这种近似大幅降低了计算复杂度,同时保留了足够的保真度,以支持诸如跳跃、疾驰和跳跃等动态动作。根据具体步态,优化过程通过自定义实现的微分动态规划(DDP)或二次规划(QP)求解器完成。代码采用C++编写,使用Eigen进行线性代数运算,并在实时Linux内核(PREEMPT_RT)上运行,以确保确定性的时序。
状态估计器通过扩展卡尔曼滤波融合来自IMU(加速度计和陀螺仪)、关节编码器和腿部运动学的数据。一个关键创新在于接触检测逻辑:估计器并非依赖足部力传感器,而是利用预期关节速度与实际关节速度之间的差异来推断足部何时与地面接触。这使得机器人即使在没有专用触觉传感器的情况下,也能在光滑或不平坦的地形上保持平衡。底层控制器随后通过机器人的雅可比矩阵将MPC输出的期望地面反作用力映射为关节扭矩,并在摆动阶段使用独立的PD控制器进行关节位置跟踪。
| 组件 | 算法 | 更新频率 | 关键创新 |
|---|---|---|---|
| 运动规划器 | 模型预测控制(SRBD + DDP/QP) | 1-3 kHz | 简化动力学实现实时优化 |
| 状态估计器 | 扩展卡尔曼滤波(EKF) | 1 kHz | 通过速度残差进行接触检测 |
| 力控制器 | 雅可比转置映射 + PD | 3-10 kHz | 支撑相与摆动相之间的平滑过渡 |
数据要点: MPC的1-3 kHz更新频率至关重要——它比典型的基于仿真的规划器快10-100倍,使机器人能够在单步内对诸如推搡或不平坦地形等干扰做出反应。
该仓库本身(GitHub: mit-biomimetics/cheetah-software)采用模块化包结构:`cheetah_mpc`、`cheetah_estimator`、`cheetah_control`和`cheetah_hardware_interface`。每个包都有清晰的文档和单元测试。代码并非黑箱;它暴露了用于调整增益、质量和摩擦系数的配置文件,使其能够适应不同的四足平台。例如,东京大学的研究人员已经复刻了该仓库,将其适配到他们自己的12自由度四足机器人上,并在两周内实现了稳定的小跑。
关键参与者与案例研究
此次发布背后的主要实体是MIT仿生机器人实验室,由Sangbae Kim教授领导。Kim是高速腿式运动的先驱;他于2012年打造的猎豹1号是首个实现带有腾空相位的疾驰步态的机器人。该实验室的方法始终倾向于机械简单性(例如,低减速比、高扭矩电机)而非复杂传感,这套软件栈也反映了这一理念:它依赖本体感觉(关节角度和IMU)而非视觉或激光雷达来维持平衡。这使得它对光照条件和视觉杂乱具有极强的鲁棒性。
已有几家公司将MIT的工作商业化衍生品。波士顿动力(Spot)使用了类似的基于MPC的框架,尽管其代码是专有的。宇树科技(H1和B2系列)已公开承认其控制栈受到MIT开源出版物的启发。性能指标的直接对比揭示了其影响:
| 机器人 | 最大速度 | 跳跃高度 | 软件栈 | 开源? |
|---|---|---|---|---|
| MIT猎豹3号 | 6.4米/秒(14.3英里/小时) | 0.5米 | MIT cheetah-software | 是 |
| 宇树H1 | 5.0米/秒(11.2英里/小时) | 0.3米 | 专有(受MIT启发) | 否 |
| 波士顿动力Spot | 1.6米/秒(3.6英里/小时) | 0.2米 | 专有MPC | 否 |
数据要点: MIT猎豹在原始速度和跳跃能力上均优于两个商业竞争对手,很大程度上是因为开源软件针对最大性能进行了调优,而非安全性或有效载荷能力。其代价是猎豹是一个研究平台,而非产品。
此次开源发布也使较小的研究团队受益。例如,苏黎世联邦理工学院机器人感知实验室已将MIT代码作为其基于学习的运动研究的基线,在仿真中训练神经网络策略,然后将知识蒸馏到MPC框架中。这种混合方法实现了30%的改进。