熊思淇,陈绪兵,张 聪,戴耀南
武汉工程大学机电工程学院,武汉 430205
自焊接机器人问世以来,在制造业的多个领域当中应用越来越广泛,包括汽车工业、航天航空以及船舶等行业。经过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 运动学分析流程图Fig.1 Flowchart of kinematics analysis
ABBIRB1600 型工业机器人是一款6R 关节串联机器人,其仿真模型如图2 所示,它的主体组成包括基座、腰部、大小臂以及手腕等部分,各相邻关节之间都是通过转动关节来联接,在焊接、码垛等领域均有广泛的应用。
根据图3 中机器人的结构构型以及相关尺寸参数,通过标准D-H 参数建模方法,建立机器人坐标系,其建模步骤如下:
1)绕zi-1轴旋转θi,使得xi-1与xi互相平行,记为旋转矩阵R;
图2 Robotstudio 中ABBIRB1600 仿真模型图Fig.2 Diagram of ABBIRB1600 simulation model in Robotstudio
图3 ABBIRB1600 结构构型和尺寸参数(单位:mm)Fig.3 Structural configuration and dimension parameters of ABBIRB1600(Unit:mm)
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为可变参数,其余参数均为定值。
图4 ABBIRB1600 机器人坐标系Fig.4 ABBIRB1600 robot coordinate system
表1 ABBIRB1600-10/1.45 机器人D-H 参数Tab.1 ABBIRB1600-10/1.45 Robot D-H parameter
已知机械臂每个关节的角度参数之后,可以根据关节和末端执行器间的坐标变化关系,对末端执行器的位置以及姿态进行正确的求解。相邻坐标系与能够通过齐次变换矩阵进行表述[10]:
对应于机器人连杆坐标系的描述,可以得到机器人相邻两个关节之间的齐次变换矩阵分别为[11-13]:
ABBIRB1600 机器人末端坐标系{ }6 与基坐标系{ }0 之间的变换矩阵为且有:
将机器人的每个坐标转换矩阵带入式(2),即可得到机器人正向运动学方程:
为 简 化 公 式,使 用si代 表 sinθi,ci代 表cosθi,s23代表代表故式(3)化简得到:
机器人逆运动学,就是通过机器人末端笛卡尔空间来求解机器人关节空间,即在知道末端位置和姿态的情况下,求出各个关节的旋转角度。求逆解具有多种不同的方法,然而在实际应用当中,一般使用两种封闭解法来获取有效封闭解:一是代数解法,另一种是几何解法。几何解法需要将D-H 参数表的空间几何参数转换到平面几何参数上去,并求解;代数解法是运用变换矩阵就得到求解的三角函数方程式。相比于几何解法,虽然代数解法过程复杂,但能够得到全部的解,且所求角度均处在适当的象限里,故使用代数解法。在机器人运动方程(3)的两端分别乘上对应的逆矩阵,分离变量,并根据各个关节变量的值来求解矩阵的相等元素[14]。
1)计算θ1
令式(4)两端(3,3)和(3,4)相等,得:
由于机械臂的旋转对应的不同的姿态,则θ1会有两组解:
2)计算θ3
令式(4)两端(2,3)和(2,4)相等,得:
其中,
由于m中含有关于θ1的三角函数,因此θ3的大小与θ1的取值有关,并且θ3也会因为机械臂的旋转对应着不同的姿态,所以θ3存在着两组解。
3)计算θ2
根据步骤2 可推出θ23,其中θ2的值与θ1、θ3的取值相关,θ1的值会产生两个θ3的值,每一组θ1和θ3对应产生一个θ2的值,所以可以通过式(9)得到四组θ2的解:
4)计算θ5
令式(9)两端(3,3)相等,得:5)计算θ4
令式(9)两端(1,3)和(2,3)相等,得:
6)计算θ6
令式(9)两端(3,1)和(3,2)相等,得:
至此,关节角θ1~θ6已经通过计算全部求出,完成了ABBIRB1600 焊接机器人的逆解求取过程。
通过图5 逆运动学求解过程可以看出θ1、θ2、θ3存在着多组逆解,并且相互组合可以产生八组逆解。多个逆解的存在让机器人的末端位姿可以有多种姿态选择,但在实际运动过程中,需要考虑整个运动过程以及机械参数的约束,因此部分逆解可能处于机械臂不可达空间内,或者某些位姿不符合具体的任务要求,所以对得到的逆解必须进行验证。
图5 逆运动学求解过程Fig.5 Inverse kinematics solution
在MATLAB 软件当中,有专门服务于工业机器人的工具箱Robotics Toolbox,它能够提供多种机器人所需的运动学函数。可以依据表2 的数据,利用Robotics Toolbox 工具箱完成机器人建模[15-16],获取到的初始位姿如图6 所示。
图6 MATLAB 中ABBIRB1600 的初始位姿Fig.6 Initial pose of ABBIRB1600 in MATLAB
按照随机的方式挑选一组关节变量,将其应用于正运动学方程求解正确性的验证;使用公式(3)所示的正运动学方程当作计算值,选择末端执行器位姿当作真值。 随机选取关节变量q1=[0 0 0 0 0 0],将计算值与真值进行数据对比。
通过1.2 节机器人正运动学方程,带入q1的值,求得末端位姿矩阵T1:
使用Robotics Toolbox 求解正运动学,可以获取末端位姿矩阵G:
对比计算值T1与真值G,验证了机器人正运动学方程与运动学模型的正确性。
根据Robotics Toolbox 工具箱可以对关节变量为q2=[45 30 60 90 15 22.5]的机器人进行求解,可得其末端位姿矩阵T2:
将求解得到的T2代入(1.3)节中的逆运动学公式可以计算出机器人多组运动学逆解Q2=[θ1θ2θ3θ4θ5θ6]。通 过MATLAB 编 写 计 算 程序对逆解进行计算,如表2 所示。
根据表2 可知,每个位姿都能够得到八组解,然而在实际的应用中,在机械机构约束和不同杆件运动干涉的影响下,机器人能够真正到达的关节角度只有其中的一部分。将数据进行比对之后发现,表2 当中第4 组的取值等同于q2,由此可以对逆运动学的正确性进行有效的验证。
轨迹规划方法是对机器人在运动状态下的位移、角速度及角加速度进行规划,得到其运动曲线,并观察机器人具体的运动状态[17-18]。本文选择的是关节空间轨迹规划法,在空间中选择任意两点,调用工具箱在关节空间内对机器人进行轨迹规划。设关节空间中初始点对应的关节转角为末端点对应的关节转角为得到的运动轨迹如图7所示。
本研究需要同时针对6 个关节进行研究,分别针对其角位移、角速度和角加速度进行规划。为了对所有关节的运动曲线进行清晰准确的观察,本文使用MATLAB 绘制了所有关节的仿真曲线,如图8 所示。
表2 位姿T 的运动学逆解Tab.2 Inverse kinematics of pose T (°)
图7 ABBIRB1600 初始点到末端点的运动过程:(a)运动轨迹,(b)末端三维轨迹Fig.7 Motion process of ABBIRB1600 from initial point to end point:(a)motion trajectory,(b)three-dimensional trajectory map of end
通过观察图8 可以得知,机器人在整体运动过程中,6 个关节都能够保持平稳的运动状态进行正常工作。所有关节的角位移曲线都呈现为光滑无突变,由此可知,每个杆件间都没有出现错位冲突;角速度和加速度的曲线都呈现为连续的状态,且变化缓和,由此可知,机械臂在工作中能够保持平稳运行,产生的振动幅度较小,对运动学模型连杆参数设计的合理性以及运动学方程的正确性进行了有效的验证,也说明了机器人能够顺利到达预设位置。
图8 ABBIRB1600 各关节仿真曲线:(a)角位移,(b)角速度,(c)角加速度Fig.8 Simulation curves of each joint of ABBIRB1600:(a)angular displacement,(b)angular velocity,(c)angular acceleration
在本文的研究中,以ABBIRB1600 型号机器人作为研究对象,从运动学的角度分析了6R 焊接机器人,并对其进行了轨迹规划的仿真,根据仿真结果得出结论如下:
1)基于标准D-H 法,建立了ABBIRB1600 机器人的D-H 坐标系,在此基础上分别求出相邻连杆间的位姿变换矩阵以及机器人的正逆运动学方程。借助于运动学方程的求解过程,分别从正、逆运动学方面对机器人进行了科学的分析,然后在MATLAB 环境当中完成程序编写,并从理论的层面得出了8 组位姿逆解。将计算值和实际实验值进行了比对,完成了正逆运动学方程正确性的验证工作。
2)借助MATLAB 中的Robotics Toolbox 工具箱完成相关程序的编写,然后在关节空间内,进行了机器人运动轨迹的仿真,分别获取每个关节的角位移、角速度以及角加速度和时间变化之间产生的平滑运动曲线,验证了机器人参数的合理性。