技术深度解析
MIT猎豹软件仓库并非一个完整的机器人操作系统,而是一个紧密集成的控制框架。其架构可分为三个层次:
1. 状态估计层:融合来自IMU、关节编码器和可选外部动作捕捉系统的数据,以估计机器人的身体姿态、速度和地面接触力。该层使用一个以1 kHz频率运行的扩展卡尔曼滤波器(EKF)。
2. 模型预测控制(MPC)层:这是系统的大脑。MPC以1 kHz频率求解一个凸优化问题,以计算在短时间范围(通常为0.5秒)内每个足部的最优地面反作用力。其关键创新在于使用了一个简化的单刚体动力学模型,忽略腿部惯性,使得优化在实时条件下变得可行。所使用的求解器是交替方向乘子法(ADMM)的自定义实现,可在嵌入式PC上于1毫秒内收敛。
3. 全向控制(WBC)层:接收来自MPC的期望力,并将其映射到各个关节扭矩。该层处理运动学约束、关节限位和扭矩限制。它使用一个以1 kHz频率运行的二次规划(QP)求解器。WBC还通过平滑混合力曲线来管理接触过渡(例如,从慢跑过渡到疾驰)。
该仓库包含一个带有ROS集成的C++代码库,但构建系统较为棘手。代码依赖于特定版本的Eigen、OSQP以及MIT猎豹自定义电机驱动库。对于希望复现结果的研究人员,推荐的硬件是MIT猎豹3机器人,该机器人使用定制的高扭矩密度电机,集成编码器并采用实时EtherCAT通信总线。
性能基准(来自已发表论文,非直接来自此仓库):
| 指标 | MIT猎豹3 | Boston Dynamics Spot | Unitree Go1 |
|---|---|---|---|
| 最大速度 | 6.0 m/s | 1.6 m/s | 4.7 m/s |
| 最大跳跃高度 | 0.5 m | 0.3 m | 0.2 m |
| MPC更新频率 | 1 kHz | ~100 Hz(估计) | 400 Hz(估计) |
| 扭矩密度 | 10 Nm/kg | 5 Nm/kg(估计) | 8 Nm/kg |
| 开源控制 | 是 | 否 | 部分(仅底层) |
数据要点: MIT猎豹的MPC方法相比Boston Dynamics Spot提供了3-4倍的速度优势,但代价是需要定制的高扭矩硬件。控制栈的开源性质对研究人员来说是独特的资产,但硬件依赖性限制了与商业产品的直接竞争。
一个值得注意的相关开源项目是GitHub上的 `mjbots/quad` 仓库(超过2,000星),它为使用业余级电机的小型四足机器人实现了简化版的MPC。这表明社区正在积极尝试将MIT猎豹的算法民主化。
关键参与者与案例研究
该仓库的发布直接影响四足机器人生态系统中的几个关键参与者:
- MIT仿生学实验室:原始创造者。由Sangbae Kim教授领导,该实验室已就猎豹系列发表了大量论文。他们的策略一直是推动动态运动能力的边界,而开源代码是其学术使命的自然延伸。然而,他们并未为仓库提供官方支持,使得社区不得不逆向工程构建过程。
- Boston Dynamics:凭借Spot成为市场领导者。其控制算法是专有的,并针对其液压和电动执行器进行了优化。MIT猎豹的开源代码为竞争对手提供了一个可供研究的高性能基线,但Boston Dynamics的优势在于其稳健的硬件、安全系统和商业生态系统(例如Spot的API、负载集成)。
- Unitree Robotics:一家中国公司,其机器人定价激进(Go1起售价2,700美元)。Unitree使用简化的控制架构,优先考虑稳定性而非原始速度。MIT猎豹代码可能激励Unitree升级其MPC实现,但其硬件(低成本、低扭矩电机)可能无法支持同样激进的步态。
- ANYbotics:一家专注于工业巡检的瑞士公司,产品为ANYmal机器人。其控制栈基于类似的MPC+WBC框架,但他们在鲁棒性和自主性(例如自主导航、爬楼梯)方面投入了大量资金。在算法复杂性方面,MIT猎豹代码是直接竞争对手,但ANYbotics通过可靠性和现场测试实现差异化。
开源四足控制项目比较:
| 项目 | 星标数 | 语言 | 硬件支持 | MPC? | 活跃维护 |
|---|---|---|---|---|---|
| `wangzhouxi1/mit` | <100 | C++ | 仅MIT猎豹 | 是 | 低 |
| `mjbots/quad` | 2,200 | C++ | 自定义mjbots硬件 | 简化版 | 高 |
| `OpenQuadruped` | 1,500 | Python | Unitree A1, Go1 | 否 | 中 |
| `ros_control` | 1,800 | C++ | 通用 | 否 | 高 |