智能生产线机械臂上下料轨迹规划与仿真*
2022-07-27王焕然孙诗华
孙 军,王焕然,孙诗华
(1.沈阳建筑大学机械工程学院,沈阳 110000;2.中国工业互联网研究院辽宁分院,沈阳 110000)
0 引言
随着科技的发展,机械臂在工业领域上的应用愈加广泛。在智能生产线中机械臂的应用更是能取代大部分人工,其中在搬运、喷涂、上下料等较为突出。现如今随着复杂工况的更新,机械臂自由度的数量也随之增多,越多自由度的机械臂越能够适应复杂的工况,随之带来也有控制复杂度增加等问题。机械臂的轨迹规划问题一直是机械臂研究的重要组成,如何合理地规划其轨迹,使之能够节省时间、提高寿命、高效工作成为了轨迹规划的主要研究对象。因此合理地轨迹规划,是高效发挥机械臂作用的基础,轨迹规划通常又可分别在笛卡尔空间以及关节角度空间中进行。笛卡尔规划是在笛卡空间规划末端轨迹,然后每个插补点再去逆解,计算对应的每个关节的角度。关节空间的规划是对每个关节就行规划,计算每个关节的插补点。
许多专家及学者在工业机械臂上使用笛卡尔空间进行轨迹规划[1],在特殊工况作业下,可以使用笛卡尔规划空间,其最主要的特点是能够直接确定末端轨迹,但是进行笛卡尔空间规划需要大量的逆运动学计算工作,这也是笛卡尔空间规划下出现角速度失控的主要原因。本课题研究环境非特殊工况,故选关节空间规划进行研究。也有一部分学者选用关节空间进行规划,其最主要具备简单方便等特点,只需将笛卡尔空间中的点的坐标先转化成关节空间下的关节角度再进行规划,就可获得理想轨迹,且不易出现特殊位形。
本文以6自由度工业机械臂GP-25为主要研究对象,先在MATLAB中Robots Toolbox中按照D-H法则进行数学模型建立,并加以示教界面用于直观观察各关节角度与末端执行器之间的联系。再使用MATLAB中五次多项式法对所建立模型进行轨迹规划,得到各个关节位移、速度和加速度随时间变化的曲线,再对其运动学求解,通过各个关节角度的变化函数,可以得到机械臂末端执行器的运动轨迹,从而实现机械臂的轨迹规划与仿真。
1 工业机械臂GP-25模型建立
工业机械臂GP-25由YASKAWA公司研发,该机械臂为垂直多关节6自由度机械臂,整机约250 kg,动态范围约1730 mm,能够完成搬运、取件、包装、码垛等工作。
本课题为方便后续的机械臂仿真和轨迹规划等工作,首先需要建立机械臂运动学仿真模型并加以示教界面。考虑到该工业机械臂的结构复杂,且本课题研究对象仅针对其连杆结构,故先建立简化模型以表示连杆之间关系,也能表达出机械臂位姿,选取标准的建模方法,本文最后选用D-H建模法则[2],建立模型如图1所示。
图1 机械臂D-H建模示意图
按照理论,表达空间中两个刚体的相对位置和姿态应最少需要6个参数,但选用D-H法则需要4个参数即可,在降低计算难度的同时更加直观地将两刚体间相对位置和姿态表现出来。该6自由度工业机械臂D-H参数以及各关节转动范围如表1所示[3],该机械臂可看作是由一系列连接在一起的连杆件构成的,可以通过4个D-H参数描述此机械臂,即相邻两连杆件的公法线之间距离为ai,垂直于ai所在平面内两轴夹角为αi,两连杆的相对位置为di,两连杆公垂线的夹角θi。根据已有模型和数据可以轻松得到研究对象的D-H参数,将其汇总至表1。
表1 机械臂D-H参数汇总表
随后,建立各关节坐标系与极坐标系之间的联系,需要对本课题研究对象GP-25工业机械臂进行正向运动学分析[4],正向运动学分析是机械臂轨迹规划的理论基础,研究机械臂正运动学的目的是求解工业机器人末端执行器在特定参数作用下所能到达的实际位置,已知坐标系{i}与坐标系{i-1}之间的变换可以用矩阵i-1T来表示,i-1T的一般表达式为式(1):
(1)
本课题不研究机械臂抓手部分夹持工作,只需对其他5个关节进行研究,根据表1中的参数,将i取1~5,分别带入到上式中即可求出各相邻连杆的变换矩阵,式(2)~式(6)为:
(2)
(3)
(4)
(5)
(6)
根据上述式(2)~式(6)可得,坐标系{5}相对于基坐标系的变换矩阵为式(7):
(7)
其中相对于基坐标系的旋转矩阵和位置矢量如式(8)、式(9)所示:
(8)
(9)
得到上述D-H参数和相关矩阵后,需将所得数据导入至MATLAB中进行下一步的研究,观察所建立模型是否符合研究标准,并且需要添加一个简单的控制,研究各关节角度对末端执行器位置的影响[5]。根据表1中D-H参数,在MATLAB中使用Robots Toolbox中的Link函数进行D-H参数的输入,随后再使用SerialLink函数进行运动学模型建模,利用workspace函数选取合适的空间大小,最后再利用Teach函数建立示教界面,在示教界面出可以通过调节各关节角度,来观察机械臂的位姿,整合即可得到图2所示界面。
图2 机械臂运动学模型示意图
图3 机械臂工作空间示意图
随后再对GP-25工业机械臂的工作空间进行研究[6],工作空间常用于衡量机械臂的工作范围,是轨迹规划中极其重要的一项运动指标。本文选用蒙特卡洛法对工业机械臂的工作空间进行求解[7],对各个关节角在关节范围内进行随机选取,取大量的采样点进行计算,通过正运动学求解, 即可得到相应的末端位置,同构绘制大量末端位置点即为可视化机器人工作空间。利用MATLAB中Robots Toolbox插件即可求出工作空间,根据表1可得各连杆长度以及各关节可旋转的最大限度,设置合理的递进步距值对各关节进行累加,每计算一次绘制一个点,最后得到的点集即为本课题研究对象的工作空间,如图3所示。
2 曲线构造及轨迹规划
在进行轨迹规划时,需要输入始末两点间中间节点的关节角度来确定末端执行器的位置,末端执行器在经过相邻两中间节点时,单纯依靠匀速转动关节,会出现末端执行器抖动、执行速度慢和损伤关节等缺点。此时需要引入适当算法使得机械臂在工作过程中运动更连贯,并且一定程度上可减少单位工作时间。
在实际工程中,为得到小冲击、小残余振动、工作时间优化和高精度的轨迹,常用多次多项式来对轨迹进行规划。二次多项式规划轨迹只能获得运动的快速性,不能在实际工程中应用。三次多项式可满足基本规划要求,具备运动快速和小幅振动等特点。但本文选用五次多项式进行机械臂的轨迹规划[8],此方法只需知道始末两点以及两点间多个节点即可,不仅具有三次多项式的特点,还具有可分段处理、导数连续、加速度连续的特点。使用该方法对机械臂进行轨迹规划,在规划的过程中既可以重新规划两节点之间的轨迹,又能保证不改变其余节点之间的轨迹。这些优点足以支撑本课题的研究需求,具有一定的研究价值。五次多项式共有6个待定系数,至少需要6个条件确定系数。五次多项式可以看作是关节角度的时间函数,因此其一阶可导和二阶可导分别可以看作是关节角速度和关节角加速度的时间函数。五次多项式及一阶、二阶导数公式如式(10)所示。
(10)
为了求得待定系数a0~a5,对起始点和目标同时给出关于角度和角加速度的约束条件见式(11)。
(11)
将起始时间设为0,解得表达式为式(12)。
(12)
写成矩阵的形式为式(13)。
(13)
上述式中给出了五次多项式函数的矩阵表达式,根据此式,只需要计算出各控制节点即可计算出相应的函数表达式。根据本课题所在环境的要求,机械臂末端需从初始位置移动至托盘进行夹持物料,在夹持好物料之后,需回到初始位置,再将物料送入机床当中,完成上料。将夹持物料和上料过程总共分为7组运动轨迹,可以得到8个机械臂位姿,其5个关节角度如表2所示。
表2 机械臂各路径点规划关节角度 (°)
3 仿真实例
在进行理论规划后,使用适当的仿真分析可以避免并消除规划误差带来的负面影响,使用MATLAB中的机器人工具箱可以很好的解决这个问题。根据上述五次多项式,计算得到机械臂关节函数表达式,再通过运动学求解方程,得到笛卡尔坐标系下的运动轨迹。使用jtraj五次多项式函数进行求解规划,最终求解出机械臂经过始末两点间6个路径点的运动轨迹如图4所示。
图4 机械臂运动学仿真末端执行器运动轨迹图5 第一关节参数变化曲线
在完成轨迹仿真后,为检验各关节在工作过程中运行是否流畅、平滑、无急停,分别对各个关节的角位移、角速度、角加速度进行处理,得到各个关节在执行轨迹时运动参数随时间的变化曲线如图5~图9所示。
图6 第二关节参数变化曲线图7 第三关节参数变化曲线
图8 第四关节参数变化曲线图9 第五关节参数变化曲线
从得到的角位移、角速度、角加速度随时间的变化曲线可以看出,各关节角位移曲线连续平滑,没有突变,末端执行器没明显抖动,机械臂在上料过程中可以高效工作;角速度和角加速度曲线完整平顺,在经过中间节点时无不连续和不平稳的情况发生,也无突变等非常规情况发生,能够有效避免机械臂在工作中不合理冲击或抖动带来的负面效益,从而影响机械臂使用寿命。
单一的运动学仿真不足以说明此方案能应用于实际工程,可视化模型[9]可以让上述结果得到一个直观的验证。实际的机械臂具备运动学仿真的连杆结构,但为了保证达到工作要求,工业机械臂的各部分组成会选用足够的材料取支撑其结构强度,所以可视化仿真则可以看出设计方案是否会出现碰撞现象。选用Solidworks软件对GP-25工业机械臂进行实体建模,使用sw2urdf将绘制的3D模型转换成Urdf格式[10],并设置好约束以及各关节对应的旋转轴,在MATLAB中使用Simulink打开建立好的Urdf文件,将规划好的轨迹导入即可得到可视化模型仿真,效果如图10、图11所示。可以看出可视化仿真达到了预期效果,并无出现碰撞和干涉等现象,排除了设计存在的部分安全隐患。
图10 Simulink模块连接示意图
图11 可视化仿真示意图
4 结束语
本文对6自由度工业机械臂GP-25进行了轨迹规划的研究及仿真,通过合理的轨迹规划缩短了机械臂上料工时,降低了上料过程机械臂的自身抖动,提高上料精度。本文采用蒙特卡洛法确定了研究对象末端执行器的可抓取范围,并且使用五次多项式法规划其运动轨迹,在保证机械臂上料工作高效的前提下,规划了运动轨迹;仿真结果表明采用五次多项式规划上料轨迹,机械臂运动连贯平稳且工作高效,最后对机械臂进行了轨迹可视化仿真实验,验证了此方案的正确性和有效性。