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