郭潤(rùn)琪,盛步云+,陸辛成
(1.武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070;2.湖北省數(shù)字制造重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430070)
隨著現(xiàn)代制造技術(shù)的發(fā)展,為追求某些特殊功能需求或外觀形態(tài),自由曲面越來(lái)越廣泛地應(yīng)用于航空航天、汽車、模具和造船等領(lǐng)域,數(shù)字化檢測(cè)已經(jīng)成為保障自由曲面加工精度的重要操作之一。同時(shí),隨著計(jì)算機(jī)圖形學(xué)的發(fā)展,用于描述三角網(wǎng)格模型的STL(stereolithography)文件格式成為計(jì)算機(jī)輔助設(shè)計(jì)/計(jì)算機(jī)輔助制造(Computer Aided Design/Computer Aided Manufacturing, CAD/CAM)系統(tǒng)的一類標(biāo)準(zhǔn)接口文件格式,其不但可以滿足模型信息在不同軟件系統(tǒng)之間高效、及時(shí)傳輸?shù)男枨?,而且占用的?chǔ)存空間較少。因此,研究一種面向自由曲面三角網(wǎng)格模型的測(cè)點(diǎn)自適應(yīng)分布算法非常必要。
來(lái)新民等[1]、何改云等[2]和張安社等[3]根據(jù)曲率推導(dǎo)測(cè)點(diǎn)基于曲率分布的函數(shù),通過(guò)曲率控制測(cè)點(diǎn)疏密來(lái)實(shí)現(xiàn)測(cè)點(diǎn)的自適應(yīng)分布;SUN等[4]借助加工誤差模型優(yōu)化了根據(jù)Hammersley序列分布的測(cè)點(diǎn),以保證在偏差可能性高的區(qū)域分布更多測(cè)點(diǎn)。這類方法主要基于曲率規(guī)劃測(cè)點(diǎn),根據(jù)曲率大小確定測(cè)點(diǎn)的疏密度,使測(cè)點(diǎn)能夠較好地描述曲面,然而該方法沒(méi)有分析曲率與測(cè)點(diǎn)密度之間的關(guān)系,不利于精簡(jiǎn)測(cè)點(diǎn)數(shù)量。陳岳坪等[5]和張現(xiàn)東等[6]根據(jù)“曲面—曲線—點(diǎn)集—測(cè)點(diǎn)集”的策略規(guī)劃測(cè)點(diǎn),借助幾何分解降維的思想將二維曲線的布點(diǎn)方法運(yùn)用到三維曲面,實(shí)現(xiàn)了測(cè)點(diǎn)自適應(yīng)分布,然而該方法需要逐一確定截面間距和測(cè)點(diǎn)分布的步長(zhǎng),加大了布點(diǎn)的工作量。YU等[7]和喻明讓等[8]采用初始測(cè)點(diǎn)重構(gòu)曲面,然后將重構(gòu)曲面與原始曲面比較,在誤差最大處增加測(cè)點(diǎn),如此循環(huán)迭代直至滿足條件。這類方法能夠保持較高的采樣精度,然而所分布的測(cè)點(diǎn)大多雜亂,且過(guò)多依賴于相應(yīng)的加工誤差模型和曲面擬合算法的精度,方法迭代次數(shù)較多。RAMAN等[9]根據(jù)平均高斯曲率將曲面分割為多個(gè)子曲面,然后在各子曲面的高斯曲率特征值處進(jìn)行初始布點(diǎn),并將初始測(cè)點(diǎn)重構(gòu)曲面與原始曲面比較,在偏差較大處增加測(cè)點(diǎn),對(duì)初始測(cè)點(diǎn)進(jìn)行優(yōu)化。這類方法通過(guò)劃分曲面和減小偏差來(lái)實(shí)現(xiàn)測(cè)點(diǎn)的自適應(yīng)分布,而且簡(jiǎn)化了測(cè)點(diǎn)坐標(biāo)的求取過(guò)程,然而其對(duì)曲面的劃分不夠細(xì)致,無(wú)法精簡(jiǎn)測(cè)點(diǎn)數(shù)量。大多數(shù)曲面自適應(yīng)采樣策略均通過(guò)用曲率表征曲面復(fù)雜度[10]來(lái)分布測(cè)點(diǎn),再根據(jù)加工誤差或擬合誤差優(yōu)化測(cè)點(diǎn)。
綜上所述,本文基于自由曲面的三角網(wǎng)格模型,借助曲面分片加工的思想[11-12]將自由曲面劃分為測(cè)點(diǎn)密度大致相等的若干子曲面,在不同子曲面用其對(duì)應(yīng)的測(cè)點(diǎn)密度進(jìn)行均勻布點(diǎn),實(shí)現(xiàn)測(cè)點(diǎn)的自適應(yīng)分布。首先,制定測(cè)點(diǎn)密度判斷原則生成測(cè)點(diǎn)密度集,進(jìn)而訓(xùn)練神經(jīng)網(wǎng)絡(luò)構(gòu)建測(cè)點(diǎn)密度預(yù)測(cè)模型,用該模型預(yù)測(cè)機(jī)床加工精度、公差、測(cè)量精度既定的自由曲面在不同平均曲率處所對(duì)應(yīng)的測(cè)點(diǎn)密度,以精簡(jiǎn)測(cè)點(diǎn)的數(shù)量;然后,將自由曲面劃分為測(cè)點(diǎn)密度大致相等的子曲面,并在各子曲面均勻布點(diǎn),避免根據(jù)曲率不同而迭代計(jì)算各測(cè)點(diǎn)的分布位置,同時(shí)實(shí)現(xiàn)了測(cè)點(diǎn)的自適應(yīng)分布;最后,根據(jù)擬合誤差和公差要求優(yōu)化曲面整體測(cè)點(diǎn)分布,進(jìn)一步保證采樣精度。
規(guī)劃自由曲面測(cè)點(diǎn)時(shí),因?yàn)槠淝首兓秶笄掖笮〔淮_定,曲面各部分的測(cè)點(diǎn)密度不同[12],所以本文劃分自由曲面,使子曲面的測(cè)點(diǎn)密度大致相同,可采用均勻布點(diǎn)方式在各子曲面進(jìn)行局部布點(diǎn)。本文算法流程如圖1所示,其中輸入為自由曲面三角網(wǎng)格模型(稱為輸入模型),輸出為自適應(yīng)規(guī)劃的測(cè)點(diǎn)集(稱為輸出測(cè)點(diǎn)集)。具體步驟如下:
(1)求取平均曲率 采用相關(guān)算法求取自由曲面三角網(wǎng)格模型各三角面片頂點(diǎn)處的平均曲率。
(2)劃分子曲面 根據(jù)測(cè)點(diǎn)密度預(yù)測(cè)模型獲取輸入模型各處對(duì)應(yīng)的測(cè)點(diǎn)密度,將輸入模型劃分為測(cè)點(diǎn)密度大致相等的子曲面集(稱為子待測(cè)面集)。
(3)分布測(cè)點(diǎn) 遍歷子待測(cè)面集,根據(jù)各子待測(cè)面對(duì)應(yīng)的測(cè)點(diǎn)密度,在子待測(cè)面上均勻分布測(cè)點(diǎn),獲得初始測(cè)點(diǎn)集。
(4)優(yōu)化初始測(cè)點(diǎn)集 擬合初始測(cè)點(diǎn)集,比較其與輸入模型的誤差,在誤差大于公差要求處增加測(cè)點(diǎn),獲得輸出測(cè)點(diǎn)集。
本文主要研究構(gòu)建所劃分自由曲面的測(cè)點(diǎn)密度預(yù)測(cè)模型和基于測(cè)點(diǎn)密度的自由曲面劃分方法,進(jìn)而實(shí)現(xiàn)自由曲面測(cè)點(diǎn)自適應(yīng)分布。
待測(cè)面的輪廓評(píng)定結(jié)果受測(cè)量誤差影響,測(cè)點(diǎn)密度是其重要的影響因素,而測(cè)點(diǎn)密度主要受機(jī)床加工精度、公差、測(cè)量精度和曲率影響[13-15]。相同半徑球面上的平均曲率相同,本文算法所劃分的子曲面的平均曲率在各處也大致相同,而且任何足夠小的曲面都可以近似為球面[16],因此針對(duì)球面的測(cè)點(diǎn)密度進(jìn)行研究與分析。測(cè)點(diǎn)密度預(yù)測(cè)模型的輸入變量(機(jī)床加工精度x1、公差要求x2、測(cè)量精度x3、平均曲率x4)和輸出變量(測(cè)點(diǎn)密度t1)構(gòu)成一個(gè)4輸入1輸出的非線性函數(shù),難以用傳統(tǒng)方法建立精確的數(shù)學(xué)模型,而且利用單一神經(jīng)網(wǎng)絡(luò)構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型精度不高,因此本文分別用樣本數(shù)據(jù)訓(xùn)練BP(back propagation)神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)、廣義回歸神經(jīng)網(wǎng)絡(luò)(General Regression Neural Network, GRNN),再用遺傳算法求解權(quán)值組合,使預(yù)測(cè)誤差的平方和最小,即滿足式(1),從而得到組合模型(如圖2),對(duì)測(cè)點(diǎn)密度進(jìn)行預(yù)測(cè)。
ω1,ω2,ω3>0,ω1+ω2+ω3=1。
(1)
式中:n為預(yù)測(cè)值的個(gè)數(shù);y1i,y2i,y3i分別為BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、GRNN的第i個(gè)預(yù)測(cè)值,y0i為第i個(gè)實(shí)際值;ω1,ω2,ω3分別為BP神經(jīng)網(wǎng)絡(luò)、RBF神經(jīng)網(wǎng)絡(luò)、GRNN的權(quán)值。
本文根據(jù)不同測(cè)點(diǎn)數(shù)量在球面上采用均勻布點(diǎn)規(guī)則采集測(cè)點(diǎn),考慮到實(shí)際加工和測(cè)量過(guò)程中存在誤差,將根據(jù)給定的機(jī)床加工精度和測(cè)量精度隨機(jī)對(duì)測(cè)點(diǎn)按照球面的徑向添加加工誤差值和測(cè)量誤差值,并通過(guò)最小包容區(qū)域法對(duì)不同數(shù)量的測(cè)點(diǎn)進(jìn)行球度評(píng)定[17],評(píng)定結(jié)果如圖3所示。從試驗(yàn)結(jié)果看,隨著測(cè)點(diǎn)數(shù)量的增加,球度評(píng)定結(jié)果先呈上升的趨勢(shì),上升到某個(gè)值后,在其附近上下波動(dòng)。由此可以推斷,隨著測(cè)點(diǎn)數(shù)量的增加,測(cè)量數(shù)據(jù)逐漸逼近加工球面的實(shí)際情況,而且其球度評(píng)定結(jié)果應(yīng)在某個(gè)值附近上下波動(dòng)。一般情況下,測(cè)量誤差應(yīng)不超過(guò)設(shè)定公差值的1/3~1/10[18]。因此,本文設(shè)計(jì)的給定條件下的最佳測(cè)點(diǎn)密度判定方法為:取給定機(jī)床加工精度、公差、測(cè)量精度和平均曲率的球面,評(píng)定不同測(cè)點(diǎn)數(shù)量對(duì)應(yīng)的球度誤差;根據(jù)給定公差范圍,設(shè)置測(cè)點(diǎn)數(shù)量右側(cè)球度誤差的波動(dòng)范圍小于公差值1/3的條件,選取滿足這一條件的測(cè)量數(shù)量中的最小值,用該最小值除以給定的面積,即為在給定條件下的最佳測(cè)點(diǎn)密度。
分析自由曲面零件的機(jī)床加工精度[19]、公差要求[20]、測(cè)量精度、平均曲率的主要變化范圍,設(shè)定樣本輸入量。根據(jù)本文制定的最佳測(cè)點(diǎn)密度判定方法獲取相應(yīng)輸入條件下的測(cè)點(diǎn)密度,即樣本輸出量。刪除部分加工精度、測(cè)量精度不適用于相關(guān)公差要求的樣本組合,共生成5 775組樣本數(shù)據(jù),部分?jǐn)?shù)據(jù)如表1所示。本文采用的樣本集較小,為保證調(diào)優(yōu)樣本和測(cè)試樣本的大小,本文選用常用的6∶2∶2的比例劃分樣本集,從樣本中隨機(jī)選取60%作為訓(xùn)練樣本,20%作為調(diào)優(yōu)樣本,剩余樣本作為測(cè)試樣本。
表1 部分樣本數(shù)據(jù)
(1)BP神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建
本文基于BP神經(jīng)網(wǎng)絡(luò)構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型結(jié)構(gòu)為:4-10-1(用經(jīng)驗(yàn)公式確定隱藏層節(jié)點(diǎn)個(gè)數(shù)),輸入層的4個(gè)神經(jīng)元分別對(duì)應(yīng)加工精度、公差、測(cè)量精度、平均曲率,輸出層的神經(jīng)元對(duì)應(yīng)測(cè)點(diǎn)密度;采用粒子群優(yōu)化算法求取使調(diào)優(yōu)樣本擬合值與實(shí)際值均方差最小的相關(guān)參數(shù)組合,對(duì)BP模型進(jìn)行優(yōu)化,優(yōu)化后的迭代次數(shù)為91 277,學(xué)習(xí)率為0.704 5,目標(biāo)誤差為0.000 470 63;隱含層函數(shù)采用logsig,輸出層函數(shù)采用purelin,訓(xùn)練函數(shù)采用traingdx?;贐P神經(jīng)網(wǎng)絡(luò)構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的預(yù)測(cè)結(jié)果如圖4所示。
(2)RBF神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建
本文基于RBF神經(jīng)網(wǎng)絡(luò)構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的輸入層、輸出層確定方法同BP神經(jīng)網(wǎng)絡(luò),調(diào)用MATLAB神經(jīng)網(wǎng)絡(luò)工具確定RBF的拓展速度,本文用粒子群算法優(yōu)化RBF神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)。RBF的拓展速度為1,此時(shí)調(diào)優(yōu)樣本的RBF模型擬合值與實(shí)際值的均方差最小。基于RBF神經(jīng)網(wǎng)絡(luò)構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的預(yù)測(cè)結(jié)果如圖5所示。
(3)GRNN模型的構(gòu)建
本文基于GRNN構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的輸入層、輸出層確定方法同BP神經(jīng)網(wǎng)絡(luò),調(diào)用MATLAB神經(jīng)網(wǎng)絡(luò)工具確定光滑因子,本文用粒子群算法優(yōu)化GRNN神經(jīng)網(wǎng)絡(luò)的相關(guān)參數(shù)。光滑因子為0.107 9,此時(shí)調(diào)優(yōu)樣本的GRNN模型擬合值與實(shí)際值的均方差最小。基于GRNN構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的預(yù)測(cè)結(jié)果如圖6所示。
(4)組合模型
根據(jù)上述3種神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)結(jié)果,按照式(1)建立方程組,采用遺傳算法求解方程組可得:BP神經(jīng)網(wǎng)絡(luò)模型加權(quán)系數(shù)為0.500 0,RBF神經(jīng)網(wǎng)絡(luò)模型的加權(quán)系數(shù)為0.166 7,GRNN模型的加權(quán)系數(shù)為0.333 3。按照該加權(quán)系數(shù)進(jìn)行組合預(yù)測(cè),可得基于組合模型構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型的預(yù)測(cè)結(jié)果如圖7所示。根據(jù)測(cè)試樣本對(duì)各預(yù)測(cè)模型的評(píng)估如表2所示,在4個(gè)預(yù)測(cè)模型中,組合預(yù)測(cè)模型的均方誤差(Mean Square Error, MSE)和平均絕對(duì)比例誤差(Mean Absolute Percentage Error, MAPE)最小,表明其預(yù)測(cè)值最接近實(shí)際值;組合預(yù)測(cè)模型的R值最接近1,表明其模型擬合度最高。因此本文采用基于組合模型構(gòu)建測(cè)點(diǎn)密度預(yù)測(cè)模型。
表2 模型性能與精度評(píng)估
針對(duì)機(jī)床加工精度、公差、測(cè)量精度既定的自由曲面,其測(cè)點(diǎn)密度隨曲面各處曲率的增加而增大。為實(shí)現(xiàn)測(cè)點(diǎn)的自適應(yīng)分布,采用本文構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型計(jì)算各三角面片所需的測(cè)點(diǎn)密度,在聚類算法的基礎(chǔ)上,結(jié)合區(qū)域生長(zhǎng)算法,采用二次劃分技術(shù)基于測(cè)點(diǎn)密度劃分自由曲面。
給定機(jī)床加工精度、公差和測(cè)量精度,采用本文構(gòu)建的測(cè)點(diǎn)密度預(yù)測(cè)模型求取曲面各點(diǎn)處的曲率來(lái)預(yù)測(cè)該點(diǎn)處的測(cè)點(diǎn)密度。由于組成自由曲面三角網(wǎng)格模型的三角面片較小,其上各點(diǎn)對(duì)應(yīng)的平均曲率接近,為簡(jiǎn)化計(jì)算,本文用各三角面片頂點(diǎn)平均曲率的算術(shù)平均值近似代替該面片上各點(diǎn)對(duì)應(yīng)的平均曲率,即
Hi=(Hi1+Hi2+Hi3)/3。
(2)
式中:Hi為第i個(gè)三角面片上各點(diǎn)對(duì)應(yīng)的平均曲率;Hi1,Hi2,Hi3為第i個(gè)三角面片上3個(gè)頂點(diǎn)對(duì)應(yīng)的平均曲率。
在獲取各三角面片所需的測(cè)點(diǎn)密度后,采用聚類算法將自由曲面模型的三角面片劃分為測(cè)點(diǎn)密度近似的三角面片集,進(jìn)行曲面的一次劃分,從而減少之后二次劃分所需遍歷的三角面片數(shù)量,提高算法速率。
為保證各面片集的測(cè)點(diǎn)密度趨于一致,本文根據(jù)給定的閾值,分析以各三角面片為聚類中心的三角面片集的測(cè)點(diǎn)密度均值,選取均值最接近其測(cè)點(diǎn)密度的三角面片為此時(shí)的聚類中心,并從整體三角面片集中刪除該聚類中心以及屬于該中心的其余三角面片,重復(fù)上述步驟,直到所有三角面片均有所屬面片集。算法的具體流程如下:
(1)計(jì)算以各三角面片為聚類中心的三角面片集的測(cè)點(diǎn)密度均值
設(shè)定測(cè)點(diǎn)密度閾值α=0.001 個(gè)/mm2,則以各三角面片為中心,三角面片集的測(cè)點(diǎn)密度均值為
(3)
式中:δi為以第i個(gè)三角面片為中心的三角面片集的測(cè)點(diǎn)密度均值;ρj為第j個(gè)三角面片對(duì)應(yīng)的測(cè)點(diǎn)密度值;函數(shù)
(4)
(5)
(2)求取聚類中心
計(jì)算以三角面片i為中心的三角面片集的測(cè)點(diǎn)密度均值與三角面片i的測(cè)點(diǎn)密度的殘差的絕對(duì)值,以最小殘差絕對(duì)值對(duì)應(yīng)的三角面片為聚類中心對(duì)各三角面片進(jìn)行聚類。
(3)獲取測(cè)點(diǎn)密度大致相同的三角面片集
反復(fù)執(zhí)行(1)和(2),直到所有三角面片均有歸屬的三角面片集為止,用各三角面片集的測(cè)點(diǎn)密度均值表征該三角面片集的測(cè)點(diǎn)密度。基于聚類算法的一次劃分獲取的三角面片集如圖8所示。
在對(duì)自由曲面進(jìn)行一次劃分并獲得測(cè)點(diǎn)密度大致相同的三角面片集后,采用區(qū)域生長(zhǎng)算法將其劃分為相連通的子曲面,具體流程如下:
(1)建立三角面片的拓?fù)潢P(guān)系
為提高區(qū)域生長(zhǎng)算法效率,用半邊編碼思想對(duì)輸入模型的三角面片建立拓?fù)潢P(guān)系[21],以便查詢面片的一環(huán)鄰域。本文根據(jù)STL文件的特點(diǎn)獲取各三角面片信息,生成一維數(shù)組F[i]=[P1,P2,P3],其中:F為存儲(chǔ)三角面片信息的數(shù)組;i表示第i個(gè)三角面片;P1,P2,P3為第i個(gè)三角面片各頂點(diǎn)的編號(hào),且P1,P2,P3對(duì)應(yīng)的點(diǎn)逆時(shí)針環(huán)繞構(gòu)成第i個(gè)三角形。用半邊編碼思想建立二維數(shù)組B[P1][P2]=i,其中:B為存儲(chǔ)半邊所屬三角面片信息的數(shù)組;P1,P2為構(gòu)成半邊的端點(diǎn)的編號(hào);i為半邊所屬三角面片的編號(hào)(當(dāng)半邊不屬于任何三角面片時(shí)i=0)。如圖9所示,針對(duì)第1個(gè)三角面片,三角面片信息為F[1]=[1,2,3],半邊所屬三角面片信息為B[1][2]=1,B[2][3]=1,B[3][1]=1;針對(duì)第2個(gè)三角面片,三面片信息為F[2]=[1,4,2],半邊所屬三角面片信息為B[1][4]=2,B[4][2]=2,B[2][1]=2,同時(shí)B[1][3]=0,B[3][2]=0,B[2][4]=0,B[4][1]=0。若需查找第1個(gè)三角面片的一環(huán)鄰域,則根據(jù)F[1]的值,按照1→3,3→2,2→1的順序(該三角形頂點(diǎn)的順時(shí)針環(huán)繞順序)查找B數(shù)組中相應(yīng)的信息,可得B[1][3]=0,B[3][2]=0,B[2][1]=2,此時(shí)第1個(gè)三角面片的一環(huán)鄰域中只有第2個(gè)三角面片。
(2)根節(jié)點(diǎn)選取和生長(zhǎng)準(zhǔn)則設(shè)定
基于區(qū)域生長(zhǎng)的二次劃分主要為保證子曲面的連貫性,因此在測(cè)點(diǎn)數(shù)量密度大致相同的三角面片集中任意選取一個(gè)未進(jìn)行二次劃分的三角面片作為根節(jié)點(diǎn),生長(zhǎng)準(zhǔn)則設(shè)定為在面片的一環(huán)鄰域中、沒(méi)有歸屬于子曲面的面片。
(3)獲取相連通的子曲面
借助樹(shù)狀結(jié)構(gòu),首先在測(cè)點(diǎn)數(shù)量密度大致相同的三角面片集中選取根節(jié)點(diǎn);然后從根節(jié)點(diǎn)開(kāi)始,根據(jù)生長(zhǎng)準(zhǔn)則向外延展,當(dāng)無(wú)法再向外延展時(shí)重新選擇根節(jié)點(diǎn),如此循環(huán),直到所有三角面片均有歸屬的子曲面為止?;趨^(qū)域生長(zhǎng)算法的二次劃分獲取的子曲面如圖10所示。
針對(duì)機(jī)床加工精度為0.04 mm、測(cè)量精度為
0.03 mm、公差要求為0.08 mm的自由曲面(曲面模型如圖11a),根據(jù)本文設(shè)計(jì)的自適應(yīng)測(cè)點(diǎn)分布算法進(jìn)行布點(diǎn)。首先,在內(nèi)存中建立存儲(chǔ)測(cè)點(diǎn)坐標(biāo)的數(shù)據(jù)集(稱為數(shù)據(jù)集A);其次,按照本文設(shè)計(jì)的基于測(cè)點(diǎn)密度的自由曲面劃分方法將待測(cè)曲面分割為測(cè)點(diǎn)密度大致相同的子曲面,并記錄其對(duì)應(yīng)的測(cè)點(diǎn)密度,如圖11b所示;然后,針對(duì)每個(gè)子曲面,根據(jù)其面積和對(duì)應(yīng)的測(cè)點(diǎn)密度計(jì)算所需分布的測(cè)點(diǎn)數(shù)量,再求取能夠包圍子曲面在xoy平面投影的最小矩形,根據(jù)矩形的長(zhǎng)寬和所需分布的測(cè)點(diǎn)數(shù)量計(jì)算均勻布點(diǎn)所需截面的間距和測(cè)點(diǎn)間的步長(zhǎng),在截面與子曲面的截交線上根據(jù)所求步長(zhǎng)求取各測(cè)點(diǎn)坐標(biāo)存入數(shù)據(jù)集A,生成初始測(cè)點(diǎn)集,如圖11c所示;最后,根據(jù)初始測(cè)點(diǎn)集擬合曲面,在法向偏差大于公差要求處增加測(cè)點(diǎn)并存入數(shù)據(jù)集A,生成輸出測(cè)點(diǎn)集,如圖11d所示。
分別利用本文算法、迭代重構(gòu)算法、均勻布點(diǎn)算法對(duì)如圖12所示的曲面進(jìn)行測(cè)點(diǎn)規(guī)劃,并在牧野機(jī)床V56i上進(jìn)行在線測(cè)量,以驗(yàn)證本文算法的精度。
在曲面上隨機(jī)分布1 200個(gè)測(cè)點(diǎn)并進(jìn)行在線測(cè)量,獲取相應(yīng)測(cè)點(diǎn)坐標(biāo)來(lái)擬合待測(cè)面的實(shí)際狀態(tài)并求取相應(yīng)偏差,將這些偏差值作為參照組。根據(jù)不同算法規(guī)劃的測(cè)點(diǎn)求得的偏差值如表3所示。本文算法和迭代重構(gòu)算法的誤差結(jié)果均與參照組接近,但本文所需的測(cè)點(diǎn)數(shù)小于迭代重構(gòu)算法,即采用本文算法規(guī)劃測(cè)點(diǎn),測(cè)量時(shí)探頭所需遍歷的測(cè)點(diǎn)數(shù)較少,測(cè)量效率較高;在相同測(cè)點(diǎn)數(shù)下,與均勻布點(diǎn)算法相比,本文算法的誤差更接近參照組,即本文算法規(guī)劃的測(cè)點(diǎn)能更詳細(xì)地描述曲面。
表3 不同測(cè)點(diǎn)規(guī)劃算法誤差對(duì)比表
本文重點(diǎn)研究自由曲面的三角網(wǎng)格模型自適應(yīng)測(cè)點(diǎn)規(guī)劃問(wèn)題。首先基于機(jī)床加工精度、公差要求、測(cè)量精度、平均曲率構(gòu)建測(cè)點(diǎn)密度預(yù)測(cè)模型;然后設(shè)定測(cè)點(diǎn)密度閾值,自適應(yīng)獲取聚類中心,將自由曲面劃分為測(cè)點(diǎn)密度大致相同的子曲面;最后針對(duì)測(cè)點(diǎn)密度大致相同的子曲面均勻布點(diǎn),并對(duì)測(cè)點(diǎn)集進(jìn)行優(yōu)化,從而實(shí)現(xiàn)三角網(wǎng)格模型自由曲面測(cè)點(diǎn)的自適應(yīng)分布。本文方法的優(yōu)點(diǎn)如下:
(1)通過(guò)曲面劃分的思想,采用本文設(shè)計(jì)的測(cè)點(diǎn)密度預(yù)測(cè)模型精簡(jiǎn)了測(cè)點(diǎn)數(shù)量,并能在提高測(cè)量效率的同時(shí)保證較高的測(cè)量精度。
(2)測(cè)點(diǎn)密度由曲率控制,針對(duì)同一加工曲面,其機(jī)床加工精度、公差要求、測(cè)量精度近似,測(cè)點(diǎn)密度主要受平均曲率影響,因此本文分布的測(cè)點(diǎn)可反映曲面的形狀信息。
(3)局部測(cè)點(diǎn)分布較規(guī)則,有利于測(cè)量路徑規(guī)劃。