林志熙
(福建工程學(xué)院 機(jī)械與汽車工程學(xué)院,福建 福州 350118)
無基準(zhǔn)線輪廓度誤差的評定,是零件形狀公差里最難以測量和評定的項目。隨著工業(yè)的快速發(fā)展,為了滿足各種性能要求,橢圓、拋物線、雙曲線等平面二次曲線在工程中被廣泛應(yīng)用,這就使得曲線輪廓度的評定方法研究有著重要意義。陸辛成等[1]提出一種模擬實(shí)際量具測量過程的方法來評定線輪廓度誤差。易建[2]利用差分進(jìn)化算法(DE)評定橢圓輪廓度誤差,概念簡單和收斂速度較快。路坦等[3]應(yīng)用最小二乘法和條件約束優(yōu)化方法計算和評定線輪廓度誤差,分離和消除了被測輪廓與理論輪廓間的位置誤差對輪廓度誤差評定結(jié)果的影響。王海洋等[4]人發(fā)展了原理基于最小條件法的幾何遍歷法,當(dāng)其搜索區(qū)域足夠廣、足夠密集時,在理論上可以對理論擬合曲線進(jìn)行無限的逼近,是一種具有較高實(shí)際利用價值和研究價值的方法。該方法微調(diào)最小二乘法確定的擬合曲線,讓其作為母擬合曲線,從而在其附近衍生出大量的子擬合曲線,并通過計算搜索出最理想的曲線作為最小區(qū)域法的擬合曲線。衍生出的擬合曲線數(shù)量越多,找到全局最優(yōu)解的機(jī)會越大,計算時間也會正比例上升。
本研究提出了一種改進(jìn)的二次曲線輪廓度誤差的評定方法,在幾何遍歷的基礎(chǔ)上,探索出由大量衍生曲線中快速搜索出最理想曲線,即找到全局最優(yōu)解的方法,實(shí)驗證明,該算法簡單可靠。
按照國家標(biāo)準(zhǔn)GB/T 1958—2004規(guī)定,最小區(qū)域法評定形狀誤差,即被測提取要素對其擬合要素的最大變動量為最小[5]。評定曲線輪廓度誤差,即是指包容被測輪廓的擬合曲線等距線最小距離[6]。因此,計算輪廓度誤差的主要任務(wù)就是找出最佳擬合曲線,然后求出各測點(diǎn)到該擬合曲線的法向距離,距離極差就是該曲線的輪廓度誤差值。
已知二次曲線的一般方程為:
F(x,y)=Ax2+Bxy+Cy2+Dx+Ey+1
(1)
如圖1所示,設(shè)P(xi,yi)(i=1,2,3,…,n)為曲線輪廓的測點(diǎn)。過測點(diǎn)P(xi,yi)的擬合曲線法線與擬合曲線有交點(diǎn)M(Xi,Yi),則M點(diǎn)既在法線上,又在擬合曲線上[7],可聯(lián)立二元二次方程組:
圖1 法向距離示意圖
求出M(Xi,Yi),然后通過兩點(diǎn)間距離方程:
(3)
求得測點(diǎn)到擬合曲線上的法向距離,并令外側(cè)測點(diǎn)的法向距離為正,內(nèi)側(cè)測點(diǎn)的法向距離為負(fù)。
根據(jù)幾何遍歷法的思路,最佳擬合曲線的尋找,是通過一條初始曲線作為擬合的起點(diǎn),改變其位置和大小進(jìn)行遍歷搜索,當(dāng)搜索范圍足夠小,計算精度就足夠高。評定原理如圖2所示。以橢圓為例,將最小二乘法所擬合的曲線作為初始橢圓。其余衍生橢圓位置及大小是通過微調(diào)兩橢圓焦點(diǎn)位置實(shí)現(xiàn)的(若評定拋物線輪廓度誤差, 則是通過微調(diào)拋物線的焦點(diǎn)和拋物線對稱軸與準(zhǔn)線的交點(diǎn)實(shí)現(xiàn)的)。
1-焦點(diǎn)Q1(x1,y1);2-衍生焦點(diǎn)(xw1 (i,j),yw1 (i,j));3-衍生焦點(diǎn)的擬合橢圓;4-實(shí)際被測橢圓;5-衍生焦點(diǎn)(xw2 (i,j),yw2 (i,j));6-焦點(diǎn)Q2(x2,y2);7-最小二乘橢圓(初始橢圓);8-最小二乘橢圓圓心(x0,y0);f-最小二乘法輪廓度誤差圖2 評定原理圖
由初始橢圓的5個系數(shù)計算該橢圓長半軸a、短半軸b、圓心坐標(biāo)(x0,y0)、長半軸與x軸夾角θ:
(4)
(5)
然后由焦點(diǎn)Q1、Q2可計算出一系列衍生焦點(diǎn),衍生的方式是以起始焦點(diǎn)為中心,以最小二乘法所算得的誤差f為邊長,將邊長N等分,劃分兩個(N+1)×(N+1)的正方形網(wǎng)格點(diǎn),各網(wǎng)格點(diǎn)坐標(biāo):
(i,j=1,2,…,N+1)
(6)
這樣每個網(wǎng)格就有(N+1)2個網(wǎng)格點(diǎn),幾何遍歷法直接將兩個網(wǎng)格上的點(diǎn)進(jìn)行兩兩配對,每一次配對產(chǎn)生一對衍生焦點(diǎn),共可產(chǎn)生(N+1)4對衍生焦點(diǎn)。若干對焦點(diǎn)后續(xù)就需完成若干對擬合曲線的計算,工作量很大,運(yùn)算速度慢。而在按順序進(jìn)行焦點(diǎn)配對時,發(fā)現(xiàn)所配對焦點(diǎn)對應(yīng)的線輪廓誤差值是在連續(xù)逐漸變化的,且變化的幅度遠(yuǎn)遠(yuǎn)小于理論誤差值。因此,若配對焦點(diǎn)所對應(yīng)的誤差值過大,則其附近的衍生焦點(diǎn)也不會是最理想曲線。因此,本文將該算法進(jìn)行了改進(jìn)。
如圖3所示,在這些衍生焦點(diǎn)中確定了一些均布的點(diǎn)作為標(biāo)志點(diǎn),確定的標(biāo)志點(diǎn)數(shù)目為((N+1)/3)4,因此劃分的網(wǎng)格數(shù)應(yīng)選擇為3的倍數(shù)少1。
注:·標(biāo)志點(diǎn);×標(biāo)志點(diǎn)周圍的子點(diǎn)圖3 網(wǎng)格劃分示意圖
標(biāo)志點(diǎn)坐標(biāo)為:
(7)
標(biāo)志點(diǎn)的作用便是在后續(xù)步驟計算中減少對這些不必要的衍生焦點(diǎn)的計算。標(biāo)志點(diǎn)周邊的網(wǎng)格點(diǎn)稱為子點(diǎn),令每個標(biāo)志點(diǎn)周圍都有屬于自己的8個子點(diǎn),包括自身共有9個點(diǎn):
(i,j=1,2,3)
(8)
將一個網(wǎng)格的標(biāo)志點(diǎn)與另一個網(wǎng)格的標(biāo)志點(diǎn)進(jìn)行兩兩配對,計算由標(biāo)志點(diǎn)配對成的衍生焦點(diǎn)對應(yīng)的橢圓擬合曲線主參數(shù)。由標(biāo)志點(diǎn)坐標(biāo),求得其衍生橢圓的主參數(shù),進(jìn)而求出對應(yīng)橢圓方程系數(shù)值A(chǔ)、B、C、D、E。由標(biāo)志點(diǎn)可配對出((N+1)/3)4對衍生焦點(diǎn),因此可計算出((N+1)/3)4組系數(shù)值,得到((N+1)/3)4條擬合曲線,然后計算這((N+1)/3)4條擬合曲線的線輪廓度誤差Δ。
以最小二乘法所算得的誤差值f為判斷標(biāo)準(zhǔn),若Δ比f大的則認(rèn)為其對應(yīng)擬合曲線附近的曲線不會包含最佳曲線,也就是說,對應(yīng)的標(biāo)志點(diǎn)配對成的衍生焦點(diǎn)及其附近子點(diǎn)配對成的衍生焦點(diǎn)不會是最佳曲線所對應(yīng)的焦點(diǎn)。則其對應(yīng)的標(biāo)志點(diǎn)及周圍的8個子點(diǎn),不再進(jìn)行其他操作;若Δ比f小,則將Δ對應(yīng)的標(biāo)志點(diǎn)周圍的子點(diǎn)(xz1,yz1)(xz2,yz2)再兩兩進(jìn)行匹配,計算其對應(yīng)擬合曲線輪廓度誤差Δ′。從而可獲得多個Δ′,令其為集合q。
找出集合q中最小的那個Δ′所對應(yīng)的兩焦點(diǎn)坐P1(x′1,y′1)P2(x′2,y′2),類似的,以L=f/N為邊長擴(kuò)展2個3×3網(wǎng)格:
(i,j=1,2,3)
(9)
同樣按照之前相同的方法進(jìn)行,兩兩配對,并計算出對應(yīng)曲線的一系列線輪廓度誤差Δ″,成為新的集合q,并令L=L/2,這便完成了一次迭代。然后繼續(xù)找出q中最小的線輪廓誤差所對應(yīng)的焦點(diǎn)坐標(biāo),進(jìn)行下一次同樣的操作。如此循環(huán)直到找出迭代運(yùn)算后算得的滿足精度要求的最小的誤差值Δ''',即為最小條件法所求最終誤差值。其對應(yīng)的曲線,即為本方法所求的最佳擬合曲線。程序流程圖如圖4所示。
利用MATLAB的強(qiáng)大的數(shù)學(xué)功能和繪圖功能編制程序。運(yùn)算速度對于最小條件評定而言是至關(guān)重要。計算量最大的即為數(shù)量極其龐大的點(diǎn)到曲線的二元二次方程式(1) 的求解。求解精度越高,數(shù)量越多。因此對于該方程的計算速度需要錙銖必較。MATLAB方程組常常采用內(nèi)置函數(shù)solve求解編程語句簡單,但經(jīng)實(shí)驗驗證該方法求解一個方程組需22 s。而本研究采取前半部用龐雜的表達(dá)式計算,后半部用roots求根函數(shù),將解析過程縮短約為0.005 s,提升了4 500倍左右,大大縮短了用時,為最小區(qū)域法的研究提供了可能。
借助MATLAB強(qiáng)大的GUI功能開發(fā)友好界面,具有數(shù)據(jù)載入保存、誤差計算、繪圖和自動生成實(shí)驗報告等基本功能,實(shí)現(xiàn)測量數(shù)據(jù)、處理結(jié)果的可視化[8]。
為了驗證本文提出的評定方法的準(zhǔn)確性,根據(jù)參考文獻(xiàn)[9]的推論,通過MATLAB軟件人為在一組標(biāo)準(zhǔn)橢圓制造誤差為0.1 mm的30個測點(diǎn),如表1所示。這組數(shù)據(jù)內(nèi)包容線過第6、16、26點(diǎn),外包容線過1、11、21,兩曲線的法向距離為0.1mm,即該橢圓輪廓度理論誤差為0.1 mm。內(nèi)外兩包容線凹凸交叉包容的六點(diǎn)滿足最小條件的判定原則。
表1 橢圓測點(diǎn)數(shù)據(jù)
先用最小二乘法計算出該橢圓輪廓度誤差值0.137 920 mm,即為網(wǎng)格的邊長。最小二乘橢圓的焦點(diǎn)坐標(biāo)Q1(18.840 9,81.165 7),Q2(70.386 6,8.058 5),且令N=11,作為初始條件帶入算法。運(yùn)行后所得界面如圖5所示。
圖5 最小條件法界面
由圖5界面下圖橢圓擬合曲線圖可知最小條件擬合拋物線與測點(diǎn)匹配程度高,曲線光順。由上圖橢圓誤差放大示意圖可知,第26點(diǎn)為最內(nèi)側(cè)點(diǎn),第11點(diǎn)為最外側(cè)點(diǎn)。計算所有測點(diǎn)到最小條件橢圓的法向距離可知,第1、11、21點(diǎn)分別為距離理想橢圓最遠(yuǎn)的3個點(diǎn),分別為0.050 06,0.050 061,0.050 060 mm,即為理論設(shè)置的外包容點(diǎn);第6、16、26點(diǎn)為最近點(diǎn),分別為-0.049 943,-0.049 938,-0.049 945 mm,即為理論設(shè)置的內(nèi)包容點(diǎn),與數(shù)據(jù)的理論設(shè)定參數(shù)高度吻合。最小條件法評定誤差值為0.100 006 mm,相對誤差僅為0.006%,由此可見評定精度很高,故最小條件法編程思路是正確。
值得一提的是網(wǎng)格的劃分?jǐn)?shù)N的選取,由于本研究確定了一些均布的點(diǎn)作為標(biāo)志點(diǎn),因此劃分的網(wǎng)格數(shù)應(yīng)選擇為3的倍數(shù)少1。由表2可知,網(wǎng)格的劃分?jǐn)?shù)N越大,網(wǎng)格點(diǎn)密度越大,得到的誤差值越小,所以算法是收斂的,但計算效率越低。當(dāng)N>11后,評定相對誤差相差甚少,但用時呈倍數(shù)增加。當(dāng)N<11前,評定相對誤差呈數(shù)百倍增加,但計算用時相差無幾。但即使N=2時,評定誤差也僅為0.115 3 mm,比最小二乘法評定結(jié)果0.137 9 mm精度更高,符合國標(biāo)規(guī)定,誤差值可作為發(fā)生爭議時進(jìn)行仲裁的依據(jù)。因此評定時網(wǎng)格的劃分?jǐn)?shù)N推薦取值≤11左右即可獲得較好的評定精度和評定效率的統(tǒng)一。
表2 數(shù)據(jù)處理精度對比
程序中令N=11,若按照文獻(xiàn)[4]的遍歷搜索算法,需計算(11+1)4=20 736條曲線,而優(yōu)化后的算法僅需要計算1 620條曲線,僅需6.77 s,完全達(dá)到秒算的效果。
該方法還可推廣至其他平面二次曲線,本研究還編制了拋物線最小條件法數(shù)據(jù)處理系統(tǒng),將文獻(xiàn)[10]里表7一組基于拋物線幾何遍歷算法的數(shù)據(jù)進(jìn)行驗證,對比效果見表2所示。網(wǎng)格點(diǎn)密度為拋物線每個初始焦點(diǎn)所衍生出的網(wǎng)格點(diǎn)數(shù)目。由表3可知,本文拋物線最小區(qū)域法配對的網(wǎng)格點(diǎn)數(shù)量是文獻(xiàn)[10]的3倍多,評定精度大大提高,但計算速度更快。因而在相同的計算時間內(nèi),本文可以搜索更廣的區(qū)域,就有更多的機(jī)會搜尋到全局最優(yōu)解。證明了本算法在精度要求較高的時候,通過優(yōu)化搜索方法,縮短運(yùn)算時間,擴(kuò)大搜索區(qū)域以接近全局最優(yōu)解的可行性。
表3 拋物線數(shù)據(jù)處理結(jié)果對比
提出了一種提高平面二次曲線輪廓度誤差評定效率的方法,用MATLAB軟件實(shí)現(xiàn)誤差評定的可視化,并通過實(shí)例驗證了該算法的可靠性。該算法原理簡單,能快速準(zhǔn)確搜索最佳匹配曲線,可有效的解決基于最小條件的任意平面二次曲線輪廓度誤差的評定。且通過調(diào)整網(wǎng)格點(diǎn)的密度實(shí)現(xiàn)評定精度的提高,在零件輪廓度要求較高的場合具有一定的應(yīng)用價值。