0 引言工业六关节机器人具有机械结构紧凑、灵活度高、操作方便等诸多优势,能够在狭小空间完成复杂操作,满足柔性化生产需求,广泛应用于喷漆、装配、搬运、焊接等领域。一般而言,可以通过机器人运动学研究,建立笛卡儿空间和关节空间之间的映射关系,实现对机器人位姿的控制[1]。然而,由于六关节机器人机械结构存在耦合作用,其各关节的运动并不独立;传统的运动学或者逆运动学建模中并未考虑耦合影响,导致理论建模结果与实际运动存在较大误差,影响机器人整体的绝对运动精度。机器人轴与轴之间由于传动方式的不同布置,在某一旋转关节单独运动时,会影响到其他关节的旋转,这种关系称为机械耦合。这种耦合问题广泛存在于传动链较长的第五关节和第六关节上。目前,多数机器人采用驱动端和执行端相分离的机械结构,即通过齿轮结构传递动力。该结构的机器人单独控制第四关节进行回转运动时,带动手腕关节运动,使第五关节和第六关节齿轮产生运动,从而引起第五关节和第六关节的被动旋转,其末端姿态也受到干扰[2]。目前,大多数研究认为,机械耦合对机器人精度影响非常小,并未建立相关理论模型。部分研究考虑了关节耦合问题,采用运动补偿方法提高运动精度,即采用相关仪器测量实际关节角度,通过与目标值的比较获取耦合量,并将其耦合量补偿到各关节处[3-4]。然而,这种直接补偿的方式存在补偿量不准确的问题;同时,其实际关节角度不易获取。为此,本文直接计算机械耦合量,利用Denavit-Hartenberg(D-H)参数法进行主动解耦方式解决第四关节、第五关节和第六关节的运动耦合问题。本文所述模型为理论模型,在机器人实际运动中,运动学中几何参数误差将直接导致运动学模型不准确,关节角运动不到位,从而降低机器人的末端位置精度。因此,需要对工业机器人的运动学参数、减速比等进行准确标定,利用标定的减速比计算耦合量,或者设计专门测试工具对每对齿轮减速比进行测量,以提高机器人的绝对定位精度[5-7]。1 6R机器人机械耦合量分析对于6R机器人第四关节、第五关节和第六关节的耦合运动,本文对其耦合结构进行具体分析,计算出每个关节的耦合量。图1所示为某款6R机器人机械结构。机器人第一关节、第二关节和第三关节传动结构一般为直插式结构,即电动机通过花键或齿轮轴直接与减速机连接,不存在其他传动链,3个运动相互独立,不存在耦合。10.16578/j.issn.1004.2539.2023.12.013.F001图16R机器人机械结构Fig. 1Mechanical structure for the 6R robot对于传动链较长的第四关节、第五关节和第六关节,多采用管轴进行长距离传动。图2所示为第四关节、第五关节和第六关节传动链,包括:J4减速机;J5第二级主动齿轮;J5减速机齿轮;J5减速机;J6第二级从动齿轮;J6第二级主动齿轮;J6第三级从动齿轮;J6第四级从动齿轮;J6减速机。10.16578/j.issn.1004.2539.2023.12.013.F002图26R机器人第四关节、第五关节和第六关节传动链Fig. 2Transmission chain of the 4th, the 5th and the 6th joints for the 6R robot当J4电动机顺时针旋转θ4时,J4减速机带动小臂铸件和手腕铸件回转。此时,由于第五关节和第六关节驱动电动机静止,J5第二级主动齿轮和J6第二级主动齿轮也处于静止状态,因此,J6第二级从动齿轮和J5减速机齿轮必然会旋转。同时,根据齿轮啮合位置的变化,第五关节、第六关节耦合量与J5第二级主动齿轮和J6第二级主动齿轮旋转θ4角度变化量相等。由图2可知,第四关节引起第五关节变化的耦合量为θ4i52μ5,第四关节引起第六关节变化的耦合量为θ4i62i63i64μ6。其中,减速比和变化角度定义如表1所示。10.16578/j.issn.1004.2539.2023.12.013.T001表1符号定义Tab. 1Symbol definition符号定义θ1第一关节主动变化角度θ2第二关节主动变化角度θ3第三关节主动变化角度θ4第四关节主动变化角度θ5第五关节主动变化角度θ6第六关节主动变化角度θ1'第一关节实际变化角度θ2'第二关节实际变化角度θ3'第三关节实际变化角度θ4'第四关节实际变化角度θ5'第五关节实际变化角度θ6'第六关节实际变化角度i52机器人第五关节第二级齿轮传动比μ5机器人第五关节减速机减速比i62机器人第六关节第二级齿轮传动比i63机器人第六关节第三级齿轮传动比i64机器人第六关节第四级齿轮传动比μ6机器人第六关节减速机减速比θ4'第四关节实际变化角度同样,当第五关节顺时针旋转θ5时,带动手腕铸件运动。由于第五轴旋转是沿J5减速机齿轮和J6第二级从动齿轮中心轴旋转,J6第二级主动齿轮和J6第二级从动齿轮啮合点未发生变化,则J5第二级主动齿轮和J6第二级从动齿轮静止,J6第三级从动齿轮绕J6第二级从动齿轮的轴线旋转。因此,第五关节引起第六关节变化的耦合量为θ5i63i64μ6。综上所述,6R机器人前3个关节运动相互独立,第五关节实际运动角度为θ5'=θ5±θ4i52μ5 (1)第六关节实际运动角度为θ6'=θ6±θ4i62i63i64μ6±θ4i52μ5i63i64μ6±θ5i63i64μ6 (2)式中,θ4i52μ5i63i64μ6为第四关节对第五关节耦合引起的第六关节的耦合量。2 含耦合量运动学模型对于第五关节和第六关节的耦合量,本文基于优化型D-H参数法,建立机器人运动学模型,实现主动解耦。为使建模过程直观易理解,建立关节坐标系时将坐标系固结于该连杆的近端,而非远端[8-11]。2.1 构建D-H参数根据机器人构型,绘制机器人运动简图。坐标系{j}的z轴称为zj,zj与旋转关节的旋转轴重合;坐标系{j}的原点位于公垂线aj与关节轴j的交点处;xj沿aj由关节j指向关节j+1。固连在连杆j上的坐标系称为坐标系{j},固连在基座上的坐标系定义为坐标系{0}(基坐标系)。通常为简化计算,设定参考坐标系{0}与坐标系{1}重合。图3所示为某型号机器人机构运动简图和连杆坐标系,由于末端工具长度未知,直接将末端坐标系{6}固连在轴5上。10.16578/j.issn.1004.2539.2023.12.013.F003图36R机器人机构运动简图和连杆坐标系Fig. 3Mechanism motion diagram and linkage coordinate system for the 6R robot连杆参数定义如下:aj为沿xj轴、由zj移动到zj+1的距离;αj为绕xj轴、由zj转动到zj+1的角度;dj为沿zj轴、由xj-1移动到xj的距离;θj'为绕zj轴、由xj-1转动到xj的角度。关节轴旋转正方向一般沿Zj轴,采用右手定则确定。根据连杆参数定义和连杆坐标系,以及每个关节轴旋转正负方向,判断耦合量的正负。建立该6R机器人D-H参数如表2所示。表2中,a1、a2、a3分别为机器人第一关节、第二关节和第三关节各自与其相邻的下一关节之间的关节线距离;d4为第四关节与末端执行机构之间的距离;θj'为第j关节包含耦合量的关节角;θj为第j关节不包含耦合量的主动关节角;θ5'为第五关节主动变化角θ5与第四关节引起第五关节变化耦合量-θ4i52μ5之和;θ6'为第六关节主动变化角θ6、第四关节引起第六关节耦合量θ4i62i63i64μ6和第五关节引起第六关节耦合量-(θ4i52μ5i63i64μ6+θ5i63i64μ6)之和。10.16578/j.issn.1004.2539.2023.12.013.T002表26R机器人D-H参数Tab. 2D-H parameters of the 6R robotjaj-1/mmαj-1/(°)dj/mmθj'/(°)θj'运动范围/(°)1000θ1'=θ1-165~+1652a1-900θ2'=θ2+80∼-1353a200θ3'=θ3+260∼-1464a3-90d4θ4'=θ4-360~+36050900θ5'=θ5-θ4i52μ5-125~+12560-900θ6'=θ6+θ4i62i63i64μ6-θ4i52μ5i63i64μ6+θ5i63i64μ6-450~+450对于θ6'运动,μ5、μ6一般均大于60;同时,θ4取值范围为-360°~+360°。因此,θ4i52μ5i63i64μ60.1°,对整体影响很小,可以忽略不计。推导可得θ6'=θ6+θ4i62i63i64μ6+θ5i63i64μ6 (3)2.2 6R机器人正运动学将6R机器人D-H参数代入变换矩阵 jj-1T的一般表达式(4),计算连杆变换矩阵10T∼65T,如式(5)~ 式(10)所示。将连杆变换矩阵连乘,获得机构末端坐标系相对于基坐标系的变换矩阵60T,如式(11)和式(12)所示。 jj-1T=c θj'-s θj'0aj-1s θj'c αj-1c θj'c αj-1-s αj-1-djs αj-1s θj's αj-1c θj's αj-1c αj-1djc αj-10001 (4)10Τ=c1'-s1'00s1'c1'0000100001 (5)21T=c2'-s2'0a10010-s2'-c2'000001 (6)32T=c3'-s3'0a2s3'c3'0000100001 (7)43T=c4'-s4'0a3001d4-s4'-c4'000001 (8)54T=c5'-s5'0000-10s5'c5'000001 (9)65T=c6'-s6'000010-s6'-c6'000001 (10)60T=10T21T32T43T54T65T=r11r12r13pxr21r22r23pyr31r32r33pz0001 (11)r11=c1'[c23'(c4'c5'c6'-s4's5')-s23's5'c5']+s1'(s4'c5'c6'+c4's6')r21=s1'[c23'(c4'c5'c6'-s4's6')-s23's5'c6']-c1'(s4'c5'c6'+c4's6')r31=-s23'(c4'c5'c6'-s4's6')-c23's5'c6'r12=c1'[c23'(-c4'c5's6'-s4'c6')+s23's5's6']+s1'(c4'c6'-s4'c5's6')r22=s1'[c23'(-c4'c5's6'-s4'c6')+s23's5's6']-c1'(c4'c6'-s4'c5's6')r32=-s23'(-c4'c5's6'-s4'c6')+c23's5's6'r13=-c1'(c23'c4's5'+s23'c5')-s1's4'c5'r23=-s1'(c23'c4's5'+s23'c5')+c1's4's5'r33=s23'c4's5'-c23'c5'px=c1'(a1+a2c2'+a3c23'-d4s23')py=s1'(a1+a2c2'+a3c23'-d4s23')pz=-a2s2'-a3s23'-d4c23'θ1'=θ1θ2'=θ2θ3'=θ3θ4'=θ4θ5'=θ5-θ4i52μ5θ6'=θ4i62i63i64μ6+θ5i63i64μ6+θ6 (12)式中,c代表cos;s代表sin;c1'∼c6',s1'∼s6'分别为机器人实际关节变化角度θ1'∼θ6'的余弦值和正弦值;c23'为θ2'与θ3'之和的余弦值;s23'为θ2'与θ3'之和的正弦值。2.3 6R机器人逆运动学如已知机器人末端目标位姿,可通过机器人逆运动学计算出每个关节主动变化角度。本文利用代数解法求出逆解,θ1∼θ6的值如式(13)~式(18)所示。θ1∼θ4的表达式与θ1'∼θ4'的表达式一致,θ5需要加入θ4耦合量,θ6需要加入θ4和θ5的耦合量。θ1=θ1'=arctan2(py,px) (13)θ2=θ2'=arctan 2[(a3+a2c3)pz+(c1px+s1py-a1)(a2s3+d4),-(d4+a2s3)pz+(c1px+s1py-a1)(a2c3+a3)]-θ3 (14)θ3=θ3'=-arctan 2(k,±a32+d42-k2)+arctan 2(a3,d4)k=(c1px+s1py-a1)2+pz2-a22-a32-d422a2 (15)θ4=θ4'=arctan2(-r13s1+r23c1,-r13c1c23-r23s1c23+r33s23) (16)θ5=θ5'+θ4i52μ5=arctan2(s5',c5')+θ4i52μ5s5'=-r13(c1c23c4+s1s4)-r23(s1c23c4-c1s4)+r33(s23c4)c5'=r13(-c1s23)+r23(-s1s23)+r33(-c23) (17)θ6=θ6'-θ4i62i63i64μ6-θ5i63i64μ6=arctan2(s6,c6)-θ4i62i63i64μ6-θ5i63i64μ6s6=-r11(c1c23s4-s1c4)-r21(s1c23s4+c1c4)+r31(s23s4)c6=r11[(c1c23c4+s1s4)c5'-c1s23s5']+r21[(s1c23c4-c1s4)c5'-s1s23s5']-r31(s23c4c5'+c23s5') (18)3 Matlab仿真分析为验证该方法的可行性,本文利用Matlab机器人工具箱进行仿真分析[12-15],对比含耦合量与不含耦合量的机器人运动空间。其工作空间一致,即机器人末端位置只与第一关节、第二关节、第三关节角度有关,与第四关节、第五关节、第六关节角度无关,与式(12)结论一致。通过独立控制第四关节、第五关节、第六关节运动,分析耦合量对其精度的影响,验证方法的可行性,同时与运动补偿方法进行比较分析。3.1 实验参数本文以某6R机器人为例,其关节参数为:a1=150 mm,a2=900 mm,a3=150 mm,d4=990 mm。θ5'=θ5-0.008 8θ4,θ6'=0.011 7θ4+0.014 1θ5+θ6。θ1取值范围为-165°~+165°,θ2取值范围为-135°~+80°,θ3取值范围为-146°∼+260°,θ4取值范围为-125°~+125°,θ5取值范围为-128°~+128°,θ6取值范围为-456°~+456°。如图4所示,当机器人各关节角度为0°时,末端位置为x=1 200 mm,y=0 mm,z=-990 mm;末端姿态为R=0°,P=0°,Y=-180°。通过手动输入关节角度或者利用函数调节关节变量,实现机器人的运动。10.16578/j.issn.1004.2539.2023.12.013.F004图46R机器人Matlab仿真模型Fig. 4Matlab simulation model for the 6R robot3.2 工作空间分析由于机器人末端执行器功能不同,形状特点也相差较大,为直观表示出机器人本体关节角度和运动空间的映射关系,仿真的工作空间为手腕参考点所能达到的区域。本文对工作空间的绘制主要使用了数值法中的蒙特卡罗法,亦称为数据模拟方法。这是一个以概率统计学理论为指导来开展数学问题分析的数值方法,具有快捷、简便、适应性较强的优势。如图5所示,分别绘制含耦合量和不含耦合量的6R机器人工作空间。为方便观察,将三维空间分别投影到x-y平面和x-z平面,对比两种方式,发现其工作空间一致。图56R机器人工作空间仿真Fig. 5Workspace simulation for the 6R robot10.16578/j.issn.1004.2539.2023.12.013.F5a1(a)忽略耦合工作空间x-y面(b)计算耦合工作空间x-y面10.16578/j.issn.1004.2539.2023.12.013.F5a2(c)忽略耦合工作空间x-z面(d)计算耦合工作空间x-z面因此,耦合量不影响机器人的工作空间,即对6R机器人空间位置无影响。由式(11)和式(12)可得,6R机器人空间位置只与机器人第一关节到第三关节参数(无耦合量)有关,与第四关节到第六关节参数(有耦合量)无关,与6R机器人仿真结果保持一致。3.3 主动解耦误差为进一步确定耦合量对机器人末端姿态的影响,本节分别使第四关节、第五关节和第六关节单独运动,观察机器人末端姿态变化。为方便观察机器人末端姿态,采用Z-Y-Z欧拉角表示机器人的姿态,即先绕zB轴旋转α角,再绕yB轴旋转β角,最后绕zB轴旋转γ角。α、β、γ表示不包含主动解耦的欧拉角;α1、β1、γ1表示包含主动解耦的欧拉角;Δα、Δβ、Δγ表示主动解耦误差值。由于机器人末端位置只与第一关节到第三关节有关,而第一关节到第三关节均为独立运动,不存在耦合关系。因此,只需要研究第四关节到六关节对末端姿态的影响。本文设计3个独立实验,分别控制3个耦合关节的关节角度运动,计算含耦合量与不含耦合量末端姿态的误差角度。3.3.1 第四关节独立运动分别设置关节目标角度:θ1=30°,θ2=40°,θ3=50°,θ5=70°,θ6=80°,θ4的范围为0°~100°。利用式(12)计算含耦合量的关节角度θ1'∼θ6',利用Fkine函数计算末端位姿,并绘制含耦合量与不含耦合量末端欧拉角曲线,如图6(a)所示。由于Robotic toolbox工具包中欧拉角的取值范围为[-π,π] rad,因此,会在-π rad和π rad产生突变。为更加直观观察目标与实际值的误差,选取未发生突变的θ4范围为[0.5,1.5] rad,观察末端欧拉角误差。由图6(b)可知,在机器人第四关节运动时,Δα、Δβ、Δγ均大于0,且欧拉角最大误差接近0.03 rad(约1.72°),如果末端安装工具,会产生较大的位置偏差,影响作业精度。图6第四关节独立运动耦合误差仿真Fig. 6Coupling error simulation of independent motion of the 4th joint10.16578/j.issn.1004.2539.2023.12.013.F6a1(a)实际欧拉角和理论欧拉角10.16578/j.issn.1004.2539.2023.12.013.F6a2(b)欧拉角误差3.3.2 第五关节独立运动同理,分别设置关节目标角度:θ1=30°,θ2=40°,θ3=50°,θ4=60°,θ6=80°,θ5的范围为0°~100°。计算含耦合量的关节角度θ1'∼θ6',绘制末端含耦合量与不含耦合量曲线,选取未发生突变的θ5范围为[0.7,1.7] rad,观察末端欧拉角误差,如图7所示。由图7(b)可知,在机器人第五关节运动时,Δα、Δβ、Δγ均大于0,其中,Δα误差为定值,且欧拉角最大误差接近0.03 rad,会对机器人整体精度产生影响。图7第五关节独立运动耦合误差仿真Fig. 7Coupling error simulation of independent motion of the 5th joint10.16578/j.issn.1004.2539.2023.12.013.F7a1(a)实际欧拉角和理论欧拉角10.16578/j.issn.1004.2539.2023.12.013.F7a2(b)欧拉角误差3.3.3 第六关节独立运动同理,分别设置关节目标角度:θ1=30°,θ2=40°,θ3=50°,θ4=70°,θ5=80°,θ6的范围为0°~100°。计算含耦合量的关节角度θ1'∼θ6',绘制末端目标欧拉角和实际欧拉角曲线,选取未发生突变的θ6范围为[0,1.5] rad,观察末端欧拉角误差,如图8所示。当第六关节运动时,机器人绕zB轴旋转γ角,β角不发生变化,角度误差为固定值,且最大误差为0.025 rad(约1.43°)。图8第六关节独立运动耦合误差仿真Fig. 8Coupling error simulation of the independent motion of the 6th joint10.16578/j.issn.1004.2539.2023.12.013.F8a1(a)实际欧拉角和理论欧拉角10.16578/j.issn.1004.2539.2023.12.013.F8a2(b)欧拉角误差3.4 两种方法对比分析为验证该方法的准确性,利用运动补偿方法作为对照,比较两种方法。由于运动补偿方法需要测量机器人实际姿态,在仿真实验时,将主动解耦的角度假定为测量关节角度,运动补偿之后的角度为实际角度。分别设置关节目标角度:θ1=30°,θ2=40°,θ3=50°,θ5=70°,θ6=80°,θ4的范围为0°~100°。具体定义如下:{αq,βq,γq}为目标姿态,{αt,βt,γt}为测量姿态,{α2,β2,γ2}为运动补偿后的实际姿态,{Δα1,Δβ1,Δγ1}为运动补偿与主动解耦的误差。通过目标姿态与测量姿态比较,确定补偿量,得到运动补偿后的实际姿态。图9所示为运动补偿方法的仿真。其中,测量角度等价于主动解耦方法的欧拉角。由图9(b)可知,运动补偿与主动解耦的最大欧拉角误差为0.000 5 rad(约0.028 6°),误差较小。但若机器人末端工具较长(如弧焊枪长度约200 mm),仍会影响其末端位置(约0.1 mm)。而两者存在误差的原因在于,采用运动补偿方法补偿时,仍会存在补偿量的耦合,而利用主动解耦方法则不会存在此问题。图9运动补偿仿真Fig. 9Motion compensation simulation10.16578/j.issn.1004.2539.2023.12.013.F9a1(a)理论欧拉角、测量欧拉角和实际欧拉角10.16578/j.issn.1004.2539.2023.12.013.F9a2(b)欧拉角误差运动补偿方法在实际运用中,其对于第五关节和第六关节的补偿往往是固定值;而实际运动中,耦合量是不断变化的,这会降低机器人的绝对精度。同时,实时且准确的姿态是难以通过仪器获取的,大多都是通过算法估算的,这又进一步影响了机器人的精度。因此,运动补偿方法具有一定劣势,而本文方法能够实时求出机器人姿态,运动过程中不需要借助其他仪器设备提供反馈,求解过程便捷。4 结论研究设计了一种基于D-H参数法的6R机器人主动解耦方法,旨在解决机器人机械耦合问题。通过分析机器人传动链,计算了关节耦合量,并在D-H参数中引入了耦合量,建立了实际运动角度的运动学模型,最后,通过仿真实验分析了耦合对机器人运动空间和空间姿态的影响,验证了该方法的可行性。在下一阶段,将引入真实6R工业机器人,通过实验来进一步验证该方法的可行性和准确性。计划将采用该解耦方法的机器人和采用位姿补偿方法的机器人进行比较,利用激光跟踪仪测量两者的绝对定位精度,以确定该解耦方法能够提高实际机器人的绝对定位精度。
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览