MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器

之前一段时间在阅读MIT四足机器人Cheetah 3以及Mini Cheetah控制方案的相关论文,在此处做一些笔记。Cheetah 3与Mini Cheetah的控制方案大同小异,此处先以Cheetah 3为例。

一、摆动腿控制

腿足机器人低速运动情况下每条腿都会在支持相(维持机器人身体高度以及姿态)、摆动相(将腿摆到期望的位置)之间循环交替。通常的摆动腿的控制方法较为简单,《MIT Cheetah 3:Design and Control of a Robust, Dynamic Quadruped Robot》中提出摆动腿的期望目标位置为:

MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器_第1张图片

对摆动腿末端从初始位置到目标位置进行插值(例如三次样条或者三次贝塞尔),获取每个控制周期的腿末端期望位置和速度,在操作空间进行阻抗控制,后利用关节末端相对于身体坐标系的雅可比矩阵计算该腿的各关节力矩即可。如果解算了动力学模型,此处可以加一个动力学力矩前馈

腿足机器人很多时候都会通过选择落脚点来控制机器人的速度,这一点在《legged robot that balance》中进行了详细的阐释,主要公式为如下,此处可将机器人看作一个弹簧倒立摆模型。

二、平衡控制器

支撑腿需要维持机器人身体的高度和姿态,即维持机器人的身体平衡,在Cheetah 3中有两种平衡控制器——基于集中质量模型(lumped model)的平衡控制器和凸模型预测控制(Convex Mpc)。先阐述基于集中质量模型的平衡控制器。

集中质量模型即单刚体模型,也即可以忽略腿的作用,将地面对腿部的作用直接等效作用在质心,这种假设在机器人腿部质量相对于总质量占比很小的情况下是合理的(Cheetah 3与Mini Cheetah的4条腿总质量都不机器人重量的10%)。在将机器人看作单刚体模型的情况下,机器人运动方程为:

MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器_第2张图片

所用到的也是基本的牛顿运动定律,合力=ma,合力矩=惯量*角加速度。其中F为作用在四条腿的地面反作用力。然后依旧通过PD控制律计算期望的质心加速度和角加速度:

这个PD方法详细描述在《High-slope terrain locomotion for torque-controlled quadruped robots》中,其实就是求了一个期望的质心状态

笔者进行复现过程中,发现此处角加速度的PD求解的Kp项也能用期望、实际角度之差。然后为了求解较理想的地面反作用力,可以将该问题转化为一个二次规划问题:

其中S为正定矩阵,保证了该问题有惟一的全局最小值,此处可以用Quadprog++求解,求得地面反作用力后,则期望的腿末端力为其负值,利用雅可比计算关节力矩即可。

这个平衡控制器的模型是一个高度简化的单刚体模型,但在MIT实际测试中表现出了不错的效果,在Cheetah 3跳跃上桌子的控制方案中,这个模型用来做机器人的落地稳定控制器。

MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器_第3张图片

实际在笔者复现过程中,发现这个模型也能用来做跳跃阶段的地面反作用力规划,效果也挺不错。其实这个模型就是《Online Planning for Autonomous Running Jumps Over Obstacles in High-Speed Quadrupeds》中Cheetah 2高速跑跳时用的模型的另一种形式的表述。Cheetah 2正是基于此模型确定腿部的力矩轮廓(force profile),实现Cheetah 2的高速跑跳。

笔者在仿真中使用该模型进行四足机器人跳跃以及落地稳定控制都表现出了不错的效果,例如下图是让机器人身体跳上挡板。

MIT四足机器人Cheetah 3控制方案理解笔记(1)——摆动腿控制、单刚体模型平衡控制器_第4张图片

 

只是随便写一下,难免有不严谨的地方,欢迎各位讨论。

笔者QQ: 1876421464

你可能感兴趣的:(腿足机器人控制,经验分享)