計時鳴,張鶴騰,金明生,張 利
(浙江工業(yè)大學 特種裝備制造與先進加工技術(shù)教育部/浙江省重點實驗室,浙江 杭州 310014)
拋光是模具制造的重要工序,為了提高氣壓砂輪模具拋光的加工效果,本研究團隊采用了基于六自由度機器人的進動拋光方法。經(jīng)理論分析和實驗觀察發(fā)現(xiàn),在氣壓砂輪拋光中采用上述進動拋光方法僅適用于遠離邊界的連續(xù)曲面內(nèi)部,而拋光到邊界線附近時便會出現(xiàn)問題,如振動加劇、邊界材料過度磨損等。因此,在進行進動拋光軌跡規(guī)劃時需要獲得工件邊界線的信息,以解決上述問題。
目前,對于邊界線提取的研究主要有以下兩方面:①從二位圖像角度出發(fā),通過一些圖像處理方法提取邊界線,提取結(jié)果是另一張圖片[1-2],這種方法顯然不可能包含每條邊界線在三維中的解析式;②從實物出發(fā),通過掃描得到點云,再經(jīng)過搜索算法得到屬于邊界線的點,最后在計算機上逆向建模[3-5]。綜合分析結(jié)果表明,第2種方法可以獲得邊界線在三維中的解析式,能處理密集的點云數(shù)據(jù),一般用于不適合人工建模的具有極度不規(guī)則形狀的對象;但該方法需要額外的三維掃描測量設備,成本較高,操作難度大,計算過程復雜。
考慮到模具拋光進行軌跡規(guī)劃時需要用到模具完整的或局部的三維模型,且尚未見學者提出從三維模型中直接獲取邊界線數(shù)據(jù)方法的報道,筆者從模具三維模型出發(fā),提出基于VRML的邊界線三維解析式提取方法,該方法無需額外的設備或測量工具,數(shù)據(jù)有點云的成分(曲面用點云近似),也有稀疏點的成分(平面頂點表示,面內(nèi)無其他數(shù)據(jù)),數(shù)據(jù)量小,且伴隨有其他輔助數(shù)據(jù),計算過程簡單,操作難度低,能精確地得到模型邊界,且與軌跡規(guī)劃的坐標系一致。
為了實現(xiàn)從最原始的工件三維模型中獲得邊界線信息,筆者對三維軟件可導出的中間格式進行了比較分析,發(fā)現(xiàn)VRML文件格式是最直觀、最容易分析的,其文件名后綴為*.wrl。
VRML是一種建模語言[6],屬于虛擬實境技術(shù)領域,它使用純文本信息描述三維場景,一般用于Internet傳輸三維場景,并在本地計算機上由VRML的瀏覽器解釋生成三維場景。其主要功能是以圖形的形式實現(xiàn)人機交互,在機械領域內(nèi)可用于虛擬機械產(chǎn)品的設計,使機械產(chǎn)品更直觀地展示在客戶面前。這類應用以虛擬實境場景的內(nèi)容和交互的開發(fā)為主要研究內(nèi)容,最終得到VRML文件[7-11],如圖1(a)所示。筆者將虛擬實境技術(shù)用于三維零件的邊界線提取,其主要研究工作在于對VRML文件進行解釋,獲得其中有用的圖形信息,如圖1(b)所示。
圖1 虛擬實境技術(shù)不同應用
可見,將VRML應用于曲線提取具有新穎性,是對虛擬實境技術(shù)的一種多元化應用。
機械三維建模軟件在導出VRML文件時,將機械零件的所有表面用三角形平面來代替,以大量的三角形平面“圍”成立體圖形。對于平面,以盡可能大的三角面代替,邊界線不失真;對于曲面,以盡可能小的三角面近似,邊界線有一定失真。VRML 2.0版本(VRML 97)文件用于描述三維圖形的信息,它主要由以下四部分組成:坐標點(Coordinate point)、法向量(Normal vector)、三角面頂點序列(coord Index)、法向序列(normal Index)。其中,坐標點記錄了模型上所有的端點和曲面經(jīng)過多面體近似后得到的點的坐標值;法向量記錄的是每個點在原三維模型中的外法向三坐標值,且相同的外法向向量只記錄一次;三角面頂點序列記錄了組成整個三維圖形的所有三角形小平面對應頂點編號;法向序列和三角面序列一一對應,法向序列的一組包含3個編號,分別為對應三角面3個頂點的外法向。
若直接把三角面頂點兩兩相連,得到的圖形會多出許多對角線,這是由采用三角面來記錄面信息這種方法決定的。同時,由于曲面被多面體化,使得原本沒有邊界線的連續(xù)曲面多出了許多頂點,這些頂點實際上并不屬于任何一條邊界線。因此,消除不真實存在的對角線和不是邊界線端點的點是實現(xiàn)邊界線提取的關(guān)鍵。
本研究以六棱柱為例說明如何去除不真實存在的對角線。首先在三維建模軟件里建立六棱柱模型,另存為VRML格式文件,其主要內(nèi)容如下:
六棱柱的三維模型及三角面表示如圖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°,曲面連續(xù)性好。所以T的取值依據(jù)為工件上最大曲率值,曲率越大,T值應取越大。法向量作差的物理含義如圖3所示。
圖3 法向量作差的物理含義
(1)若P≤T,則認為三角面i-j-k和l-m-n是連續(xù)的面,面內(nèi)不存在邊界線,此時進一步搜索三角面i-j-k和l-m-n內(nèi)有沒有存在相同頂點的線段,若有,則一定為面內(nèi)不存在的邊界線,刪除這兩條線段;若沒有則表示兩個三角面不屬于同一面,不作處理。
(2)若P>T,則認為三角面i-j-k和l-m-n是不連續(xù)的面,此時進一步搜索兩個三角面內(nèi)有沒有存在相同頂點的線段,若有,則一定為邊界線,刪除其中一條;若沒有,則表示兩個三角面不相交,不作處理。
上述處理過程如圖4所示。
圖4 對角線和重復線段去除流程
本研究以六棱柱為例,闡述其處理過程。主要過程數(shù)據(jù)如表1所示。
表1 處理六棱柱的主要過程數(shù)據(jù)
(1)首先從VRML文件用正則表達式識別出三角面頂點編號(表1列A)、法向序列,并列出每個三角面的3條線段(表1列B),并用式(1)計算三角面單位法向量(表1列C)。
(2)去除對角線的過程:由于六棱柱沒有曲面,可取T=0,對于三角面1-5-0和三角面0-5-4用式(2)計算法向量之差得P=0≤T,則兩個三角面是連續(xù)的面,面內(nèi)不存在邊界線,然后刪除相同頂點的線段5-0和0-5;六棱柱有20個三角面,兩兩比較需要計算=190次,計算結(jié)果列于表1列D。
(3)將表1的列D所有線段兩兩比較,若頂點相同,則刪除其中一條。表1的列D剩余36條線段,需要計算=630次。去除重復線段后結(jié)果線段如表2所示。
表2 結(jié)果線段
將表2中線段繪圖,如圖2(b)所示??梢钥闯?,圖中已經(jīng)去除了對角線和重復線段,并且沒有丟失邊界線。
對于任意其他的復雜模型,由于三維軟件導出VRML文件時,會將所有表面分割成一系列三角面,不遺漏也不重復任何一塊表面,各三角面的位置和相互關(guān)系可由組成三角面的頂點及頂點外法向計算得到。因此,上述方法可以用于處理任意結(jié)構(gòu)的模具模型,最終都得到類似表2的線段數(shù)組和一個坐標數(shù)組,這兩個數(shù)組包含了模具所有邊界在三維空間的位置信息。
在將提取的邊界線數(shù)據(jù)用于氣壓砂輪進動加工軌跡優(yōu)化時,本研究對加工軌跡上任意一個加工點計算其接觸面中心與每條邊界的距離,若任意一個距離值小于設定的距離R,則根據(jù)邊界線與加工點的相對位置進行姿態(tài)優(yōu)化,避開會產(chǎn)生劇烈振動的姿態(tài)。
筆者利用LabVIEW開發(fā)工具編程實現(xiàn)了上述邊界線提取方法,并且將提取的邊界線數(shù)據(jù)用于氣壓砂輪進動軌跡優(yōu)化。進動軌跡規(guī)劃結(jié)果對比如圖5所示。
根據(jù)實驗觀察和理論分析可知,要避免氣壓砂輪進動拋光方法在模具邊界產(chǎn)生的問題,必須添加一個約束條件,即氣壓砂輪的切削速度方向不能含有沿邊界外法向相反方向的分量。如圖5(a)所示的工件,拋光面是內(nèi)凹的弧形曲面,本研究分別進行無約束和有約束的進動軌跡規(guī)劃,得到各點切削速度的方向分布。
圖5 進動軌跡規(guī)劃結(jié)果對比
圖5中曲面內(nèi)折線是拋光路徑,以折線上各點為起點的短線段表示該點的切削速度方向。設拋光點距邊界線小于10 mm就要進行應用約束條件,則圖5(c)中左、右邊界線不起約束作用,上、下邊界線只對軌跡首位兩條最靠近邊界的路徑進行約束。約束的結(jié)果是,這兩條路徑上各點速度方向與邊界外法向的夾角在0°~90°范圍內(nèi),而曲面內(nèi)部的拋光路徑則不受邊界線約束,切削速度方向可以是任意的。
對比圖5(b)、5(c)可以看出,加工過程中,切削速度方向的分布在邊界附近有明顯不同,說明在氣壓砂輪進動拋光軌跡規(guī)劃過程中,邊界線數(shù)據(jù)起到了優(yōu)化的作用。
本研究將VRML技術(shù)應用到模具邊界提取中,得到如下結(jié)論:
(1)VRML語言的文本文件結(jié)構(gòu)簡單、數(shù)據(jù)簡潔扼要,采用VRML語言的文本信息來提取模具邊界線,具有簡單易懂的特點,并且容易與軌跡規(guī)劃程序集成。
(2)從三角面及其頂點法向量中獲取數(shù)據(jù)間的相互聯(lián)系,成功識別并刪除了光滑曲面內(nèi)對角線以及重復的邊界線,識別結(jié)果是兩個數(shù)組,易于被軌跡規(guī)劃過程利用。
(3)針對不同的曲率的曲面,只要調(diào)整法向量閾值T,就可以滿足曲面邊界的識別要求,曲率越大,閾值T就應取越大。合適的T值可以實現(xiàn)將小曲率曲面識別成連續(xù)曲面,將倒了圓角的邊界識別為邊界線。
(4)該方法計算過程中的數(shù)據(jù)結(jié)構(gòu)及計算過程仍有待于今后改進,以提高其計算速度。
(
):
[1]唐振軍,張顯全.一種二值圖象邊界提取算法[J].微計算機信息,2006,22(10):281-283.
[2]付青青,馮 桂.噪聲圖像中邊界提取方法的研究[J].電腦與信息技術(shù),2003(1):22-25.
[3]楊雪嬌.點云的邊界提取及角點檢測算法研究[D].哈爾濱:哈爾濱工程大學自動化學院,2010.
[4]張獻穎,周明全,耿國華.空間三角網(wǎng)格曲面的邊界提取方法[J].中國圖象圖形學報,2003,8(10):1223-1226.
[5]姚運萍,盧允娥,王 蕾.逆向工程中散亂點云的邊界線自動提取方法[J].組合機床與自動化加工技術(shù),2008(4):47-49.
[6]王育堅,鮑 泓.圖像處理與三維可視化[M].北京:北京郵電大學出版社,2011.
[7]胡茶根.基于VRML的機械產(chǎn)品虛擬設計技術(shù)研究[D].成都:四川大學制造科學與工程學院,2005.
[8]李 欣.基于VRML技術(shù)的虛擬校園設計與實現(xiàn)[D].武漢:國防科學技術(shù)大學計算機學院,2005.
[9]宋慧玲.基于VRML的地學虛擬博物館漫游系統(tǒng)的研究與實現(xiàn)[D].北京:中國地質(zhì)大學計算機學院,2004.
[10]謝文達.建構(gòu)基于VRML/X3D的網(wǎng)上虛擬商店[D].廣州:廣東工業(yè)大學計算機學院,2006.
[11]袁鋒偉,李必文,何 彬.基于SolidWorks-VRML實現(xiàn)虛擬現(xiàn)實的精確建模[J].機電工程,2007,24(10):103-105.