《武汉工程大学学报》  2020年05期 568-574   出版日期:2021-01-29   ISSN:1674-2869   CN:42-1779/TQ
基于MATLAB的6R焊接机器人运动学的仿真研究


自焊接机器人问世以来,在制造业的多个领域当中应用越来越广泛,包括汽车工业、航天航空以及船舶等行业。经过50多年的发展,焊接机器人的焊接质量越来越稳定,对于改善劳动条件和提高生产效率起到了重要的作用,尤其是在焊接领域,已经逐渐取代了原始的人工焊接,从提高和优化焊接质量和效率的角度出发,提出多机器人协调焊接的方法[1-2]。在研究多机器人的协调焊接之前,首先需要对单个焊接机器人进行运动学问题研究。其中,机器人的运动学建模是通过机器人的正向运动学分析来理解角度参数转换成坐标的具体过程;通过机器人的逆向运动学来理解位置坐标是如何转化成角度参数的,同时在这个过程中还需要对奇异解进行分析判断,选择正确合理的解;按照作业要求明确机器人的轨迹规划,掌握其末端运动状态(末端点运动轨迹)。大部分专家学者在进行机器人运动仿真研究的时候都选择应用MATLAB环境中的Robotics Toolbox[3-4]并借助于仿真参数进行机器人研究,包括其正、逆运动学和轨迹规划等内容。譬如,左富勇等[5]对四自由度的SCARA机器人进行了运动学仿真,得到了该机器人平滑的运动轨迹,但是对六自由度的机器人适用性不足;王智兴[6]、干敏耀[7]分别对Standford和Puma机器人进行仿真研究,但都只是针对特定型号的机器人进行研究;陆家皓等[8]在研究当中,以6R关节型ER3A-C60机器人为对象,对其相关参数的合理性进行了仿真研究和验证,不足之处在于没有进行正、逆运动学仿真验证,导致无法获得完整的仿真结果;李瑾等[9]直接调用工具箱中的逆解函数来对Puma250机器人求逆解,由于逆解函数是运用迭代法来求解逆运动,存在着局限性,导致出现了漏解的情况,因此不能对逆运动学进行逆解验证。针对上述问题,本研究以应用较为广泛的ABBIRB1600型号机器人为研究对象,针对其正逆运动学进行了研究和分析,借助于标准Denavit-Hartenberg(D-H)建模法,构建机器人模型以及正逆运动学方程,并通过调用工具箱正逆解函数的方式对正逆运动学结果进行求解,然后分别比对计算值和实际实验值,对本研究构建的运动学模型和正逆运算结果的正确性进行科学的验证,为今后研究焊接机器人轨迹提供了必不可少的理论基础和运动学模型。1 机器人运动学分析机器人运动学指的是,对机器人的每个关节点和大地坐标系之间的相对位姿进行全面的分析,最终获取其末端执行器与大地坐标系相对应的位姿、速度和加速度情况。其整体分析过程可以分成两个不同的类型,分别是正、逆运动学,具体分析过程如图1所示。1.1 机器人基本结构ABBIRB1600型工业机器人是一款6R关节串联机器人,其仿真模型如图2所示,它的主体组成包括基座、腰部、大小臂以及手腕等部分,各相邻关节之间都是通过转动关节来联接,在焊接、码垛等领域均有广泛的应用。根据图3中机器人的结构构型以及相关尺寸参数,通过标准D-H参数建模方法,建立机器人坐标系,其建模步骤如下:1)绕[zi-1]轴旋转[θi],使得[xi-1]与[xi]互相平行,记为旋转矩阵R;2)沿[zi-1轴]平移[di]距离,使得[xi-1]与[xi]共线;3)沿[xi轴平移ai]距离,使得[xi-1]与[xi]的原点重合,记为平移矩阵T;4)将[zi-1]轴绕[xi]轴旋转[αi],使得[zi-1]轴与[zi]对准。构建的机器人坐标系如图4所示,获得的连杆参数以及关节变量如表1所示,其中[ai]和[di]分别表示相邻关节间的连杆长度和连杆偏移量,[αi]代表相连坐标系间的扭转角度,[θi]代表关节旋转角度制。在各参数之中,只有[θi]为可变参数,其余参数均为定值。1.2 机器人正运动学已知机械臂每个关节的角度参数之后,可以根据关节和末端执行器间的坐标变化关系,对末端执行器的位置以及姿态进行正确的求解。相邻坐标系[i-1]与[i]能够通过齐次变换矩阵[i-1iT]进行表述[10]:[i-1iT=Rzi-1,θi×Tzi-1,di× Txi,ai×Rxi,αi][i-1iT=cosθi-cosαisinθisinαisinθiaicosθisinθicosαicosθi-sinαicosθiaisinθi0sinαicosαidi0001] (1)对应于机器人连杆坐标系的描述,可以得到机器人相邻两个关节之间的齐次变换矩阵[i-1iTi=1,2,…,6]分别为[11-13]:[01T=cosθ10-sinθ1a1cosθ1sinθ10cosθ1a1sinθ10-10d10001 ][12T=cosθ2-sinθ20a2cosθ2sinθ2cosθ20a2sinθ200100001][23T=cosθ30-sinθ30sinθ30cosθ300-1000001] [34T=cosθ40sinθ40sinθ40-cosθ40010d40001][45T=cosθ50-sinθ50sinθ50cosθ500-1000001] [56T=cosθ6-sinθ600sinθ6cosθ600001d60001]ABBIRB1600机器人末端坐标系[6]与基坐标系[0]之间的变换矩阵为[06T],且有:[06T=01T12T23T34T45T56T] (2)将机器人的每个坐标转换矩阵带入式(2),即可得到机器人正向运动学方程:[06T=nxoxnyoyaxpxaypynzoz00azpz01] (3)为简化公式,使用[si]代表[ sinθi],[ci]代表[ cosθi],[s23]代表[sinθ2+θ3],[c23]代表[ cosθ2+θ3],故式(3)化简得到:[nx=s1c4s6-c1c23c4s6-c1s23s5c6+s1s4c5c6+c1c23c4c5c6][ny=-s1s23s5c6-c1s4c5c6+s1c23c4c5c6-c1c4s6-s1c23s4s6][nz=s23s4s6-c23s5c6-s23c4c5c6][ox=c1s23s5s6-s1s4c5s6+c1c23c4c5+s1c4c6-c1s23s4c6][oy=s1s23s5s6+c1c4c5s6-s1c23c4c5s6-c1c4c6-s1c23s4c6][oz=c23s5s6+s23c4c5s6+s23s4c6][ax=-c1s23c5-s1s4s5-c1c23c4s5][ay=c1s4s5+s1c23c4s5+s1s23c5][az=s23c5-c23c5][px=a1c1-d6c1s23c5-d6s1s4s5-d6c1c23c4s5 -d4c1s23+a2c1c2][py=a1s1-d4 s1s23-d6s1s23c5+d6c1s4s5-d6s1c23c4s5][pz=d1-a2s2-d4c23-d6c23c5+d6s23s4s5]1.3 机器人逆运动学机器人逆运动学,就是通过机器人末端笛卡尔空间来求解机器人关节空间,即在知道末端位置和姿态的情况下,求出各个关节的旋转角度。求逆解具有多种不同的方法,然而在实际应用当中,一般使用两种封闭解法来获取有效封闭解:一是代数解法,另一种是几何解法。几何解法需要将D-H参数表的空间几何参数转换到平面几何参数上去,并求解;代数解法是运用变换矩阵就得到求解的三角函数方程式。相比于几何解法,虽然代数解法过程复杂,但能够得到全部的解,且所求角度均处在适当的象限里,故使用代数解法。在机器人运动方程(3)的两端分别乘上对应的逆矩阵,分离变量,并根据各个关节变量的值来求解矩阵的相等元素[14]。[01T-106T=12T23T34T45T56T] (4)1) 计算[θ1]令式(4)两端(3,3)和(3,4)相等,得:[θ1=arctand6ay-py d6ax-px] (5)由于机械臂的旋转对应的不同的姿态,则[θ1]会有两组解:[θ1’=θ1-180] (6)2) 计算[θ3]令式(4)两端(2,3)和(2,4)相等,得:[θ3=arcsina22+d42-m2-n22a2d4] (7)其中,[m=pxcosθ1-pysinθ1-a1+d6axcosθ1+aysinθ1,n=d6az+pz-d1 。]由于[m]中含有关于[θ1]的三角函数,因此[θ3]的大小与[θ1]的取值有关,并且[θ3]也会因为机械臂的旋转对应着不同的姿态,所以[θ3]存在着两组解。3) 计算[θ2]根据步骤2可推出[θ23],其中[θ2]的值与[ θ1]、[θ3]的取值相关,[θ1]的值会产生两个[θ3]的值,每一组[θ1]和[θ3]对应产生一个[θ2]的值,所以可以通过式(9)得到四组[θ2]的解: [θ2=θ23-θ3] (8)[23T-112T-101T-106T=34T45T] (9)4) 计算[θ5]令式(9)两端(3,3)相等,得:[θ5=arccos(-axcosθ1sinθ23-aysinθ1sinθ23-azcosθ23)](10)5) 计算[θ4]令式(9)两端(1,3)和(2,3)相等,得:[θ4=axsinθ1-aycosθ1axcosθ1cosθ23+aysinθ1cosθ23-azsinθ23](11)6) 计算[θ6]令式(9)两端(3,1)和(3,2)相等,得:[θ6=-oxcosθ1sinθ23+oysinθ1sinθ23+cosθ23nxcosθ1sinθ23+nysinθ1sinθ23+cosθ23] (12)至此,关节角[θ1~θ6]已经通过计算全部求出,完成了ABBIRB1600焊接机器人的逆解求取过程。通过图5逆运动学求解过程可以看出[θ1、θ2、θ3]存在着多组逆解,并且相互组合可以产生八组逆解。多个逆解的存在让机器人的末端位姿可以有多种姿态选择,但在实际运动过程中,需要考虑整个运动过程以及机械参数的约束,因此部分逆解可能处于机械臂不可达空间内,或者某些位姿不符合具体的任务要求,所以对得到的逆解必须进行验证。图5 逆运动学求解过程Fig. 5 Inverse kinematics solution2 机器人运动学模型仿真2.1 建立运动学模型在MATLAB软件当中,有专门服务于工业机器人的工具箱Robotics Toolbox,它能够提供多种机器人所需的运动学函数。可以依据表2的数据,利用Robotics Toolbox工具箱完成机器人建模[15-16],获取到的初始位姿如图6所示。2.2 正运动学验证按照随机的方式挑选一组关节变量,将其应用于正运动学方程求解正确性的验证;使用公式(3)所示的正运动学方程当作计算值,选择末端执行器位姿当作真值。随机选取关节变量[q1=[0 0 0 0 0 0]],将计算值与真值进行数据对比。通过1.2节机器人正运动学方程,带入[q1]的值,求得末端位姿矩阵[T1]:[T1=001a1+d4+d60-100100a2+d10001=0018150-10010011870001]使用Robotics Toolbox求解正运动学,可以获取末端位姿矩阵[G]:[G=0018150-10010011870001]对比计算值[T1]与真值[G],验证了机器人正运动学方程与运动学模型的正确性。2.3 逆运动学验证根据Robotics Toolbox工具箱可以对关节变量为[q2=45 30 60 90 15 22.5]的机器人进行求解,可得其末端位姿矩阵[T2]:[T2=0.36-0.91-0.18341.70-0.90-0.400.18365.40-0.24-0.10-0.97430.400001.00]将求解得到的[T2]代入(1.3)节中的逆运动学公式可以计算出机器人多组运动学逆解[Q2=[θ1 θ2 θ3 θ4 θ5 θ6 ]]。通过MATLAB编写计算程序对逆解进行计算,如表2所示。根据表2可知,每个位姿都能够得到八组解,然而在实际的应用中,在机械机构约束和不同杆件运动干涉的影响下,机器人能够真正到达的关节角度只有其中的一部分。将数据进行比对之后发现,表2当中第4组的取值等同于[q2],由此可以对逆运动学的正确性进行有效的验证。2.4 轨迹规划与仿真轨迹规划方法是对机器人在运动状态下的位移、角速度及角加速度进行规划,得到其运动曲线,并观察机器人具体的运动状态[17-18]。本文选择的是关节空间轨迹规划法,在空间中选择任意两点,调用工具箱在关节空间内对机器人进行轨迹规划。设关节空间中初始点对应的关节转角为[q1=0 0 0 0 0 0],末端点对应的关节转角为[q2=45 30 60 90 15 22.5],得到的运动轨迹如图7所示。本研究需要同时针对6个关节进行研究,分别针对其角位移、角速度和角加速度进行规划。为了对所有关节的运动曲线进行清晰准确的观察,本文使用MATLAB绘制了所有关节的仿真曲线,如图8所示。通过观察图8可以得知,机器人在整体运动过程中,6个关节都能够保持平稳的运动状态进行正常工作。所有关节的角位移曲线都呈现为光滑无突变,由此可知,每个杆件间都没有出现错位冲突;角速度和加速度的曲线都呈现为连续的状态,且变化缓和,由此可知,机械臂在工作中能够保持平稳运行,产生的振动幅度较小,对运动学模型连杆参数设计的合理性以及运动学方程的正确性进行了有效的验证,也说明了机器人能够顺利到达预设位置。3 结 论在本文的研究中,以ABBIRB1600型号机器人作为研究对象,从运动学的角度分析了6R焊接机器人,并对其进行了轨迹规划的仿真,根据仿真结果得出结论如下:1)基于标准D-H法,建立了ABBIRB1600机器人的D-H坐标系,在此基础上分别求出相邻连杆间的位姿变换矩阵以及机器人的正逆运动学方程。借助于运动学方程的求解过程,分别从正、逆运动学方面对机器人进行了科学的分析,然后在MATLAB环境当中完成程序编写,并从理论的层面得出了8组位姿逆解。将计算值和实际实验值进行了比对,完成了正逆运动学方程正确性的验证工作。2) 借助MATLAB中的Robotics Toolbox工具箱完成相关程序的编写,然后在关节空间内,进行了机器人运动轨迹的仿真,分别获取每个关节的角位移、角速度以及角加速度和时间变化之间产生的平滑运动曲线,验证了机器人参数的合理性。