前段时间深入研究了MIT四足机器人Cheetah 3和Mini Cheetah的控制方案,并在此基础上整理了笔记。Cheetah 3和Mini Cheetah的控制策略有异曲同工之处,接下来以Cheetah 3为例进行介绍。
摆动腿控制策略主要关注于机器人低速运动时,每条腿在支持相与摆动相之间的循环转换。摆动腿的控制目标位置通常通过插值方法(如三次样条或三次贝塞尔)获取,以确保在每个控制周期内腿末端的期望位置和速度。在操作空间实现阻抗控制后,通过关节末端相对于身体坐标系的雅可比矩阵计算各关节力矩。若已建立动力学模型,则可在此基础上添加动力学力矩前馈。
腿足机器人通过选择落脚点来控制速度,这一点在《legged robot that balance》中有着详细阐述。主要公式基于机器人视为弹簧倒立摆模型,通过选择合适落脚点实现速度控制。
平衡控制器分为集中质量模型(lumped model)平衡控制器和凸模型预测控制(Convex Mpc)。集中质量模型下,假设腿的作用忽略,地面对腿部的作用等效作用在质心。在单刚体模型下,机器人运动方程基于基本牛顿运动定律得出,即合力=ma,合力矩=惯量*角加速度。通过PD控制律计算质心加速度和角加速度,求解质心状态。为了求解较理想的地面反作用力,将问题转化为二次规划问题,利用Quadprog++求解,最终得到地面反作用力和期望腿末端力。
实际应用中,单刚体模型在MIT的测试中显示出良好的效果,尤其是在Cheetah 3跳跃上桌子的控制方案中,用于机器人的落地稳定控制。在笔者的复现过程中,发现此模型同样适用于跳跃阶段的地面反作用力规划,表现不错。
该模型的表述形式类似于《Online Planning for Autonomous Running Jumps Over Obstacles in High-Speed Quadrupeds》中Cheetah 2高速跑跳时所用模型。Cheetah 2正是基于此模型确定腿部的力矩轮廓(force profile),实现高速跑跳。
在仿真中,笔者使用该模型进行四足机器人跳跃及落地稳定控制,效果良好。例如让机器人身体跳跃至挡板的仿真展示。
笔者仅作简要叙述,难免有不严谨之处,欢迎各位讨论和指正。如有疑问或合作需求,可联系twyang@zju.edu.cn。