六自由度工业机器人轨迹规划与仿真

2020-03-12 01:44田勇张露林开司
玉溪师范学院学报 2020年6期
关键词:角加速度角速度连杆

田勇,张露,林开司

(铜陵职业技术学院 电气工程系,安徽 铜陵 244000)

随着工业机器人越来越广泛的应用于汽车、加工制造、电子、食品、物流等各个行业,工业机器人已经逐渐成为企业实现“智能制造”发展目标的重要基础设备[1].在工业机器人的众多应用场景中,几乎都对整个运动过程中机器人手部的位置和姿态有较高的要求.这就需要对机器人的运动轨迹进行规划,使其在经过所要求的路径点时还具有平滑的运动轨迹.在有些场景下,还要求机器人有较好的速度或加速度特性.近些年,工业机器人相关的专业受到了高校和专业培训机构的青睐.但是在机器人的教育教学过程中,虽然能够方便的进行机器人操作与编程教学,但无法直观的介绍机器人的轨迹规划过程及动态等运动学相关特性.使用机器人仿真技术不仅可以用直观的方法介绍如何通过结构分析来建立机器人的数学模型,还可以进行机器人轨迹规划的仿真、运动控制以及优化设计等,并通过机器人仿真以图形的形式直观方便的模拟机器人的运动学相关特性.目前,已有较多对机器人轨迹规划的研究.如:沈陆使用逆运动学解法将机器人途经的位姿点转换成关节空间下各关节的转动角度值进行仿真运算[2].陈伟华等使用五次多项式过渡法进行机器人的轨迹插值规划[3].Petrinec等提到使用高次多项式插值法进行轨迹规划时,最终结果容易发生“龙格现象”[4].还有一些学者针对不同的优化目标,使用S曲线加减速控制算法[5]、B样条曲线插值法[6]等进行轨迹规划研究,获得了不同的优化效果.

本文使用Matlab中的机器人工具箱对教学中所使用的EFORT ER3A机器人进行建模和仿真,分析机器人在不同路径规划方法下各关节的运动特性,验证所构建机器人模型和运动学参数的合理性.

1 机器人结构及坐标系建立

ER3A机器人结构及尺寸ER3A机器人由安徽埃夫特智能装备股份有限公司研发和生产.该机器人具备6个旋转关节,手腕末端负载3 Kg,是一种小型的垂直型多关节机器人,可以适用在装配、物料搬运、打磨等场合,同时也常用在很多机器人教学实训台上.其结构以及各运动关节之间的尺寸如图1所示.

图1 ER3A-C60机器人结构、尺寸

机器人建模基于改进的D-H参数法对机器人进行建模.D-H参数法是由Denavit和Hartenberg提出的一种通用方法,该方法只需要4个参数就可以表达两个坐标系之间的位姿关系,是一种用来表示机器人连杆与关节之间相互关系的方法[7].该方法把坐标系对应到每一个关节上,通过构建坐标系之间的齐次变换矩阵来表达相互之间位置和姿态转换关系,进而得到从机器人基座坐标系变换到手部坐标系的矩阵.

D-H参数法分为标准(Standard)DH法和改进(Modified)DH法.在标准DH法中,当相邻两个关节轴线相交时,不能保证所建立坐标系的惟一性,而改进DH法可以避免这样的情况.本文所研究的工业机器人中,4轴、5轴、6轴的轴线存在相交的情况,因此本文选择使用改进的DH法进行机器人数学建模.基于改进D-H参数法得到的变换矩阵正是进行机器人运动学计算分析和轨迹规划的基础.

依照建模方法的约定,需要确定的坐标系可以大致分为基座坐标系{0},关节坐标系{i}和手部坐标系{h}.其中涉及的参数主要有转动角度、连杆偏移量、连杆长度、连杆扭角等.

坐标系建立过程如下:

①确定各坐标系Z轴,坐标轴线位于关节的旋转轴线上;

②确定各坐标系的原点,把相邻两轴的交点作为原点,如果相邻两轴不相交,则将相邻两个轴线的公垂线与低位轴的交点作为原点;

③确定各坐标系X轴,若相邻俩轴相交,则以两轴线所成平面的法线作为X轴,否则X轴与两轴公垂线重合,方向由低位轴指向高位轴;

④确定Y轴,根据已确定的X轴和Z轴,按右手坐标系确定Y轴;

⑤当第一个关节的连杆偏移量、连杆扭角等为零时,可以设定基座坐标系{0}与坐标系{1}重合.对于末端坐标系{n},原点和x轴的方向可任意选取.一般情况下,将原点和x轴方向选取在构建坐标系后可使dh参数为零的位置.

在本文的研究对象中,机器人末端未安装工具手,因此可以不设定手部坐标系{h}或将其与最后一个关节坐标系{n}重合.

依照上述方法,建立本文所研究的机器人连杆坐标系,如图2所示.图中,基座坐标系{0}与关节坐标系{1}重合,关节坐标系{4}与{5}的原点重合,将关节坐标系{6}设定在机器人本体最末端.按照所建立的坐标系,可以建立D-H参数表.对于改进的DH参数法,有4个参数,ai表示沿xi轴,从zi移动到zi+1的距离;αi表示绕xi轴,从zi旋转到zi+1的角度;di表示沿zi轴,从xi-1移动到xi的距离;θi表示绕zi轴,从xi-1旋转到xi的角度.旋转的正负方向同样按照右手定则判定,具体如表1所示.

图2 改进D-H法建立的ER3A机器人连杆坐标系

表1 基于改进D-H法的参数表

改进dh参数法使用的是XZ类变换,其坐标系变换顺序是:先绕着坐标系{i}的Xi轴进行旋转和平移,再绕着坐标系{i}的Zi轴进行旋转和平移.从坐标系{i-1}变换到坐标系{i}的齐次坐标变换矩阵Ti的计算通式为:

(i-1)Ti=Rot(x,αi-1)×Trans(ai-1,0,0)×Rot(z,θi)×Trans(0,0,di)=

(1)

从机器人基座坐标系变换到手腕末端的坐标系的表达式如式(2)所示.

0T6=0T11T22T33T44T55T6

(2)

2 机器人轨迹规划

要求工业机器人在工作空间的范围内完成给定的任务,就需要末端执行器必须按照给定的轨迹进行运动,这正是机器人轨迹规划的任务[8].机器人的轨迹规划问题主要在关节空间与直角坐标空间内进行.当机器人在连续轨迹(ContinuousPath,CP)控制的应用场景下工作时,一般采用直角坐标空间(笛卡尔空间)下的轨迹规划.通过规划可以得到机器人末端执行器的位置和姿态关于时间的函数.该种轨迹规划方法,计算量较大,且可能带来空间中存在奇异点、关节变量曲线突变等问题[9].关节空间中的轨迹规划一般用于点到点轨迹(Point to Point,PTP)控制的应用场景下,该场景下机器人各关节运动不需要联动,在运动中只关注机器人末端的起点和终点的位置和姿态,对中间过程的姿态和位置没有要求.这种情况下,各关节的旋转角度是轨迹规划的主要变量,运算简便,各关节的运动均处在关节的运动限制范围内,不会出现超限、奇异点等现象.因此,本文主要在关节空间下进行机器人轨迹规划.

在关节空间下进行轨迹规划,首先需要使用逆运动学理论,对机器人工作任务的空间坐标系中期望途经的各点进行求解,得到途经各点时各关节的角度值.随后,以角度值作为变量,确定一条角度值随时间变化的光滑函数,该函数需依次通过所有的途经点并到达终点.同时,为了衡量运动特性,通过该函数还可确定关节角速度、角加速度等运动参数关于时间的函数.在满足上述要求的条件下,可能存在不止一条的光滑函数,所以这些光滑函数必须至少符合4个约束限制条件,即起点和终点的位置约束条件和速度约束条件(起点、终点速度为0).多项式插值法是解决机器人在关节空间下进行轨迹规划的常用方法,本文将使用不同阶次的多项式插值法对机器人路径规划进行研究.

2.1 三次多项式插值

三次多项式插值函数的表达式如式(3)所示.

θ(t)=a0+a1t+a2t2+a3t3

(3)

对于机器人中的任意关节,θ(t)表示该关节在某一时刻的角度.对于该多项式,只需要明确所关注路径段的起始与终止位置时所对应的各关节的关节角位移和关节角速度的具体数值,即可得到三次多项式函数表达式中的各系数值.

以机器人的某一关节为例,首先可以通过逆运动学原理求解得到该关节在起点(t=0)和终点(t=f)位置时的关节转动角度θ0和θf.同时,在一般情况下,机器人在起点和终点位置时的速度通常为0.但在某些工作任务中,要求机器人在连续运动时,途经规划点而不做停留,此时该关节在起点和终点位置时的角速度可以表示为ω0和ωf.由上述条件可以得到约束条件如式(4)所示:

(4)

对式(4)进行求解,多项式中各参数结果如式(5)所示:

(5)

2.2 五次多项式插值

在关节空间内使用五次多项式插值法对机器人进行轨迹规划,需要6个参数才能确定惟一的轨迹曲线[10].除了前文中提到的起始点和终止点的角度和角速度条件外,还可附加关节在两点处的角加速度作为约束条件.机器人的某一关节角度随时间变化的方程为:

θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5

(6)

(7)

3 基于Matlab的运动学仿真

在Matlab环境下建立机器人模型,设置一个机器人的动作路径,让机器人分别在三次多项式轨迹规划和五次多项式轨迹规划的环境下依次经过A、B、C三点.将机器人经过三点时的运动参数设置如下:

点A的角度值为[-30,0,0,45,-30,60],角速度值为[0,0,0,0,0,0],角加速度值为[0,0,0,0,0,0];点B的角度值为[30,15,-30,60,30,90],角速度值为[0,0,0,0,0,0],角加速度值为[0,0,0,0,0,0];点C的角度值为[0,30,45,30,-60,30],角速度值为[0,0,0,0,0,0],角加速度值为[0,0,0,0,0,0].

从A点到B点时间为1 s,B点到C点时间为1 s,两点间插值点数为50.

3.1 机器人建模与参数验证

在Matlab环境下,使用Robotics工具箱进行机器人建模和仿真.对照所建立的D-H参数表,先使用工具箱中的LINK函数确定机器人上单个连杆对象的模型,然后通过robot函数建立整个机器人对象.

LINK函数的调用格式为:L=LINK([thetadaalphasigmaoffset],CONVENTION)

上述调用格式中,theta表示关节的转动角度;d表示连杆偏移量,即相邻两关节x轴间距;a表示连杆长度;alpha表示连杆扭角;sigma表示关节类型:1为移动关节,0为旋转关节;offset表示关节变量偏移量,可用于指定初始零位的姿态;参数CONVENTION包括两种选择:“standard”为标准的D-H参数表示法;“modified”为改进的D-H参数表示法.

本文使用改进D-H参数法建模,对照表1所示的DH参数表和实际情况下机器人的零位姿态,可以构建机器人模型如下,为方便显示,本文中将各连杆尺寸按照1∶1 000的比例进行了缩小.

L1=Link([0 0 0 0 0 0],'modified');

L2=Link([pi/2 0 0.05 pi/2 0 pi/2],'modified');

L3=Link([0 0 0.27 0 0 0],'modified');

L4=Link([0 -0.299 0.07 -pi/2 0 0],'modified');

L5=Link([0 0 0 pi/2 0 0],'modified');

L6=Link([0 0.0785 0 pi/2 0 0],'modified');

使用qlim指令来约束各关节的转动角度范围,以连杆1为例,在ER3A机器人的技术手册中,其1轴的转动范围是±167°,对应如下指令:

L1.qlim=[-167 167]*pi/180

最后,使用SerialLink指令将所有连杆组合,使用teach指令可以对构建的机器人模型在关节空间内进行姿态控制,拖动滑条的位置则可以在关节转动范围内条件关节角度,实现类似使用示教器操作机器人的功能.按照上述方法建立完整的机器人模型如图3所示.

使用fkine函数,通过输入各关节的角度得到从机器人基座坐标系变换到末端坐标系的位姿矩阵.再使用transl指令可得到机器人末端的三维坐标值.这样,就可以将机器人各关节的角度值对应到末端坐标系在基座坐标系下的坐标值.使用上述指令,在本文的设定条件下,机器人末端的轨迹如图4所示.

图3 ER3A工业机器人的仿真模型 图4 机器人末端轨迹示意图

为了验证所建立的机器人模型参数的正确性,对A、B、C三点分别使用仿真函数fkine和操作机器人实际运行验证这两种方式,比较两种方式下得到的机器人末端的直角坐标系坐标值,结果如表2所示.

表2 机器人运动学正解结果验证

从表2可以看到,利用所建立的机器人模型,使用仿真函数所计算的结果与机器人实际运行所得到结果,其X轴和Y轴的坐标值均一致.在Z轴的坐标值上,仿真结果均比机器人运行结果少约321.5mm,这是由于机器人坐标系将坐标原点定于机器人的底座中心,而本文的建模方法中将机器人的基座坐标系原点定在于关节1轴线等高的平面上,两者的高度差正好为321.5mm.因此,可以验证本文所建立的机器人模型以及相关DH参数的正确性.

3.2 三次多项式轨迹规划仿真

结合式(3)和式(5)的结果,定义和编写机器人三次多项式插值函数,运行求解后分别绘制出机器人从A点运动到B点再运动到C点的过程中各关节的角度、角速度和角加速度随时间的变化关系,如图5所示.从图5可以看出,在机器人的运动过程中,各关节角度随时间变化平滑,表明机器人的运动过程流畅.各关节的角速度变化,依照本文路径的设定,在AB段和BC段的起止点均为0,中间的过程角速度变化也连续平滑.但是在加速的变化趋势中可以看到,各关节在路径的起止时,加速度不为0,且中间过程不连续、有突变.由此可知,机器人的关节空间中,使用三次多项式插值法进行路径规划,虽然计算较简单,机器人在规定路径上的运动平滑连续,但加速度的变化过程不连续,存在突变.虽然能够较平滑的完成规定路径动作,但是起止阶段加速度突变会对机器人造成冲击,若是在手部带负载的情况下,更易造成负载不稳定,且会对各运动关节造成额外的冲击负载,影响机器人的使用和寿命.

图5 三次多项式规划各关节角度、角速度、角加速度变化

3.3 五次多项式轨迹规划仿真

以相同的初始条件,使用五次多项式插值法规划机器人在起止点之间的动作路径.求解各关节的角度、角速度和角加速度的插值数值,并绘制出图6.

图6 五次多项式规划各关节角度、角速度、角加速度变化

结合图5和图6可以看出,在机器人的关节空间下,使用三次多项式和五次多项式插值法进行轨迹规划时,各关节的角度、角速度等参数随时间变化都是连续的.但是使用三次多项式规划方法时,各关节的角加速度在起止位置不连续,存在突变;使用五次多项式规划方法时,各关节的角加速度变化是连续平滑的,可以显著的减小机器人在运行时所产生的冲击和振动.

4 结 论

本文对教学中使用的EFORT ER3A工业机器人进行了结构分析,并使用改进D-H法构建了机器人的连杆坐标系,建立D-H参数表;在Matlab环境下,使用Robotics机器人工具箱进行机器人建模,并验证了所建立模型和参数的正确性;分别研究了机器人在关节空间下以不同阶次的多项式插值法进行轨迹规划时运动学特点.研究结果表明,采用五次多项式的插值算法相对三次多项式插值,其运动更加平稳,加速度连续性更好,能有效的减少机器人在运动中的冲击.本文的研究对在教学中直观展示机器人的轨迹规划、动态特性、运动控制以及优化设计等提供了较有意义的依据和参考.

猜你喜欢
角加速度角速度连杆
压裂泵虚拟试验连杆疲劳性能研究
某发动机连杆螺栓拧紧工艺开发
《液压与气动》常用单位的规范
自行车刹车问题研究
探讨角量的矢量性
连杆的设计及有限元分析
圆周运动角速度测量方法赏析
半捷联雷达导引头视线角速度提取
基于构架点头角速度的轨道垂向长波不平顺在线检测
某型伺服系统执行电机的选择和校核