考虑摆动腿动态的变长度柔性双足机器人步态切换控制研究1)

2022-07-02 05:57廖发康周亚丽张奇志
力学与实践 2022年3期
关键词:躯干步态髋关节

廖发康 周亚丽 张奇志

(北京信息科技大学自动化学院,北京 100192)

1990年,McGeer[1]首次提出了被动动态行走(passive dynamic walking, PDW), 它是一类依靠重力作用和腿的自然摆动便能沿着斜坡向下行走的双足机器人。与主动驱动系统(如本田ASIMO)相比,基于PDW原理设计的机器人效率要高得多[2]。然而,由于它们依赖于重力势能,因此无法实现在平地上行走。此外,这种机器人的腿是刚性的,与人类的柔性腿有很大的不同。

1989年,Blickhan[3]首次提出了描述人类奔跑与跳跃的弹簧–质点模型。虽然人的腿具有复杂的神经控制系统,但在跑步阶段,腿会表现出简单的弹簧状行为,可以用弹簧–质点模型来描述。2006年,Geyer等[4]在弹簧–质点模型的基础上,建立了双足弹簧负载倒立摆(spring-loaded inverted pendulum, SLIP)模型。Geyer的研究表明:如果要使一个双足机器人在行走过程中具有类人步态,必须采用柔性腿而不是刚性腿。这是因为柔性腿能准确地模拟人类行走过程中髋关节运动的轨迹和站立时的动力学特性。更重要的是,借助于弹簧的弹性势能,基于柔性腿的双足机器人可以实现平地行走。

尽管SLIP模型可以以类人的步态在平地上行走,但其抗干扰能力较差。2010年,Rummel等[5]研究了机器人行走时腿部刚度与鲁棒性之间的关系。研究表明:可变腿刚度能有效地抑制外部干扰对机器人的影响,并且,系统的能量效率也会随着腿刚度的增加而提高。2012年,Visser等[6]将SLIP模型扩展为变腿刚度的V-SLIP模型,显著地提高了双足机器人对外界扰动的鲁棒性。2020年,张瑞等[7]以V-SLIP模型为研究对象,提出了一种能量高效、步态自然的模仿人类行走的控制策略,实现了零输入的纯被动周期行走。

但V-SLIP模型存在一个显著的缺点,模型假设中没有考虑腿的质量,即忽略了摆动腿的动力学对机器人行走的影响。为此,2013年,Visser等[8]将V-SLIP模型扩展为考虑摆动腿动力学的V-SLIP-SL模型,即在每条腿的末端增加了一个脚质量。仿真结果表明,在控制器的作用下,机器人具有足够的鲁棒性,能够抑制由摆动腿动态所引起的扰动。2017年,Vu等[9]在Visser 模型的基础上,增加了躯干装置,提出了带躯干V-TSLIP模型。采用线性二次型调节器(discrete linear quadratic regulator, DLQR)实现了系统的稳定运行。

虽然双足机器人的变刚度控制能使机器人拥有良好的鲁棒性能,但变刚度实验装置的设计和制造都比较复杂[10-11],而变长度的实验装置要简单得多[12]。2005年,Asano等[13]提出了一种基于参数激励的动态步态生成方法,在这种情况下,能量的恢复是由变长度的伸缩腿上下运动来实现的。2008年,Asano等[14]针对平面伸缩腿双足机器人模型,提出了一种简单的控制律,在不考虑零力矩点(zero moment point, ZMP)条件的情况下,通过伸缩摆动腿即可轻松实现水平步态生成。2012年,Asano[15]针对具有伸缩腿的平面极限环步行器,提出了一种基于前倾碰撞姿态的步态生成方法。该方法的主要目的是使机器人的质心向前倾斜或移动,从而容易克服中间位置的势垒,恢复机器人的机械能。首先,引入了一个由8个伸缩腿组成的平面无缘轮模型,并研究了所提方法的有效性。其次,将该方法推广到带有制动弹簧的平面伸缩腿双足机器人,并通过数值仿真验证了该方法的有效性。仿真结果表明,只需将碰撞姿态微微前倾,即可获得稳定的动态步态。2017年,Hanazawa等[16]提出了一种利用非对称摆动腿运动来提高双足机器人极限环步行速度的新方法。通过数值模拟证明了摆动腿运动对步行速度的影响。然后用数学方法证明了摆动腿运动的收缩和伸长会产生推进效果的力矩。基于此原理,采用非对称摆腿运动的双足机器人可以实现较高的步行速度。2018年,Harata等[17]研究了包含伸缩腿的欠驱动双足机器人的稳定性。将输出跟随控制律应用于机器人的线性化运动方程中,将被控机器人的运动方程指定为一个线性时变系统。建立了误差转移方程来评估稳定性。通过数值计算说明了腿部伸缩运动对稳定性的影响: 伸缩摆动腿的运动比支撑腿的运动更稳定。

上述文献的变长度伸缩腿控制基本采用的都是刚性腿,本课题组在此基础上,对双足机器人变长度的柔性伸缩腿控制展开研究。2019年,张奇志等[18]研究半被动伸缩腿双足机器人行走控制和周期解的全局稳定性问题,设计了腿伸缩长度的支撑腿角度反馈控制率,证明了伸缩腿双足机器人行走过程不动点的全局稳定性。同年,宋嘉琦等[19]采用变长度柔性伸缩腿结构,研究了半被动双足机器人的平面稳定行走的控制问题。结果表明变长度控制算法可以实现机器人的稳定行走,并具有较强的抗干扰性。

虽然双足机器人的模型在过去的几十年里得到了很好的发展,但是不同步态之间的切换仍然是一个具有挑战性的研究方向。2014年,Roozing等[20]采用分段SLIP 模型[21]即S-SLIP模型,及V-SLIP模型,通过控制腿的刚度和摆动腿触地角实现了步态切换。在他们的研究中,未曾考虑躯干和摆动腿动力学对系统性能的影响。

在上述研究的基础上,本文提出了考虑摆动腿动力学的变腿长度VL-TSLIP-SL模型。提出了一种通过控制腿部长度和髋关节力矩来实现步态切换的控制策略,从而改变平均步行速度。针对机器人模型高度非线性的特点,设计了反馈线性化控制器来跟踪髋关节质点的期望轨迹,调节摆动腿和躯干的姿态。仿真结果表明,该控制器能够有效地控制躯干和摆动腿的姿态,控制策略能够实现两种不同速度的自然步态之间的切换,形成稳定的极限环。

1 双足机器人动力学模型

1.1 机器人模型描述

VL-TSLIP-SL模型如图1所示,由质量为M的髋关节质点连接着一个刚性躯干和两条弹簧腿组成,每条腿的末端各有一个质量为mf的脚。髋关节的姿态定义为变量(x,y)=:qh∈Qh。躯干是长度为l,中心质量为m的刚性杆,转动惯量为I。双腿为可变长度的伸缩腿,长度为L0+ui,i=1,2 ,其中L0为原长度,ui(i=1,2 )为可控部分的腿长度。弹簧刚度为k0,并假设为单向的,只能被压缩。髋关节力矩τ1和τ2用来控制躯干姿态角α和摆动腿与法线夹角β。

图1 VL-TSLIP-SL模型Fig. 1 The VL-TSLIP-SL model

由于机器人的运动是周期性的,因此我们只需研究周期步态中的一个周期。考虑到机器人双腿的对称性,定义一个步态周期为:一个支撑腿垂直站立状态(vertical leg orientation, VLO)到另一个支撑腿垂直站立状态之间的时间间隔。如图2所示,机器人的行走在单支撑阶段(single support, SS)与双支撑阶段(double support, DS)之间交替。一个周期步态从处于VLO瞬间开始,此时,左腿(黑色)处于SS阶段,右腿(蓝色)处于摆动阶段。当右腿以原长度L0,与地面夹角θ接触地面时,机器人进入DS阶段。由于系统有足够的能量,它将继续向前移动,直到左腿完全伸展,达到原长度,此时左腿离地,机器人进入右腿SS阶段。当到达下一个VLO时,一个周期步态结束。

图2 双足机器人的运动过程Fig. 2 Locomotion process of the biped robot

由此可得,从SS切换到DS的条件是

DS切换为SS的条件为

其中,Li是后支撑腿的长度。

1.2 系统动力学

利用拉格朗日方程建立VL-TSLIP-SL模型的动力学方程。拉格朗日函数为

其中,K为系统的动能,P为系统的势能。

动力学方程为

其中n为系统的自由度,qi为系统的变量,Fi为作用于系统的广义力。

1.2.1 单支撑阶段的动力学方程

SS阶段的简化模型如图3所示。右腿(蓝色)是摆动腿,长度为L0,与法线夹角为β,因为在此阶段不需要对右腿进行变长度控制,所以假设为刚性腿。在这个阶段,可控腿长度u1,力矩τ1和τ2是控制髋关节质点运动,躯干姿态角和摆动腿夹角的控制输入,系统状态变量为(x,y,α,β)T=:qSS∈QSS,其中α和β的方向定义为顺时针。

图3 SS阶段的简化模型Fig. 3 Simplified model during the SS

首先计算双足机器人系统的动能K和势能P,则拉格朗日函数L可表示为

其中g是重力加速度。

其次,将式(3)代入式(2),则SS阶段的动力学方程为

最后,根据虚功原理,计算广义力得

则动力学方程用矩阵形式可表示为

其中

1.2.2 双支撑阶段的动力学方程

DS阶段的简化模型如图4所示。此时双腿接触地面,由于右腿与法线夹角β可以通过髋关节位置和脚触地点计算得到,因此系统的状态变量为(x,y,α)T=:qDS∈QDS。在这个阶段中,可控腿长度u1,u2和力矩τ1是控制髋关节运动和躯0<干y姿≤态L0角sin的θ}输 入。其 中:QDS={qDS∈QDS|

图4 DS阶段的简化模型Fig. 4 Simplified model of the biped robot during the DS

采用与SS阶段相同的推导方法,得到DS阶段的动力学方程

其中

其中L2为右腿的长度,a为步长,a=x+L0cosθ。

由式(9)和式(10)可知,系统在SS阶段为欠驱动模型,在DS阶段为全驱动模型,但总的来说,系统是欠驱动系统。

1.3 状态空间表达式

为了便于后续的反馈线性化控制器的设计,将动力学方程转换为标准的状态空间表达式。在SS阶段,通过引入

式(9)的等效状态方程为

其中

为了简洁起见,省略参数zSS,则SS阶段的状态方程可以简写为

类似地,在DS阶段,通过引入

可得

其中,

同理,DS阶段的状态方程可以简写为

2 控制器设计

2.1 问题陈述

在本节中,我们提出了三个需要完成的任务:(a) 跟踪髋关节质点的期望高度y∗(x) 和期望水平速度(x) ;(b) 跟踪SS阶段摆动腿运动的参考轨迹β∗(x) ;(c) 保持躯干直立。

由于水平位置x随时间单调递增,因此这里采用x替代时间t作为自变量,即采用空间轨迹方式。定义

期望轨迹可以表示为

为了避免符号混乱,省略函数参数z1。定义控制目标的误差函数为

由于系统在SS阶段处于欠驱动状态,所以水平方向速度误差ev在SS阶段是不受控制的。在DS阶段,两脚都与地面接触,所以误差eβ不需要控制。

控制的目标是使误差尽可能地收敛到0的邻域,即

其中εp,εα,εβ和εv为大于0的足够小的数。

2.2 反馈线性化控制

在本节中,通过反馈线性化方法来控制腿部长度和髋关节力矩,使机器人的行走能够稳定到期望的步态。

2.2.1 单支撑阶段

在SS阶段,控制变量为髋关节高度轨迹y,躯干姿态角α,摆动腿夹角β。则系统的状态空间表达式为

为了将该非线性系统转换为标准线性形式,首先需要确定误差的关系度γSS={γp,γα,γβ}。对于位置误差

其中Lgτ1Lfep=0 ,Lgτ2Lfep=0 ,Lg1Lfep=0 。

所以关系度γp=2 ,同理可得γα和γβ的关系度也为2。因此,在SS阶段中,误差的关系度γSS={γp,γα,γβ}={2,2,2}。

根据反馈线性化原理,可得

其中

由于ASS是可逆的,所以反馈控制律定义为

其中v1,v2和v3是新的控制输入。本文采用比例微分控制

因此

根据式(18)和式(21)可得,误差动力学方程为

其中kdτ1s,kpτ1s,kdτ2s,kpτ2s,kDS和kps为可调控制器系数。

2.2.2 双支撑阶段

在DS阶段,控制变量为髋关节高度y,躯干姿态角α和前进速度。则系统的状态空间表达式为

采用与SS阶段相同的方法,可以得到关系度γDS={γp,γα,γv}={2,2,1},则

其中

误差动力学方程为

其中kdτ1d,kpτ1d,kdd,kpd和kvd是控制参数,比例微分控制用于控制髋关节高度y,躯干姿态角α,比例控制用于控制髋关节前进速度。

3 步态切换

为了实现双足机器人能在不同的自然步态之间切换的目标,本节给出了步态切换的优化准则和切换策略。

3.1 生成所需的行走步态

文献[5]表明,在合适的初始条件和系统参数下,SLIP模型的行走表现为一种稳定的被动极限环步态,称为自然步态。在SLIP模型中,假设腿是无质量的弹簧腿,行走时没有能量损失,因此,机器人不需要额外的能量来维持稳定的步态。本文将该理想SLIP模型作为VL-TSLIP-SL模型的参考模型,将其髋关节运动轨迹作为VLTSLIP-SL模型的期望轨迹。这样做的理由是:如果系统能收敛到该期望轨迹,则所提的控制策略是节能的。一般情况下,对于SLIP模型来说,很难找到解析解[22],因此我们采用傅里叶级数展开式来拟合期望的自然步态,但自然步态与参考步态之间的微小不匹配是不可避免的。

3.2 步态切换的优化准则

在SLIP模型中,当(θ,k0) 值相等时,给定两个不同的初始前进速度,可以生成两个不同的自然步态 Σi和 Σj,本文要实现的目标是双足机器人能从 Σi切换到 Σj。可以用变量x来确定从一种步态到另一种步态的准确过渡点。因此,在步 态 Σi和 Σj中 需 要 考 虑 两 点,即 Σi中 执 行 切换的点xi和切换到 Σj中的点xj。目标是找到一个最优组合(xi,opt,xj,opt) 使准则J最小化。

优化准则J(xi,xj) 定义为

其中,µ1,µ2,µ3为权重。优化准则J除了包含变量和外,髋关节高度y也包括在内,这样有利于在两个步态轨迹接近的点进行切换,这样得到的高度位置误差将更小。

通过使准则J相对于xi和xj最小化,可得最优切换点,即

一旦达到当前步态的最优切换点,系统就可以切换到新的步态。值得注意的是,xi,opt和xj,opt应该对齐,以保证双足机器人可以从步态 Σi的最优点切换到步态 Σj的最优点。

3.3 切换策略

如图5所示,如果双足机器人处于当前步态的SS阶段,则可以切换到新的步态的SS阶段,反之亦然。但从步态 Σi的DS阶段到步态 Σj的SS阶段(或反之)的切换是无效的,因为在这种情况下,当控制器控制切换步态时,机器人的脚需要腾空离地,这显然是不可行的。

图5 状态切换Fig. 5 State transitions

考虑到机器人整体为欠驱动系统,前进速度仅在DS阶段进行控制,所以步态切换在DS阶段通过改变腿的长度和髋关节力矩来实现。其基本原理是:步态的切换可以被认为是对系统的一个扰动,系统可以通过闭环调整控制输入来抑制此扰动。

4 仿真分析

为了验证本文所提的控制器对双足机器人控制的有效性,在MATLAB环境下进行了仿真分析,系统参数和初始条件如表1所示。首先,从理想SLIP模型中得到期望的自然步态,分别用二阶和六阶傅里叶级数拟合得到参考轨迹z2∗和z5∗。躯干的期望角度z3∗=0 ,摆动腿期望轨迹设计为

表1 系统参数和初始条件Table 1 System parameters and initial conditions

其中b1=b2=0.24 。取单支撑阶段的控制参数为kdτ1s=100 ,kdτ2s=50 ,kpτ1s=100 ,kpτ2s=100 ,kps=100 ,kDS=50 ,双支撑阶段的控制参 数 为kpτ1d=50 ,kdτ1d=100 ,kpd=100 ,kdd=50 ,kvd=100 。系统仿真20步,运行情况如下。

4.1 步态分析

图6给出的是髋关节高度y,躯干姿态角α和摆动腿夹角β的轨迹图。可以看出,所提出的控制器能够维持稳定的周期步态,并保持躯干直立。从图中可以看出:由于SLIP模型动力学是受弹性力作用的二阶系统,稳定自然步态的解是周期的,因此髋关节的运动轨迹也呈现周期性变化趋势。从图7中可以看出,得到的误差曲线收敛于零的邻域,在DS阶段,因为摆动腿角度β在此阶段没有定义,所以eβ≡0 。此外,如前所述,系统在SS阶段处于欠驱动状态,仅在DS阶段控制水平速度,因此,误差ev在DS阶段趋于零,而在单支撑阶段,存在一定的误差。

图6 髋关节高度、躯干姿态角和摆动腿夹角轨迹Fig. 6 Hip trajectories, the torso angle, and the swing leg orientation

图7 稳态误差Fig. 7 Error functions in steady state

图8给出了稳定状态下的控制输入变化曲线,灰色部分为DS阶段。黑色虚线对应腿原长度(L=1 m)。理想的SLIP参考模型可以在没有任何控制输入的情况下(即u1=u2=0 )维持稳定的步态。本文提出的VL-TSLIP-SL模型包括躯干姿态和摆动腿控制,这些非理想动态都被认为是系统的外部扰动,因此需要较大的控制输入来抑制这些扰动,在图8中可以清楚地看到控制输入随着机器人的行走做出的变化,由于摆动腿夹角β在DS阶段没有定义,所以在DS阶段τ2≡0 。另外,由于在行走的过程中,左右腿交替作为摆动腿,所以在SS阶段,控制输入 u1和u2交替为零。

图8 稳态控制输入Fig. 8 Control inputs in steady state

系统的能量曲线如图9所示,其中虚线为理想SLIP模型的能量水平。可以看出,总能量在SLIP模型的能量水平上波动。一方面原因是控制器作用在躯干和摆动腿上,需要消耗能量;另一方面原因是期望轨迹由傅里叶级数拟合而来,存在着一定的偏差。因此,实际上能量水平不是恒值,存在一定的波动。

图9 能量曲线Fig. 9 Energy curves

4.2 步态切换

在本节中,给定步态1平均速度为1.1 m/s,步态2平均速度为1.31 m/s。图10给出的是这两个自然步态在一步内的髋关节质点运动轨迹。设定权重 { µ1,µ2,µ3}={15,2,5} ,通过计算准则J,可以得到最优切换点( x1,opt,x2,opt)=(0.3244,0.3258) ,如图10中的实点所示。

图10 两种自然步态在一步内的髋关节轨迹Fig. 10 Hip trajectories of two natural gaits during asingle step

假定机器人以步态1开始行走,在1 m时切换到步态2,然后在4.84 m时切换回步态1。经计算,最优切换距离图11给出了步态切换过程中的髋关节轨迹和水平速度轨迹,蓝色虚线表示发出切换命令点,绿色虚线表示最优切换点。可以看出,系统在1.472 m(第一条绿色虚线)从步态1切换到步态2,在5.337 m (第二条绿色虚线)从步态2切换回步态1。

图11 步态转换的髋关节轨迹Fig. 11 The hip trajectory for gait transition

图12给出了系统的髋关节轨迹与自然参考步态的比较。可以看出,系统轨迹在三步内便能收敛到新的步态,我们发现,由于腿变长度的控制,机器人在步态切换时,伸缩腿得到调整,以维持髋关节的初始高度保持不变。图13和图14给出的是误差函数和控制输入。如第3节所述,步态切换被看作是一种施加在系统上的外部扰动。可以看出,通过调整腿部长度和髋关节的力矩,可以迅速抑制切换到新步态时引起的扰动。经过一段时间后,系统稳定到一个新的步态,误差收敛到零的邻域。

图12 髋关节轨迹与参考步态的对比Fig. 12 The hip trajectory compared with the gait references

图13 误差函数Fig. 13 Error functions

图14 控制输入Fig. 14 Control inputs

由图15的系统能量变化图可以看出,系统从步态1切换到步态2后总能量增加,包括动能和弹性势能的增加,由于变长度控制器的作用,并未引起髋关节高度的较大变化,因此,系统的重力势能维持稳定的变化规律。当系统从步态2切换回步态1时,系统的能量变化回到步态1的能量水平。

图15 能量变化图Fig. 15 Energy curves

图16 给出了步态切换过程中的极限环。系统以步态1启动。在第21步切换到步态2,然后在第41步切换回步态1。可以清楚地看到,机器人的相位轨迹在两个极限环之间切换,特别是在步态切换后,系统依然可以形成稳定的极限环,总的来说,该系统具有良好的鲁棒性。

图16 步态切换极限环Fig. 16 Limit cycles for gait transition

5 结论

本文提出了VL-TSLIP-SL模型,该模型由一个髋关节质点、一个刚性躯干和两条柔性腿组成,每条腿的末端都有一个脚质量。本模型包含了躯干姿势控制和摆动腿动力学。针对机器人模型高度非线性的特点,设计了反馈线性化控制器来跟踪髋关节质点的期望轨迹,以及调节躯干和摆动腿的姿态。将理想的SLIP模型作为参考,并将其髋关节质点运动轨迹作为目标轨迹,从而实现了能量的高效控制。基于优化准则的最小化原则,提出了通过控制腿部长度和髋关节力矩来实现步态切换的控制策略。该方法实现了行走过程中的步态切换和前进速度的改变。实际上,控制器之所以能够调节躯干和摆动腿姿态并进行步态切换,是因为这些非理想动力学都被认为是外部扰动,闭环系统可以通过调节控制输入来抑制这些扰动。仿真结果表明,该系统能够在3步内跟踪期望步态,并实现步态切换。在本文理论研究和仿真实验基础上进行硬件实验平台的验证是需要进一步研究的课题。

猜你喜欢
躯干步态髋关节
拉伸对越野行走学生躯干柔韧素质影响分析研究
基于步态参数分析的老年跌倒人群步态特征研究
基于文献回顾的罚球命中率与躯干稳定性影响因素研究
特别策划《步态分析研究综述》
髋关节创伤性骨关节炎患者用全髋关节置换术治疗的临床效果观察
半髋关节与全髋关节置换治疗创伤性股骨颈骨折的临床疗效
冰球守门员髋关节损伤与治疗
树与人
人走路时为什么要摆手?
步态识人