胡仲勛 楊旭靜 金湘中
湖南大學(xué),長(zhǎng)沙,410082
隨著航空、航天、機(jī)械制造等領(lǐng)域的精密與超精密加工技術(shù)、微納制造技術(shù)以及數(shù)字化制造與檢測(cè)技術(shù)的發(fā)展,機(jī)械產(chǎn)品及其零部件的精度要求越來(lái)越高。然而,評(píng)價(jià)產(chǎn)品精度的一類重要問(wèn)題——形狀誤差的評(píng)定理論和算法仍不完善,尤其是空間直線度誤差,作為一種最復(fù)雜的形狀誤差,其評(píng)定算法一直處于探索之中。
空間直線度誤差的評(píng)定算法主要有兩類。一類是符合ISO或國(guó)家標(biāo)準(zhǔn)規(guī)定的最小條件的精確算法,即最小包容區(qū)域法。由于其評(píng)定模型的非線性和不可微性,使得這類算法的求解非常困難,因此,國(guó)內(nèi)外許多學(xué)者運(yùn)用各種數(shù)學(xué)理論或優(yōu)化算法對(duì)此進(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]、半無(wú)限線性規(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)定,其評(píng)定結(jié)果有時(shí)較精確,有時(shí)偏差很大。LSM算法具有一定的精度,是目前較實(shí)用的方法。在坐標(biāo)測(cè)量機(jī)(coordinate measuring machine,CMM)的誤差評(píng)定系統(tǒng)中,都是采用LSM算法。但是,由于LSM算法的數(shù)學(xué)模型在原理上存在缺陷,評(píng)定精度不夠高,評(píng)定結(jié)果存在較大的不確定度等問(wèn)題,所以,有不少學(xué)者對(duì)LSM算法進(jìn)行了改進(jìn)研究。如文獻(xiàn)[16-21]在LSM算法的不確定度計(jì)算或LSM算法的改進(jìn)方面作了一些研究,但這些文獻(xiàn)中體現(xiàn)的對(duì) LSM算法的原理缺陷的認(rèn)識(shí)都還不夠深入。
筆者通過(guò)對(duì) LSM算法的分析認(rèn)為,其原理缺陷是:LSM算法不是三維擬合算法,實(shí)質(zhì)上只是一種二維平面內(nèi)最小二乘擬合的合成,它不能直接擬合空間直線。而且,當(dāng)測(cè)點(diǎn)在X、Y、Z坐標(biāo)軸上的坐標(biāo)值具有相同數(shù)量級(jí)時(shí),用LSM算法評(píng)定空間直線度誤差的結(jié)果是有效的,但存在一定的評(píng)定誤差;而當(dāng)X、Y、Z坐標(biāo)軸上的坐標(biāo)值具有不同的數(shù)量級(jí)時(shí),其評(píng)定結(jié)果存在嚴(yán)重失真。這種失真會(huì)嚴(yán)重影響到空間直線度誤差評(píng)定結(jié)果的有效性;甚至造成被檢零件的“誤收”或“誤廢”。因此,有必要提出一種能從根本上克服LSM算法的原理缺陷的新算法。
本文在文獻(xiàn)[20-21]研究的基礎(chǔ)上,提出評(píng)定空間直線度誤差的3DLSA算法(three dimensional least squares algorithm),以從根本上克服LSM算法的原理缺陷,并推導(dǎo)出3DLSA算法的數(shù)學(xué)模型,實(shí)現(xiàn)空間直線真正的三維(3D)擬合;最后,用實(shí)例驗(yàn)證其有效性,以期能用于較高精度的空間直線度誤差評(píng)定。
如圖1所示,設(shè)在坐標(biāo)測(cè)量機(jī)CMM 上測(cè)得某零件空間直線度的誤差測(cè)點(diǎn)集為
設(shè)k個(gè)測(cè)點(diǎn)的3D最小二乘擬合直線Lf通過(guò)某一點(diǎn)P0(x0,y0,z0),且其方向向量為(l,m,n),則Lf的方程為
若空間直線度誤差測(cè)點(diǎn)集R中的任一點(diǎn)Pi(xi,yi,zi)到Lf的距離為
根據(jù)幾何學(xué)理論,對(duì)空間直線Lf的方向數(shù) l、m、n進(jìn)行歸一化處理,得
根據(jù)最小二乘原理,應(yīng)使di的平方和為最小,有
通過(guò)求解式(4)的最小值,并簡(jiǎn)記:
可得到3D最小二乘擬合直線Lf的方向向量(l,m,n)為
同時(shí)得
將式(9)、式(10)、式(11)展開,并在其展開式中還原式(5)的簡(jiǎn)記,則得
在式(12)、式(13)、式(14)中:
聯(lián)立求解式(12)、式(13)、式(14)可得到3D最小二乘擬合中心點(diǎn)P0(x0,y0,z0)的坐標(biāo):
按上述推導(dǎo),可由測(cè)點(diǎn)集 R中 k個(gè)測(cè)點(diǎn)Pi(xi,yi,zi)的坐標(biāo)值計(jì)算出 x0、y0、z0 和 l、m 、n,從而計(jì)算出各測(cè)點(diǎn)至空間最小二乘擬合直線Lf的距離 di,并比較k個(gè)di的大小,找出di的最大值max di。
根據(jù)國(guó)家標(biāo)準(zhǔn)GB/T 11336—2004[22]規(guī)定,在實(shí)際應(yīng)用中,可簡(jiǎn)化計(jì)算任意方向上直線度(即空間直線度)的誤差值為
而且,該國(guó)家標(biāo)準(zhǔn)還規(guī)定了用最小二乘法評(píng)定任意方向上直線度誤差的判別法:用軸線平行于最小二乘中線Lf的圓柱面C包容實(shí)際直線時(shí),只有滿足下列形式之一,該算法有效:①兩點(diǎn)形式(圖2);②三點(diǎn)形式(圖3)。
上述國(guó)家標(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算法可以由測(cè)點(diǎn)集各測(cè)點(diǎn)的坐標(biāo)值直接計(jì)算、擬合,確定其3D最小二乘擬合直線Lf,從而實(shí)現(xiàn)真正的3D最小二乘擬合。
根據(jù)上述 3DLSA算法的數(shù)學(xué)模型,利用MATLAB7.0編制出空間直線度誤差的評(píng)定程序。為便于比較和分析,下面引用一些研究同行們對(duì)空間直線度誤差的測(cè)點(diǎn)數(shù)據(jù)進(jìn)行數(shù)字實(shí)驗(yàn),以驗(yàn)證3DLSA算法的有效性,并與LSM 算法和其他多種算法作對(duì)比實(shí)驗(yàn),以分析3DLSA算法的效能。
驗(yàn)證 3DLSA算法的有效性,就是要使3DLSA算法的計(jì)算結(jié)果滿足圖2或圖3的判別法,即在測(cè)點(diǎn)集的三維最小二乘中線包容圓柱面C上有兩個(gè)或三個(gè)測(cè)點(diǎn)與其接觸。下面以國(guó)內(nèi)外同行的多組測(cè)點(diǎn)數(shù)據(jù)進(jìn)行數(shù)字實(shí)驗(yàn),按 3DLSA算法評(píng)定空間直線度誤差時(shí),得到的計(jì)算結(jié)果如表1所示。
表1 按3DLSA算法的計(jì)算結(jié)果
由表1的計(jì)算結(jié)果可以看出,用3DLSA算法評(píng)定空間直線度誤差時(shí),總能得到2個(gè)或3個(gè)相等的最高點(diǎn)與其最小二乘中線包容圓柱面C相接觸。這表明,3DLSA算法能滿足國(guó)家標(biāo)準(zhǔn)規(guī)定的圖2或圖3的接觸形式,因此,3DLSA算法是一種有效的評(píng)定空間直線度誤差的算法。
下面通過(guò)與LSM算法及其他多種算法進(jìn)行比較,以驗(yàn)證3DLSA算法的效能。
對(duì)采用3DLSA算法與LSM算法和其他多種算法的計(jì)算結(jié)果進(jìn)行比較,分別列于表2、表3。
表2 3DLSA算法與LSM算法的比較
表3 3DLSA算法與其他算法的比較
在表2中,按照測(cè)點(diǎn)數(shù)據(jù)的特點(diǎn),可以分兩種情況進(jìn)行分析和說(shuō)明:
(1)測(cè)點(diǎn)數(shù)據(jù)值相差幾個(gè)數(shù)量級(jí)。如表2中的第①、第②兩組測(cè)點(diǎn)數(shù)據(jù),按3DLSA算法評(píng)定的空間直線度誤差值分別為 17.1252μ m、7.2448μ m,而按LSM 算法評(píng)定的誤差值分別為171 324.3700μ m 、771 845.6700μ m;由于已驗(yàn)證3DLSA算法是有效的,因此,LSM算法的評(píng)定結(jié)果是可疑的。有鑒于此,Wen等[8]對(duì)第①組測(cè)點(diǎn)數(shù)據(jù)的 xi、yi、zi坐標(biāo)值調(diào)換 ,使 xi、yi坐標(biāo)值具有相同的數(shù)量級(jí),得到第③組測(cè)點(diǎn)數(shù)據(jù),此時(shí)按3DLSA算法、LSM算法評(píng)定的空間直線度誤差值分別為17.1252μ m 、16.6671μ m。對(duì)于LSM 算法的計(jì)算結(jié)果,由于原文獻(xiàn)中缺少第⑥、第⑦兩組數(shù)據(jù)的LSM算法的計(jì)算結(jié)果,表2中的數(shù)據(jù)是筆者按文獻(xiàn)[22]中的LSM算法編程計(jì)算得到的結(jié)果,且只有第③組測(cè)點(diǎn)的計(jì)算結(jié)果與文獻(xiàn)[8]用LSM 算法的計(jì)算結(jié)果(16.6671μ m)相等。
對(duì)于表2第①、第②兩組數(shù)據(jù),只是調(diào)換了坐標(biāo)軸的次序,各測(cè)點(diǎn)的相對(duì)差值并沒(méi)有改變,它們的空間直線度誤差值也應(yīng)是相同的,3DLSA算法的評(píng)定結(jié)果驗(yàn)證了這一點(diǎn);而LSM算法的評(píng)定結(jié)果卻相差懸殊。由此表明:3DLSA算法對(duì)各種測(cè)點(diǎn)數(shù)據(jù),都能得到較正確的評(píng)定值,具有非常好的魯棒性;而LSM 算法不能用于評(píng)定 xi、yi坐標(biāo)值相差幾個(gè)數(shù)量級(jí)的測(cè)點(diǎn)數(shù)據(jù)。
鑒于3DLSA算法的魯棒性非常好,所以表2中的比較結(jié)果是以該算法的評(píng)定結(jié)果為基準(zhǔn)的。
(2)測(cè)點(diǎn)數(shù)據(jù)值具有相同的數(shù)量級(jí)。由表2中的第③~第⑦組測(cè)點(diǎn)數(shù)據(jù)比較可知:按 LSM算法評(píng)定的誤差值相對(duì)于按3DLSA算法評(píng)定的誤差值,有時(shí)大于,有時(shí)小于,表明按 LSM 算法評(píng)定的評(píng)定結(jié)果是不穩(wěn)定的,不確定度較大。其原因是因?yàn)長(zhǎng)SM算法存在投影和合成誤差。
上述實(shí)驗(yàn)證明,由于3DLSA算法能較精確地?cái)M合出空間直線 Ls,在評(píng)定空間直線度誤差中,具有非常好的魯棒性和較高的正確度。而LSM算法的評(píng)定結(jié)果不穩(wěn)定、不確定度較大,且在評(píng)定值相差幾個(gè)數(shù)量級(jí)的測(cè)點(diǎn)數(shù)據(jù)時(shí),其評(píng)定結(jié)果是嚴(yán)重失真的。由于原文獻(xiàn)中缺少第①組數(shù)據(jù)的兩端點(diǎn)連線算法的計(jì)算結(jié)果,表3中的數(shù)據(jù)是筆者采用文獻(xiàn)[22]中的兩端點(diǎn)連線算法編程計(jì)算得到的結(jié)果。
在表3中,對(duì)第⑤、第⑦兩組空間直線度誤差測(cè)點(diǎn)數(shù)據(jù)運(yùn)用3DLSA算法、兩端點(diǎn)連線算法以及相應(yīng)的文獻(xiàn)算法得到評(píng)定結(jié)果,比較可知,3DLSA算法評(píng)定的誤差值是最小的。
根據(jù)形位誤差評(píng)定理論,按最小區(qū)域法評(píng)定的形位誤差值應(yīng)該是唯一精確的最小值,按其他所有近似算法得到的形位誤差值一般都大于(或等于)這個(gè)最小值。由此可知,采用近似算法評(píng)定的形位誤差值越小,則表明按該近似算法的評(píng)定結(jié)果越接近按最小區(qū)域法評(píng)定的最小值,因而,其正確度越高。表3的比較結(jié)果表明,3DLSA算法比兩端點(diǎn)連線算法、文獻(xiàn)[6]的遺傳算法、文獻(xiàn)[9]的粒子群算法的逐次二次規(guī)劃算法及文獻(xiàn)[14]的平面化處理算法等具有更高的正確度。
值得注意的是,盡管文獻(xiàn)[6,9]的算法是基于最小區(qū)域法的,但其評(píng)定結(jié)果卻大于本文3DLSA算法的評(píng)定結(jié)果,這也表明了,目前對(duì)符合最小條件的精確算法的研究還很不完善。
綜合上述實(shí)驗(yàn)結(jié)果證明:3DLSA算法是一種有效的評(píng)定空間直線度誤差的好算法,具有非常好的魯棒性和較高的正確度;3DLSA算法優(yōu)于LSM算法、兩端點(diǎn)連線算法以及其他多種算法。
在上述實(shí)驗(yàn)中,對(duì)各組測(cè)點(diǎn)數(shù)據(jù)運(yùn)用兩端點(diǎn)連線算法、LSM 算法、3DLSA算法進(jìn)行計(jì)算的平均計(jì)算時(shí)間為 0.0117s、0.0177s、280.8431s,顯然,3DLSA算法計(jì)算效率較低,但一般不超過(guò)5min,在工程實(shí)際中還是可以應(yīng)用的。
(1)3DLSA算法從根本上克服了國(guó)家標(biāo)準(zhǔn)GB/T 11336—2004[22]中的LSM算法的原理缺陷,實(shí)現(xiàn)了空間直線的真正三維擬合,具有重要的理論意義。
(2)3DLSA算法在評(píng)定空間直線度誤差中能保證與其最小二乘中線包容圓柱面實(shí)現(xiàn)兩點(diǎn)或三點(diǎn)接觸,是一種有效的算法,具有非常好的魯棒性和較高的正確度;3DLSA算法優(yōu)于LSM算法、兩端點(diǎn)連線算法及其他多種算法。
(3)3DLSA算法除了在計(jì)算機(jī)輔助形位誤差評(píng)定中實(shí)用性強(qiáng)之外,在逆向工程中的三維空間直線擬合、數(shù)控側(cè)銑加工三維曲面時(shí)的銑刀軸線初定位計(jì)算[13]、數(shù)控加工誤差的在機(jī)檢測(cè)與補(bǔ)償計(jì)算、以及激光加工小孔時(shí)小孔軸線的擬合計(jì)算等工程實(shí)際問(wèn)題中,也將具有很好的應(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]張青,范光照,徐振高,等.按最小條件評(píng)定空間直線度誤差的理論研究[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è)泰.空間直線度包容評(píng)定的線性逼近算法[J].中國(guó)科學(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)化評(píng)定[J].長(zhǎng)沙電力學(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]茅健,曹衍龍.基于粒子群算法的空問(wèn)直線度誤差評(píng)定[J].工程設(shè)計(jì)學(xué)報(bào),2006,13(5):291-294.
[10]李淑娟,劉云霞.基于坐標(biāo)變換原理的最小區(qū)域法評(píng)定空間直線度誤差[J].計(jì)測(cè)技術(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]黃富貴,崔長(zhǎng)彩.任意方向上直線度誤差的評(píng)定新方法[J].機(jī)械工程學(xué)報(bào),2008,44(7):221-224.
[15]岳武陵,吳勇.基于多目標(biāo)優(yōu)化的空間直線度誤差評(píng)定[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)測(cè)量的不確定度計(jì)算[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,33(12):1-3.
[18]倪驍驊,鄧善熙.空間直線度最小二乘評(píng)定結(jié)果的不確定度估計(jì)[J].工具技術(shù),2006,40(5):72-74.
[19]趙鳳霞,張琳娜,鄭玉花,等.基于新一代GPS的空間直線度誤差評(píng)定及其不確定度估計(jì)[J].機(jī)械強(qiáng)度,2008,30(3):441-444.
[20]胡仲勛,楊旭靜,王伏林.空間直線度誤差評(píng)定的LSABC算法研究[J].工程設(shè)計(jì)學(xué)報(bào),2008,15(3):187-190.
[21]胡仲勛,王伏林,周海萍.空間直線度誤差評(píng)定的新算法[J].機(jī)械科學(xué)與技術(shù),2008,27(7):879-882.
[22]中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì).GB/T 11336—2004直線度誤差檢測(cè)[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2004.