提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
TODO:写完再整理
本文先对一种健壮、动态四足机器人的设计与控制做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章
提示:以下是本篇文章正文内容
它的前身Cheetah 3号利用量身定制的机械设计,使动态运动的控制策略,并具有高带宽本体感受执行器,以管理与环境的物理交互。
本文提出了另一种新的通用控制结构
.
猎豹3条腿的特点是大大扩展了与猎豹2号相比。新型ab/ad驱动器运动范围大于±45度,而新的髋关节和膝关节的设计允许机器人以相同的方式操作向前、向后和颠倒,并可能将其腿用于简单的操作任务以及运动。
猎豹3号的每个执行器都由一个定制的高耦合到单级7.67:1的转矩密度电动机行星齿轮减速。略高的传动比与猎豹2号相比(5.8:1)被选为改善机器人的承载能力和低速效率。
下连杆由通过的滚子链驱动通过上连杆,提供额外的1.15x齿轮减少。通过使用链子而不是连杆连杆可以旋转330度,让机器人任意改变膝盖向前或向后的方向。而滚子链确实会带来轻微的扭矩和速度在链接处产生涟漪【防盗标记–盒子君hzj】,并在膝关节执行器和下关节,在实践中这些效果没有导致高水平的表现受到影响。
髋关节可以连续旋转,仅受连接膝关节执行器的电线长度,允许机器人可能会倒着操作,爬上高高的障碍物,或者用脚在身体上方操纵。两个ab/ad执行机构位于每对支腿之间通过连杆连接到支腿上。。腿链环是铝制的,四条腿的总重量为2.7千克,或者只有机器人质量的6%。每条腿的末端有一个由10毫米厚的60A聚氨酯橡胶制成的盖子。提供缓冲和抓地力,无论接触腿和地面之间的角度
Cheetah 3有一个分层计算架构,Cortex-A8的处理器控制腿部运动,第二代酷睿i7处理器运行环路频率高的运动控制,并允许轻松根据未来需要扩展计算资源感知、计划和导航任务。躯干控制和状态估计由嵌入式电脑处理【防盗标记–盒子君hzj】
.
带有第二代酷睿i7笔记本电脑CPU,运行UbuntuLinux(内核4.1.33)和配置抢占RT补丁。运动计算机使用轻量级接收用户命令并记录数据通信和编组(LCM)[10]。LCM将允许其他计算机用于视觉、规划和其他易于与机车计算机通信的任务未来。【防盗标记–盒子君hzj】
.
腿部水平控制由腿部执行基于Cortex-A8的处理器。腿部控制器通过以太网与1 kHz的移动计算机通信,执行腿部水平控制任务,如笛卡尔阻抗4.5 kHz时的控制或联合PD控制。较高的样本腿部水平的频率允许高速关节速度摇摆时的滤波和高带宽跟踪相位和其他位置控制动作。最后,每条腿控制器发送扭矩指令并接收联合编码器三台无刷电机驱动器的测量每个支腿上的电机,执行电流控制20khz采样率下的电机,400hz闭环带宽。
.
.
控制架构被设计成模块化,因此它可以很容易地被替换,而不需要对系统的其他部分进行任何修改
MIT Cheetah 3主控计算机主要由三部分组成:高级规划(绿色)、腿部和身体控制(红色)和状态估计(蓝色)
(1)操作员通过给出所需的平动速度p˙d和转向率Ψ˙d来的高级命令【防盗标记–盒子君hzj】
(2)接收到高级命令,CoM参考轨迹生成并传送给身体和腿部控制器
(3)控制器manager根据用户输入命令和机器人状态,如果腿处于腿在摆动中,则使用“摆动腿控制器”,如果腿处于腿在支撑中,则使用“力控支撑腿控制器”
(4)力和位置指令被发送到微控制器,用于将电机指令传递给机器人的每条腿。
.
.
Cheetah 3 的步态是由一个基于事件的有限状态机FSM进行管理的,使用独立于leg的相位变量的状态机管理接触和摆动阶段。这允许对于灵活步态定义和流体过渡之间他们
由独立布尔值定义变量摆动sφ∈0,接触sφ∈01,同时估计触点的状态,如摆动sˆ∈0,接触sˆ∈0。机器人可以区分操作、意外的早期接触和延迟的错过接触,以适当地调整其控制操作【防盗标记–盒子君hzj】
.
其中
m和w是机器人的总质量和质心转动惯量
g是重力矢量
pi∈{1,2,3,4}是脚的位置。
术语[π-pc]×是表示叉积的斜对称矩阵(π-pc)×Fi。
平衡控制器的目标是解决驱动近似腿部力F的分布对应期望的动力学
假设
由于模型支撑状态动力学模型是线性的,控制器可以表示为二次规划(QP)的解
最小成本函数反映了三者之间的权衡目标:将COM动态驱动到所需的值,将使用的力最小化,并惩罚当前的QP解决方案和上一时间步的解决方案
矩阵S决定相对优先级控制旋转和平移运动,以及增益α>0和β>0决定了力归一化和解滤波。约束条件强制执行CF≤d,以确保优化的力位于摩擦金字塔中,并且法向力位于在可行的范围内;在支腿之间切换根据预定的接触来确定摆动腿的界限【防盗标记–盒子君hzj】
.
.
最小化成本函数
其中Qi和Ri是重量,Xi R12是机器人在时间步长I的状态,包括位置、速度、方向和角度速度,xref i是机器人的期望状态,k是地平线长度。由于定向动力学具有非线性耦合效应,求解该MPC具有挑战性
.
其中期望的和实际的身体方位是分别用旋转矩阵Rd和R来描述,【防盗标记–盒子君hzj】用指数法得到了定向误差旋转的地图表示
.
.
每个足迹位置都是根据相应的髋关节位置使用Raibert启发式与基于速度的反馈项计算足端关键点公式。因为机器人会没有外部环境传感器,足迹位置投射到假定的地平面上。因此计算脚i在二维地平面上的步长位置从机器人的臀部以下
式中,Tcφ是接触阶段(站姿)时间,z0是运动的名义高度,ph,i提供相应髋部i的位置。采用带前馈项的PD控制器计算跟踪笛卡尔摆动轨迹的关节力矩每只脚。
其中
Ji是foot Jacobian
∧i是操作空间惯性矩阵
Bai,ref是摆动轨迹
qi是关节配置的向量
Ci是科里奥利矩阵
Gi是重力引起的扭矩
其中Kp和Kd是比例和衍生收益。笛卡尔PD控制器在腿上运行4.5 kHz时的控制器
.
.
状态估计用于估计足式机器人的位置、速度和姿态(rpy),其中速度和位置作为反馈输入更好的跟随到COM轨迹,姿态(rpy)作为反馈输入用于支撑的平衡控制器
对躯干旋转的估计由 实现,只需对 的原始数据稍作旋转坐标变换就可得到躯干的姿态与角速度。对躯干平动的估计方面,利用卡尔曼滤波器设计了一个足底里程计
状态估计的第一阶段使用了使用IMU陀螺仪和加速度计的定向滤波器读数。滤波器的主要思想是陀螺提供高频方向的精确读数动力学,而重力偏倚的存在加速度计允许它在相对较低的频率下消除估计值的漂移。【防盗标记–盒子君hzj】让方位估计0Rˆb作为身体相对于i.c.s.的方向筛选器根据更新此估计
其中,k>0是校正增益,ωcorr是校正将加速度计读数ab与它的重力偏差
这个项的去漂移时间常数可以是用κ- 1近似
其中g是重力加速度,k ref选择为k参考=0.1。这一过程对消除纵摇和横摇漂移是有效的,然而,在没有横摆误差积累的情况下利用视觉等外部信息进行融合
.
状态估计的第二阶段使用方向估计0Rˆb和运动测量从腿上估计基地的位置和速度。在与先前提出的状态估计技术相比这个问题作为一个扩展的Kalman滤波器,两级方法允许二次融合传统的卡尔曼滤波器。【防盗标记–盒子君hzj】这简化了分析和调整滤波器并保证滤波器方程永远不会在有限的时间内发散。
在连续时间内,过程方程被建模为
其中
0pb是物体的位置
0vb是它的速度,
g=[0,0,-g]T重力加速度,
脚的位置i.白噪声项wv
pi表示加速度计和任何脚的位置变化。
表示计算出的相对脚部位置通过运动学,产生测量残差
假设每只脚是固定的,这提供了一个相关的测量残差
最后,假设每只脚的接触高度hi相关测量残余
残差用于Kalman滤波器提供估计值0pˆb、0vˆb和0pˆi用于平衡控制或MPC部件的反馈。