基于动捕系统的机器人步态规划与实验研究

2022-03-13 04:32吕连杰孙诗华李东华
关键词:运动学步态踝关节

孙 军,吕连杰,孙诗华,李东华

(1.沈阳建筑大学机械工程学院,辽宁 沈阳 110168;2.中国工业互联网研究院辽宁分院,辽宁 沈阳 110020)

目前人形机器人的步态规划方法使机器人行走耗能较大而且行走表现僵硬。隋振等[1]进行机器人步态规划时,假设质心距离地面始终保持相同高度,基于机器人三维线性倒立摆模型规划出质心参考轨迹。王亚波[2]利用机器人质心高度不变的假设条件,依据离线规划的质心、踝关节位置轨迹,通过逆运动学求得机器人下肢各关节角度。张月[3]采用线性倒立摆模型对机器人进行步态规划,其假设机器人行走过程中腰部总是保持水平状态,即假设倒立摆模型中质心运动约束平面的高度是固定的,因此髋关节高度也固定。E.Dong等[4]采用倒立摆模型进行机器人步态规划,假设机器人髋关节高度固定不变。但仿生生物力学研究表明,人类周期步行中髋关节相对地面的高度呈周期性变化,两髋关节的高度不是始终保持一致[5]。上述研究虽然降低了自由度间的复杂协调关系及步态规划过程中的计算量,但规划出的机器人行走步态与人类的步行方式不符。

鉴于上述分析,笔者使用Perception Neuron PRO动捕系统采集人体下肢关节运动数据,预处理后生成人体步行样本,利用几何缩放生成机器人步行样本,从中提取机器人运动学参数;采用五次样条插值规划下肢关节参数化运动轨迹;使用多目标粒子群优化算法得出最优运动学参数,从而得到机器人理想的关节位置轨迹;利用逆运动学求出下肢各关节角度,完成机器人的步态规划;研究表明:模仿人类步行的步态规划方法使机器人实现稳定行走,行走过程能量消耗较低,行走步态的拟人性效果好。

1 动捕系统

Perception Neuron PRO由惯性传感器等硬件设备和配套软件组成,每一个惯性传感器都集成了3轴陀螺仪,3轴加速度计和3轴电子罗盘[6]。电子罗盘的动态范围:360 °,陀螺仪范围:±2 000 rad/s,加速计范围:±16 m/s2。笔者利用该动捕系统进行人体运动数据采集实验。

2 人体步行样本获取及预处理

实验使用动捕系统采集人正常速度行走的运动数据,实验前在场地画线,让实验者练习多次直线行走后进行运动数据采集。由于实验设备会受磁场干扰,导致实验数据不光滑并出现噪声点[7],采用递推平均滤波和savgol_filter函数进行平滑处理。

图1为髋关节预处理前后的运动数据。由图可知,平滑处理后得到了较为光滑的运动数据,并且人体髋关节竖直方向的运动轨迹存在周期性波动。

图1 左髋关节预处理前后的运动数据Fig.1 Motion data of the left hip joint before and after preprocessing

3 人形机器人步行样本的生成

3.1 人形机器人—NAO

Softbank有一款以NAO命名的人形机器人,全身共13个关节,每只足有4个压力传感器来确定每只脚压力中心位置,通过电阻值大小来反应承受压力值大小[8]。

3.2 样本的几何缩放匹配

由于人与机器人在肢体长度等方面存在差异[9],因此将预处理得到的人体髋、踝关节的位置进行几何缩放。人体下肢骨骼与机器人下肢骨骼具有相同的结构,因此可以在两个骨骼之间加入一个中间骨骼实现样本的几何缩放[10]。

在确定前进方向和竖直方向的缩放比例时,选择人体与机器人的下肢长度作为决定因素;在确定横向方向的缩放比例时,选择人体和机器人的两髋关节及两踝关节的距离作为决定因素。

三种骨骼的对应关系如图2所示,L1、L2、L3代表人体骨骼肢体长度,H1、H2、H3代表中间骨骼肢体长度,D1、D2、D3代表机器人骨骼肢体长度。将三种类型骨骼的上身都简化成连杆,则有如下关系式:

(1)

H1+H2+H3=D1+D2+D3.

(2)

图2 三种骨骼的对应关系Fig.2 Relationship of three bone linkages

3.2.1 缩放系数

通过上节的分析后计算从人体骨骼到中间骨骼的缩放比例。设Shk为缩放比例,lrd为机器人步行参数,lmd为人体步行参数,则有:

(3)

其中,h取值为1、2,依次代表髋关节、踝关节;k取值为1、2、3,依次代表横向方向、前进方向、竖直方向;d取值为1、2、3、4,依次代表下肢总长度、两髋关节之间的距离、两踝关节之间的距离、大腿与小腿长度之和。

3.2.2 髋关节位置

将人体骨骼通过上一步的比例缩放后即可得到中间骨骼。由于两骨骼各关节长度都保持相同的比例,为得到中间骨骼髋关节的位置,仅需要将第2节预处理后的人体髋关节每一帧的动作数据进行缩放,缩放结果同样也是机器人髋关节的位置。方程为

(4)

(5)

(6)

3.2.3 踝关节位置

将上一步计算得到的髋关节的位置结合缩放比例即可求得机器人踝关节位置。求解方程:

(7)

(8)

3.3 人形机器人运动学参数的提取

从3.2节几何缩放后得到的机器人踝、髋关节运动数据中提取出步长(l)、步幅(s)、步宽(w)、步高(Sh)、步态周期(T)、髋部波纹(Hw)、髋关节侧向摆动幅度(K)。其中,步幅等于2倍的步长[11],将人体步态周期扩大n倍后得到T,n∈[4,6]。

4 人形机器人参数化轨迹规划

依照人体髋、踝关节的运动轨迹曲线并结合机器人运动学参数进行机器人髋、踝关节参数化的轨迹规划。轨迹规划方式有正弦函数变上限积分等,通过对比各方法的优劣性,分析各方法轨迹规划结果与3.2节几何缩放后的关节运动数据之间的相似度,结果显示五次样条插值算法规划的关节运动轨迹的平均相似度为95%以上,因此选用该方法。

4.1 踝关节轨迹规划

采用五次样条插值算法计算摆动脚踝关节的运动轨迹。踝关节前进方向的运动轨迹多项式和约束条件分别为

Ya(t)=a6t5+a5t4+a4t3+a3t2+a2t+a1.

(9)

(10)

其中,t∈[t0,t0+T];n∈(0,1)。

任取一个步态周期中的机器人运动参数,得到踝关节前进方向的轨迹多项式为

Ya(t)=-0.019 4t5+0.409 4t4-

3.059 4t3+8.539 8t2.

(11)

踝关节在竖直方向的运动轨迹分为上升期和下降期,约束条件分别为

(12)

(13)

其中,n∈(0,1)。

则可得到运动轨迹曲线如图3所示,轨迹多项式见式(14)。

(14)

图3 踝关节在Z方向的轨迹曲线Fig.3 Ankle joint trajectory curve in Z direction

由图可知,机器人踝关节前进速度基本保持不变,摆动腿上升过程中,踝关节在竖直方向的运动速度为先增大后减少。

4.2 髋关节轨迹规划

将右髋关节在横向方向的运动分为三部分,t0时刻髋关节相对于起步前两髋关节中心点的距离为定值f,则可求解得到一个步行周期内的髋关节轨迹多项式:

(15)

髋关节X轴上的轨迹曲线如图4所示。

图4 髋关节在X方向的轨迹曲线Fig.4 Hip joint trajectory curve in X direction

右髋关节在前进和竖直方向轨迹曲线求取方法与踝关节类似。

5 人形机器人运动学参数优化

为了将机器人步行样本中的一组最优步态样本应用到机器人的步态规划当中,通过分析得出:机器人步行样本中的每个步态周期的运动学参数都不一致,影响机器人步态的主要参数有步长、步高等。因此,本节将使用优化算法获取最优步态样本,通过3.3节提取的运动学参数的边界范围如下:

(16)

5.1 构造目标函数

(1)稳定性函数

将支撑脚掌的区域作为稳定区域,将质心在地面的投影点到支撑脚的中心的距离作为目标函数,质心由髋关节位置表示,稳定性函数如下:

(17)

其中,(xc,yc)代表质心的位置;(xf,yf)代表支撑脚的中心位置。

(2)能量消耗函数

质心升高导致的能量消耗E1的表达式如下:

E1=Mg(Hw+Hchsin(η+α)).

(18)

其中,M为机器人总质量;Hch为质心到髋关节的距离;假设用线段lch连接髋关节与质心,则α代表两髋关节的连线与线段lch的夹角。摆动腿抬升消耗的能量E2表达式:

E2=mgsh.

(19)

其中,m为摆动腿的质量。

所以总体能耗E的目标函数表达式为

E=E1+E2.

(20)

(3)步行速度函数

步行速度是步长和步行周期的比值,将步行速度的倒数作为目标函数,表达式为

(21)

5.2 基于多目标粒子群的参数优化与仿真

多目标粒子群优化算法采用速度-位置模型,具有算法简单易实现等优点[12]。针对优化目标,引入了Skew Tent混沌映射初始化种群[13],以提高种群初始解分布的均匀性。

采用Matlab进行编程,设定N=100,D=6,T=100,种群搜索空间如式(16)所示。分析算法运行得到的目标函数值,发现若机器人在一个步态周期内具有较高的步行稳定性,则会以降低步行速度为代价。针对这种现象并结合本研究对机器人步行速度要求不高的情况,选取了一组最优的设计变量值。然后从机器人的步行样本中选出一组与最优设计变量相似度最高的参数作为机器人行走的运动学参数。选取运动学参数如下:l=10.4 cm,Sh=3.8 cm,T=2.1s,HW=3.5 cm,k=6.6 cm,η=21.5°。

6 实验验证

6.1 逆运动学

将机器人运动学解耦为前向和侧向平面上。借鉴文献[14]的运动学模型建立思想,进行前向运动学建模时,忽略侧向运动的影响,在进行侧向运动学建模时,考虑前向运动腿部弯曲对其产生的影响[14]。建立机器人运动学模型。参考文献[15]的逆运动学解析法。利用解析法对理想的机器人下肢关节运动轨迹进行逆运动学求解。

由于机器人的硬件限制,下肢各关节角度都有活动范围,因此逆运动学求解的关节角度应满足:

θimin<θi<θimax.

(22)

其中,i=1,2,…,n。

若机器人的关节角度超出极限范围会对关节电机造成影响,所以针对异常的关节角度应采用如下处理方式:

(23)

通过编写python语言代码求解得到机器人下肢各关节运动角度θi,图5为机器人右腿各关节的角度变化曲线。由图可知,右髋关节翻滚角和右踝关节翻滚角存在大小相等、方向相反的关系,这是由于在机器人侧向平面内,只有髋、踝关节的两个翻滚自由度,故行走中髋、踝关节翻滚角度轨迹变化曲线遵循上述关系。

图5 右腿各关节角度变化曲线Fig.5 Change curve of right leg joint angle

右髋关节俯仰角起初随着时间的变化而减小,是因为机器人右摆腿初始运动过程中,右大腿绕髋关节俯仰自由度做摆动,髋关节俯仰角度发生伸展,从而使摆动腿向前摆动。上述时间变化过程中,右膝关节俯仰角逐渐增大,是由于随着机器人摆动腿向前运动,膝关节俯仰角度发生屈曲,从而使摆动腿的离地高度逐渐增加。随着时间的变化,髋关节俯仰角度开始出现增大的趋势,是因为右摆动腿下落过程中,髋关节俯仰角度发生屈曲,使机器人右大腿高度降低。而这段时间变化过程中,膝关节俯仰角度开始逐渐减小,是为了使机器人摆动脚能够平稳着地,使机器人从右腿摆动状态过渡到右腿支撑状态,所以膝关节俯仰角度发生了伸展变化。机器人右踝关节俯仰角随着时间的变化先减小后增大,是因为机器人摆动腿的脚掌与地面始终保持平行的状态,随着摆动腿的运动,踝关节俯仰角度先后发生伸展和屈曲,从而使机器人能够稳定的平脚着地。

6.2 基于虚拟NAO机器人的仿真实验

使用NAO提供的编程工具Choregraphe作为实验平台。在新建的指令盒内使用python语言编写驱动机器人行走的指令代码,将软件连接虚拟机器人并运行文件,让机器人按照规划的步态行走,实际运行状态如图6所示。从仿真效果来看,机器人可以实现稳定行走,说明步态规划合理可行。

图6 虚拟机器人行走仿真Fig.6 Walking simulation of virtual robot

6.3 基于NAO的物理样机实验

首先使用无线网络将物理样机与计算机相连接,然后在Choregraphe指令盒内调用AL motion 模块中的Angle Interpolation并将关节角度序列编写到指令代码中驱动机器人行走。根据机器人行走过程中脚底压力传感器的位置和压力值计算出实际ZMP轨迹[16],如图7所示。图中ZMP轨迹全部位于支撑多边形内部,在支撑区域中心附近发生小范围波动,但整体稳定裕度较大。

图7 ZMP轨迹曲线Fig.7 ZMP trajectory curve

图8、图9分别为髋关节和踝关节的规划轨迹和仿真轨迹,选用EDR算法(编辑距离算法)判断两种轨迹曲线的相似性,结果显示相似度较高,由于规划的髋、踝关节轨迹与人体步行样本的平均相似度较高,间接表明仿真轨迹与人体步行样本具有较高相似性,反应出机器人行走步态的拟人特性。

图8 髋关节纵向位移对比Fig.8 of Thelongitudinal displacement comparison of hipjoint

图9 踝关节纵向位移对比Fig.9 The longitudinal displacement comparison of ankle joint

从实验结果来看,机器人可以按照规划的步态稳定行走,从而验证了步态规划和运动学参数优化的有效性,如图10所示。

图10 NAO物理样机实验Fig.10 Physical prototype experiment of NAO

7 结 论

(1)对人体步行样本进行几何缩放,解决了机器人与人在肢体长度、几何配置等方面存在的差异,使人体运动轨迹映射到机器人的运动空间上。

(2)五次样条插值算法规划的参数化轨迹平均相似度为95%以上;使用多目标粒子群优化算法得到满足三个设定目标的最优运动学参数,使机器人获得能耗较低的行走步态,若机器人想拥有高稳态的步态,则步行速度会降低。

(3)在侧向平面内,随着机器人步态运动,髋、踝关节翻滚角度出现大小相等、方向相反的变化趋势;分析规划数据与仿真数据的相似性得出模仿人类步行的步态规划方法使机器人行走步态具有拟人特性。

猜你喜欢
运动学步态踝关节
等速肌力测试技术在踝关节中的应用进展
基于步态参数分析的老年跌倒人群步态特征研究
轿车前后悬架运动学仿真分析
特别策划《步态分析研究综述》
基于MATLAB的工业机器人运动学分析与仿真
崴脚,不可忽视的伤害
崴脚可不是小事
速度轮滑直道双蹬技术的运动学特征
步态识人
踝关节损伤的正确处置