基于轨迹关键点的四足机器人步态规划与仿真修改版
基于轨迹关键点的四足机器人步态规划与仿真
韩晓建,刘广超,丁相方,刘溢
(北京航空航天大学 机械工程及自动化学院,北京 100191)
摘要:为了探索高效、合理的四足机器人步态规划方法,保证机器人稳定的行走,利用关键点描述足底运动轨迹,以满足机器人运动参数和结构化环境的要求,同时,结合机器人运动学模型求得关节关键角度集合,并运用三次样条插值得到关节运动函数,进而实现计算机虚拟样机的仿真。仿真结果证明,该步态规划方法得到的关节运动函数能够使得四足机器人实现15个周期以上的稳定和连续运动,验证了该方法的正确性。 关键词:四足机器人;关键点; 步态规划;仿真 中图分类号:TP242 文献标识码:A 文章编号:
四足机器人结构相对简单,保持稳定运动的能力较好,步态控制复杂程度适中,且承载能力和对不平地形的适应能力较强,在足式机器人研究领域颇受重视,率先实用化的可能性最高,在核设备检修、排爆、探险、山区运输、矿山开采、教育、娱乐等方面的应用前景非常好[1]。四足机器人各腿部协调运动的规律被称为步态[2],而获得步态的过程即为步态规划。步态规划是一个根据外界环境和自身条件确定整体运动、腿部运动以及关节规律之间关系的过程,对于四足机器人,其步态规划是运动控制的重要内容,是国内外学者研究的重点[3]。
目前,四足机器人步态规划的常用方法为基于模型的方法,即根据不同四足机器人的运动模型,由足底轨迹计算得到关节角度变化函数[4]。该方法中,考虑机器人运动的稳定性和可靠性,足底轨迹运动形式的选择较为关键。王立鹏等[5]采用复合摆线作为摆动相足底轨迹,规划得到的步态实现了足底与地面接触零冲击;荣学文等[6]使用多项式描述足底运动轨迹,规划所得步态使得四足机器人实物样机实现了连续行走,且足底冲击小,机体稳定性好;蓝益鹏等[7]通过椭圆足底轨迹得到了机器人对角运动步态,且满足实际样机行走需求。上述足底轨迹表达方法都使用了连续的曲线,有具体的函数表达式,能够满足步态规划需求,但繁琐的函数表达式增大了计算负担,降低了计算效率,且每种函数描述的轨迹形状较为固定,很难适应多种结构化的地形环境。
为了提高规划效率,得到一种适应多种结构
化环境的步态规划方法,本文采用关键点的集合来描述足底运动轨迹,通过运动学模型求得关节运动角度,并利用三次样条中的压紧样条插值得到了机器人关节运动函数,且通过计算机仿真验证了所得到的函数的
正确性。
1 四足机器人步态运动机理
四足机器人步态的研究开始于模仿,所谓模仿就是指对四足动物身体尺寸比例、运动特性、运动系统组成等多方面的模仿,适当的模仿有效降低了研究工作的难度,增加成功的可能性[8]。仔细观察动物的行走运动,可以发现动物的各腿部之间一般保持固定的相位关系,以对角步态为例,当一组对角腿部处于摆动相时,另外一组对角腿部处于支撑相,每一个步态周期中每条腿均是完全遍历一个摆动相和一个支撑相时间,周而复始。如图1所示,LF 、RF 、RR 、LR 分别代表四足动物的左前腿、右前腿、右后腿、左后腿,黑色的方格代表落地,即支撑相,白色的方格代表悬空,即摆动相。进入第一个步态周期,当LF 和RR 处于支撑相时,另外一组对角腿LR 、RF 处于摆动相,此为半个周期,然后,当LF 和RR 处于摆动相时,另外一组对角腿LR 、RF 处于支撑相,至此,结束一个步态周期,接下来进行周期性循环。四足机器人的对角步态运动模仿四足动物,也将经历图1所示的运动过程。
图1 四足动物对角步态运动机理
2
2 轨迹关键点
2.1 摆动相轨迹关键点描述
摆动相的足底运动轨迹的选择对于四足机器人的步态规划是至关重要的,目前,多数四足机器人采用连续的足底轨迹,有明确的数学函数表达式,增加了计算的复杂程度,且当面临不同的结构化地形时,不同的足底轨迹函数的形状单一,往往无法满足目标物和障碍物外形轮廓要求,缺乏普遍的适应性。所以,本文使用运动轨迹上的关键点代替一般的连续运动函数。
关键点的数量取决于结构化的地形以及整体运动参数的要求。首先,考虑步态基本参数要求,足底关键点必须能够确定机器人运动步长(单周期运动距离),故关键点包括起始点和终止点,确定抬起腿和放下腿的位置;其次,为了定义抬腿高度(摆动相抬腿最大离地高度),定义最高点;最后,为了保证足底运动轮廓,定义一些中间点,数量可根据具体情况而定,最少两个。所以,最少需要5个关键点来描述摆动相足底运动轨迹,以平面坐标表达关键点位置,坐标系定义如图2所示,设以足底与地面接触点为坐标原点的坐标系为XO bo Y ,以髋部中心为坐标原点的坐标系为x 0O 0z 0,髋部、大腿、小腿长度分别为l 1=0.145m、l 2=0.42m、l 3=0.505m。设机器人的步态参数如表1所示,其中,s h 为步长的四分之一,则根据关键点的选取过程,计算得到表2所示的机器人5个摆动相足底轨迹关键点在XO bo Y 坐标系下的坐标,t 代表运动时间,坐标序号1和5代表轨迹的起始点和终止点,序号3代表抬腿最高点,序号2和4
代表用于描述足底轮廓的中间点,下面各表序号含义同此。
O 0 O 0
O 0 O 0
图2 机器人单腿步态运动 表1 四足机器人整体步态参数
周期T 步长λ 体高
H 抬腿高h s h 速度v 2 0.03 0.025 0 0.125 3 0.06 0.05 0 0.25 4
0.09
0.025
0.375
1 1.035 0 -0.03 0 2 1.01 0 -0.015 0.125 3 0.985 0 0 0.25 4 1.01 0 0.015 0.375 5
1.035
0.03
0.5
2.2 支撑相轨迹关键点描述
四足机器人支撑相的作用是推动机器人整体移动,也就是说机器人相对地面产生的位移是由支撑相提供的动力。支撑运动主要是以接触点为转动中心的转动,产生向前位移,如图2的前半段所示,为便于计算和分析,以机体为参考对象,则接触点沿着水平以相反的运动规律向后运动,可根据机器人整体运动参数得到支撑相足底相对机体运动的轨迹坐标如表4所示。
表4 x 0O 0z 0坐标系下的支撑相足底关键点坐标 1 1.035 0 -0.03 0 2 1.035 0 -0.015 0.125 3 1.035 0 -0.06 0.25 4 1.035 0 -0.09 0.375 5
1.035
-0.12
0.5
3 运动学模型
3.1 正运动学模型
如图3所示,建立四足机器人单腿D-H 坐标[9],且各D-H 参数如表5所示,i 代表第i 条腿,取i =1,2,3,4,共四条腿,每条腿有4个连杆,即机体、髋部、大腿、小腿,用k 表示,k =1,2,3,4,则连杆k 上的坐标系相对于连杆k -1上的坐标系的转换矩阵如式1所示。
3
y i 1(y i 0) (4)
3.2 逆运动学求解
2-11-10-1031-10-1023
由T 2T 1T 4=T 3T 4和 T 3T 2T 1T 4=T 4可得式5,即求得了四足机器人逆运动学模型。
将表3和表4的足底关键点坐标带入式5,可求各
表5 D-H参数 关节角度θ1、θ2、θ3,前腿的θ2取正,θ3取负,后腿
的θ2取负,θ3取正。计算得到不同腿部各关节对应于杆件k a k -1 αk -1 d ik θik
足底关键点的角度数值的集合,如表6所示,右前腿
1 0 0° 0 θi 1
(RF )与左后腿(LH )处于摆动相,同时,左前腿(LF )
2 l 1 90° 0 θi 2
和右后腿(RH )处于支撑相,该数据显示了步态前半
3 l 2 0° 0 θi 3 个周期内,机器人各个关节角度变化规律,后半个周4 l 3 0° 0 / 期交换数据,即右前腿(RF )与左后腿(LH )处于支
撑相,使用前半个周期的支撑相数据,右前腿(RF )
cos θ-sin θ0a ⎡⎤k k k -1
与左后腿(LH )处于摆动相,使用前半个周期摆动相⎢sin θcos α⎥cos θcos α-sin α-d sin αk k -1k k -1k -1k k -1⎥k -1
数据,在此不列出了。根据表6的关节角度数据,结T k =⎢
⎢sin θk sin αk -1cos θk sin αk -1cos αk -1d k cos αk -1⎥
合正运动学模型,在MATLAB 环境下绘制步态云图,⎢⎥
0001⎣⎦
如图4所示,观察可知实现了预期的步态运动,说明(1)
所计算得到的关节角度数值是正确的。
将D-H 参数表中的参数值代入式1中,其中,
表6 关节角度数值
以任意i 腿为例,可将d i k 表示为d k ,θik 表示为θk ,可得到转换矩阵0T 1、1T 2、2T 3、3T 4 ,且腿部 髋部 大腿 小腿
z i 0)
图3机器人单腿D-H 坐标
⎧p ⎪θ1=tan -1oy
p ox ⎪
⎪
⎡⎤⎪p oz ⎪-1-1⎢-tan () ⎥⎨θ2=±sin p c +p s -l ⎢ox 1oy 11⎥⎪⎣⎦
⎪
⎡(p ox c 1+p oy s 1-l 1) 2+p oz 2-l 22-l 32⎤⎪-1
⎥⎪θ3=±cos ⎢
2l l ⎢⎥23⎪⎣⎦⎩
(
5)
,可求得T 4如式2所示。 T 4=0T 11T 22T 33T 4
RF LF LH
{0} {0} {0} {0}
{19.2,23.8,27.3,21.8,15.3} {15.3,16.4,17.4,18.3,19.2} {-15.3,-21.8,-27.3,-23.8,-19.2} {-19.2,-18.3,-17.4,-16.4,-15.3}
{-31.5,-41.6,-49.7,-41.6,-31.5} {-31.5,-31.7,-31.7,-31.7,-31.5} {31.5,41.6,49.7,41.6,31.5} {31.5,31.7,31.8,31.7,31.5}
⎡c 1c 23⎢s c
00123
T 4=T 1T 2T 3T 4=⎢123
⎢s 23⎢⎣0
-c 1s 23-s 1s 23c 230
s 1l 1c 1+l 2c 1c 2+l 3c 1c 23⎤-c 1l 1s 1+l 2s 1c 2+l 3s 1c 23⎥⎥
⎥0l 2s 2+l 3s 23
⎥
01⎦
RH
(2)
其中, c 1=cos θ1, s 1=sin θ1, c 23=cos(θ2+θ3), s 23=sin(θ2+θ3) ,且已知{O i 0}坐标系下的摆动相的足底坐标为(p ox ,p oy ,
’’’
p oz ),支撑相的足底坐标为(p ox ,p oy ,p oz ),以摆动相为例,则有
⎡p ox ⎤⎡0⎤⎡l 1c 1+l 2c 1c 2+l 3c 1c 23⎤⎢p ⎥⎢⎥⎢⎥⎢oy ⎥=0T 4⎢0⎥=⎢l 1s 1+l 2s 1c 2+l 3s 1c 23⎥⎢p oz ⎥⎢0⎥⎢⎥l 2s 2+l 3s 23⎢⎥⎢⎥⎢⎥
1⎣1⎦⎣1⎦⎣⎦
(3)
当四足机器人以对角步态行走时,髋关节没有运动,即s 1=0,进而求得摆动相的足底坐标如式
4所示, 同理,因为支撑相采用了相对运动的思路,所以求得的坐标表达式与摆动相相同。
⎧p ox =l 1c 1+l 2c 1c 2+l 3c 1c 23 ⎪
⎨p oy =0⎪
⎩p oz =l 2s 2+l 3s 23(-l 2s 2-l 3s 23)
图4 右前腿步态云图
4 三次样条插值关键角度
因为通过足底轨迹关键点坐标和运动学模型求得的单关节5个角度数值无法直接提供给机器人进行运
4
动控制,所以,需要进行插值运算求得关节运动函数。
图6 四足机器人虚拟样机模型
插值是机器人轨迹规划中常用的方法,包括直线插值、
圆弧插值、多项式插值等[10]
。为了保证机器人关节运动的起始和终点处的速度为零,即抬起腿和放下腿时足底点的运动速度为零,使机器人避免与地面的强烈冲击,提高机器人运动平稳性,采用三次样条函数中的压紧样条插值关节角度数值,得到关节运动函数。
由于三次样条插值函数的求解原理较为复杂,为了简化计算,使用MATLAB 工具中的SPLINE 函数,可以快速求得函数[11]。图5所示为根据求得的关节运动函数绘制的右前腿步态前半周期的运动曲线,可观察到,起始和终止位置的斜率为零,即速度为零。
图5 右前腿步态前半周期的运动曲线
5 计算机虚拟样机建模与仿真
5.1 虚拟样机建模
虚拟样机技术是一种利用在计算机中建立的虚拟样机代替物理样机对产品进行设计测试和评估的方法,近些年,被成功应用于四足机器人仿真领域中。通过分析仿真结果可以提前发现一些问题,以改进四足机器人物理样机设计[12]。本文为了验证通过足底轨迹关键点规划得到的机器人步态的正确性,采用ADAMS 软件建立四足机器人虚拟样机模型,并进行仿真分析。
如图6所示,机器人由9部分组成,包括4个大腿,4个小腿,1个机体,在三维建模软件中建立CAD 模型后,导入到ADAMS 中,并定义各零件的质量信息,建立大腿与机体、小腿与大腿之间的转动副,在每个转动副上建立驱动。为了模仿机器人在地面上的行走运动,建立一个地面模型,并在小腿足底与地面之间建立接触约束,接触参数定义如表7所示。
表7 接触参数定义
参数名称
参数设置 Contact Type(接触类型) Solid(实体) Stiffness (刚性系数)
2855(N/mm) Force Exponent(力的非线性指数) 1.1
Damping (粘滞阻尼系数) 0.57(Ns/mm) Penetration Depth(变形深度) 0.1(mm) Coulomb Friction(库伦摩擦力) On(存在) Static Coefficient(静阻力系数) 0.3 Dynamic Coefficient(动阻力系数) 0.25 Station Transition Vel.(滑移速度) 0.1(mm/s) Friction Transition Vel.(临界速度)
10(mm/s)
5.2 虚拟样机仿真
将MATLAB 导出的关节驱动函数添加到对应的虚拟样机的驱动中,执行仿真,可以观察到四足机器人能够稳定行走15个周期以上,分别测量机体质心沿着前进方向、高度方向、左右方向的位移。如图7、8、9所示,机器人虚拟样机沿前进方向位移曲线呈现类似锯齿形状,这是因为虚拟样机行走过程中,机体重心的改变会产生倾翻转矩,引起碰撞和打滑现象,进而使得机器人的前进位移发生微小突变,这种现象在实际中是存在的;机体竖直方向最大波动量为约2.5cm ,波动较小,说明机器人稳定性较好;机体左右最大位移偏移量约为5cm ,偏移较小,说明机器人保持直线运动的能力较好。
图7 前进方向位移
图8 高度方向位移
图9 左右方向位移
6 结 语
基于轨迹关键点的四足机器人步态规划方法是一种新的机器人步态规划方法,其利用足底轨迹的关键点集合来代替传统的连续曲线函数,并利用三次样条插值方法将通过四足机器人的运动学模型求解得到的各关节角度数值转换为关节运动函数,进而驱动四足机器人虚拟样机实现了20个步态周期以上的连续运动,且波动小,打滑少,稳定性较高,验证了该方法的正确性,提高了步态规划的效率以及对结构化环境的适应性。
参 考 文 献
[1] 张伏,张国英,邱兆美,毛鹏军.仿生地面行走机构的步
态研究现状与进展[J]. 农机化研究.
2011,33(1):240-243.[2] 陈学东,孙翊,贾文川.多足步行机器人运动规划与控制
[M].武汉:华中科技大学出版社,2006:2-15.
[3] 张晓峰,俞志伟,张 昊,阮鹏,戴振东.基于Matlab 的仿
壁虎机器人仿生步态规划与仿真[J] .高技术通讯,2011,21(2):185-190.
[4] 赵佳馨,罗庆生,莫洋,魏天骐,毛明哲.链节式八足机
器人的运动分析及步态规划[J] .机械设计与制造,2013,(10):171-174.
[5] 王立鹏,王军政,汪首坤,何玉东.基于足端轨迹规划算
法的液压四足机器人步态控制策略[J] .机械工程学报,2013,49(1):39~44. 附:
(1) 联系作者:刘广超 电话:[1**********]
电子邮箱:[1**********]@163.com (2) 通讯作者:刘广超 电话:[1**********]
地址:北京市海淀区学院路37号 邮编:100191
(3) 发票报销单位名称:北京航空航天大学 税务登记证号码:[**************]
5
[6] Rong Xuewen, Li Yibin, Ruan Jiuhong and Li Bin. Design
and simulation for a hydraulic actuated quadruped robot[J]. Journal of Mechanical Science and Technology, 2012, 26 (4): 1171-1177.
[7] 蓝益鹏,王雷.马型四足行走智能机器人的研究[J] .设
计与研究,2009,(11):9-12.
[8] 何冬青.JTUWM-III 四足机器人trot 步态运动特性研究
[D].北京:上海交通大学机械电子工程学院,2006. [9] 吴振华,金毅,刘维平,刘西侠.四足机器人运动学分析
及步态研究[J] .制造业自动化,2012,34(1):9-12. [10] 陶其铭,柯尊忠.机器人轨迹规划新方法的研究[J] .机
床与液压.2003.(4):224-225,205.
[11] 任玉杰.数值分析及其MATLAB 实现[M] .北京:高等教
育出版社,2007:55-155.
[12] 马宗利,李华,王建明,赵彦. 四足机器人结构设计与仿
真分析[J]. 机械设计. 2012, 29(7):34-37,42.
Gait Planning and Simulation of The Quadruped Robot Based on Key Points of Trajectory
HAN Xiao-jian, LIU Guang-chao, Ding Xiang-fang, LIU Yi
(College of Mechanical Engineering and Automation, Beijing University of Aeronautics and Astronautics, Beijing 100191, China)
Abstract: In order to explore an efficient and reasonable method of gait planning and guarantee the stable walking of the robot. Key points are used to describe the foot trajectory to satisfy the requirements of motion parameters and structure surroundings. At the same time, the kinematics mode of robot is applied to get the angles and the method of cubic spline is used to obtain joints moving function. Then, the simulation of the virtual prototype is completed and the results show moving functions of gait planning can make the quadruped robot move steadily and continuously with more than fifteen cycles . So, the method of gait planning is proven correct.
Key words:
quadruped robot; key points; gait planning; simulation