六自由度机械臂运动分析及轨迹规划
2023-08-04陈大光刘昱鑫刘兴德
陈大光,刘昱鑫,刘兴德,钱 程
(1.吉林化工学院 信息与控制工程学院,吉林 吉林 132022;2.中国石油吉林石化公司,吉林 吉林 132021;3.吉林化工学院 机电工程学院,吉林 吉林 132022)
21世纪以来,社会发展越来越智能化、信息化,劳动力成本提高,市场需求对生产效率与精度要求逐渐提升,用工业机器人替代人工操作的方式成为发展趋势[1]。随着机器人技术的不断进步,工业机器人操作已经广泛应用于各个行业领域。由于工业生产的要求变得复杂多样,对机器人的要求更高,尤其是在运动规划、抓取精准度等方面[2]。提升6R机械臂的性能、精度等方面运动学的研究就显得尤为重要,也是对机械臂后续深层研究的基础。对机械臂模型的建立和正逆运动学的分析,有许多种方法可以运用,例如常见的方法有D-H参数建模、数值解析法、几何法,神经网络、遗传算法等方法,都可以对运动学进行求解[3]。
本文基于6R机械臂,采取改进D-H参数法建立模型,利用此方法对运动学模型进行正逆解分析,通过MATLAB软件进行模拟仿真,验证机械臂正逆解的合理性,并描绘六个关节空间的轨迹规划,为后续工作打下理论基础。
1 机械臂运动学分析
1.1 机械臂基本结构与模型建立
机械臂采用韩国现代公司生产的6R机械臂,该机械臂型号是Hyundai Hs220。因为此机械臂为6R机械臂,可以根据不同的位姿要求达到不同的空间位置,完成多种复杂的工作,所以被广泛应用于焊接、工件搬运与喷涂等领域[4]。机械臂结构示意图与工作范围空间示意图如图1~2所示。
图1 机械臂结构示意图
图2 机械臂工作范围示意图
在图1~2的基础上,通过改进的D-H参数法[5]建立六自由度机械臂模型,改进的D-H法由矩阵变换可以得到不同时刻机械臂的位姿,生成运动学方程。按照改进后的D-H参数法建立机械臂模型坐标系,机械臂模型坐标系如图3所示。机械臂每个连杆D-H参数见表1,其中,αi-1表示沿着Xi-1轴方向,Zi-1旋转到Zi的角度;ai-1表示沿着Xi-1轴方向,Zi-1到Zi的距离;di表示沿着Zi轴方向,Xi-1到Xi的距离;θi表示沿着Zi轴方向,Xi-1到Xi的角度。
图3 机械臂坐标系
表1 机械臂D-H参数表
1.2 机械臂运动学分析
1.2.1 机械臂运动学正解分析
机械臂的正运动学是通过两个相邻连杆坐标系之间的矩阵变换的乘积,这个结果就是末端位姿矩阵[6]。在图3建立机械臂各个关节的坐标系的基础上,根据D-H参数法通过旋转和平移后确立两个连杆之间的角度、距离等参数得到其相对关系,因为本文使用的是改进的D-H法,所以齐次变换矩阵的通式为表达式(1)所示。
(1)
(6)
(7)
(8)
其中,nx=-c6{s5(c12s3+c13s2)+c5[s14-c4(c123-c1s23)]}-s6[c4s1+s4(c123-c1s23)];
ny=s6[c14-s4(c23s1-s123)]-c6{s5(c2s13+c3s12)-c5(c1s4+c4(c23s1-s123)]};
nz=s46(c2s3+c3s2)-c6[s5(c23-s23)+c45(c2s3+c3s2)};
ox=s6{s5(c12s3+c13s2]+c5[s14-c4(c123-c1s23)]}+c6[c4s1+s4(c123-c1s23)];
oy=s6{s5(c2s13+c3s12)-c5[c1s4+c4(c23s1-s123)]}-c6[c14-s4(c23s1-s123)];
oz=s6[s5(c23-s23)+c45(c2s3+c3s2)]-c6s4(c2s3+c3s2);
ax=c5[c12s3+c13s2)-s5(s14-c4(c123-c1s23)];
ay=c5[c2s13+c3s12)+s5(c1s4+c4(c23s1-s123)];
az=c5(c23-s23)-c4s5(c2s3+c3s2);
px=a1c1+a3(c123-c1s23)+d4(c12s3+c13s2)+a2c12;
py=a1s1+a3(c23s1-s123)+d4(c2s13+c3s12)+a2c2s1;
pz=d4(c23-s23)-a3(c2s3+c3s2)-a2s2.
(nx…az)为机械臂末端执行器位姿矩阵的坐标,(pxpypz)为机械臂末端执行器的位置描述。以上是采用改进的D-H法计算机械臂正运动学求解过程,通过计算可以得到机械臂末端的位姿向量坐标与位置描述。
1.2.2 机械臂运动学逆解分析
机械臂逆运动学求解方法,就是将正运动学的结果进行反推的过程,从而计算出每一个关节的旋转角度θ1~θ6,实现对机械臂的有效控制[7]。逆运动学可以采用数值解法和封闭解法的方式来求得结果[8]。本文是利用封闭解法求解,能够有效地解决机械臂逆运动学问题,从而大大降低逆解的计算复杂度。详细求解步骤如下所示:
(9)
令式(9)中两端(2,4)元素相等,即:
pyc1-pxs1=0 ,
(10)
得到:θ1=atan(py,px)或θ1=atan(-py,-px)。
(11)
(3)同理求解θ3,θ3=atan2(a3[-a3c3+d4s3)-d4(a3c3+d4s3),a3(a3c3+d4s3)+d4(-a3c3+d4s3)];
(4)同理求解θ4,θ4=atan2(s4,c4);
(5)同理求解θ5,θ5=atan2[ayc1-axs1,(nyc1-nxs1)c6+(oxs1-oyc1)s6];
(6)同理求解θ6,
θ6=atan2[(-oxc1c2-oyc2s1)s3-(Ozc2+oxc1s2+oys1s2)c3,(-ozs2+nxc1c2+nyc2s1-nzs2)s3+(nzc2nxc1s2+nys1s2)c3];
或者
θ6=atan2[(oxc1c2+oyc2s1)s3+(ozc2+oxc1s2+oys1s2)c3,(ozs2-nxc1c2-nyc2s1+nzs2)s3-(nzc2nxc1s2+nys1s2)c3].
2 机械臂的运动学仿真
对机械臂正逆运动学求解过程进行验证时,一般使用MATLAB软件中的Robotics Toolbox机器人工具箱,该工具箱可以建立符合研究目的运动学仿真模型[9],来验证机械臂正逆运动学推导过程的正确性。通过使用改进D-H参数表1中的数据来进行程序编写,对六自由度机械臂进行建模,设定6个关节初始角度都为0,其初始模型见图4所示。
图4 六自由度机械臂仿真模型
2.1 正运动学仿真
对于机械臂验证正运动学仿真的过程,一般利用MATLAB基于fkine函数编程的工具箱验证[10],主要是通过给定一组关节的转角角度数值θ1~θ6,带入到式(8)的正运动学公式中,通过计算得到机械臂末端位姿矩阵的结果,然后同使用MATLAB软件内部工具箱仿真得到结果进行比较,看得到结果是否保持一致,如果一致则验证了运动学的正确性。
(12)
MATLAB中的Robotics Toolbox工具箱仿真得到结果为:
(13)
通过两者结果对比,验证了六自由度机械臂正运动学的正确性。
2.2 逆运动学仿真
对逆运动学求解过程的正确性可以通过MATLAB软件机器人工具箱提供ikine()函数进行逆运动学求解验证[11],该函数能够自动选取其中一组最优逆解。对给定的已知正运动求解得到的位姿矩阵进行逆解,在MATLAB软件进行逆运动学求解验证,求解得到机械臂六个旋转关节角度变量为
(θ1,θ2,θ3,θ4,θ5,θ6)=(0,0.523 3,-0.523 3,1.047 2,-1.047 2,0),该结果与设定的关节变量结果(θ1,θ2,θ3,θ4,θ5,θ6)=(0,π/6,-π/6,π/3,-π/3,0)对比,由于在计算过程中存在四舍五入位,误差范围保持在0.02%内,所以并不影响逆运动学运算验证结果的正确性。
3 机械臂轨迹规划仿真
通过对机器人的工作轨迹进行分析,可以确定一些关键点,并利用运动学原理来预测每个关节的运动趋势。通过精确的计算机械臂的角位置、角速度和角加速度,并在关节空间中选取恰当的参数,可以构建出一条平滑的连续拟合曲线[12]。
轨迹规划方法有关节空间、笛卡尔空间规划两种,本文采用关节空间轨迹规划,即在机械臂工作空间中随机抽取两点,通过MATLAB软件工具箱中调用jtraj()函数对机械臂进行轨迹规划仿真,以达到最优的运动效果。设置关节起点A点(π/6,0,2π/3,π/3,0,0),终点设置为B点(π/2,π/6,0,0,-π/2,π/6),可以看到机械臂A点到B点动作的轨迹规划,描绘出机械臂轨迹规划仿真图与机械臂A点到B点的末端轨迹图见图5图6所示。
图5 机械臂运动轨迹图
(a) 角位移
图6 机械臂末端运动轨迹图
对机械臂6个关节随时间变化量书写程序进行模拟,得到角位移、角速度和角加速度变化的曲线如图7所示。
图7为机械臂各个关节仿真的曲线图,从图7(a)、(b)、(c)中可以看出机械臂在A点和B点处于零点状态,6个关节的角速度和角加速度都是零,各个关节的位移、角速度与角加速度的曲线变化连续、平稳,机械臂能够稳定地从起点A到终点B运动,验证了机械臂轨迹规划的合理性。
4 机械臂工作空间仿真
机械臂的工作空间由六个关节构成,在表1关节角度范围参数的限制下,其末端都能够被有效地控制,从而实现各种复杂的任务,这个末端机构能够达到的工作位置的集合就是工作空间。通过对该参数的评估,可以为机械臂的运行性能提供重要的参考。本研究使用蒙特卡洛法对机械臂进行工作空间仿真,机械臂工作计算点数越多,其工作空间越准确,点数过大会加大计算量,故本次选用参数为50 000,绘制出机械臂仿真工作空间各反射角度视图的云图。机械臂在XYZ坐标空间与各反射角度视图平面的投影如图8~11所示。
图8 机械臂可达工作空间
图9 机械臂工作空间XOY平面的投影
图10 机械臂工作空间YOZ平面的投影
图11 机械臂工作空间XOZ平面的投影
5 结 论
本文是基于韩国现代公司生产6R机械臂为研究目标,通过改进的D-H参数法对机械臂建立运动模型,得到正逆运动学解析式,利用MATLAB软件内工具箱对机械臂正逆运动学进行验证分析,对各关节空间轨迹进行模拟仿真,绘制了各关节的参数仿真变化曲线图,验证了机械臂关节参数的合理性,最后利用蒙特卡洛法仿真得到机械臂各个反射角度的工作空间图,为机械臂后续更深层研究提供一定的理论基础。