工业机器人复杂曲面抛磨运动轨迹生成算法*
2022-02-14李盛前张小帆
李盛前,张小帆
(1.广东机电职业技术学院 电气技术学院,广东 广州 510550;2.广东技术师范大学 汽车交通学院,广东 广州 510665)
随着人们生活水平的提高,人们对产品外表的视觉美观效果越来越重视,在复杂曲面产品的制造过程中,抛光是一道很重要的工序,表面抛光加工过程的好坏直接影响产品的外观和质量。传统抛光方式主要依靠人工手持工件进行抛磨,劳动强度大,加工质量无法保证,效率低。近年来,随着数控加工技术和CAD/CAM技术不断成熟[1-3],以及工业机器人的广泛应用,使得工业机器人在自动化生产领域中成为不可或缺的自动化设备,如何很好地利用工业机器人技术已成为目前研究和应用发展的重要课题[4-5]。由于机器人特有的灵活性、柔顺性和开放性等特点,犹如人的手腕,使得它非常适合于代替人工作业,尤其是对复杂曲面的抛光加工,更能体现出机器人抛磨的优越性[6-7]。而任何一种工业机器人要完成所规定的抛光任务都必须进行轨迹规划,因此对机器人轨迹生成方法的研究非常有必要,这也是机器人关键技术中研究的热点问题之一。目前,国内外对此已经进行了广泛的研究。于淼等在曲面CAD模型处理得到一系列交线,将所得到的截交线作为机器人末端加工运动轨迹[8-9],向丹等采用基于CAD模型的自由曲面自适应采样方法,根据曲率特征使采样点在曲线上自适应分布,更好地逼近曲线、曲面的几何特征等[10-13]。传统的抛磨机器人一般采用人工示教法得到工业机器人的加工运动轨迹。这种方法缺陷很多,不但编程加工精度低,示教耗时长、难度大,使用不够灵活,而且无法完成任意复杂曲面的加工;而离线编程是在虚拟的作业环境下,通过使用计算机内的CAD模型,生成示教数据,间接地对机器人进行示教,不但轨迹精度高,编程时间短,难度降低,而且可以完成复杂曲面加工运动轨迹规划[14],这样轨迹规划过程的自动化将显著提高抛磨效率,以及减轻技术人员的劳动强度。针对这些问题,考虑到复杂曲面曲率的轮廓变化因素[15],以及总结前人以往方法的优缺点,有必要研究一种有效可行的抛磨运动轨迹生成算法实现这些创新思路,这对工业机器人技术领域的理论研究和实际应用价值具有重要的意义。
1 复杂曲面机器人抛磨轨迹生成问题的研究
机器人轨迹规划是其轨迹跟踪控制的基础,也是机器人执行作业任务的基础。机器人的轨迹指操作臂末端在运动过程中的位移、速度和加速度。路径是机器人位姿的一定序列组合,而不考虑机器人位姿参数随时间变化的因素。机器人为了实现预定的运动完成规定任务必须进行轨迹规划,那么运动轨迹是如何规划生成呢?目前,运动轨迹生成的方法主要有[16]参数线法、截面线法和导动面法等。但在机器人实际加工中,机器人末端不可能完全沿着上面方法生成的轨迹运动,而只能沿着极微小两点间的直线段运动,从而逼近理想轨迹,换句话说,生成的轨迹最后还要进行离散化。
当前机器人抛光应用中,大多针对简单的曲面进行加工,抛磨轨迹简单,机器人的优越性无法体现,为了充分发挥机器人的优势,抛磨更复杂曲面,而形状复杂的自由曲面既不是能用简单的非参数数学解析式表达其数学模型的简单解析曲面,也不是能由参数表达式表达其数学模型的简单自由曲面,而是由这些曲面组合在一起,所以复杂曲面的数学模型很难用数学表达式建立[17]。针对以上对轨迹生成问题的综合分析,本文提出一种结合CAD技术、以NURBS曲线和杠杆自适应采样算法为核心的方法,自动生成平滑的复杂曲面抛磨运动轨迹,该方法处理过程如下:首先在Pro/E中生成自由曲面的CAD模型,利用截面线法切割自由曲面生成一系列的空间截交线,采用密集离散点近似表示截交线,离散点根据加工精度要求可进行加密;然后采用NURBS曲线拟合离散数据点,使拟合曲线不但平滑无突变,且更好地逼近理论轮廓线;最后根据曲率的杠杆自适应采样处理得到曲面抛磨的一序列离散点集合,即将位于各截交线上的离散点插值反算获得NURBS曲线,再结合曲率特征进行杠杆自适应采样处理,使曲率大的地方生成的离散点越密集,反之亦然。从而达到抛磨加工要求,保证自由曲面的抛磨加工质量及精度。
2 机器人复杂曲面抛磨运动轨迹生成算法
等截面法是磨具沿着曲面与等距截平面的相交线进行加工(见图1)。该法可较快生成机器人抛磨轨迹,但适用于抛磨曲率变化平缓的曲面,其优点是加工轨迹容易生成;缺点是截平面间的距离及抛磨运动步长难以控制,造成抛磨轨迹在曲面的平坦处(曲率小)相对密集,而在陡峭处(曲率大)较稀疏,导致加工表面质量不高,精度差,因此应对生成的截交线再次处理,生成更合理的抛磨轨迹。
图1 等截面法生成轨迹
2.1 自由曲面数据点提取
针对完成自由曲面的CAD建模,数据点的提取成为后面反算理论轮廓曲线和计算曲率特征的数据基础。本文通过CAD/CAM技术建立复杂曲面模型,利用截平面切割复杂曲面得到一系列截交线,通过CAD/CAM系统可获取各截交线的一系列离散数据点(见图2)。这些离散理论数据点(坐标点)为后续NURBS曲线拟合做好了准备。
图2 截交线的离散数据点
2.2 抛磨轨迹数学模型建立
根据上节在各抛磨轨迹上提取出来的一系列离散数据点,采用非均匀有理B样条曲线(NURBS)拟合方法,对离散数据点进行拟合计算,得到表示抛磨轨迹的非均匀有理B样条曲线。
首先提取得到数据点,然后采用积累弦长法计算法则计算出与离散数据点一一对应的结点参数,得到节点矢量U,最后将数据点和节点矢量代入NURBS曲线定义公式,根据方程组矩阵表达式求解出控制点,最后得到NURBS曲线。
1)一条p次NURBS曲线的定义[18-19]:
(1)
式中,di为控制点,用来形成拟合曲线的控制多边形;ωi>0为控制点所对应的权因子,其大小影响着曲线的形状,本文讨论中令ωi=1,表示各个控制点对曲线形状的影响程度相同;Ni,p(u)表示在节点矢量U中第i个p次B样条基函数,其定义为:
(2)
2)节点矢量计算。
当从每条抛磨轨迹离散得到的一系列数据坐标点集合{PK}(k=0,1,……,n),要把每条抛磨轨迹的离散点拟合成NURBS曲线时,要指定这些离散点一一对应一个参数值,使得这些参数值有序组合成一个个矢量U,这就是节点矢量,节点矢量计算常用的方法有均匀参数化、弦长参数化和向心参数化等3种。
均匀参数化:
于是
弦长参数化:在每条抛磨轨迹的离散数据点集合中,每相邻两点之间的连线成为一条弦,令每条抛磨轨迹构成的弦长之和为L,于是有:
得到
U={0,0,0,0,u4,……,un+2,1,1,1,1}
向心参数化:
得到
U={0,0,0,0,u4,……,un+2,1,1,1,1}
由NURBS曲线拟合性质可知,为了对抛磨轨迹离散数据点拟合得到的曲线与理论轮廓线相近且平滑,应在抛磨轨迹上曲率大处比曲率小处采集的数据点相对密集,因此本文采用了弦长参数法计算节点矢量,使NURBS曲线拟合效果更佳。
3)控制点的定义与反算。
当得到抛磨轨迹离散数据点{PK}(k=0,1,……,n)时,所有数据点都有一个与之对应的节点矢量,由以上计算得的节点矢量代入式1得如下矩阵方程组:
(3)
可以看出,系数矩阵中的元素全部是样条的基函数,并且这些基函数的值只与节点值有关系,于是由以上方程组可以求解出曲线拟合的所有控制点dn。
综合上述,最后把控制顶点dn、曲线拟合次数p及节点矢量U代入式1,这样可以得到一条p次NURBS曲线。
2.3 基于曲率的曲线杠杆自适应采样离散方法
实现机器人跟踪轨迹抛磨,最后还应对拟合生成的NURBS曲线(抛磨轨迹)进行离散化处理得到合理的砂带抛磨触点,连接各个触点生成机器人抛磨加工运动路径,这样触点的分布情况影响着机器人的抛磨加工运动路径,为了提高复杂曲面的抛磨加工精度及效率,复杂曲面曲线曲率大的部分采样点分布应当密集,而在曲率小的部分分布应当稀疏,本文提出了杠杆平衡原理处理采样点的自适应分布方法。杠杆平衡系统示意图如图3所示,根据杠杆原理,各个质点的质量越大越靠近支点,而质点的质量越小越远离支点,由此启发,可以将曲线上各处的曲率函数K(u)看作是各个质点的质量,这样利用杠杆平衡原理计算得到自适应采样的离散点,这里称为杠杆自适应采样法。
图3 杠杆平衡系统示意图
1)当杠杆系统达到平衡时,有如下关系:
M1(u2-u1)+M2(u2-u3)=0
(4)
可以推导出:
进一步简化为:
(5)
2)NURBS的曲率计算式:
(6)
而反应曲线弯曲程度的特征函数:
(7)
式中,参数α≥0表示采样点分布受曲线曲率影响的程度,α越大采样点分布受曲率影响就越小,最终趋向于参数域均匀化分布的情况。
3)NURBS曲率的杠杆平衡公式。
由于将曲线上各处的曲率函数K(u)看作是各个质点的质量,于是根据式5得到NURBS曲率的杠杆平衡公式:
式中,K为设定的采样数据点;C(uij)为uij处的曲率;ui为平衡支点,即所求的采样点。
4)迭代求解:
上式迭代求解过程中,其收敛终止条件为:
式中,ε为曲线拟合精度要求误差;s为迭代次数。
根据上述计算过程,然后迭代求解,满足给定的终止条件后得到NURBS曲线在参数域上的杠杆自适应采样点列ui;最后通过NURBS曲线方程计算出对应的曲线上的采样点序列Pk,即抛磨过程的序列离散触点。
3 实验仿真结果与分析
3.1 轨迹自动生成算法描述
根据以上所述可知,利用机器人对复杂曲面进行抛磨加工时,运动轨迹自动生成算法流程如图4所示。
图4 抛磨轨迹自动生成算法流程图
3.2 实例仿真
3.2.1 复杂曲面生成抛磨轨迹
上位机系统应用Pro/E软件的二次开发功能结合VC++6.0软件进行开发,在软件中编程实现本文算法,系统运行自动生成抛磨加工轨迹,其系统为任意复杂曲面机器人抛磨加工自动生成的运动轨迹如图5所示。
图5 机器人抛磨轨迹生成
3.2.2 杠杆自适应采样与其他常用采样对比
为了更清楚地说明各种采样算法的效果,本文应用MATLAB软件进行仿真。利用截交线其中的一组离散数据点拟合得到的NURBS曲线,即抛磨机器人运动轨迹,分别采用本文的杠杆自适应采样、等参数采样、等弧长参数采样对轨迹采样得到机器人抛磨运动的一系列工具触点集合进行仿真对比(见图6)。
a) 杠杆自适应采样
b) 等参数采样
c) 等弧长参数采样
从图6中分析可知,本文杠杆自适应采样点算法在曲线曲率大处分布较密,而在曲率平缓处分布较稀,实现了采样点随曲率大小自适应分布的效果。达到了优化抛磨轨迹,提高抛磨加工效率的目的,并且杠杆自适应采样方法在曲率大处采样间距最小,说明采用本方法得到的采样点能更好地突出曲面曲线的特征,更准确地反映复杂曲面抛磨加工轨迹信息。
为了对比说明哪种方法能更高精度地逼近理论曲线,分别采用本文算法的杠杆自适应采样、等参数采样、等弧长参数采样对理论曲线进行采样离散,各自得到10个数据点,再分别进行NURBS拟合处理(见图7)。
图7 3种采样方法数据拟合与理论曲线对比
从图7可以看出,对这3种方法的离散点进行NURBS拟合曲线,杠杆自适应采样的离散点得到的拟合曲线与理论曲线更逼近,说明本文杠杆自适应采样方法精度更高,可提高抛磨加工精度。
4 结语
本文重点解决了目前复杂曲面抛磨机器人采用人工示教编程难度大、耗时长、效率低、精度不高以及运动轨迹不平滑的问题,文中通过CAD/CAM系统完成复杂曲面的建模,用一组平行平面切割复杂曲面得到一系列抛磨轨迹,并提取其某些坐标点生成一系列离散数据点;然后利用NURBS曲线拟合离散数据点,再结合曲率特征进行杠杆自适应采样处理优化,得到一系列抛磨工具触点的序列集合;最后将工具触点依次连接生成机器人的抛磨运动路径,从而实现了离线编程自动生成复杂曲面上平滑的抛磨轨迹规划,克服了人工示教存在的许多缺点。实验仿真结果表明,该方法简单稳定,实用可靠,不但生成了平滑、无突变的任意复杂曲面的抛磨加工轨迹,而且提高了抛磨加工质量、精度以及效率。