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