王玉梅,于劍斌
(天津中德應(yīng)用技術(shù)大學(xué),天津300350)
逆向工程技術(shù)在工程實踐中的應(yīng)用越來越多,比如:損壞或磨損零件的還原、無設(shè)計圖紙的情況下對現(xiàn)有零件的復(fù)制、改進(jìn)和創(chuàng)新設(shè)計等。用一定的測量手段對實物或模型進(jìn)行測量,采集測量數(shù)據(jù)點,通過計算機(jī)輔助設(shè)計的方法重構(gòu)實物CAD模型。在此過程中,有兩個關(guān)鍵問題需要解決,一是采用什么樣的測量方法,能夠得到準(zhǔn)確的測量數(shù)據(jù),二是如何對測量數(shù)據(jù)進(jìn)行處理,剔除影響測量精密度的異常點。
基于“裹圓”結(jié)構(gòu)的少半圓類零件進(jìn)行反求設(shè)計,三點定圓法會使測量誤差放大,圓心角越小,放大系數(shù)增長越劇烈[1],需要在圓弧上密集采點[2];采集數(shù)據(jù)點后,常采用最小二乘法來評價圓或圓弧,當(dāng)圓弧段比較短時,若用常規(guī)的最小二乘法來擬合,會產(chǎn)生較大的誤差。對于此方面的理論研究很多,文獻(xiàn)[1,3,5]均對常規(guī)的最小二乘法擬合短圓弧或少半圓做了分析。文獻(xiàn)[3,4]對圓心固定的最小二乘法做了理論分析。測量得到的數(shù)據(jù),往往存在影響測量精密度的異常點,如何剔除這些異常點,目前常用的方法為拉依達(dá)準(zhǔn)則[6,7],用該法則每剔除一個異常點,就要重新計算一次n-1個數(shù)據(jù)的平均值,殘余誤差和標(biāo)準(zhǔn)偏差,若測量列中有幾個異常值需要剔除時,這樣顯然是非常繁瑣的。
從實踐的角度出發(fā),將設(shè)計基準(zhǔn)、工藝基準(zhǔn)及檢測基準(zhǔn)統(tǒng)一,避免繁瑣的數(shù)據(jù)處理消除基準(zhǔn)不統(tǒng)一產(chǎn)生的誤差。本文提出一種新的逐步逼近算法剔除異常點,假設(shè)每一個測量值均為測量真值,得到一個標(biāo)準(zhǔn)公差數(shù)列,根據(jù)剔除測量點前后的標(biāo)準(zhǔn)公差最大值的相對誤差判別該點是否剔除,逐步逼近設(shè)定的相對誤差值,直至剔除前后標(biāo)準(zhǔn)公差數(shù)列基本無變化。
對于曲線或曲面的測量,誤差產(chǎn)生的原因之一在于設(shè)計基準(zhǔn)和測量基準(zhǔn)不統(tǒng)一的問題,測量得到的數(shù)據(jù)還需進(jìn)行數(shù)據(jù)處理消除基準(zhǔn)不統(tǒng)一產(chǎn)生的誤差,數(shù)據(jù)處理過程復(fù)雜且工程應(yīng)用性較差。本文在檢測過程中,綜合考慮設(shè)計基準(zhǔn)、工藝基準(zhǔn)及檢測基準(zhǔn),將測量基準(zhǔn)建立在設(shè)計基準(zhǔn)上,從而消除了由于兩基準(zhǔn)不統(tǒng)一產(chǎn)生的誤差。
如圖1所示,大圓弧和中間孔同心,因此大圓弧的圓心通過中間孔的軸線確定,中間孔的軸線是設(shè)計基準(zhǔn),這樣就實現(xiàn)了設(shè)計基準(zhǔn)和測量基準(zhǔn)的統(tǒng)一,并將圓弧的圓心固定在測量基準(zhǔn)上,因此將工件坐標(biāo)系的原點定義在中間孔的軸線上。
圖1 測量基準(zhǔn)位置標(biāo)識
基準(zhǔn)確定后,使用的是蔡司MC550型號的三坐標(biāo)測量機(jī),此機(jī)器通過探針的紅寶石和工件進(jìn)行接觸得到接觸點在探測方向上的矢量坐標(biāo),要想求出探針的紅寶石與測量面的實際接觸點三個方向的坐標(biāo)是極其復(fù)雜的,但是求取紅寶石球心的位置相對比較簡單,即得到紅寶石球心在測量過程中的軌跡,從而可以間接得到紅寶石與測量面實際接觸點的軌跡。
在探測點的過程中,為了保證紅寶石球心通過圓弧的圓心,避免出現(xiàn)測頭半徑補(bǔ)償誤差,在獲取紅寶石球心點的坐標(biāo)時,要盡量保證探測方向沿圓弧的法線方向。
在測量過程中,經(jīng)常會存在異常點,異常點是不可取的。最常用的異常點判別法則為拉依達(dá)準(zhǔn)則[7],應(yīng)用此準(zhǔn)則應(yīng)先算出等精度獨立測量列Li(i=1,2,…,n)的平均值lˉ及殘余誤差vi=li-lˉ,并按貝塞爾公式算出該測量列的標(biāo)準(zhǔn)偏差σb.
式中,σb為賽貝爾公式計算的標(biāo)準(zhǔn)差估算值;為測量數(shù)據(jù)的平均值;n為測量次數(shù)。
如果某測量值ld的殘余誤差vd=ld-滿足下式則認(rèn)為ld為異常值,需要剔除。用拉依達(dá)準(zhǔn)則每剔除一個異常點,就要重新計算一次n-1個數(shù)據(jù)的平均值,殘余誤差vi和標(biāo)準(zhǔn)偏差σb,若測量列中有幾個異常值需要剔除時,這樣顯然是非常繁瑣的。
針對拉依達(dá)準(zhǔn)則的缺陷,提出一種新的算法,該算法假設(shè)測量列中每一個測量值為真值,根據(jù)標(biāo)準(zhǔn)公差的計算公式(2)計算出標(biāo)準(zhǔn)偏差數(shù)列,標(biāo)準(zhǔn)偏差值越大,說明該點偏離整體樣本的距離,超出精密度要求的測量點即被剔除,剔除標(biāo)準(zhǔn)偏差最大的測量點后,剩余的測量點再計算標(biāo)準(zhǔn)偏差數(shù)列,如此循環(huán)逼近,最后使標(biāo)準(zhǔn)偏差最大值的相對誤差控制在一定的范圍內(nèi),即完成異常點的剔除。
2.2.1 計算標(biāo)準(zhǔn)偏差數(shù)列
根據(jù)標(biāo)準(zhǔn)差計算公式計算標(biāo)準(zhǔn)公差數(shù)列
其中,ld為第d次測量得到的測量數(shù)據(jù);σd為假設(shè)第d個測量數(shù)據(jù)ld為真值時的標(biāo)準(zhǔn)偏差;li為第i次測量得到的數(shù)值;n為測量次數(shù)。
σ1為假設(shè)第1個測量數(shù)據(jù)l1為真值時的標(biāo)準(zhǔn)偏差;σn為假設(shè)第n個測量數(shù)據(jù)ln為真值時的標(biāo)準(zhǔn)偏差。
2.2.2 尋找標(biāo)準(zhǔn)偏差數(shù)列中的極值
首先,將第一個點的值作為標(biāo)準(zhǔn)公差值中的極值σmax,第二點和第一點的標(biāo)準(zhǔn)公差值進(jìn)行比較,較大者作為標(biāo)準(zhǔn)公差值的極值σmax,依次后一個和前一個公差值的大小,最終輸出整個數(shù)列中標(biāo)準(zhǔn)公差值中的極值σmax,尋求極值的流程圖如圖2所示。
圖2 標(biāo)準(zhǔn)公差極值計算流程圖
2.2.3 剔除使標(biāo)準(zhǔn)公差最大的測量值
剔除使標(biāo)準(zhǔn)公差最大的測量值后,重復(fù)2.2.1和
2.2.2 得到剔除后的標(biāo)準(zhǔn)公差的最大值σ剔max.
2.2.4 判別剔除點是否為異常點
此算法通過計算剔除前后標(biāo)準(zhǔn)差最大值的相對誤差來判別異常點,如果相對誤差小于β,說明剔除該點前后對精密度的影響不大,判別該點為正常測量點,不予剔除。如果相對誤差大于β,則應(yīng)剔除該點,然后重復(fù)步驟一至四,循環(huán)逼近,直到剔除前后標(biāo)準(zhǔn)差最大值的相對誤差小于β為止。
其中σmax為未剔除異常點時的標(biāo)準(zhǔn)公差最大值;σ剔max為剔除異常點后的標(biāo)準(zhǔn)公差的最大值;β為定義為剔除系數(shù)。
下面通過測量實例來說明上述方法的應(yīng)用,使用蔡司MC550型號的三坐標(biāo)測量機(jī),此機(jī)器通過探針的紅寶石和工件進(jìn)行接觸得到接觸點在探測方向上的矢量坐標(biāo),可以很方便的得到探針紅寶石球心在測量過程中的軌跡,從而可以間接得到紅寶石與測量面實際接觸點的軌跡。表1為探針紅寶石球心的坐標(biāo)值。由于測量數(shù)據(jù)較多,計算量比較大,應(yīng)用MATLAB數(shù)學(xué)軟件進(jìn)行編程計算。
表1 三坐標(biāo)探針紅寶石球心坐標(biāo)值
本次測量采集60組數(shù)據(jù)點,通過每一個紅寶石球心點的X坐標(biāo)和Y坐標(biāo)可以得到紅寶石球心點到基準(zhǔn)原點的距離值,此距離值減去紅寶石的半徑即為少半圓上該點的半徑值(n=1,2,3….60)。對此 60個半徑值應(yīng)用此循環(huán)逼近算法進(jìn)行異常點的剔除。
首先計算標(biāo)準(zhǔn)偏差數(shù)列,由探測到的60組測量數(shù)據(jù),對于一個測量數(shù)據(jù)均對應(yīng)一個標(biāo)準(zhǔn)差,60個標(biāo)準(zhǔn)差的數(shù)值如圖所示,由圖3剔除異常點前曲線可知,少數(shù)標(biāo)準(zhǔn)差數(shù)值與平均標(biāo)準(zhǔn)差的偏離比較大,影響測量的精密度,需要判別是否為異常點,采用循環(huán)逼近的算法,剔除使標(biāo)準(zhǔn)公差最大的測量值,反復(fù)多次后,直至標(biāo)準(zhǔn)差最大值的相對誤差控制在合理的范圍內(nèi)。
圖3 剔除前后標(biāo)準(zhǔn)差變化示意圖
通過圖3可知,剔除最后兩個點前后,標(biāo)準(zhǔn)公差幾乎沒有太大變化,說明標(biāo)準(zhǔn)差趨于穩(wěn)定,異常點剔除算法結(jié)束。
1)很多相關(guān)分析表明,針對具有少半圓零件進(jìn)行數(shù)據(jù)采集時,三點定圓法誤差會放大,因此,本文采用密集采點法,并采用圓心固定的最小二乘法提高擬合精度,減少測量誤差。
2)綜合考慮設(shè)計基準(zhǔn)、加工工藝基準(zhǔn)和檢測基準(zhǔn),為了減少測量誤差和繁瑣的數(shù)據(jù)處理,將檢測基準(zhǔn)和設(shè)計基準(zhǔn)重合,即使工件坐標(biāo)系和測量坐標(biāo)系重合。
3)提出一種新的、適合工程應(yīng)用的異常點剔除算法,假設(shè)每一個測量數(shù)據(jù)均是測量真值,得到標(biāo)準(zhǔn)差數(shù)列,尋求標(biāo)準(zhǔn)差最大值對應(yīng)的測量點予以剔除,然后計算剔除前后的標(biāo)準(zhǔn)差最大值的相對誤差,控制在一定范圍內(nèi)則保留該點,否則剔除。該方法計算簡單,只須反復(fù)調(diào)用標(biāo)準(zhǔn)公差計算公式即可,實時性好。