APP下载

基于强度Pareto进化算法的双足机器人步态规划*

2011-06-25毕盛庄钟杰闵华清

关键词:步态质心步行

毕盛 庄钟杰 闵华清

(1.华南理工大学计算机科学与工程学院,广东广州510006;2.华南理工大学软件学院,广东广州510006)

模仿人类的运动特点和行走方式,为仿人机器人构建双足稳定行走的步态规划方法是机器人领域的一个研究热点和难点.目前一些仿人机器人已经实现了稳定的行走,但如何在保持步行稳定的情况下使机器人步行速度更快、能耗更小还需要进一步的研究.已有一些学者就这些问题开展了研究.文献[1]中通过对步行过程中描述髋部和脚部轨迹的7个参数进行优化,使机器人在稳定行走的过程中消耗的能量最小.文献[2]中以稳定性为目标,通过对机器人步行参数寻优实现机器人稳定行走.但这两种方法只对一个目标进行优化,以最大限度地满足步行过程的某个指标,而没有考虑其它指标,因此需要开展步态规划中多目标优化问题的研究.

通常采用强度Pareto进化算法(SPEA)来实现步态规划的多目标优化.文献[3]中采用SPEA对机器人行走过程的运动稳定性、能耗和运动速度进行寻优.文献[4]中采用SPEA方法对行走过程的能耗和力矩变化量进行寻优.它们都较好地实现了机器人的行走,但都没有建立机器人运动的简化模型,需要在机器人运动的整个可行解空间内进行搜索,因此求解时间长而不利于在线生成步态.如何选择合适的步行参数来描述机器人的步行过程及相应的步态规划方法,还需要进行进一步的研究和尝试.

针对这些问题,文中提出了基于三维倒立摆模型的多目标优化方法.首先,建立了SCUT-I仿人机器人的倒立摆模型,以实现机器人的稳定行走[5-6],并通过质心高度zc、步行周期Tsup、步行单元双足支撑率rdbl、抬脚高度lz和抬脚宽度ly(沿y轴偏移量)来描述机器人的行走过程.最后通过改进型强度Pareto进化算法(SPEA2)[7]从机器人步行过程的稳定性、移动性和能耗3个方面进行参数寻优,获得稳定、快速和能耗小的步行模式,并通过仿真和实物机器人的实验验证所提算法的有效性.

1 双足机器人步态规划

基于倒立摆的双足步态规划将步行过程视为由多个步行单元依次连接而成.

1.1 步行单元

在[0,Tsup]内,将步行单元定义为如图1所示的一段关于y轴对称的三维线性倒立摆轨迹[5].

给定Tsup和质心z轴坐标zc后,在以支撑点为原点的相对坐标系下步行单元确定为,其质心轨迹为[5]

式中:(xi,yi)为步行单元的初始位置;(˙xi,˙yi)为步行单元的初始速度;为重力加速度.

图1 三维线性倒立摆步行单元Fig.1 3D linear inverted pendulum walk primitive

在步行单元的单脚支撑阶段[0,tsgl],摆动腿踝关节从(xsi,ysi,zsi)运动至(xsf,ysf,zsf),可用线性插值加正弦插值生成其轨迹:

由于正弦附加项的作用,在y轴方向上可保持机器人躯干平衡,在z轴方向上摆动腿可形成先抬高后放低的运动轨迹.将步行单元与摆动腿运动结合起来,可以完整地描述一个步行周期内质心与左右踝关节的运动轨迹.

1.2 步行模式

机器人的行走过程由多个步行单元依次连接而成,图2标出机器人从双足并排站立开始,最初右脚作为支撑脚向前走5步,直到停步的各个落脚点位置.其中Ln和Rn分别表示以左脚、右脚为摆动脚向前迈出¯的距离.规划机器人落脚点与质心的距离在x 轴方向上为,在y 轴方向上为,使机器人以最佳步行单元前进.

整个行走过程可以用图3所示状态机来说明.其中准备状态机器人双足并排站立;起步阶段是左脚向前迈出¯距离进入状态L1,而右脚向前迈出进入状态R3;接着左脚向前迈出¯进入状态L4,此后机器人可交替双脚前进,在状态L4与状态R4之间进行切换.在状态R4中,当机器人要停止时,右脚支撑左脚向前迈出¯返回准备状态.

图2 直线行走示意图Fig.2 Schematic diagram of straight walking footprints

图3 步行过程状态图Fig.3 State diagram of walking process

2 多目标进化算法

2.1 问题建模

将双足行走的步态规划视为由多个步行单元依次连接而成,因此优化问题的目标是寻找满足机器人各种约束的最佳步行单元.

2.1.1 决策变量及约束条件

图4 在L4时刻的步行单元Fig.4 Walk primitive at L4time

(2)设髋关节与质心距离为d,机器人步长及步宽受最大腿长lm与质心高度zc约束,即

(3)对任意时刻 t∈[0,Tsup],质心与左右踝关节的长度小于最大等效腿长,即

式中,pcom(t)、pl(t)、pr(t)分别为 t时刻质心、左踝和右踝的位置.

(4)任意时刻关节j的角度约束为

(5)任意时刻关节j的最大角速度约束为

2.1.2 目标函数

文中将寻找最佳步行单元的最优化问题抽象为一个多目标优化问题,并提出了3个目标函数用于衡量机器人的稳定程度、前进速度及能耗.

(1)稳定性.机器人质心地面投影与支撑中心的距离是影响机器人稳定性的重大因素,质心越接近支撑中心,行走越稳定.因此,定量表示机器人稳定性指标为

其中(xcen,ycen)为支撑中心.在单足支撑阶段[0,tsgl),支撑中心为(xsup,ysup);而在双足支撑阶段[tsgl,tsup],支撑中心为左右踝关节的中点位置,即(0.5(xl+xr),0.5(yl+yr)),(xl,yl)和(xr,yr)分别在左、右踝关节的位置坐标.

(2)移动性.以机器人质心前进的平均速度为衡量移动性能的指标,为了转换成最小化问题,文中选取了速度的倒数,即

(3)能耗.摆动腿的摆动越高,能耗越大,能耗指标为

令式(2)中zsi=zsf=0,并对式(10)求积分,得

2.2 改进的强度Pareto进化算法

在求解最优化问题时,可以构造惩罚函数,将约束优化问题转化为无约束优化问题.对约束为gj(x)的最小化问题,其惩罚函数可设为

通过选取适当的M值可使满足约束的值在可行解中占优.文中采用这种方法来处理步行单元优化问题的约束(式(3)-(7)).

将约束代入目标函数后,可使用SPEA来求解无约束多目标优化问题的Pareto最优解集[8],文中采用了改进的SPEA(SPEA2)[9].设N为进化群体P的规模,M为归档集Q的大小,G为预定的进化代数,则 SPEA2 算法步骤如下[7]:

1)产生初始群体P0,置Q0为空,n=0.

2)计算Pn和Qn中所有个体的适应度.

3)将Pn和 Qn中所有非支配解个体保存到Qn+1中,若Qn+1的大小超过M,则利用修剪过程降低其大小;若Qn+1的大小比M小,则从Pn和Qn中选取支配个体填满Qn+1.

4)若n≥G或其它终止条件满足,则将Qn+1中所有的非支配解作为返回结果,算法结束.

5)对Qn+1执行锦标赛选择.

6)对Qn+1执行交叉、变异操作,并将结果保存到 Qn+1中,令 n=n+1,转步骤2).

3 计算仿真及结果分析

文中采用图5所示流程进行SCUT-I型仿人机器人的步态规划.

图5 双足步行步态产生流程图Fig.5 Generation flowchart of biped walking gait

3.1 参数设定

SCUT-I型机器人基本参数根据机器人上的舵机确定为:髋关节最大角速度=6.28 rad/s,髋关节与质心距离d=0.06 m,腿长lm=0.27 m.决策参数取值范围可根据经验确定,引导进化算法在较有可能获得最优解的可行域中搜索,结果见表1.其中zc的范围使机器人行走时的质心高度始终在直立时膝盖之上、髋部之下,以保持曲膝步行的姿态.与ly、lz均以小腿长度为上界,以尽可能使进化算法中交叉变异产生的个体位于可行域之内.

表1 决策参数取值范围Table 1 Bounds of decision variables

3.2 仿真结果

利用Matlab建立了SCUT-I型仿人机器人的仿真模型,并实现其正逆运动学算法.根据倒立摆模型规划机器人腰部和踝部轨迹,并借助于Zitzler[8-9]的SPEA2 C语言程序和Matlab混合编程功能,对稳定性、速度和能耗3个目标进行寻优.

设定进化算法中种群大小为50,惩罚因子M=105,经过20次迭代后,末代个体的适应度如图6(a)所示.可以看出,末代个体惩罚函数均为0,可作为可行解,但仍然存在速度太小导致移动适应度太大的个体,即图6(a)左下方远离可行解集的那个点.图6(b)为末代所有个体的步行速度,设置最小速度阈值vth=0.1m/s,仅保留速度大于vth的个体(图中虚线以上的个体),作为候选最佳步行单元集合.

图6 末代的适应度和步行速度Fig.6 Fitness and velocity of last generation

在候选多组解中,通过计算机仿真和实际机器人实验可挑选出能较好满足稳定性、移动性和能耗目标的一组解.文中选择步行单元速度为0.68 m/s的一组解进行仿真,得出速度最快步行参数为:zc=0.22m,Tsup=0.24 s,¯x=0.08 m,¯y=0.06 m,rdbl=0,ly=0.04m,lz=0.05m.使用这组参数按图2给出的落脚点位置对机器人进行双足步行规划,得到图7所示的腰部和左右踝关节的运动轨迹.

图7 腰部及左右踝部的步态轨迹Fig.7 Trajectories of waist,left and right ankles

根据文中提出的步行模式,截取机器人以上述最快步行参数行走时L4步行单元中6个不同时刻的姿态,如图8所示.

图8 L4步行单元中机器人的姿态Fig.8 Robot poses during L4walk primitive

由于仿真和实际有一定的区别,仿真结果只能提供一些参考.要获得真正使机器人行走的参数,还需要在实际机器人上做实验.

4 实际机器人平台及实验结果

SCUT-I型仿人机器人是一款具有视觉和自主决策功能的全自主机器人,身高580 mm,有23个自由度(左右腿各6个:髋部3个、膝部1个、踝部2个),如图9所示.

图9 SCUT-I仿人机器人实物和结构Fig.9 Material form and structure of SCUT-I Humanoid Robot

文中采用多级分布控制方法进行机器人步态实验,系统数据流向见图10.由PC(CPU E5800,内存2GB)运行SPEA2,并生成机器人直线行走步态.通过蓝牙将步态文件发送到机器人的微控制器上,控制器再通过RS485串行总线将各个关节角度传给各个舵机.实验中发现,生成步态时,速度越大,机器人越容易失去平衡.除了选用速度较小的步行单元外,还可以通过适当改变摆动附加量ly、lz来补偿机器人质心偏移造成的失衡.如图11所示,因机器人腰部沿-y方向的运动造成倾倒趋势,可由摆动腿y轴正向的运动来纠正.

图10 半分布式控制数据流向Fig.10 Data flow in semi-distributed control

图11 摆动踝关节以维持平衡Fig.11 Swing ankle to keep balance

在SCUT-I上试验了由Pareto最优步行单元生成的多组步态,并适当地调整摆动腿附加量,最终获得速度为0.26m/s的稳定步行模式.与原先没有优化过的速度为0.16 m/s的步态相比,Pareto方法在速度上提高了62.5%.

5 结语

文中提出了一种基于倒立摆模型和强度Pareto进化算法的多目标优化仿人机器人步态规划方法.首先建立SCUT-I仿人机器人的倒立摆模型,并利用质心高度、步行周期、步行单元、双足支撑率、抬脚高度和抬脚宽度(沿y轴偏移量)对机器人的步行过程进行参数化描述.然后利用SPEA2算法对步行过程中机器人的稳定性、移动性和能耗进行寻优,从而得到多组最优解.通过对多组解进行测试和比较,从中选出最好的一组解,最终获得稳定、快速和能耗小的步行模式.仿真和实物机器人测试表明,在保持行走稳定的前提下,实际步行速度可达到0.26m/s,远远高于没有优化时的结果.

[1]Dau Van-Huan,Chew Chee-Meng,Poo Aun-Neow.Achieving energy-efficient bipedal walking trajectory through GA-based optimization of key parameters[J].International Journal of Humanoid Robotics,2009,6(4):609-629.

[2]刘涛,王志良,解仑,等.基于遗传算法的双足步行机器人步行姿态控制策略[J].微计算机信息,2006,22(20):252-254.Liu Tao,Wang Zhi-liang,Xie Lun,et al.Design of an walking strategy based on genetic algorithms in biped robot[J].Microcomputer Information,2006,22(20):252-254.

[3]Lee Joon-Yong,Kim Min-Soeng,Lee Ju-Jang.Multi-objective walking trajectories generation for a biped robot[C]∥Processings of IEEE/RSJ International Conference on Intelligent Robots and Systems.Sendai:IEEE,2004:3853-3858.

[4]Genci Capi,Masao Yokota,Kazuhisa Mitobe.A new humanoid robot gait generation based on multiobjective optimization[C]∥Processings of International Conference on Advanced Intelligent Mechatronics.Monterey:IEEE,2005:450-454.

[5]尾田秀司.仿人人机器人[M].北京:清华大学出版社,2007:121,124-125.

[6]Shuuji Kajita,Fumio Kanehiro,Kenji Kaneko,et al.The 3D linear inverted pendulum mode:a simple modeling for a biped walking pattern generation[C]∥Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems.Maui:IEEE,2001:239-246.

[7]郑金华.多目标进化算法及其应用[M].北京:科学出版社,2007:28-31.

[8]Zitzler E,Thiele L.Multi-objective evolutionary algorithms:a comparative case study and the strength Pareto apporach[J].IEEE Transactions on Evolutionary Computation,1999,3(4):257-271.

[9]Zitzler E,Marco Laumanns,Lothar Thiele.SPEA2:improving the strength Pareto algorithm for multi-objective optimization[C]∥Proceedings of Evolutionary Methods for Design,Optimization and Control with Application to Industrial Problems.Barcelona:International Center for Numerical Methods in Engineering,2002:95-100.

猜你喜欢

步态质心步行
步态异常,老年人应警惕这些疾病
基于步态参数分析的老年跌倒人群步态特征研究
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
步行回家
攀山擅离步行道自拍,不幸坠落身亡谁担责?
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
从步行到奔跑
一种海洋测高卫星质心在轨估计算法