冷玉珊,邓子龙,高兴军
(辽宁石油化工大学 机械工程学院,抚顺 113001)
随着科技的更新换代,串联机器人的运用越来越普遍,串联机器人具有快速灵活、高精度、多功能等优点,机器人运动学正逆解是机器人轨迹分析和运动控制的基础[1]。已知机器人各个关节变量值就可求出机器人在空间笛卡尔坐标下的位置与姿称为运动学正向求解问题;相反,已确定机器人要到达位姿的情况下求出机器所需关节变量值,使机器人位姿要求得到满足称为运动学逆解[2];求解6R串联机器人的运动学逆解有多种方法如代数法、数值迭代法、几何法等[3];沈雅琼等运用基于齐次变换矩阵,通过建立转动和平动的运动轨迹方程,适用于直线和圆弧轨迹规划[4];周承仙等运用D-H参数法结合OpenG技术进行了正逆运动学三维仿真得出末梢定位的误差小6×105mm时,与现实情况下的运动相符合[5];Liu yuan等根据D-H参数采用几何法求运动学逆解,在VS2013进行圆插值的仿真实例,通过比较正反向运动学前后的圆,验证了该方法的正确性[6];Tondu等在考虑时间最优的条件下,设计出了轨迹路径点用高次多项式曲线逼近法得到合适的轨迹[7];杭鲁滨等基于线性变换消元理论,用多个原始运动学方程导出只有一个变量的多项式方程并能求解一解或多解问题[8];陈庆城运用旋量理论的逆运动学子问题解法将整体逆运动学分为此类子问题和其他的Panden-Kahan逆运动学子问题来联合求解方法是高效正确的[9]。本文以6自由度的某工业机器人为分析目标,某工业机器人结构如图1所示。运用D-H方法在关节空间下对其运动轨迹进行分析,经分析得到终端位姿在基础坐标系中随关节变化的运动曲线,在运动过程中各关节加速度、速度以及位置变化的趋势。
六自由度串联关节型机器人结构,包括底座、机身、下臂、臂、手腕及末端操作器,每个关节对应一个自由度。根据D-H参数表示法,创建机器人D-H坐标系,取第一坐标系与基坐标系为同一个坐标系,D-H参数说明了机器人相连关节坐标系之间的转化。某工业机器人的D-H参数坐标系如图2所示,机器人D-H参数如表1所示。
图1 机器人结构
图2 D-H坐标系的建立
表1 某工业机器人D-H参数
在连接连杆的关节上建立基础坐标系,完成从一个关节到下一个关节之间坐标系的变化。用矩阵表示基础坐标变换,从基坐标系到末端关节坐标系的组合,得出机器人的总变换矩阵[10]。从坐标系i-1到坐标系i的变换,可通过以下变换顺序来完成:
1)绕zi-1轴旋转θ3角,使xi-1轴转到与xi同向。
2)沿zi-1轴平移di,把xi-1移到与xi同一条直线上。
3)沿i轴平移ai-1,使连杆i-l的坐标系原点与连杆i的坐标系原点重合。
4)绕xi-1轴转ai-1角,使zi-1转到与zi重合。
用四个齐次变换矩阵表示连杆i相对于连杆i-1的位置和方向,基坐标系与终端坐标系之间的变换,称Ai矩阵。此表达式为:
展开上式可得:
对于在转动关节i后的连杆,参数为di,ai-1和ai-1。对于在联轴关节i后的连杆,变量为θi和ai-1,通过sina和cosa求解出a角。对于转动关节,矩阵A成为关节变量θ的函数,或变量d的函数。只要求解出这些数据之后,式中Ai变换矩阵的值就可以确定。按照规定,正数表示逆时针,负数表示顺时针。
根据给出的各杆D-H参数,运用MATLAB得出T的矩阵表达式,式中:
其中:si=sinθi,ci=cosθi,s23=sin(θ2+sinθ3),c23=cos(θ2+θ3)。
上式中,前三列矩阵指的是末端连杆的位置与姿态;第四列矩阵指的是末端连杆中心点的位置,将机器人表1所示关节变量θ1θ3θ4θ5θ6=0°,θ2=-90°代入以上等式,计算结果为:
此结果运动学正解方程中的结果是一样的,证明齐次变换矩阵正确。
在机器人控制中,运动学逆解是在已知机器人要达到的终端位置与姿态的情况下,计算出每个关节角度[θ1θ2θ3θ4θ5θ6]。与运动学正解相比较,运动学逆解在实际生活中有更广泛的应用。机器人运动学逆解问题的复杂性和不唯一性,难以建立广泛运用的解析方法。本文采用分离变量法,在方程左边和右边同时乘变换矩阵的逆矩阵,依次解出所有关于角度的未知变量θ1θ2θ3θ4θ5θ6。
根据式(3)整理矩阵各项可得:
其中:
1)求解θ1:由已知式(4)、式(5)可知:
2)求解θ3:
3)求解θ2:
4)求解θ4:
5)求解θ5:
求解方程式可知:
6)求解θ6:
求解方程式可得:
在MATLAB软件中,利用robotics toolbox模块中的link函数和robot函数并结合机器人的结构参数创建机器人模型,利用MATLAB软件来检验动学正逆解公式。在关节变量范围内任意选取6个关节变量值,利用运动学正解公式,得出相应的终端执行器位置和姿态,在运动逆解公式中输入位姿矩阵,证明所求得的关节角度值与初始角度值一致。选取3组实验数据,第一组为90°、60°、45°、0°、60°、90°,第二组为30°、45°、60°、0°、30°、90°,第三组为22.5°、77°、60°、0°、36°、90°,通过运动学正解公式求解出终端位姿矩阵T2、T3,通过运动学逆解求得出各个关节的最优角度值。
任意选取的角度变量,三组机器人的位姿和计算结果与运动学正逆解方程中的解结果一致,验证了所运算运动学正逆解正确性。
利用MATLAB软件建立运动学正解模型,分别计算出三组机器人位姿图,如图3所示。
图3 机器人位姿图
利用在关节变量范围之内给出的三组数据,算出各个关节角度并输入以上随机选的三组关节角度,经程序算出机器人在基础坐标系中的位姿,证明所得的三组机器人的位姿和运动学方程中计算得到的位姿一致,验证了在MATLAB中建立的机器人模型正确。
串联机器人的轨迹规划分为关节空间和直角坐标空间的轨迹规划。关节空间的轨迹规划算法相对简单且计算步骤较少,方便求解用时较短。在关节空间内展开轨迹规划时,将每个关节作业路径点转换为关节空间路径点,用关节角度的函数来描述机器人的轨迹。
将机器人的模拟时间设为3s,规定初始关节的值为q0=[0 0 0 0 0 0],终端的关节值为q1=[Pi/6 Pi/4 Pi/3 0 pi/6 Pi/2],运行q=Jtraj(q0,q1,t)程序则可得到各个关节的曲线趋势和各个关节的速度和加速度的曲线形式,如图4所示。
图4 六个关节变量的位置、速度、加速度及轨迹曲线图
由以上数值分析可知,确定每个关节变量的值,可以计算出该机器人终端在基础坐标系中的齐次变换矩阵T,根据矩阵T,能够运算出终端机器人基础坐标系下的位姿。
在图4(a)、图4(b)和图4(c)的关节空间轨迹规划中,设定各关节的角位移、角速度和角加速度的初始值都为零,有利于控制每个关节运动方向。各个关节从零点到要到达的终端位置,在整个时间间隔内都是平滑连续的曲线,说明机器人的各个关节在作业过程中运行平稳,由图4(d)可知机器人在运行过程中可以到达预定的位置且运动路径更加直观,证明机器人运动学建模合理。
本文对六自由度的某工业机器人,运用D-H参数法创建机器人连杆坐标系,完成了相邻连杆之间的位姿矩阵和机器人运动学正逆解方程。通过运动学正逆解分析,得到机器人各个关节转动和终端位姿之间的变化关系,通过完成机器人在关节空间中的运动轨迹分析,得出各个关节的角位移、角速度和角加速度随时间不断变化的曲线趋势,证明曲线变化与各个关节位置、速度和加速度是相一致的,为机器人的控制和轨迹分析奠定了基础。