仿人机器人是模拟人类行为和外貌的机器人,通过结合先进技术如人工智能、语音识别等,实现更真实人机交互,满足人类对更复杂互动的需求。 虽然目前有诸如Atalas、Digit等较为成熟的产品,但有关仿人机器人运动控制的开源内容依旧有限。
本项目开发了基于MPC(Model Predictive Control,模型预测控制)和 WBC(Whole Body Control,全身控制)的开源控制框架, 完成全身31个自由度机器人的运动控制,并在Mujoco仿真平台上验证了算法的可行性,实现了机器人的行走、盲踩障碍、跳跃。
本控制框架代码具备以下几个优势:
该控制框架具备以下特点:
控制框图如下所示:
控制框图
MPC在低频层级运行,基于单刚体模型通过对未来一段时间内对系统模型进行预测,并基于当前系统状态与预测优化生成足底接触力轨迹。
机器人单刚体模型如下所示:
MPC的优化过程如下所示:
WBC在高频层级运行,通过零空间映射实现机器人全身多关节对于多任务的执行,并基于全身动力学优化最终生成全身关节的位置速度力矩指令。
机器人全维动力学模型如下所示:
WBC的优化过程如下所示:
以上为本控制框架的核心算法,据此实现机器人的多种运动能力。
本控制框架在Mujoco仿真平台下实现了机器人行走,并能进行盲踩及跳跃,示例代码可在开源项目仓库中下载并复现其效果。
示例:1m/s快速行走
示例:盲踩障碍物与10cm跳跃