MIT Cheetah 3: Design and Control of a Robust, Dynamic Quadruped Robot
腿部设计
每个腿有三个自由度,分别由以下三个关节上的驱动器控制,实现对地面接触力的完全三维控制
- abduction/adduction (ab/ad) 外展和内收关节,带动整个腿部绕本体X轴方向转动
- hip 臀部关节,带动整个腿部绕本体Y轴方向转动
- knee 膝关节,带动小腿绕本体Y轴方向转动
控制架构
用户输入期望的水平速度和转向速度, 规划一条质心运动参考轨迹, 根据当前腿的状态使用不同的控制器和步态规划来生成期望的力或者位置控制
步态规划
步态由基于事件的FSM定义, 使用一个phase variable来定义腿处于接触还是摆动阶段(phase), 本文中定义了 trotting, bounding和pacing三种步态, 通过控制每个腿处在不同的phase来模拟动物的步态, 在实际中, 规划的phase和真实(估计)的phase之间可能存在差异,因此用两个变量来区分,根据两个变量的关系可以判断是否发生了提前接触,延迟接触等现象,从而调整控制策略
控制模型
由于四肢惯性相对机体来说非常小,因此在计算地面接触力时不考虑四肢的影响,机体质心加速度和四足接触力(地面施加给足部的力)之间存在线性关系
接触力控制 - Balance Controller
对于给定的期望位置/角度以及速度/角速度, 使用PD控制律确定期望的加速度/角加速度
基于期望的加速度/角加速度有期望的质心动力学
Balance Controller的目的是求得四足接触力的最优分布以满足期望的质心动力学, 由于动力学方程为线性方程, 该问题可表示为一个二次规划问题 quadratic program (QP)
代价函数中第一项表示尽可能使质心动力学接近期望值, 同时使用对角矩阵 来表示质心动力学中不同项的相对权重, 第二项表示尽可能使接触力小, 第三项表示尽可能使接触力接近上一步时的接触力分布, 约束条件表明接触力应在摩擦锥内, 即接触点不打滑
除了 Balance Controller 外, 接触力控制还可以采用 Model Predictive Control (MPC), 具体内容参见 Dynamic Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive Control (后续放解读连接)
摆动腿控制
摆动腿落点位置 (2D) 为
其中, 为规划的接触阶段时间, 为运动高度, 为hip 关节的位置
使用 PD 控制器追踪摆动腿足部在笛卡尔坐标系下的位置
在 Robot Dynamics Lecture Notes 的3.9.3节中给出了末端执行器运动控制的关节力矩计算公式 (3.94)
文献中计算前馈控制力(仅根据期望加速度和动力学量计算)公式为
再添加关于位置和速度的PD反馈,得到总的控制器为
其中, 和 是对角矩阵, 对角线上为比例和导数增益, 为了保证摆动腿的PD控制器保持稳定, 各个增益需要进行缩放
其中, 为增益矩阵 第 个对角元素, 为期望的自然频率, 为工作空间惯性矩阵的第 个对角元素
Virtual Predictive Support Polygon 暂略
斜坡地形的姿态调整
为了在没有视觉的情况下跨越阶梯和斜坡, 用每个足部位置 来近似行走表面的局部斜率并调整期望位姿. 行走表面定义为一个平面
其中的系数 可通过求解一个最小二乘问题得到
状态估计
使用一个两阶段传感器融合算法, 先估计方向, 再估计位置和速度. 第一阶段状态估计对IMU陀螺仪和加速度计的数据使用了一个方向滤波器, 核心思想为陀螺仪提供了本体角速度, 加速度计提供的重力加速度方向为本体倾斜和滚转方向做一个校正
其他内容暂略