胡仲勛 楊旭靜 金湘中
湖南大學(xué),長沙,410082
隨著航空、航天、機(jī)械制造等領(lǐng)域的精密與超精密加工技術(shù)、微納制造技術(shù)以及數(shù)字化制造與檢測技術(shù)的發(fā)展,機(jī)械產(chǎn)品及其零部件的精度要求越來越高。然而,評價(jià)產(chǎn)品精度的一類重要問題——形狀誤差的評定理論和算法仍不完善,尤其是空間直線度誤差,作為一種最復(fù)雜的形狀誤差,其評定算法一直處于探索之中。
空間直線度誤差的評定算法主要有兩類。一類是符合ISO或國家標(biāo)準(zhǔn)規(guī)定的最小條件的精確算法,即最小包容區(qū)域法。由于其評定模型的非線性和不可微性,使得這類算法的求解非常困難,因此,國內(nèi)外許多學(xué)者運(yùn)用各種數(shù)學(xué)理論或優(yōu)化算法對此進(jìn)行了研究。如最小平行六面體包絡(luò)法[1]、基于柱面坐標(biāo)系的非線性模型[2-3]、凸殼理論[4]、數(shù)學(xué)規(guī)劃理論[5]、基于實(shí)數(shù)編碼的遺傳算法[6]、非線性鞍點(diǎn)規(guī)劃法[7]、改進(jìn)的遺傳算法[8]、粒子群算法[9]、坐標(biāo)變換原理[10]、半無限線性規(guī)劃與基于單純形的算法[11]、半有限規(guī)劃與內(nèi)點(diǎn)算法[12-13]、平面化投影處理方法[14]、逐次二次規(guī)劃法[15]等。雖然上述研究各有其有效性,但仍很不完善。另一類是生產(chǎn)實(shí)際中常用的算法,這類算法屬于近似算法。如兩端點(diǎn)連線算法、最小二乘算法(least squares method,LSM)等。其中,兩端點(diǎn)連線算法不穩(wěn)定,其評定結(jié)果有時(shí)較精確,有時(shí)偏差很大。LSM算法具有一定的精度,是目前較實(shí)用的方法。在坐標(biāo)測量機(jī)(coordinate measuring machine,CMM)的誤差評定系統(tǒng)中,都是采用LSM算法。但是,由于LSM算法的數(shù)學(xué)模型在原理上存在缺陷,評定精度不夠高,評定結(jié)果存在較大的不確定度等問題,所以,有不少學(xué)者對LSM算法進(jìn)行了改進(jìn)研究。如文獻(xiàn)[16-21]在LSM算法的不確定度計(jì)算或LSM算法的改進(jìn)方面作了一些研究,但這些文獻(xiàn)中體現(xiàn)的對 LSM算法的原理缺陷的認(rèn)識都還不夠深入。
筆者通過對 LSM算法的分析認(rèn)為,其原理缺陷是:LSM算法不是三維擬合算法,實(shí)質(zhì)上只是一種二維平面內(nèi)最小二乘擬合的合成,它不能直接擬合空間直線。而且,當(dāng)測點(diǎn)在X、Y、Z坐標(biāo)軸上的坐標(biāo)值具有相同數(shù)量級時(shí),用LSM算法評定空間直線度誤差的結(jié)果是有效的,但存在一定的評定誤差;而當(dāng)X、Y、Z坐標(biāo)軸上的坐標(biāo)值具有不同的數(shù)量級時(shí),其評定結(jié)果存在嚴(yán)重失真。這種失真會嚴(yán)重影響到空間直線度誤差評定結(jié)果的有效性;甚至造成被檢零件的“誤收”或“誤廢”。因此,有必要提出一種能從根本上克服LSM算法的原理缺陷的新算法。
本文在文獻(xiàn)[20-21]研究的基礎(chǔ)上,提出評定空間直線度誤差的3DLSA算法(three dimensional least squares algorithm),以從根本上克服LSM算法的原理缺陷,并推導(dǎo)出3DLSA算法的數(shù)學(xué)模型,實(shí)現(xiàn)空間直線真正的三維(3D)擬合;最后,用實(shí)例驗(yàn)證其有效性,以期能用于較高精度的空間直線度誤差評定。
如圖1所示,設(shè)在坐標(biāo)測量機(jī)CMM 上測得某零件空間直線度的誤差測點(diǎn)集為
設(shè)k個(gè)測點(diǎn)的3D最小二乘擬合直線Lf通過某一點(diǎn)P0(x0,y0,z0),且其方向向量為(l,m,n),則Lf的方程為
若空間直線度誤差測點(diǎn)集R中的任一點(diǎn)Pi(xi,yi,zi)到Lf的距離為
根據(jù)幾何學(xué)理論,對空間直線Lf的方向數(shù) l、m、n進(jìn)行歸一化處理,得
根據(jù)最小二乘原理,應(yīng)使di的平方和為最小,有
通過求解式(4)的最小值,并簡記:
可得到3D最小二乘擬合直線Lf的方向向量(l,m,n)為
同時(shí)得
將式(9)、式(10)、式(11)展開,并在其展開式中還原式(5)的簡記,則得
在式(12)、式(13)、式(14)中:
聯(lián)立求解式(12)、式(13)、式(14)可得到3D最小二乘擬合中心點(diǎn)P0(x0,y0,z0)的坐標(biāo):
按上述推導(dǎo),可由測點(diǎn)集 R中 k個(gè)測點(diǎn)Pi(xi,yi,zi)的坐標(biāo)值計(jì)算出 x0、y0、z0 和 l、m 、n,從而計(jì)算出各測點(diǎn)至空間最小二乘擬合直線Lf的距離 di,并比較k個(gè)di的大小,找出di的最大值max di。
根據(jù)國家標(biāo)準(zhǔn)GB/T 11336—2004[22]規(guī)定,在實(shí)際應(yīng)用中,可簡化計(jì)算任意方向上直線度(即空間直線度)的誤差值為
而且,該國家標(biāo)準(zhǔn)還規(guī)定了用最小二乘法評定任意方向上直線度誤差的判別法:用軸線平行于最小二乘中線Lf的圓柱面C包容實(shí)際直線時(shí),只有滿足下列形式之一,該算法有效:①兩點(diǎn)形式(圖2);②三點(diǎn)形式(圖3)。
上述國家標(biāo)準(zhǔn)規(guī)定的實(shí)際上是要求3DLSA算法應(yīng)按上述公式計(jì)算得到最小二乘中線Lf的方向向量后,再運(yùn)用一定的優(yōu)化算法(如復(fù)合形法等),變動(dòng)最小二乘擬合中心點(diǎn)P0的坐標(biāo)值 x0、y0、z0,使Lf平移(平行)到圖2或圖3中的Ls,從而求出di最大值的最小值,即可求得空間直線度的誤差值為
根據(jù)上述推導(dǎo)可知,3DLSA算法可以由測點(diǎn)集各測點(diǎn)的坐標(biāo)值直接計(jì)算、擬合,確定其3D最小二乘擬合直線Lf,從而實(shí)現(xiàn)真正的3D最小二乘擬合。
根據(jù)上述 3DLSA算法的數(shù)學(xué)模型,利用MATLAB7.0編制出空間直線度誤差的評定程序。為便于比較和分析,下面引用一些研究同行們對空間直線度誤差的測點(diǎn)數(shù)據(jù)進(jìn)行數(shù)字實(shí)驗(yàn),以驗(yàn)證3DLSA算法的有效性,并與LSM 算法和其他多種算法作對比實(shí)驗(yàn),以分析3DLSA算法的效能。
驗(yàn)證 3DLSA算法的有效性,就是要使3DLSA算法的計(jì)算結(jié)果滿足圖2或圖3的判別法,即在測點(diǎn)集的三維最小二乘中線包容圓柱面C上有兩個(gè)或三個(gè)測點(diǎn)與其接觸。下面以國內(nèi)外同行的多組測點(diǎn)數(shù)據(jù)進(jìn)行數(shù)字實(shí)驗(yàn),按 3DLSA算法評定空間直線度誤差時(shí),得到的計(jì)算結(jié)果如表1所示。
表1 按3DLSA算法的計(jì)算結(jié)果
由表1的計(jì)算結(jié)果可以看出,用3DLSA算法評定空間直線度誤差時(shí),總能得到2個(gè)或3個(gè)相等的最高點(diǎn)與其最小二乘中線包容圓柱面C相接觸。這表明,3DLSA算法能滿足國家標(biāo)準(zhǔn)規(guī)定的圖2或圖3的接觸形式,因此,3DLSA算法是一種有效的評定空間直線度誤差的算法。
下面通過與LSM算法及其他多種算法進(jìn)行比較,以驗(yàn)證3DLSA算法的效能。
對采用3DLSA算法與LSM算法和其他多種算法的計(jì)算結(jié)果進(jìn)行比較,分別列于表2、表3。
表2 3DLSA算法與LSM算法的比較
表3 3DLSA算法與其他算法的比較
在表2中,按照測點(diǎn)數(shù)據(jù)的特點(diǎn),可以分兩種情況進(jìn)行分析和說明:
(1)測點(diǎn)數(shù)據(jù)值相差幾個(gè)數(shù)量級。如表2中的第①、第②兩組測點(diǎn)數(shù)據(jù),按3DLSA算法評定的空間直線度誤差值分別為 17.1252μ m、7.2448μ m,而按LSM 算法評定的誤差值分別為171 324.3700μ m 、771 845.6700μ m;由于已驗(yàn)證3DLSA算法是有效的,因此,LSM算法的評定結(jié)果是可疑的。有鑒于此,Wen等[8]對第①組測點(diǎn)數(shù)據(jù)的 xi、yi、zi坐標(biāo)值調(diào)換 ,使 xi、yi坐標(biāo)值具有相同的數(shù)量級,得到第③組測點(diǎn)數(shù)據(jù),此時(shí)按3DLSA算法、LSM算法評定的空間直線度誤差值分別為17.1252μ m 、16.6671μ m。對于LSM 算法的計(jì)算結(jié)果,由于原文獻(xiàn)中缺少第⑥、第⑦兩組數(shù)據(jù)的LSM算法的計(jì)算結(jié)果,表2中的數(shù)據(jù)是筆者按文獻(xiàn)[22]中的LSM算法編程計(jì)算得到的結(jié)果,且只有第③組測點(diǎn)的計(jì)算結(jié)果與文獻(xiàn)[8]用LSM 算法的計(jì)算結(jié)果(16.6671μ m)相等。
對于表2第①、第②兩組數(shù)據(jù),只是調(diào)換了坐標(biāo)軸的次序,各測點(diǎn)的相對差值并沒有改變,它們的空間直線度誤差值也應(yīng)是相同的,3DLSA算法的評定結(jié)果驗(yàn)證了這一點(diǎn);而LSM算法的評定結(jié)果卻相差懸殊。由此表明:3DLSA算法對各種測點(diǎn)數(shù)據(jù),都能得到較正確的評定值,具有非常好的魯棒性;而LSM 算法不能用于評定 xi、yi坐標(biāo)值相差幾個(gè)數(shù)量級的測點(diǎn)數(shù)據(jù)。
鑒于3DLSA算法的魯棒性非常好,所以表2中的比較結(jié)果是以該算法的評定結(jié)果為基準(zhǔn)的。
(2)測點(diǎn)數(shù)據(jù)值具有相同的數(shù)量級。由表2中的第③~第⑦組測點(diǎn)數(shù)據(jù)比較可知:按 LSM算法評定的誤差值相對于按3DLSA算法評定的誤差值,有時(shí)大于,有時(shí)小于,表明按 LSM 算法評定的評定結(jié)果是不穩(wěn)定的,不確定度較大。其原因是因?yàn)長SM算法存在投影和合成誤差。
上述實(shí)驗(yàn)證明,由于3DLSA算法能較精確地?cái)M合出空間直線 Ls,在評定空間直線度誤差中,具有非常好的魯棒性和較高的正確度。而LSM算法的評定結(jié)果不穩(wěn)定、不確定度較大,且在評定值相差幾個(gè)數(shù)量級的測點(diǎn)數(shù)據(jù)時(shí),其評定結(jié)果是嚴(yán)重失真的。由于原文獻(xiàn)中缺少第①組數(shù)據(jù)的兩端點(diǎn)連線算法的計(jì)算結(jié)果,表3中的數(shù)據(jù)是筆者采用文獻(xiàn)[22]中的兩端點(diǎn)連線算法編程計(jì)算得到的結(jié)果。
在表3中,對第⑤、第⑦兩組空間直線度誤差測點(diǎn)數(shù)據(jù)運(yùn)用3DLSA算法、兩端點(diǎn)連線算法以及相應(yīng)的文獻(xiàn)算法得到評定結(jié)果,比較可知,3DLSA算法評定的誤差值是最小的。
根據(jù)形位誤差評定理論,按最小區(qū)域法評定的形位誤差值應(yīng)該是唯一精確的最小值,按其他所有近似算法得到的形位誤差值一般都大于(或等于)這個(gè)最小值。由此可知,采用近似算法評定的形位誤差值越小,則表明按該近似算法的評定結(jié)果越接近按最小區(qū)域法評定的最小值,因而,其正確度越高。表3的比較結(jié)果表明,3DLSA算法比兩端點(diǎn)連線算法、文獻(xiàn)[6]的遺傳算法、文獻(xiàn)[9]的粒子群算法的逐次二次規(guī)劃算法及文獻(xiàn)[14]的平面化處理算法等具有更高的正確度。
值得注意的是,盡管文獻(xiàn)[6,9]的算法是基于最小區(qū)域法的,但其評定結(jié)果卻大于本文3DLSA算法的評定結(jié)果,這也表明了,目前對符合最小條件的精確算法的研究還很不完善。
綜合上述實(shí)驗(yàn)結(jié)果證明:3DLSA算法是一種有效的評定空間直線度誤差的好算法,具有非常好的魯棒性和較高的正確度;3DLSA算法優(yōu)于LSM算法、兩端點(diǎn)連線算法以及其他多種算法。
在上述實(shí)驗(yàn)中,對各組測點(diǎn)數(shù)據(jù)運(yùn)用兩端點(diǎn)連線算法、LSM 算法、3DLSA算法進(jìn)行計(jì)算的平均計(jì)算時(shí)間為 0.0117s、0.0177s、280.8431s,顯然,3DLSA算法計(jì)算效率較低,但一般不超過5min,在工程實(shí)際中還是可以應(yīng)用的。
(1)3DLSA算法從根本上克服了國家標(biāo)準(zhǔn)GB/T 11336—2004[22]中的LSM算法的原理缺陷,實(shí)現(xiàn)了空間直線的真正三維擬合,具有重要的理論意義。
(2)3DLSA算法在評定空間直線度誤差中能保證與其最小二乘中線包容圓柱面實(shí)現(xiàn)兩點(diǎn)或三點(diǎn)接觸,是一種有效的算法,具有非常好的魯棒性和較高的正確度;3DLSA算法優(yōu)于LSM算法、兩端點(diǎn)連線算法及其他多種算法。
(3)3DLSA算法除了在計(jì)算機(jī)輔助形位誤差評定中實(shí)用性強(qiáng)之外,在逆向工程中的三維空間直線擬合、數(shù)控側(cè)銑加工三維曲面時(shí)的銑刀軸線初定位計(jì)算[13]、數(shù)控加工誤差的在機(jī)檢測與補(bǔ)償計(jì)算、以及激光加工小孔時(shí)小孔軸線的擬合計(jì)算等工程實(shí)際問題中,也將具有很好的應(yīng)用價(jià)值。
[1]Huang S T,Fan K C,Wu J H.A New Minimum Zone M ethod for Evaluating Straightness Errors[J].Precision Engineering,1993,15(3):158-165.
[2]張青,范光照,徐振高,等.按最小條件評定空間直線度誤差的理論研究[J].計(jì)量學(xué)報(bào),1998,19(4):246-253.
[3]Zhang Qing,Fan K C,Li Zhu.Evaluation Method for Spatial Straightness Errors Based on Minimum Zone Condition[J].Precision Engineering,1999,23(4):264-272.
[4]Huang J P.An Exact Minimum Zone Solution for Three—dimensional Straightness Evaluation Problems[J].Precision Engineering,1999,23(3):204-208.
[5]劉文文,費(fèi)業(yè)泰.空間直線度包容評定的線性逼近算法[J].中國科學(xué)技術(shù)大學(xué)學(xué)報(bào),1999,29(2):242-247.
[6]廖平,喻壽益.基于遺傳算法的空間直線度誤差的求解[J].中南工業(yè)大學(xué)學(xué)報(bào),1998,29(6):586-588.
[7]粟時(shí)平,李圣怡,王貴林.基于鞍點(diǎn)規(guī)劃及遺傳算法的空間直線度誤差優(yōu)化評定[J].長沙電力學(xué)院學(xué)報(bào)(自然科學(xué)版),2001,16(3):39-42.
[8]Wen Xiulan,Song Aiguo.An Improved Genetic Algorithm for Planar and Spatial Straightness Error Evaluation[J].International Journal of Machine Tools&Manufacture,2003,43(11):1157-1162.
[9]茅健,曹衍龍.基于粒子群算法的空問直線度誤差評定[J].工程設(shè)計(jì)學(xué)報(bào),2006,13(5):291-294.
[10]李淑娟,劉云霞.基于坐標(biāo)變換原理的最小區(qū)域法評定空間直線度誤差[J].計(jì)測技術(shù),2006,26(1):24-25.
[11]Zhu Limin,Ding Ye,Ding Han.Algorithm for Spatial Straightness Evaluation Using Therories of LinearComplexChebyshevApproximation and Semi—infinite Linear Programming[J].Transaction of the ASM E:Journal of Manufacturing,Science and Engineering,2006,128(2):167-174.
[12]Ding Ye,Zhu Limin,Ding Han.A Unified Approach forCircularity and Spatial Straightness Evaluation Using Semi—definite Programming[J].International Journal of Machine Tools&Manufacture,2007,47(10):1646-1650.
[13]Ding Ye,Zhu Limin,Ding Han.Semidefinite Programming for Chebyshev Fitting of Spatial Straight Line with Applications to Cutter Location Planning and Tolerance Evaluation[J].Precision Engineering,2007,31(4):364-368.
[14]黃富貴,崔長彩.任意方向上直線度誤差的評定新方法[J].機(jī)械工程學(xué)報(bào),2008,44(7):221-224.
[15]岳武陵,吳勇.基于多目標(biāo)優(yōu)化的空間直線度誤差評定[J].光學(xué)精密工程,2008,16(8):1423-1428.
[16]Zhu Xiangyang,Ding Han,Wang M Y.Form Error Evaluation:An IterativeReweighted Least Squares Algorithm[J].Transaction of the ASM E:Journal of Manufacturing Science and Engineering,2004,126(8):535-541.
[17]王金星,蔣向前,徐振高,等.空間直線度坐標(biāo)測量的不確定度計(jì)算[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,33(12):1-3.
[18]倪驍驊,鄧善熙.空間直線度最小二乘評定結(jié)果的不確定度估計(jì)[J].工具技術(shù),2006,40(5):72-74.
[19]趙鳳霞,張琳娜,鄭玉花,等.基于新一代GPS的空間直線度誤差評定及其不確定度估計(jì)[J].機(jī)械強(qiáng)度,2008,30(3):441-444.
[20]胡仲勛,楊旭靜,王伏林.空間直線度誤差評定的LSABC算法研究[J].工程設(shè)計(jì)學(xué)報(bào),2008,15(3):187-190.
[21]胡仲勛,王伏林,周海萍.空間直線度誤差評定的新算法[J].機(jī)械科學(xué)與技術(shù),2008,27(7):879-882.
[22]中國國家標(biāo)準(zhǔn)化管理委員會.GB/T 11336—2004直線度誤差檢測[S].北京:中國標(biāo)準(zhǔn)出版社,2004.