计时鸣,张鹤腾,金明生,张 利
(浙江工业大学 特种装备制造与先进加工技术教育部/浙江省重点实验室,浙江 杭州 310014)
抛光是模具制造的重要工序,为了提高气压砂轮模具抛光的加工效果,本研究团队采用了基于六自由度机器人的进动抛光方法。经理论分析和实验观察发现,在气压砂轮抛光中采用上述进动抛光方法仅适用于远离边界的连续曲面内部,而抛光到边界线附近时便会出现问题,如振动加剧、边界材料过度磨损等。因此,在进行进动抛光轨迹规划时需要获得工件边界线的信息,以解决上述问题。
目前,对于边界线提取的研究主要有以下两方面:①从二位图像角度出发,通过一些图像处理方法提取边界线,提取结果是另一张图片[1-2],这种方法显然不可能包含每条边界线在三维中的解析式;②从实物出发,通过扫描得到点云,再经过搜索算法得到属于边界线的点,最后在计算机上逆向建模[3-5]。综合分析结果表明,第2种方法可以获得边界线在三维中的解析式,能处理密集的点云数据,一般用于不适合人工建模的具有极度不规则形状的对象;但该方法需要额外的三维扫描测量设备,成本较高,操作难度大,计算过程复杂。
考虑到模具抛光进行轨迹规划时需要用到模具完整的或局部的三维模型,且尚未见学者提出从三维模型中直接获取边界线数据方法的报道,笔者从模具三维模型出发,提出基于VRML的边界线三维解析式提取方法,该方法无需额外的设备或测量工具,数据有点云的成分(曲面用点云近似),也有稀疏点的成分(平面顶点表示,面内无其他数据),数据量小,且伴随有其他辅助数据,计算过程简单,操作难度低,能精确地得到模型边界,且与轨迹规划的坐标系一致。
为了实现从最原始的工件三维模型中获得边界线信息,笔者对三维软件可导出的中间格式进行了比较分析,发现VRML文件格式是最直观、最容易分析的,其文件名后缀为*.wrl。
VRML是一种建模语言[6],属于虚拟实境技术领域,它使用纯文本信息描述三维场景,一般用于Internet传输三维场景,并在本地计算机上由VRML的浏览器解释生成三维场景。其主要功能是以图形的形式实现人机交互,在机械领域内可用于虚拟机械产品的设计,使机械产品更直观地展示在客户面前。这类应用以虚拟实境场景的内容和交互的开发为主要研究内容,最终得到VRML文件[7-11],如图1(a)所示。笔者将虚拟实境技术用于三维零件的边界线提取,其主要研究工作在于对VRML文件进行解释,获得其中有用的图形信息,如图1(b)所示。
图1 虚拟实境技术不同应用
可见,将VRML应用于曲线提取具有新颖性,是对虚拟实境技术的一种多元化应用。
机械三维建模软件在导出VRML文件时,将机械零件的所有表面用三角形平面来代替,以大量的三角形平面“围”成立体图形。对于平面,以尽可能大的三角面代替,边界线不失真;对于曲面,以尽可能小的三角面近似,边界线有一定失真。VRML 2.0版本(VRML 97)文件用于描述三维图形的信息,它主要由以下四部分组成:坐标点(Coordinate point)、法向量(Normal vector)、三角面顶点序列(coord Index)、法向序列(normal Index)。其中,坐标点记录了模型上所有的端点和曲面经过多面体近似后得到的点的坐标值;法向量记录的是每个点在原三维模型中的外法向三坐标值,且相同的外法向向量只记录一次;三角面顶点序列记录了组成整个三维图形的所有三角形小平面对应顶点编号;法向序列和三角面序列一一对应,法向序列的一组包含3个编号,分别为对应三角面3个顶点的外法向。
若直接把三角面顶点两两相连,得到的图形会多出许多对角线,这是由采用三角面来记录面信息这种方法决定的。同时,由于曲面被多面体化,使得原本没有边界线的连续曲面多出了许多顶点,这些顶点实际上并不属于任何一条边界线。因此,消除不真实存在的对角线和不是边界线端点的点是实现边界线提取的关键。
本研究以六棱柱为例说明如何去除不真实存在的对角线。首先在三维建模软件里建立六棱柱模型,另存为VRML格式文件,其主要内容如下:
六棱柱的三维模型及三角面表示如图2所示。
将所有三角面的3条线段显示在同一张图上,如图2(c)所示。图2(c)注明了端点在VRML文件中的编号,箭头表示的是点的外法向,同一点用于组成不同的三角面时可以有不同的法向。每个三角面由3个顶点的编号组成,可表示为i-j-k,同理,线段可表示为m-n。例如,三角面1-3-7表示由3个点1、3、7或3条线段1-3、3-7、7-1组成的一个三角面。
面I由三角面5-9-4和4-9-8组成,面II由三角面9-11-8和8-11-10组成,其中线段4-9、9-4、11-8、8-11属于不真实存在的对角线,而线段9-8和8-9表示的是同一条棱,需要去除其中一条。
图2 六棱柱及三角面表示
笔者的方法是,首先用三角面的3个顶点的法向量之和的单位向量作为该三角面的法向量:
然后将两个三角面的法向量两两作差,取差向量的模:
设法向量突变阈值为T,其物理含义为:当法向量之差的模P小于阈值T时,法向量夹角θ较小,面夹角α接近180°,曲面连续性好。所以T的取值依据为工件上最大曲率值,曲率越大,T值应取越大。法向量作差的物理含义如图3所示。
图3 法向量作差的物理含义
(1)若P≤T,则认为三角面i-j-k和l-m-n是连续的面,面内不存在边界线,此时进一步搜索三角面i-j-k和l-m-n内有没有存在相同顶点的线段,若有,则一定为面内不存在的边界线,删除这两条线段;若没有则表示两个三角面不属于同一面,不作处理。
(2)若P>T,则认为三角面i-j-k和l-m-n是不连续的面,此时进一步搜索两个三角面内有没有存在相同顶点的线段,若有,则一定为边界线,删除其中一条;若没有,则表示两个三角面不相交,不作处理。
上述处理过程如图4所示。
图4 对角线和重复线段去除流程
本研究以六棱柱为例,阐述其处理过程。主要过程数据如表1所示。
表1 处理六棱柱的主要过程数据
(1)首先从VRML文件用正则表达式识别出三角面顶点编号(表1列A)、法向序列,并列出每个三角面的3条线段(表1列B),并用式(1)计算三角面单位法向量(表1列C)。
(2)去除对角线的过程:由于六棱柱没有曲面,可取T=0,对于三角面1-5-0和三角面0-5-4用式(2)计算法向量之差得P=0≤T,则两个三角面是连续的面,面内不存在边界线,然后删除相同顶点的线段5-0和0-5;六棱柱有20个三角面,两两比较需要计算=190次,计算结果列于表1列D。
(3)将表1的列D所有线段两两比较,若顶点相同,则删除其中一条。表1的列D剩余36条线段,需要计算=630次。去除重复线段后结果线段如表2所示。
表2 结果线段
将表2中线段绘图,如图2(b)所示。可以看出,图中已经去除了对角线和重复线段,并且没有丢失边界线。
对于任意其他的复杂模型,由于三维软件导出VRML文件时,会将所有表面分割成一系列三角面,不遗漏也不重复任何一块表面,各三角面的位置和相互关系可由组成三角面的顶点及顶点外法向计算得到。因此,上述方法可以用于处理任意结构的模具模型,最终都得到类似表2的线段数组和一个坐标数组,这两个数组包含了模具所有边界在三维空间的位置信息。
在将提取的边界线数据用于气压砂轮进动加工轨迹优化时,本研究对加工轨迹上任意一个加工点计算其接触面中心与每条边界的距离,若任意一个距离值小于设定的距离R,则根据边界线与加工点的相对位置进行姿态优化,避开会产生剧烈振动的姿态。
笔者利用LabVIEW开发工具编程实现了上述边界线提取方法,并且将提取的边界线数据用于气压砂轮进动轨迹优化。进动轨迹规划结果对比如图5所示。
根据实验观察和理论分析可知,要避免气压砂轮进动抛光方法在模具边界产生的问题,必须添加一个约束条件,即气压砂轮的切削速度方向不能含有沿边界外法向相反方向的分量。如图5(a)所示的工件,抛光面是内凹的弧形曲面,本研究分别进行无约束和有约束的进动轨迹规划,得到各点切削速度的方向分布。
图5 进动轨迹规划结果对比
图5中曲面内折线是抛光路径,以折线上各点为起点的短线段表示该点的切削速度方向。设抛光点距边界线小于10 mm就要进行应用约束条件,则图5(c)中左、右边界线不起约束作用,上、下边界线只对轨迹首位两条最靠近边界的路径进行约束。约束的结果是,这两条路径上各点速度方向与边界外法向的夹角在0°~90°范围内,而曲面内部的抛光路径则不受边界线约束,切削速度方向可以是任意的。
对比图5(b)、5(c)可以看出,加工过程中,切削速度方向的分布在边界附近有明显不同,说明在气压砂轮进动抛光轨迹规划过程中,边界线数据起到了优化的作用。
本研究将VRML技术应用到模具边界提取中,得到如下结论:
(1)VRML语言的文本文件结构简单、数据简洁扼要,采用VRML语言的文本信息来提取模具边界线,具有简单易懂的特点,并且容易与轨迹规划程序集成。
(2)从三角面及其顶点法向量中获取数据间的相互联系,成功识别并删除了光滑曲面内对角线以及重复的边界线,识别结果是两个数组,易于被轨迹规划过程利用。
(3)针对不同的曲率的曲面,只要调整法向量阈值T,就可以满足曲面边界的识别要求,曲率越大,阈值T就应取越大。合适的T值可以实现将小曲率曲面识别成连续曲面,将倒了圆角的边界识别为边界线。
(4)该方法计算过程中的数据结构及计算过程仍有待于今后改进,以提高其计算速度。
(
):
[1]唐振军,张显全.一种二值图象边界提取算法[J].微计算机信息,2006,22(10):281-283.
[2]付青青,冯 桂.噪声图像中边界提取方法的研究[J].电脑与信息技术,2003(1):22-25.
[3]杨雪娇.点云的边界提取及角点检测算法研究[D].哈尔滨:哈尔滨工程大学自动化学院,2010.
[4]张献颖,周明全,耿国华.空间三角网格曲面的边界提取方法[J].中国图象图形学报,2003,8(10):1223-1226.
[5]姚运萍,卢允娥,王 蕾.逆向工程中散乱点云的边界线自动提取方法[J].组合机床与自动化加工技术,2008(4):47-49.
[6]王育坚,鲍 泓.图像处理与三维可视化[M].北京:北京邮电大学出版社,2011.
[7]胡茶根.基于VRML的机械产品虚拟设计技术研究[D].成都:四川大学制造科学与工程学院,2005.
[8]李 欣.基于VRML技术的虚拟校园设计与实现[D].武汉:国防科学技术大学计算机学院,2005.
[9]宋慧玲.基于VRML的地学虚拟博物馆漫游系统的研究与实现[D].北京:中国地质大学计算机学院,2004.
[10]谢文达.建构基于VRML/X3D的网上虚拟商店[D].广州:广东工业大学计算机学院,2006.
[11]袁锋伟,李必文,何 彬.基于SolidWorks-VRML实现虚拟现实的精确建模[J].机电工程,2007,24(10):103-105.