閆如忠,張文輝
(東華大學 機械工程學院,上海 201620)
在利用三坐標測量機(CMM)進行自由曲面的檢測時,需要確定曲面上的采樣點以及采樣的路徑。均勻等間距法是最簡單的測量方法,該方法簡單實用,其缺點是當曲率變化大時,采樣點數(shù)目不足以反映出曲面的形層,如果間距太小,就造成龐大的測量工作和測量數(shù)據(jù)量。為了在保證測量精度的條件下,盡可能地減少測量點數(shù)和縮短測量路徑,國內(nèi)外學者都做了很多研究。
何雪明等人提出一種曲率連續(xù)自適應法來進行自由曲面測量的路徑規(guī)劃[1]。該方法實際上是利用前面測的五個數(shù)據(jù)點來擬合一個五次多項式,然后根據(jù)這個五次多項式預測下一個測量點的位置。他們利用MATLAB對馬鞍面進行模擬后,得到了比較好的擬合結(jié)果。廖菲通過對已測點進行三次樣條曲線擬合,利用擬合的樣條曲線來確定下一個采集點,通過MATLAB進行模擬研究并與用十次多項式預測的方法進行對比,得到了比十次多項式擬合更好的結(jié)果[2]。李江雄等人提出一種三角形曲面的自適應測量方法[3],該方法通過構(gòu)造三角域上的bezier曲面,然后利用該曲面計算下一個測量點。此方法確保了測點按照曲率分布的原則,而且計算相對簡單,但是不能保證測量路徑不是最佳路徑。來新民等人提出了一種基于形層函數(shù)的自適應采樣算法[4],該方法在已知曲面數(shù)學模型的條件下規(guī)劃測點的分布和采樣的路徑,采樣點在曲率大的地方密集,有較高的采樣精度和采樣效率。但是該方法對數(shù)學模型未知的自由曲面適應性很差。
Cho和Kim提出了一個方法用于CMM測量自由曲面[5],他們將曲面分為幾個子區(qū)域,根據(jù)子區(qū)域的平均曲率和區(qū)域選擇比用常數(shù)來優(yōu)化測量點的分布。Pahk等人用基于均勻等距采樣和曲率采樣的混合采樣技術研發(fā)了一個集成CAD閉境的測量系系[6]。Lee等人結(jié)合Hammersley程列和分層抽樣發(fā)明了一種采樣方法[7],這種方法兼顧了待測曲面表面的特征。在相同準確度水平下,這種基于Hammersley程列的方法的采樣點數(shù)目與均勻采樣的采樣點數(shù)目相比有了平方的減少。Cho等人根據(jù)待測面的面積、機器精度和公差等級并利用模糊神經(jīng)網(wǎng)絡來確定采樣點的數(shù)目[8],為了確定采樣點的位置,他們用到了等距采用、隨機采樣、分層采樣和混合采樣等方法,不過他們的采樣方法沒有考慮自由曲面的復夾性。
本文主要對自由曲面的自適應測量技術進行研究,目的是在保證采樣效果的前提下,如何使采樣點最少并且采樣路徑最短。重點圍繞怎樣確定待測點,并設計了自適應測量算法。
在保證測量精度的條件下,盡可能地減少測量點數(shù),國內(nèi)外學者都基于以下原則來設計自適應采樣方法:
1)測量點的數(shù)目和分布應該保證測量精度。
2)為了達到減少采樣點的數(shù)目的目標,應該在曲面曲率大的地方使采樣點密集。這是因為在曲率大的區(qū)域,曲面彎曲得厲害,比較難以加工,加工誤差較大,因此需要盡可能采集多的點。
根據(jù)以上原則,本文借鑒網(wǎng)格細分的思想,提出了一種基于離散曲率的自由曲面測量方案。其基驟如下所示:
1)將整個測量區(qū)域分為5×5的矩形網(wǎng)格,按照Z字形的路線形成初始采樣程列,依次采集每個網(wǎng)格的頂點的z坐標;
2)將矩形網(wǎng)格轉(zhuǎn)換成三角形網(wǎng)格M0,i=0;
3)估算網(wǎng)格Mi上每個頂點的離散曲率;
4)根據(jù)網(wǎng)格Mi上每個頂點的離散曲率生成新的采樣點,i=i+1;
5)重復基驟C、D,直到i=N,N為設定的正整數(shù)。
該方法根據(jù)上一層采樣網(wǎng)格的曲率確定下一層采樣網(wǎng)格的頂點,因此其數(shù)據(jù)點的分布符合上述采樣原則2),逐層增加采樣網(wǎng)格可以使采樣點的數(shù)目符合上述采樣原則1)。
在本算法中,有三個關鍵問題需要解決:首先是網(wǎng)格曲率的計算,然后是如何根據(jù)網(wǎng)格曲率生成下一層采樣網(wǎng)格,最后是對下一層采樣網(wǎng)格進行路徑規(guī)劃。第三個問題可采用貪心算法解決,本文不作贅述。
本文采用Moreton-Sequin方法對網(wǎng)格曲率進行估算,該方法計算簡單,符合網(wǎng)格采樣的精度要求。Moreton-Sequin方法主要根據(jù)歐拉定調(diào)來建立曲面法向量、曲面主曲率和曲面法曲率之間的關系[9]。
圖1 網(wǎng)格頂點曲率的估算
對于點pi,將其鄰接三角形面片的各法向量的平均值作為三角網(wǎng)格曲面在頂點pi處的法向量ni。那么經(jīng)過點pi與其法向量ni垂直的平面為網(wǎng)格曲面在此點的切平面,設為tj為向量pipj在該切平面上的單位投影。過頂點pi和頂點pj作圓,使該圓在點pi有切向tj,則把該圓的半徑的倒數(shù)近似地當作曲面在頂點pi處沿著pipj方向的法曲率kj',如圖1所示。
根據(jù)幾何規(guī)律,圓在pi的半徑方向向量在向量pipj上的投影長度為:
因此該方向的曲率為:
設網(wǎng)格曲面上由ni確定的切平面上的一組基為(ax,ay),令向量tj關于基(ax,ay)的坐標為(tjx,tjy),而主方向e1關于此基的坐標設為(ex,ey)。由歐拉定調(diào)有:
其中:
取j=1,2,…,m。m為頂點pi的度,上式可改寫成Ax=b,其中:
因此只要求得方程組Ax=b的解,就可以估算頂點pi處的曲率。對于此方程組,如果m>2,可以采用最小二乘法求解:x=(ATA)-1(ATb)。
一般來說,絕大多數(shù)點經(jīng)過三角剖分后都至少有兩個鄰接三角形,如果兩個三角形不共面,則系數(shù)矩陣(ATA)-1為滿秩矩陣;如果該點的幾個三角形面接近共面,則系數(shù)矩陣(ATA)-1接近奇異,方程組Ax=b的最小二乘解不確定。另外,對于曲面網(wǎng)格上的某些角點,其鄰接三角形只有一個,則系數(shù)矩陣(ATA)-1為奇異矩陣,無法求出其曲率(實際上曲率為無窮大)。對于此種情況,在計算過程中先將該點標記,待其余所有點的曲率計算完畢后,這些點的曲率取它們的最大值,使得奇異曲率點(系數(shù)矩陣(ATA)-1接近奇異或者奇異)附近的采樣點密集。
在算得每個網(wǎng)格頂點的曲率之后,可以運用曲面細分的思想,可以根據(jù)曲率采樣網(wǎng)格上新的采樣點。
將初始網(wǎng)格曲面投影到平面上,形成采樣網(wǎng)格。對于采樣網(wǎng)格M,采用如下的方法進行細分
1)對于網(wǎng)格中每個三角形的邊,查找邊的兩端點(p1、p2)的曲率值(k1、k2)。
2)在每條邊上插入新的采樣點,稱為新邊點pE,新邊點的位置按照如下公式計算:
3)對曲面上新的采樣點進行路徑規(guī)劃,計算遍歷所有采樣點的最短路徑,按照最短路徑對采樣點進行測量,獲得新增點的值。
4)將所有新老點進行Delaunay三角剖分,形成新的三角網(wǎng)格。
在基驟2)中,如果k1>k2,則w>(1-w),頂點pE與頂點p1的距離更短,即曲率大(曲率半徑?。┑木W(wǎng)格頂點處采樣越密集。反之越稀疏。為了保證采樣網(wǎng)格的均勻性,本文對w的取值范圍進行限定,即w∈[0.3,0.7]。
為了驗證該算法的有效性,本文利用MATLAB對本章算法進行了數(shù)值模擬(由于采用數(shù)值模擬,因此本文模擬計算的數(shù)據(jù)都沒有單位)。采用的算用函數(shù)如下:
其中,(x,y)∈[0,1]×[0,1]。
圖2 f1 (x,y)逐層細分采樣效果圖
圖3 f2 (x,y)逐層細分采樣效果圖
圖4 f3 (x,y)逐層細分采樣效果圖
數(shù)值模擬結(jié)果如圖2、圖3和圖4所示,每個圖中的四幅子圖分別表示:(a)對應函數(shù)的原圖;(b)初始采樣網(wǎng)格下測量的曲面,初始采樣網(wǎng)格為6×6的網(wǎng)格;(c)對初始采樣網(wǎng)格細分一次的采樣網(wǎng)格下測量的曲面;(d)對初始采樣網(wǎng)格細分二次的采樣網(wǎng)格下測量的曲面。從圖2、圖3和圖4可以看出,隨著細分層數(shù)的增加,采樣網(wǎng)格逐層加密,并且呈現(xiàn)曲率大的地方采樣點密集的特點,符合自適應采樣的要求。
如果采用等距采樣的方法,曲率大的地方若要達到同樣的效果,即等距網(wǎng)格的間距需要達到本算法達到的最小間距,必須增加大量的采樣點。
表1列出了每次細分采樣的最小間距、等距采樣點數(shù)和實際采樣點數(shù),其中最小間距表示在該采樣算法下生成的網(wǎng)格頂點的最下距離,等距采樣點數(shù)表示如果采用等距采樣網(wǎng)格達到最小間距所需要的采樣點數(shù)目,實際采樣點數(shù)目表示在該算法下采樣網(wǎng)格中頂點的數(shù)目。
表1 細分采樣層數(shù)與采樣點的關系
表2 自然樣條預測法與離散曲率法的采樣重構(gòu)結(jié)果
由表1可以看出,相比于等距采樣方法,本文算法能夠大幅度減少采樣點的數(shù)目,減少測量時間。另外可以看出,無論采用哪種曲面,每一層細分的實際采樣點數(shù)目是不變的,即本算法生成的采樣點數(shù)目與曲面無關,只與細分層數(shù)相關。而采用掃描線的自適應采樣方法的采樣點數(shù)目與曲面形層相關,本算法與此相比,數(shù)據(jù)點的分布更為合調(diào)。
表2給出了該算法與三次樣條預測法[11]的數(shù)值實驗比較結(jié)果。其中重構(gòu)誤差的計算方式為:先將采樣得到的數(shù)據(jù)點擬合成雙三次B樣條曲面,其中控制點數(shù)量取為10×10,節(jié)點向量為等距節(jié)點向量;然后將B樣條曲面的兩個參數(shù)軸都分成100等分,形成101×101的計算網(wǎng)格,并計算相應參數(shù)下的B樣條曲面擬合值;最后將擬合值得x和y坐標代入測試樣用中,得到相應的z值,將此與擬合的z值相減可得到計算網(wǎng)格上每點的重構(gòu)誤差,這里取其最大值進行比較。
由表2可知,在采樣點數(shù)目相近的情況下,兩種方法的重構(gòu)誤差相差不大,因此該方法的采樣效果與三次樣條預測法的采樣具有相同的可靠性。
綜上所述,數(shù)值實驗表明,本文提出的自由曲面自適應采樣方法符合自適應采樣的規(guī)則,即在曲率大的表面采樣點密集。而細分層數(shù)的增加保證了采樣點的數(shù)目可以達到擬合的精度要求。
本文提出了基于離散曲率的自由曲面自適應采樣方法。該方法首先將初始采樣點進行網(wǎng)格化;然后對三角網(wǎng)格上每個頂點的曲率進行估算,此處采用相對簡單高效的Moreton-Sequin方法估算三角網(wǎng)格頂點的曲率;最后根據(jù)網(wǎng)格頂點的曲率預測出新采樣點位置。
該方法將曲面細分的思想應用于采樣網(wǎng)格,相比于等距采樣,該方法能夠有效減少采樣點的數(shù)目;相比于基于掃描線的自適應采樣,該方法不需要考慮兩條掃描線之間的距離,采樣點分布更為合調(diào)。
目前該方法只適用于Z坐標是其他兩個坐標的函數(shù)的情況,即z=f(x,y),或者其他類似的情況,不適用于除此之外的情況以及封閉曲面的情況。在未來的工作中,需要研究一種適應于任何情況的自適應采樣方法。
參考文獻:
[1]何雪明,李成剛,胡于進,等.三坐標測量機測量路徑的曲率連續(xù)自適應規(guī)劃[J].清華大學學報(自然科學版),2007:47(S2):1835-1839.
[2]廖菲.基于CMM復夾曲面測量的采樣方法及測頭半徑補償研究[D].中南大學.2009.
[3]李江雄, 柯映林,程耀東.復夾曲面自動化測量程程生成及分析[J].機械科學與技術,1998,17(6):1026-1029.
[4]來新民,黃田,林忠欽,等.數(shù)學模型已知的自由曲面數(shù)字化自適應采樣[J].計算機輔助設計與圖形學學報,1999.7:11(4):359-362.
[5]Cho M, Kim K. New inspection planning strategy for sculptured surfaces using coordinate measuring machine[J].Prod Res:1995 33(2):427-444.
[6]Pahk H, Jung M, Hwang S,Kim Y, Hong Y, Kim S. Integrated precision inspection system for manufacturing of moulds having CAD def i ned features[J].Adv Manuf Technol,1995:10(3):198-207.
[7]Lee G, Mou J, Shen Y. Sampling strategy design for dimensional measurement of geometric features using coordinate measuring machine[J].Mach Tools Manuf,1997,37(7):917-934.
[8]Cho M-W,Lee H, Yoon GS, Choi J. A feature-based inspection planning system for coordinate measuring machines[J].Adv Manu Technol, 2005 26:1078-1087.
[9]Moreton H P.Functional optimization for fair surface design[J].Acm Siggraph Computer Graphics,1992,26(2):167-176.
[10]齊寶明.三角網(wǎng)格離散曲率估計和Taubin方法改進[D].大連調(diào)工大學,2008.
[11]廖菲.基于CMM復夾曲面測量的采樣方法及測頭半徑補償研究[D].中南大學.2009.