基于逆向工程的汽車覆蓋件模具邊界特征提取
0 引言
在產(chǎn)品的設(shè)計和開發(fā)中利用逆向工程可以極大地縮短產(chǎn)品的開發(fā)周期和開發(fā)費用,尤其是我國的汽車行業(yè),許多覆蓋件模具均是從國外直接進口,這些模具的設(shè)計資料比較匱乏。轎車覆蓋件改型或國產(chǎn)化,采用逆向工程不失為一種快捷有效的方法。
逆向工程一般可分為四個階段:(1)零件原形的數(shù)字化。通常采用三坐標測量機(CMM)或激光掃描等測量裝置來獲取零件原形表面點的三維坐標值。 (2)從測量數(shù)據(jù)中提取零件原形的幾何特征。按測量數(shù)據(jù)的幾何屬性對其進行分割,采用幾何特征匹配與識別的方法來獲取零件原形所具有的設(shè)計與加工特征。(3)零件原形CAD模型的重建。將分割后的三維數(shù)據(jù)在相應(yīng)軟件系統(tǒng)中分別做表面模型的擬合,并通過各表面片的求交與拼接獲取零件原形表面的CAD模型。(4)重建CAD模型的檢驗與修正。采用根據(jù)獲得的CAD模型重新測量和加工出樣品的方法來檢驗重建的CAD模型是否滿足精度或其他試驗性能指標的要求,對不滿足要求者重復(fù)以上過程,直至達到零件的設(shè)計要求。而其中實物幾何特征的識別和提取是整個過程中的重點和難點。
在逆向工程中,因為大部分實物的形狀比較復(fù)雜,特別是存在大量自由曲面特
征,通常無法用單一整張曲面來擬合所有數(shù)據(jù)點。這就需要提取曲面特征,將點云分成許多有意義的區(qū)域來單獨處理,分別用不同的方法擬合出不同的曲面;然后通過求交、裁剪,用過渡曲面將曲面連接起來,最后形成整張光順的曲面模型。曲面的劃分直接影響曲面的構(gòu)造方法、曲面的拼接、曲面的縫合及實體模型的建立。所構(gòu)造的曲面能否反映原來實物的特征,很大程度上取決于分片質(zhì)量的好壞。
在現(xiàn)行使用的曲面構(gòu)型軟件中,數(shù)據(jù)分片一般都采用交互式方法進行:即由用戶通過對原始數(shù)據(jù)點云 的觀察,分析某一數(shù)據(jù)集合,從中找出各個特征,交互式對其邊界進行定義,然后對所得數(shù)據(jù)片分別采用相應(yīng)的曲面重構(gòu)方法完成單個曲面的重構(gòu)。再通過公共的邊界線或過渡曲面將各個構(gòu)型曲面連接起來。這種方法實現(xiàn)比較直觀,目前很多商用軟件都采用這種方式。如surfacer。雖然方法直觀,簡便,卻存在很大不足。采用用戶交互式的數(shù)據(jù)區(qū)間定義,在實際過程中存在很大的隨意性。確定的邊界比較模糊,通常先是對數(shù)據(jù)進行一個大致的劃分,然后根據(jù)對擬合曲面情況的觀察和誤差、光順性的檢測結(jié)果進行反復(fù)的修改、刪除甚至重構(gòu)。這種做法費時,效率比較低,并且修改觀察時因人不同產(chǎn)生的結(jié)果可能不同,這需要有一定的實際經(jīng)驗和幾何構(gòu)型水平,是一種摸索和嘗試的過程。曲面原有特征也得不到很好的保護和體現(xiàn),所取得效果未必能達到用戶的要求。因此,實現(xiàn)原形特征的自動提取來劃分數(shù)據(jù)一直以來是人們追求的目標。
國內(nèi)外有很多人對實物原型特征識別和曲面的自動分片進行了研究[3-4],但多數(shù)算法比較復(fù)雜,實現(xiàn)起來比較困難,有些主要針對規(guī)則數(shù)據(jù)點云的,且都沒有真正達到分片的自動化。
通過提取散亂數(shù)據(jù)點的拓撲結(jié)構(gòu),完成數(shù)據(jù)點的三角網(wǎng)格化;然后進行數(shù)據(jù)精簡,估算精簡后各測點的法矢和曲率,把曲率極值點作為邊界特征候選點;最后連邊界點組成邊界線。該算法被用于上海大眾公司SAN模具數(shù)字化項目,取得了較好效果。
1 建立三角網(wǎng)格模型
用光學設(shè)備測得的數(shù)據(jù)點云數(shù)據(jù)量大,數(shù)據(jù)排列無明顯的組織結(jié)構(gòu),對這樣的點我們采用Riemann圖建立散亂數(shù)據(jù)點間的鄰接關(guān)系[5],然后采用最小內(nèi)角最大化原理[1]完成數(shù)據(jù)點的三角網(wǎng)絡(luò)化。
2 曲面法矢及曲率求解
對于給定的多面體,在某頂點Pi處的法矢量npi,通常用與之相鄰的所有平面單位法矢ni的加權(quán)組合來計算[1]。
在實際的應(yīng)用中,權(quán)值λi通常有以下幾種取法:
實際上,這種算法是最簡單的算法。各有關(guān)平面對公共頂點法矢的貢獻是相等的,類似于在平面情況下的計算公式。其優(yōu)點是計算非常簡單,但沒有明顯的幾何意義。
其中Ai表示相關(guān)的三角形的面積,面積越大,該平面法矢在式中對公共頂點法矢的貢獻越小。
其中l(wèi)i為有關(guān)的邊長,可以看出三角平面的兩個相關(guān)的邊越長,該平面法矢在式中對公共頂點法矢的貢獻越小。
在此,采用三角形面積作為權(quán)因子,用該點周圍的若干三角形法矢的加權(quán)平均來計算該點法矢。數(shù)據(jù)點三角網(wǎng)絡(luò)化后,在點P0周圍有m個點Pi(I=1,2,...m)與之相鄰接,稱為點P0的鄰域點集,m個三角形所在的各平面有m個單位法矢n1,n2,…nm。由P0,Pi,Pi+1所組成的三角形的法矢為ni:
用這種方法估算法矢簡單適用。在編制程序時,除可以估算各點法矢外,還允許各點自帶法矢,以提高數(shù)據(jù)處理的靈活性[2]。
在獲得鄰域點集在P0點的法矢后,就可以對鄰域點集進行局部參數(shù)化[3]。由于要估算該點的曲率值,所以局部參數(shù)化曲面一般采用二次或二次以上的曲面。經(jīng)實踐總結(jié),對空間散亂分布的數(shù)據(jù)采用局部拋物面的擬合方法比較好。在參數(shù)化的過程中,選擇P0點為坐標原點,則對它進行局部參數(shù)擬合的曲面方程可表示為h(u,v)=au2+buv+cv2,并選取h坐標軸與曲面在P0點的法矢nP0的方向相同,另兩個坐標軸向量u,v位于P0點的切平面內(nèi)。則由三者構(gòu)成的標架為δ=(u, v, nP0)。它們組成的坐標系是一個仿射系[2]。如u,v 為P0點的主方向,其對應(yīng)的主曲率為k1,k2(見圖1)。
根據(jù)法矢nP0、則過矢量點P0的切平面方程為:
由此可得矢量點Pj在平面上的投影坐標為:
完成鄰域點集的坐標局部參數(shù)化后,便可以應(yīng)用加權(quán)最小二乘原理對鄰域點集進行曲面擬合。然后利用高斯-亞當消元法求得該問題的最佳參數(shù)估計a*,b*,c*。于是可得鄰域點集的逼近曲面為h(u,v)=a*u2+b*uv+c*v2。由此可推導(dǎo)出該點的逼近主曲率和主方向。
曲面在P0的主方向可由下式給出的方程解出,即:
對應(yīng)的主方向為:
在獲得各點的曲率后,取曲率極值點作為特征點的候選點。
3 邊界點的提取
一條曲線上的邊界點可分為階躍邊界(高度不連續(xù))、褶皺邊界(切矢不連續(xù))和光滑邊界(曲率不連續(xù))。
取曲率極值點或零交叉點(對第一種邊界線來講)作為離散曲面的邊界點。基本思想如下:
(1)先選取一候選邊界點P, 在該點兩邊沿主方向m1取最近的兩鄰近點T1,T2,求它們沿m1方向上的曲率KT1,KT2。如果k1大于KT1、KT2則該點為最大曲率極值點。
(2)同理選定主方向m2,在P點兩邊沿主方向取鄰近點T3、T4,求他們沿m2方向上的曲率KT3、KT4,如果k2小于KT3、KT4,則該點為最小曲率極值點。
(3)對所有候選點進行上述操作,就可得到所需的全部邊界點。
在數(shù)據(jù)點的界點提取之后,可對界點進行組織,去除偽界點,采用鄰邊編碼鏈表算法形成一個有序的實體邊界輪廓圖[4]。實際反求時,封閉邊界的提取可分為兩步進行。首先是單邊界的提取;其次是對單邊界按序追蹤,形成封閉邊界。該算法可進一步實現(xiàn)邊界特征提取的自動程度。但在汽車覆蓋件模具的逆向設(shè)計中,過渡曲面一般為光滑過渡,曲率變化不十分明顯。用這種算法產(chǎn)生的邊界輪廓并不能真正完成點云的較準確劃分。因此,文中在特征點提取后,采用人機交互的方式,來生成封閉的邊界輪廓特征。這樣既避免了上面提到的單純靠人機交互實現(xiàn)分片的缺點,又克服了單純自動提出過程中對偏差不便調(diào)整的弊端。
4 實例和結(jié)論
該算法借鑒了文獻中所提的方法,并進行了改進。文中所提算法不僅可用于規(guī)則數(shù)據(jù)點的特征點的提取,而且通過對散亂數(shù)據(jù)點的簡化及三角網(wǎng)格化,可對其進行特征點的提取。本算法的優(yōu)點是結(jié)構(gòu)明晰,實現(xiàn)起來簡單,相對單純?nèi)藱C交互的方式,提高了精度,避免了大量嘗試重構(gòu)過程,相對自動算法提高了算法的靈活性。文中所提算法通過MFC和OpenGL 結(jié)合編程在上海大眾汽車公司SAN2000前圍模具設(shè)計中得到應(yīng)用,取得了很好的效果,圖2和圖3為SAN2000前圍模具采用此方法的實例 。首先采用德國GOM公司生產(chǎn)的ATOS(Advanced Topometric Sensor )非接觸式結(jié)構(gòu)光測量儀,取得模具的數(shù)據(jù)點。借助surfacer軟件完成對數(shù)據(jù)的預(yù)處理。然后利用文中的算法計算各數(shù)據(jù)點的法矢和曲率估算,提取邊界特征點,完成數(shù)據(jù)分片。當然該算法也有比較大的局限性,對光滑過渡特征還不能很好地獲得其完整邊界,需通過人工交互進行調(diào)整。這還有待于在今后的研究中發(fā)現(xiàn)更好的方法。
評論