最全开源四足机器狗控制框架汇总!

木木JS 求知AI 2024年10月21日 17:36
点击上方“求知AI”关注我们吧

一、四足机器人控制框架概述

1.控制框架的重要性

小型四足机器人通常采用舵机驱动,其运动学层次的控制便能满足基本需求。这种控制方式相对简单,主要关注机器人关节的运动角度和速度等运动学参数。
大型四足机器人由于其自身的复杂性和工作要求,需要考虑动力学影响,进行力矩(电流环)层次的控制。这涉及到对机器人关节所受的力和力矩的精确控制,以确保机器人在各种复杂工况下的稳定运行
2.四足机器人特点
动力学模型具有6自由度欠驱动浮动机身。这意味着机器人在空间中的运动具有一定的自由度限制,同时机身的驱动方式并非完全独立控制,存在欠驱动的情况。
动力学模型受到时变广义约束(足-地不连续接触)的影响。在机器人运动过程中,足部与地面的接触是不连续的,这种接触状态的变化会对机器人的动力学特性产生复杂的影响。
3.控制策略
稳定性是关键,要保证机器人在欠驱方向上不失稳。这需要通过合理的控制算法和策略来实现,例如对机器人的重心控制、姿态调整等。
模型简化是常用手段,将机器人简化为点-质量模型,便于运动规划。这种简化模型能够在一定程度上降低问题的复杂性,使运动规划算法更容易实现。
动态可行性要求在运动规划时考虑未来运动的稳定性。即不仅要关注当前的运动状态,还要预测机器人在未来一段时间内的运动情况,确保整个运动过程的稳定和可行。
4.控制算法
全身控制算法(WBC)将复杂的机器人运动分解为多个带优先级的子任务。通过这种方式,可以分别对不同的子任务进行控制和优化,提高机器人运动的协调性和效率。
线性倒立摆(LIP)模型作为线性简化模型的典型代表,在足式机器人运动规划及控制领域应用广泛。它能够有效地描述机器人在某些特定运动状态下的动力学特性,为运动规划和控制提供理论基础。
二、开源四足控制框架

1.CHAMP

项目主页:CHAMP GitHub

(https://github.com/chvmp/champ)
特点:
  • 基于ROS导航堆栈,支持自主运行。
  • 提供设置助手,方便配置新机器人。
  • 预配置URDF模型,如Anymal、MITMiniCheetah、BostonDynamics'Spot和LittleDog。
  • 支持Gazebo模拟环境,与多种DIY四足项目兼容。
  • 包含TOWR和鸡头稳定等演示应用程序。
  • 轻量级C++库,可在单板计算机和微控制器上运行。
  • 支持Ubuntu16.04和Ubuntu18.04操作系统。
图片
2.OpenCat

项目主页:OpenCat GitHub

(https://github.com/PetoiCamp/OpenCat)
特点:
  • 基于Arduino和RaspberryPi,适合教育和研究。
  • 支持复杂运动,如行走、跑步、跳跃和后空翻。
  • 可通过增加传感器和摄像头,引入感知和人工智能功能。
  • 用户已成功部署NVIDIAIssac模拟、强化学习和基于视觉的SLAM与ROS。
  • 已用于K12学校和大学的机器人教育,向学生传授STEM、编码和机器人技术知识。

    图片

3.UMIonLegs

项目主页:UMI on Legs GitHub

(https://umi-on-legs.github.io/)
特点:
  • 结合真实世界人类示范和模拟训练的全身控制器。
  • 为带有机械臂的四足机器人提供可扩展的操作技能框架。
  • 代码库包含全身控制器仿真训练、实际部署、iPhone里程计iOS应用等。
图片
4.MITCheetah
项目主页:MIT Cheetah GitHub
(https://github.com/mit-biomimetics/Cheetah-Software)
特点:
  • 由麻省理工学院开发,提供基于MPC的线性化模型预测控制框架。
  • 硬件框架包括电机控制器硬件和软件。
  • 电机控制器硬件使用了mbedOS,一个针对ARMCortex-M系列处理器的嵌入式开源生态。
  • 通过MPC的控制理论在线性化假设下采用QP优化来求解。
  • 实现了更快速度、更流畅优化的四足机器人奔跑。
图片
5.rl-mpc-locomotion

项目链接:rl - mpc - locomotion GitHub

(https://github.com/silvery107/rl-mpc-locomotion/tree/main)
特点:
  • 结合MPC和强化学习,提供PPT,逻辑清晰梳理了四足机器人运动学和动力学。PPT链接:deep rl for mpc
  • 目的:为四足机器人的步态任务提供快速的模拟和强化学习(RL)训练框架,通过动态预测MPC控制器的权重参数。
  • 控制框架:由高层策略网络和低层模型预测控制器组成的分层控制器。
  • MPC控制器:基于Cheetah软件,但使用Python编写,完全开放传感器数据和电机命令之间的接口,便于控制器移植到主流模拟器。
  • RL训练:使用NVIDIAIsaacGym并行训练,使用UnitreeRoboticsAliengo模型,并将其从模拟转移到现实世界中的Aliengo机器人。
图片
图片
6.Legged_control

项目链接:Legged_control GitHub

(https://github.com/qiayuanl/legged_control)
特点:
  • NMPC(非线性MPC)+WBC控制框架。
  • 目标速度或位置转换为状态轨迹,发送到NMPC。
  • NMPC评估优化的系统状态和输入。
  • WBC根据NMPC的结果计算关节扭矩。
  • 低增益关节位置和速度PD命令用于减少冲击和提高跟踪性能。
图片
7.Quad-SDK

项目链接:Quad - SDK GitHub

(https://github.com/robomechanics/quad-sdk)
特点:
  • 全栈四足软件框架,基于ROS。
  • 采用非线性MPC控制器,构建了全局规划器和长周期的局部步态规划器。
  • 侧重于规划、控制、估算、通信和开发工具的垂直集成,从而在仿真和硬件中实现敏捷的四足运动。
  • 提供Gazebo仿真支持以及一套可视化和数据处理工具,以实现快速开发。
图片
8.A1-QP-MPC-Controller

项目链接:A1 - QP - MPC - Controller GitHub

(https://github.com/ShuoYangRobotics/A1-QP-MPC-Controller)
特点:
  • 实现了两种控制器方便用户参考学习,控制器和本体传感器状态估计算法的重新实现。
  • 控制器运行在Docker容器中,便于不同计算设备间移植。
图片
图片
9.motion_imitation

项目链接:motion_imitation GitHub

(https://github.com/erwincoumans/motion_imitation)
特点:
  • 使用python写的模仿学习和MPC控制器。
  • 基于pybullet,代码可读性高。
图片
三、总结

开源四足控制框架为四足机器人技术的研究与开发带来了丰富的资源和实用工具。其中,CHAMP具备强大的控制算法以及模拟环境支撑,这使其非常适合深入开展算法研究以及模拟测试工作。OpenCat更侧重于教育领域和DIY项目,借助Arduino和RaspberryPi平台,让四足机器人的构建变得更加容易且成本较低,具有很强的亲民性和灵活性。UMIonLegs为四足机器人与机械臂的结合开拓了新方向,凭借全身控制框架,实现了视觉运动策略在四足机器人身上的应用。MITCheetah不仅提供硬件,还提供软件的开源资源,为研究人员给予了从硬件到软件的整套解决方案。
在选择合适的框架时,要依据自身的具体需求来决定,比如是否需要模拟环境,是否要集成视觉和感知功能,或者对硬件控制有何种要求等。

更多精彩内容,欢迎关注具身智能知识库!

图片

图片

END