目录
(持续更新)
Chapter 1 介绍
阶段描述
由单腿跳跃机器人开始研究,核心问题在于主动平衡和动力学,而步态和协调问题不是关键的。单腿跳跃机器人的运行周期有两个阶段,支撑相与飞行相(对应摆动相)。
图1-1 单腿跳跃机器人
三通道解耦控制
将运动控制分解为三部分:
①跳动,控制跳跃高度、周期;
②前进速度,控制前进速度与加速度,是通过在飞行相移动腿到合适落脚点是实现的;
③姿态,用于稳定机身的俯仰角,使机身保持直立。
该方法可推广用于控制三维单腿机器人、平面双腿机器人和四足机器人。
图1-2 推广至二足
虚拟腿:假设一个控制 器同时协调共享支撑的支腿,使它们的作用效果像一个单独的等效支腿。
例如,四足机器人每次有两腿进行支撑,对这两腿进行协调控制可以充当一个虚拟腿,进而将四足机器人映射为虚拟二足机器人。
图1-3 推广至四足
单足步态(可用于控制二足):
①一时刻,仅有单足放于地上;
②一时刻,仅有单足在地上推;
③一时刻,仅有单足对机身产生扭矩。
对称性:可以用来简化任何腿数和各种步态的足式系统中的运动。
Chapter 2 平面跳行单腿
设备描述
奔跑运动就像一个球做弹跳运动,除去损耗外,能量在动能、势能之间转换。弹性存储和能量回收对于跳跃、奔跑运动效率至关重要。
运动系统也像倒立摆一样倾斜。
平衡状态:质心直接位于支撑点上方时,没有倾覆力矩,系统处于平衡状态。
但只要质心偏离支撑点上方,就会产生倾覆力矩,使系统远离平衡状态。控制系统可以通过确保一个方向上每个倾覆运动都被另一方向上相等且相反的倾覆运动所平衡,从而使其不完全倾覆。
图2-1 平面单腿跳跃机器人结构示意图
图2-2 将自由度限制在平面内
跳行循环四个时刻:
①离地(Lift-off)。脚失去与地面的接触的那一刻;
②最高点(Top)。身体处于最高高度和从上到下垂直运动的腾空时刻;
③触地(Touchdown)。脚接触地面的那一刻;
④最低点(Bottom)。站立时身体处于最低高度且垂直速度方向从下变化为上的时刻。
运动控制分解三部分(由一个有限状态机进行控制):
①跳动控制部分,通过调整腿部推力,激励跳行运动并调整振幅。
②前进速度控制部分,通过将腿前伸到某一特定位置以提供加速度,稳定前行速度。
③姿态控制部分,通过对髋关节(hip)的伺服控制,使身体在站立时保持直立状态。
图2-3 状态机跟踪跳行运动以同步控制系统的三个部分
前行速度控制
中性点:对每一个前行速度,都存在一个特定的足端位置,使得净前行加速度为 0。
原地跳跃时,中性点位于身体正下方;前进时,中性点在前进方向上。行进越快,中性点离身体越远。
图2-4 对称轨迹,其净前行加速度为0
触地前(左);触地并垂直于地面(中);离地后(右)
图2-5 不对称轨迹,其净前行加速度不为0
当脚置于 中性点后面时,身体在站立时会向前加速(左)。当脚置于中性点前方时,身体在站立时会向 后加速(右)
一种关于足部位置的算法
为准确控制前行速度,控制系统需要根据机器人当前状态以及期待动作,计算出足端前伸的位置。
方法一:求解系统的动力学方程,得到系统状态变量关于时间的函数,以此反推出足端位置与期望动作的函数关系,得到封闭解(根据所需足末端的位置,控制驱动扭矩)。
求解困难,存在无解情况。
方法二:对大量数据进行数据拟合,得到近似解(匹配数据库,逼近的方法)。
效果较好。
方法三:使用封闭形式的近似解。(本章所用方法)
使用一种较为粗糙的方法估计足端前伸位置的近似值。
使用测量到的前行速度来估算中性点位置;使用前行速度的误差来计算所需落足点与中性点的位置偏差。控制系统结合中性点和位置偏差来决定如何落脚。
CG轨迹:系统重心通过的轨迹。CG 轨迹的中点就是中性点。CG 轨迹的长度约为前行速度与落地状态持续时间的乘积
,
,
。
为足端相对于质心的前向位移,为足端相对于中心点的位移,为期望前进速度,为反馈增益。
,
。
为所需髋关节角度,为髋关节角度,是在髋关节产生的驱动扭矩,、为位置和速度反馈增益。
控制身体姿态
控制系统通过站立期间在髋关节施加扭矩来维持直立的身体姿态(由于空中角动量守恒),控制系统通过线性伺服公式来实现:
是身体的俯仰角,是期望的身体俯仰角。
控制系统分为三个独立的部分运行:
①通过在每个支撑阶段向身体传递推力来调节跳跃运动。
②通过选择脚的落点位置来操纵前进速度,该位置将在下一站立阶段提供所需的净前向加速度。
③在站立时摩擦力将脚固定在适当的位置,使身体保持直立姿势。
位置控制
位置控制用于使机器人停在一个地方或在不同地方之间平移。通过将位置误差转换为所需的前行速度,在三部分控制系统上构建了位置控制器:
图2-6 跳跃机器人越过障碍
Chapter 3 三维空间中的跳跃
当机器人拥有前向速度时,通过识别三维系统在飞行中的质心运动的平面轨迹可以简化此问题(简化为平面运动)。这个平面由前向速度矢量、重力矢量以及质心位置确定,称为运动平面,三维单腿机器在运动平面内的行为与同类平面机器的行为相同。
3维单腿机器的控制系统
控制系统将控制任务分解成三个独立的部分,分别对应于前向速度、机体姿态以及跳跃高度。
前向速度控制
前向速度控制系统在每个飞行期为机腿选择一个前向位置,该位置可以在即将到来的姿态期提供期望的净加速度。前向速度控制器在飞行期伺服控制髋部角度,以放置机腿。一旦机腿接触到地面,姿态控制接管髋部的操作,然后前向运动成为被动状态。
中性点的的位置可以从 CG-print 中得到:
是中性点的位置,是支撑期时长。将中性点位置与位差结合,可得飞行期前向腿位置公式:
为希望的前向速度,控制系统采用上一个支撑期的测量时间作为下一个支撑期的希望时长,该式子仅指定足部的水平位置,足部的相对高度,由控制系统的跳跃部分确定。通过逆运动学可以得到执行器所需的长度。
控制姿态
通过陀螺仪对机器人的pitch以及roll方向角进行测量,根据所测得的方向角对髋关节施加力矩,以此来维持机器人的直立姿势。
是关于髋部执行器的控制信号,是机身的旋转角,为增益系数。
而关于yaw方向轴是机体姿态的第三个自由度,即控制机器人朝向,控制难,仅测量。
位置控制
用以让机器人从一个位置移动至另一个位置,将位置误差转化为期望速度的位置控制算法:
为允许速度的上限。