一、前言

在前述平面单足机器人中,机器人是在一个平面内进行运动,模拟自然界中的足式生物在运动时通常可以看作一个平面内的运动。但是,生物的灵活性使得其具有侧向等多个方向的运动,并且能够在三个维度空间自由切换不同的方向,从一个平面的运动切换到另一个平面,同时依靠腿部的摆动来恢复平衡,保证不会翻倒。

基于此设计的空间单足机器人无需额外的支撑,可以实现自由移动,且保持自平衡,可以原地跳跃,也可以在不同的位置之间移动,并且在外力干扰下可以保持平衡。这里介绍的空间单足机器人仍然借鉴自《legged robot that balance》主要由两个部分组成,机体和单腿,机体是由铝制框架制成,腿部是由末端带有脚垫的气缸执行器制作,分别在两个垂直的方向有两个气缸执行器用于改变臀部转角,结构示意图如图1所示。

图1 空间单足机器人

在控制中,保持自平衡是核心问题。单腿机器人分为两个步态,第一个步态是地面站立状态,第二个步态是离地后的跳跃/飞行姿态,其中,第一个站立步态提供净前向加速度,第二个飞行步态提供预期的净加速度,用来给定下一次运动的方向和加速度大小。当支撑点位于身体质心正下方时净加速度为零,通过求解系统模型的运动方程预测身体位置和移动方式,然后将脚的位置表示为当前状态和预期加速度的函数。当机体历经一个对称的运动轨迹时,整个过程的净加速度是零,速度和前进的方向保持不变。当腿落地的距离与中间点有一定距离时,机体依据腿的位移大小和方向做加减速。

二、运动学建模

根据图1,对机体进行运动学建模。选取三个坐标系,以{W}表示世界坐标系(地面固定),以{B}表示机体坐标系(固定在机体上);{H}表示关节坐标系(固定在髋关节上),坐标示意图如图2所示

图2 坐标系建立的示意图

以r表示腿长,以w1和w2表示改变腿部转角的执行器长度,各变量代表示意图如图3所示;

图3 变量示意图

则坐标变换关系如下:

其中,

从坐标系{H}到{B}的变换是

其中,

从执行器长度到脚相对于髋部的正向变换为:

从机腿位置到执行器长度的逆向变换

三、速度控制

如图4,以前向速度矢量、重力矢量、机器人的质心定义运动平面,只要腿落在运动平面内,则前向速度的方向以及运动平面的朝向就可以从一步到下一步的过程中保持不变

图4 运动平面示意图

当腿从运动平面横向位移时,净加速度将包含侧向分量,给机器人一个基于原来前进方向的侧向速度,下一个跳起后的运动平面也会有新的朝向,这个朝向由上一次触地的速度矢量和净加速度共同决定:

仍然将空间单足机器人的控制系统分解为三个部分,分别控制前向速度、机体姿态、跳跃高度。前向速度控制系统在每次跳起后选择一个前向位置,为姿态控制提供预期净加速度。前向速度决定了落地点的位置,为了保证运动的稳定性,希望将该点放置在中位点上,其中,中位点可以由下式得到:

其中,Ts是站立的时长。

由于前向速度的计算和实际速度会有误差,利用线性函数近似落足点到中位点xf0的位差与净加速度之间的关系,

然后将前向速度误差转换成腿部的位置误差:

结合误差和前向速度,可以得到前向位置:

当机体在支撑态而不是飞行态时,腿部相对于地面不会移动,从中可以测得腿部相对于髋关节的运动状态,即:

结合第二部分的运动学转换,可以得到执行器的长度,从而得到:

在速度控制的基础上可以进行位置控制,也就是用来使跳跃机器在一个位置持续跳动,以及使其从一个位置移动至另一个位置。可以将位置误差转化为期望速度的位置控制:

其中,Kp和Kv是位置和速度的反馈增益,Xmax是允许速度的上限。

为了控制位置,控制系统必须获取机器人的当前位置。控制系统有两种方式来估计机器在房间中的位置。一种是对估计出来的前向速度 x 作积分;另一种是使用固定在实验室天花板上的光电传感器来追踪机体上的光源,从而测得当前的位置。

综上,在单腿机器人的控制中,前向速度的控制需要矢量计算以确定足部落地的合适位置,以提供平衡和加速度。通过判断运动平面的速度和加速的情况,可以比较简单的预测落足点的位置。此外,由于机器人的朝向可自由旋转,为了控制身体姿势,控制系统对身体的 pitch 和 roll 轴进行伺服控制。单腿模型忽略了多足机器人存在的物理干涉问题,但是可以揭示机器人动态稳定控制和跳跃的本质,对于多足机器人的主动平衡控制具有很重要的作用。