前言
四足机器人因其在复杂地形中的稳定性和灵活性,成为机器人技术研究的热点。开源四足控制框架为研究者和爱好者提供了开发和实验的平台。本文将梳理一些流行的开源四足控制框架,并提供图文并茂的笔记。
四足机器人控制框架概述
1. 控制框架的重要性
- 小型四足机器人:通常使用舵机驱动,运动学层次的控制即可满足需求。
- 大型四足机器人:需要考虑动力学影响,进行力矩(电流环)层次的控制。
2. 四足机器人的特点
- 动力学模型具有6自由度欠驱动浮动机身。
- 动力学模型受到时变广义约束(足-地不连续接触)的影响。
3. 控制策略
- 稳定性:保证机器人在欠驱方向上不失稳。
- 模型简化:将机器人简化为点-质量模型,便于运动规划。
- 动态可行性:考虑未来运动稳定性进行运动规划。
4. 控制算法
- 全身控制算法 (WBC):将复杂的机器人运动分解为多个带优先级的子任务。
- 线性倒立摆 (LIP) 模型:作为线性简化模型的典型代表,在足式机器人运动规划及控制领域应用广泛。
开源四足控制框架
CHAMP(Compliant Hybrid Agile Manipulation Platform)
- 项目主页: CHAMP GitHub
- 特点:
-
- 基于ROS导航堆栈,支持自主运行。
- 提供设置助手,方便配置新机器人。
- 预配置URDF模型,如Anymal、MIT Mini Cheetah、Boston Dynamics' Spot和LittleDog。
- 支持Gazebo模拟环境,与多种DIY四足项目兼容。
- 包含TOWR和鸡头稳定等演示应用程序。
- 轻量级C++库,可在单板计算机和微控制器上运行。
- 支持Ubuntu 16.04和Ubuntu 18.04操作系统。
OpenCat
- 项目主页: OpenCat GitHub
- 特点:
-
- 基于Arduino和Raspberry Pi,适合教育和研究。
- 支持复杂运动,如行走、跑步、跳跃和后空翻。
- 可通过增加传感器和摄像头,引入感知和人工智能功能。
- 用户已成功部署NVIDIA Issac模拟、强化学习和基于视觉的SLAM与ROS。
- 已用于 K12 学校和大学的机器人教育,向学生传授 STEM、编码和机器人技术知识。
UMI on Legs
- 项目主页: UMI on Legs GitHub
- 特点:
-
- 结合真实世界人类示范和模拟训练的全身控制器。
- 为带有机械臂的四足机器人提供可扩展的操作技能框架。
- 代码库包含全身控制器仿真训练、实际部署、iPhone里程计iOS应用等。
MIT Cheetah
- 项目主页: MIT Cheetah GitHub
- 特点:
-
- 由麻省理工学院开发,提供基于MPC的线性化模型预测控制框架。
- 硬件框架包括电机控制器硬件和软件。
- 电机控制器硬件使用了mbedOS,一个针对ARM Cortex-M系列处理器的嵌入式开源生态。
- 通过MPC的控制理论在线性化假设下采用QP优化来求解。
- 实现了更快速度、更流畅优化的四足机器人奔跑。
rl-mpc-locomotion
- 项目链接: rl-mpc-locomotion GitHub
- 特点:
-
- 结合MPC和强化学习,提供PPT,逻辑清晰梳理了四足机器人运动学和动力学。PPT 链接:deep rl for mpc
- 目的:为四足机器人的步态任务提供快速的模拟和强化学习(RL)训练框架,通过动态预测MPC控制器的权重参数。
- 控制框架:由高层策略网络和低层模型预测控制器组成的分层控制器。
- MPC控制器:基于Cheetah软件,但使用Python编写,完全开放传感器数据和电机命令之间的接口,便于控制器移植到主流模拟器。
- RL训练:使用NVIDIA Isaac Gym并行训练,使用Unitree Robotics Aliengo模型,并将其从模拟转移到现实世界中的Aliengo机器人。
Legged_control
- 项目链接: Legged_control GitHub
- 特点:
-
- NMPC(非线性MPC)+WBC 控制框架。
- 目标速度或位置转换为状态轨迹,发送到NMPC。
- NMPC评估优化的系统状态和输入。
- WBC根据NMPC的结果计算关节扭矩。
- 低增益关节位置和速度PD命令用于减少冲击和提高跟踪性能。
Quad-SDK
- 项目链接: Quad-SDK GitHub
- 特点:
-
- 全栈四足软件框架,基于ROS。
- 采用非线性MPC控制器,构建了全局规划器和长周期的局部步态规划器。
- 侧重于规划、控制、估算、通信和开发工具的垂直集成,从而在仿真和硬件中实现敏捷的四足运动。
- 提供 Gazebo 仿真支持以及一套可视化和数据处理工具,以实现快速开发。
A1-QP-MPC-Controller
- 特点:
-
- 实现了两种控制器方便用户参考学习,控制器和本体传感器状态估计算法的重新实现。
- 控制器运行在Docker容器中,便于不同计算设备间移植。
motion_imitation
- 项目链接: motion_imitation GitHub
- 特点:
-
- 使用python写的模仿学习和MPC控制器。
- 基于pybullet,代码可读性高。
总结
开源四足控制框架为四足机器人技术的研究和开发提供了丰富的资源和工具。CHAMP提供了强大的控制算法和模拟环境支持,适合进行深入的算法研究和模拟测试。OpenCat则更注重于教育和DIY项目,通过Arduino和Raspberry Pi平台,使得四足机器人的构建更加亲民和灵活。UMI on Legs为四足机器人与机械臂的结合提供了新的视角,通过全身控制框架,实现了视觉运动策略在四足机器人上的应用。MIT Cheetah则提供了硬件和软件的开源资源,为研究者提供了从硬件到软件的完整解决方案。
选择合适的框架取决于您的具体需求,如是否需要模拟环境、是否需要集成视觉和感知功能,或是对硬件的控制需求等。这些框架的开源特性使得它们能够不断进步,并且为四足机器人技术的发展提供了宝贵的贡献。