韩利利,张庆伟,贾 凯,徐 方
(1.中国科学院 沈阳自动化研究所,沈阳 110016;2.中国科学院 研究生院,北京 100049;3.沈阳新松机器人自动化股份有限公司,沈阳 110168)
基于包围盒的机器人抛光轨迹生成研究
韩利利1,2,3,张庆伟1,2,3,贾 凯1,3,徐 方1,3
(1.中国科学院 沈阳自动化研究所,沈阳 110016;2.中国科学院 研究生院,北京 100049;3.沈阳新松机器人自动化股份有限公司,沈阳 110168)
为了解决模具自由曲面抛光过程中人工劳动强度大、效率低的问题,文章提出了一种基于包围盒思想的抛光轨迹生成方法。采用包围盒思想,在对模具最小框架定位的基础上,引入机床表面铣削的行切法,并对其进行改进,最终生成抛光加工轨迹。其中包围盒的思想可以根据待加工模具的基本轮廓形状来生成轨迹,目标性强,大大简化编程计算量,改进的轨迹生成方法解决了两条相邻轨迹间重叠或漏空的问题,仿真实验结果与实际加工相符,表明该方法简单有效、适用可靠。
机器人抛光;自由曲面;包围盒
在模具的制造过程中,表面抛光加工过程不仅直接影响模具的外观和质量,而且耗费制造总时间的30%~40%。传统抛光主要依靠人工进行,劳动强度大,加工效率低。近年来随着数控技术和CAD/CAM技术在模具行业中的广泛应用,数字化和机器人等抛光方法得到较快发展,尤其是机器人的柔性和灵活性使得它非常适合于模具的表面抛光加工。但正是由于机器人的多自由度和灵活性,使得传统适合于机床加工的轨迹生成方法不再适合机器人加工,寻找一套可以根据被加工曲面的轮廓和形状定位、定向机器人终端执行器上夹持的工具的轨迹生成方法非常重要。目前,国内外对此已经进行了广泛的研究,Hon-yue Tam[1]提出了扫描路径的均匀算法,解决了(U,V)参数平面向曲面映射产生畸变而引起的抛光不均匀问题,这种方法只是对适用于参数线分布比较均匀的曲面等参数线法的改进;詹建明[2]等人的曲面研抛作业机器人轨迹生成的环切法和行切法是应用上最为常见的方法,但是对机器人自由度进行了限制,也没有考虑到机器人末端姿态的灵活性,局限性是很明显的。
因此,本文针对机器人应用,考虑到自由曲面曲率的轮廓变化,总结以往方法优缺点,提出了一种基于包围盒思想的机器人抛光轨迹的生成方法,并编程实现算法进行了仿真实验。
机器人多自由度的零活性,保证了它可以从各个位置、以多种姿态过渡的完成整个加工。那么这些运动轨迹是如何生成的呢?在以往的机器人抛光应用中,多是针对简单的模具形状进行加工,特点是模具形状规则、轨迹简单,机器人的末端姿态保持不变,这样就失去了机器人灵活自如的优势,因此本文引入了包围盒的思想。这里采用STL文件格式来描述自由曲面模型,即用一系列无序的空间小三角形面片来逼近不规则的自由曲面,如图1所示。由于待加工工件在空间中的位置和方向可以是任意的,尤其对倾斜放置的狭长形对象,如果生成的轨迹不合理,将使得加工时间增长,且产生一定的边角空隙。本文的思想就是首先构造一个包围盒来尽可能的紧密包围物体,获得物体形状的基本信息,然后在此基础上,沿着包围盒的表面进行轨迹生成,这样目标性也更强,且产生的轨迹可以考虑到物体的形状,然后再消除曲率信息带来的误差,最终生成一个完整的表面加工轨迹。
图1 模具曲面模型描述图
包围盒的基本思想是利用某种形状简单的几何体来紧密包裹对象物体,它广泛应用于碰撞检测、模具分型设计、产品包装设计以及图像处理、模式识别等领域。最为传统的就是采用长方体包围盒,根据包围盒的边与坐标轴的位置关系,分为沿坐标轴的轴向包围盒AABB和任意方向的方向包围盒OBB[3]。AABB方法思想非常简单,但由于它是平行于坐标轴的定方向的包围盒,所以不能保证是最小的。OBB的最大特点是方向任意性,这使得它可以根据被包围对象的形状特点尽可能紧密地包围对象,因此这方面的研究应用比较多,但为了获得最小包围盒,大多都逃不过物体的多次旋转、二维凸包和最小包围矩形的反复计算,算法相对都比较复杂,计算量随着物体顶点数或三角面片数的增加而急剧增加[4-5],因此,在对以往前辈思想分析的基础上,这里提出了一种适合本文应用的包围盒生成算法。
本文采用STL格式来描述待加工曲面,因此可求出该曲面所包含的所有三角面片的法矢量的平均值,具体方法按公式(1)计算。其中,ni和si是第i个三角形面片的法向量和面积,m是曲面所包含的三角形面片总数量。
这里预处理的目的有两个,一是作为生成包围盒时物体旋转的参考轴;二是将这一方向向量作为包围盒的主轴方向,用作后续轨迹生成的依据。
在前一步的基础上,得到了曲面平均法矢量,这里N,这里进行旋转变换和计算生成包围盒,步骤如下:
步骤1:自由曲面旋转变换
将自由曲面进行旋转直到其平均法矢量N与坐标系Z轴平行为止,然后计算出旋转后曲面所有点在原始坐标系OXYZ下的新坐标值,如图2(a)所示。这种变换相当于把将要生成的包围盒摆放在一个水平的平面上,以便于后续计算。
步骤2:坐标轴旋转变换
这一步骤的目的是获得包围盒在XOY平面上的尽可能小的包围矩形。计算原理是:将正交坐标轴XOY在180°范围内以α等间隔旋转,在每一个旋转后的状态下,计算出曲面所有点在此时坐标轴平面X'OY'上投影点的最大、最小坐标,并以平行于坐标轴为边确定矩形并计算面积,最后取最小矩形面积时的XOY状态,并将这个最小包围矩形作为包围盒的底面矩形。沿着 +Z轴方向拉伸生成包围盒,如图2b所示。
步骤3:逆向旋转变换
上一步得到的包围盒尽可能紧密地包围待加工物体表面,但并不是原始状态下的包围盒,因此,和步骤1相反,作逆向旋转变换,获得原始坐标系下的尽可能小的包围盒。如图2c所示。
图2 包围盒生成方法
根据前面所述的包围盒生成方法,可以得到一个长方体包围盒去紧密包裹待加工模具,这样就获得了工件在环境中的摆放方向和较小框架。此时最容易想到也最常见的方法是沿着包围盒的一个表面切割工件表面轮廓,来获得加工轨迹,这种思想极似机床表面铣削中的行切法,它的基本思想如图3所示:在工件坐标系O1X1Y1Z1中,当某一与Y1O1Z1平面平行的平面ABCD与工件相交时,就得如点划线内的部分所示的相交面,该区域的外围边界曲线即为行切法所得的空间轨迹[6]。这种方法适宜于任何形状,尤其是当模具表面为自由曲面时,用来生成轨迹非常适宜。但缺陷是截平面的选取是平行于某两个正交坐标轴平面的,因此无法考虑到加工件的表面轮廓走向,如果加工件形状不够规则,或者在原始坐标系中的摆放没有规律,那么由切割生成的加工轨迹既不容易加工,也无法获得好的加工表面。
图3 行切法基本思想图
本文结合包围盒的思想,对此种方法加以改进并引入到机器人加工应用中来。我们把生成的包围盒的某一个表面作为截平面去切割模具表面来生成轨迹,这里将选择平行于模具表面轮廓平均法矢量的表面作为截平面,即包围盒的主轴方向向量,然后在平行于包围盒底面矩形的平面内进行轨迹规划,这样做的好处是尽量保证加工沿着工件规则的方向进行,比如说本来是规则的矩形式的表面,而轨迹却是斜着沿着对角线平行的方向进行,这样就容易产生边角空隙。同时,包围盒的好处还在于算法的编程实现,它使得轨迹的求交有了更明确的目标,而减少了大量的寻找定位的运算工作。在前面的基础上,得到模具包围盒后,建立包围盒的坐标系,选择曲面的平均法矢量N为 +Z'轴方向,垂直于平均法矢方向的包围盒底平面作为X'O'Y'平面,然后在该平面内进行路径规划,步骤如下:
步骤1:选取截平面,获得截交线;
这里假设包围盒底面矩形Y'向长度小于X'向长度,沿着短向进行切割,这样轨迹线总长度较短,即用一组平行于Y'O'Z'的平行平面作为截平面切割轮廓表面,平行平面间的距离是由工艺参数确定的行间距,这样便可得到一条条与自由曲面相交的交线,其在X'O'Y'底平面的线投影如图4所示。
图4 基于包围盒的截平面轨迹规划
步骤2:对于每一条截交线,求轨迹点;
由于曲面模型是由三角形面片表示的,对每一条截交线,求取它与所有相交三角形面片的交点,即为这条截交线上的轨迹点,沿Y'方向的一排密集点所示。
步骤3:对求得的每一条轨迹线上的离散轨迹点按行距重新计算处理。方法是按照行距L从第一点开始每隔距离L重新计算得到新的点,如图4中离散黑点所示。
步骤4:沿着另一个方向,即X'方向顺序连接步骤3中求得的新的离散点,形成一条条新的轨迹点序列,沿X'方向的粗线条所示。
这样便可以保证在加工前进的时候,相邻轨迹间的距离是恒定的,不会因为曲面曲率的变化而导致两条加工轨迹有重叠或者空白加工不到的地方,这样就消除了由于表面轮廓曲率不均而带来的加工误差,最终保证获得一个相对均匀光滑的表面。
按照图5所示的机器人抛光轨迹整体流程图,及前面详细描述的基于包围盒思想的抛光轨迹生成算法,以Visual C++6.0为开发工具,编程实现了该算法。基本思想是:在获得自由曲面的STL模型数据后,需要针对曲面轮廓曲率对模具表面进行自动局部面块划分,这样做可以保证机器人尽量沿着曲率相近的表面逐一加工,而避免突然转换位姿产生工具与表面干涉的情况。在得到了一个个局部面块后,采用包围盒的思想将每一个面块用一个尽量小的盒子包围起来,然后在此基础上用改进的截平面的方法进行轨迹规划,获得一系列轨迹点。
图5 机器人抛光轨迹生成整体流程图
在仿真实验中,加工工艺参数的选取为:加工工具采用平头圆柱形砂轮,工具长度l=80mm,半径为R=20mm,取加工工具倾角为λ =10°,可计算得截平面间距为L=4mm,所选用的模具具有平面、曲率较小的曲面以及曲率较大的弯曲面,选用这种形式模具作为编程实例主要为验证本文所采用的方法,可以适用于不同形状、不同曲率半径的曲面轨迹生成,最终得到表面部分轨迹点如图6所示。
结果很明显,对于曲率不同的曲面,生成的轨迹点的密度也是不同的,尤其是当曲面接近平缓的时候,轨迹点较稀,而在曲面弯曲程度大时,轨迹点较密,这也符合实际的抛光过程,即在平面较为平缓的时候,抛光的间距可以大些,而在曲面较为弯曲的时候,抛光的间距应该小些,尽量沿着弯曲的面进行,来获得一个较好的弯曲表面。
图6 机器人抛光加工模具表面轨迹点
本文针对机器人抛光应用的轨迹生成问题进行了研究,将包围盒思想和截平面方法结合起来并引入到机器人抛光应用中,其中包围盒的思想可以根据待加工模具的基本轮廓形状来生成轨迹,且目标性强大大简化编程计算量,而改进的轨迹生成方法可以解决两条相邻轨迹间重叠或漏空的问题,最后以Visual C++为工具编程实现了该算法,仿真实验结果与实际加工相符,表明该方法简单有效、适用可靠。
[1]Hon-yue Tam,Osmond Chi-hang Liu,Alberet C.K.Mok.Robotic polishing of free-form surfaces using scanning path[J].Journal of Materials Processing Technology,1999,95(1999):191-200.
[2]詹建明,张建波,周晓勤.曲面研抛作业的机器人轨迹规划研究[A].全国高等学校制造自动化研究会第十三届学术年会论文集[C].哈尔滨:2008.
[3]陈华.确定任意形状物体最小包围盒的一种方法[J].工程图学学报,2010(2):49-53.
[4]程鹏飞,闫浩文,韩振辉.一个求解多边形最小面积外接矩形的算法[J].工程图学学报,2008(1):122-126.
[5]Zhang Leitao,Hu Yuxia,Cao Xiuge,Yan Liqin.Study of the Minimum Bounding Rectangle Algorithm of Injection Parts[J].Journal of Gansu Normal Colleges,2005,10(2):16-18.
[6]王平,杨沿平,邓晓.基于模具表面抛光机器人系统的运动控制研究[J]. 中国机械工程,2007,18(20):2422-2425.
[7]王通,袁楚明,陈幼平,等.机器人模具抛光自由曲面刀具轨迹的生成研究[J].中国机械工程,2001,12(4):401-404.
[8]Márquez J J,Pérez J M,R’ios J,Vizán A.Process modeling for robotic polishing[J].Materials Processing Technology,2005(159):69-82.
[9]Ding S,Mannan M A,Poo A N.Oriented bounding box and octree based global interference detection in 5-axis machining of free-form surfaces[J].Computer-Aided Design,2004,36(13):1281-1294.
[10]Chih-ching Lo and Rong-shine Lin.An improved method for scheduling the tool paths for three axis surface machining[J].Int.J.Mach.Tool Manuf.2001,41(1):133-147.
Research on Robotic Polishing Trajectory Based on Bounding Box
HAN Li-li1,2,3,ZHANG Qing-wei1,2,3,JIA Kai1,2,XU Fang1,2
(1.Shenyang Institute of Automation,Chinese Academy of Sciences,Shenyang 110016,China;2.Graduate School of the Chinese Academy of Sciences,Beijing 100049,China)
To alleviate the problem of high intensity and low efficiency by manual labor in free-form surface polishing of mold,a method for path generation based on bounding box is put forward.This paper constructs a box that is mostly close to the mold to ascertain the location and direction of the mold,and then generate the tool path by introducing the improved longitudinal movement planning.The idea of bounding box can generate path better along the mold surface contour and the improved trajectory generation method can solve the problem of overlap or leak between two trajectories The results of simulation experiment accord with the reality and show that the method is simple,effective.
robot polishing;free-form surface;bounding box
TH16;TG65
A
1001-2265(2012)11-0043-03
2012-03-30;
2012-04-06
韩利利(1984—),女,河南平顶山人,中国科学院沈阳自动化研究所在读硕士研究生,主要研究方向是机器人控制与应用,(E-mail)savoy0924@163.com。
(编辑 李秀敏)