秦 玲 黃美發 唐哲敏 劉廷偉
(①桂林信息科技學院,廣西 桂林 541004; ②桂林電子科技大學機電工程學院,廣西 桂林 541004)
圓柱度誤差是機床軸類零件的一項重要幾何誤差,它在國標和ISO中的嚴格評定方法是最小區域法[1-2]。
圓柱度最小區域的幾何判別條件比較復雜、條目繁多,標準中列舉了7條幾何判別條件,并指出還存在其他幾何判別條件變式。
為了減少圓柱度等形狀誤差的判別條件款項,丁喜波等和熊有倫從不同角度提出了基于幾何學的統一判別方法[3-5],統一了各類形狀誤差的判別,但具體操作和計算仍較復雜,因此,目前幾何誤差的最小區域判別方法大多與具體評定算法相關。凸包法等計算幾何方法先歸納所有可能的包容區域,再通過枚舉找到其中最小者,即判別方法為數值上的“區域最小”[6-7],這類方法能準確判定最小區域,但不適合測點較多的情況。自適應變動體法、搜索逼近、旋轉投影法等基于圓柱或同軸圓柱的幾何特性來構造邊界圓柱并搜索大小更合適的包容邊界,直至滿足最小區域的幾何判別條件[8-11]。極差法、切比雪夫逼近法及有效集法等從各自優化理論的角度建立形狀誤差的模型后,分別提出與各自優化理論適應的判別方法[12-14]。牛頓法、二分法等傳統優化方法和差分進化算法、混合教與學算法等智能優化算法的判別方法通常為兩次迭代間步長或函數值的變化較小[15-18];當出現爭議時,這類方法仍需要采用幾何判別方法裁定。
綜上所述,在經常需要處理大量測點數據的當下,還缺乏一種一般化的、程式化的最小區域判別方法,以便在出現評定爭議時裁定算法是否找到了最小區域。因此,本文基于邊界點矩陣研究圓柱度的一般化的、程式化的判別方法。分析圓柱測點集與最小區域邊界之間的空間關系以及最小區域成立條件的數理邏輯形式,并利用邊界點集矩陣的性質提出一種最小區域的一般化判別方法。最后,通過1個評定實例驗證了提出的圓柱度一般化判別方法。
孔軸的圓柱度誤差是包容孔軸表面測點集的兩個同軸圓柱間“環形柱”區域的大小,其數值與坐標系的選取無關。因此可以將坐標系z軸固定于同軸圓柱的共同軸線上,以便于描述最小區域問題中的基本要素——測點集、邊界圓柱,如圖1所示。
在建立的坐標系中,測點集可以描述為測點pi的集合{pi|pi= (xi,yi,zi),i= 1, 2, …};測點pi到邊界圓柱軸線(z軸)的距離為ri= (xi2+yi2)1/2;外圓柱的半徑RU= maxri,內圓柱的半徑RV= minri,截面環尺寸L=RU-RV;測點集{pi}自由度方向為沿x、y軸的平動dx、dy和繞x、y軸的轉動dα、dβ。

當按自由度方向調整測點集相對于邊界圓柱的方位時,邊界測點pi的方位變化趨勢dpi如公式和圖1所示。
(1)
式中:Rdα、Rdβ分別為測點繞x軸、y軸運動的坐標變換矩陣,E3×3為單位矩陣;自由度趨近于0,因此sin dα趨近于dα,sin dβ趨近于dβ,自由度的余弦值趨近于1,自由度的積趨近于0。
邊界圓柱和測點集有相對方位變化趨勢時,邊界圓柱的大小變化趨勢僅取決于邊界測點pi。邊界測點pi到z軸距離的變化趨勢dri,即dpi在徑向上的投影,如圖2所示。將pi處指向z軸的徑向單位向量Ni= (-xi/ri, -yi/ri, -zi/ri)T代入公式,可以得到dri的代數表達式,如式(2)所示:


為便于分析,可以將式(2)中pi自由度運動趨勢合記為運動趨勢向量Ψ= [dx, dy, dα, dβ]T,Ψ的系數合記為運動系數向量Ai,如式(3)所示。
Ai= [xi/ri,yi/ri, -ziyi/ri,zixi/ri]
(3)
將Ai、Ψ代入式(3),可以得到dri的線性向量表達式,如式(4)所示。
AiΨ=dri
(4)
記v∈V、u∈U分別為與內、外圓柱接觸的測點序號集,則內圓柱變化趨勢dRV= min drv,外圓柱變化趨勢dRU= min dru,兩個同軸圓柱間的“環形柱”大小變化趨勢dR= dRU- dRV。代入式(4),可以得到dR的向量表達式,如式(5)所示。
dR= max dru- min drv=max(Au-Av)Ψ
(5)
測點集圓柱度的最小區域可以一般性地描述為:測點集與“環形柱”間的相對方位已調整至最佳,相對方位發生任意改變時,在內外圓柱上各至少存在1個邊界測點使“環形柱”不會更小。據此可以建立最小區域邏輯的基本形式,如公式所示,其中dru,v為上邊界點pu和下邊界點pv到z軸距離的變化趨勢之差。
(?Ψ)(?(u,v))((Au-Av)Ψ=dru,v≥0)
(6)
式(6)并不便于分析,因此轉而分析其互斥的否命題形式,如式(7)所示。
(?Ψ)(?(u,v))(Au,vΨ
(7)
其中,記b<0,Au,v=Au-Av為pu與pv的運動系數差向量。如果公式不成立,則“環形柱”為測點集的最小區域。否則,“環形柱”不是最小區域。記A= […,Au,v, …]T為邊界點集的運動系數差矩陣,b= […, dru,v, …]T,則公式(6)等價于公式(7)。
(?Ψ)(?(u,v))((AΨ=b)∧(dru,v2.2 基于邏輯表達式的一般化判別方法
設外圓柱測點數目為m1,內圓柱測點數目為m2,rank(A) =r,則Au,v共有m=m1m2個,A共有m行。當rank([A,b]) =rank(A) =r時,AΨ=b總是有解,公式總是成立,“環形柱”不是最小區域。下面討論rank([A,b]) >r時公式的成立條件。

定義1:在AΨ=B中任選r個線性無關的運動系數差向量Au,v、對應的dru,v及常數項b,分別集合成矩陣Ar、常數項br及常數項Br;線性方程組ArΨ=Br的解集Fj= {Ψ}j就是不等式組{Au,vΨ
通過定義1,可以將式(8)中AΨ=b的行重新排列,如式(9)所示。
(9)
因為rank(A) =r,所以可以得到關于Au,vΨ界限的性質,如公式所示。
(?Ψ)(?(u,v)∈s)(Au,vΨ≠b)
(10)
記
則由式(10)可以得到關于Au,vΨ大小的性質:
(11)
由式(11)可知,可以先求解方程ArΨ=Br的1個解Ψ*,然后考察Ψ*是否滿足P2(Ψ*),即可判斷相應的基本解集Fj= {Ψ*}是否為有效基本解集。

總結本節內容,可以得到空間直線度最小區域統一判別方法的基本流程,如圖3所示。

本節以實際軸的同一組測點數據為對象,分別用自適應變動體法[8]和優化法[15]評定實際軸的圓柱度。
針對2種方法的評定結果的爭議,用本文提出的方法辨別哪種方法準確構建了圓柱度的最小區域,以驗證提出的判定方法。
本例用三坐標測量機(Hexagon Metrology, Qing Dao, GLOBAL CLASSIC SR 07. 10. 07)對軸表面進行光學掃描,測點如圖4所示。

在MATLAB R2014a中,自編程序實現文獻[8]中的自適應變動體法,得到被測軸的圓柱度為0.156 mm,構成最小區域的邊界測點的序號為1 560、95、67、90、1 527、48,如表1所示。自適應變動體法基于圓柱的幾何特性來構造邊界圓柱并逐步搜索更小的包容邊界,直至滿足最小區域的幾何判別條件,流程較為復雜,限于篇幅,請感興趣的讀者自行查閱文獻[8]。

表1 評定結果 mm
在MATLAB R2014a中,根據文獻[15]建立圓柱度最小區域優化函數,如式(12)所示,其中:Vx、Vy、Vα和Vβ是自由變量,Vx、Vy分別為“環狀柱”相對于原始坐標系x軸、y軸的微小平移量,Vα、Vβ分別為“環狀柱”相對于原始坐標系x軸、y軸的微小旋轉量,Xi、Yi分別為測點pi相對于“環狀柱”軸線的坐標。
(12)

用線性高斯牛頓法(MATLAB R2014a中內置的fminun函數)求解相同的軸的圓柱度(測點數據相同),得到被測軸的圓柱度為0.176 mm,構成最小區域的邊界測點的序號為11 936、1 595、1 560,如表1所示。高斯牛頓法主要根據目標函數的偏導數來構造迭代公式,以逐步找到目標函數的最優解、最優值,是傳統的優化方法,在MATLAB R2014a中有集成的函數。因此,文中僅列出圓柱度最小區域優化函數,恕不詳述高斯牛頓法求解過程。
從表1中可以看到,自適應變動體法和線性高斯牛頓法找到的邊界點集不同,即兩種方法的解不同。同時,從表1中還可以看到,兩種方法求得的結果(圓柱度)也不相同。兩種方法的評定對象相同,而解和結果不同,出現了爭議。為了裁定2個評定結果間的爭議,基于提出的判別方法,用自編程序分別判別兩種方法是否構造了最小區域。
(1)用提出的方法考察自適應變動體法
將自適應變動體法求得的邊界測點代入公式,可以求出運動系數向量Ai及運動系數差向量Au,v,如:A1 560,90的計算如公式所示。
A1 560,90=[A1 560-A90]
=[1.103 1 3.815 4 -22.860 2 12.678 9]
(13)


(2)用提出的方法考察線性高斯牛頓法
出于一般性考慮,表1中線性高斯牛頓法的結果是在初始解為零向量的條件下計算得到的。同時,為了減少計算誤差和截斷誤差對判別結果的影響,距離內外邊界圓柱小于0.001 mm的點都考慮為邊界點。將線性高斯牛頓法求得的邊界測點代入公式可以求出運動系數向量Ai及運動系數差向量Au,v,如A1 936,48為:
A1 936,48=[A1 936-A48]
=[1.103 1 3.815 4 -22.860 2 12.678 9]
(15)
將m=m1m2= 3×2 = 6個Au,v集合為A,如式(16)所示。

指定(m= 6)個(b=-1)并將其集合為b,可以求出rank([A,b]) =rank(A) = 4;因此,公式總是成立,“環形柱”不是最小區域。
(3)用基于梯度的方法考察線性高斯牛頓法
內置函數輸出標識符顯示線性高斯牛頓法迭代精度達到10-6mm后終止迭代。結合判別結果可知,初步估計線性高斯牛頓法陷于局部最優解。
為驗證線性高斯牛頓法是否確實陷入局部最優解,將自適應變動體法求得的“環狀柱”相對于原始坐標系的平移、旋轉量作為線性高斯牛頓法的初始解。此時,線性高斯牛頓法的最優解與自適應變動體法一致,為0.156 mm,如表2所示。求得的邊界點也與自適應變動體法一致。這證實了高斯牛頓法所求得解是局部最優解。
如表2所示,當線性高斯牛頓法的迭代解處函數梯度較小時,基于梯度的判別方法會認定算法找到了最小區域,以保證算法效率。然而,這種方法有可能會被局部最優解或局部低梯度區域所誤導,不適合作為出現評定爭議時的裁定方法。
從表2中還可以看出,提出的判別方法能判定自適應變動體法求得的“環狀柱”為最小區域;能判定以零向量為初解的線性高斯牛頓法陷入了局部最優解,未找到最小區域;還能判定以自適應變動體法的解為初解的線性高斯牛頓法求得的“環狀柱”為最小區域。因此,提出的判別方法行之有效,適合作為裁定評定爭議的方法。

表2 判別方法及評定方法比較
分析了孔軸外表面測點集與最小區域邊界之間的相對空間關系,利用數理邏輯形式、線性方程組和不等式組的性質,以線性矩陣及流程圖的形式,提出了孔軸圓柱度最小區域的統一判別方法。提出的判別方法是一種程式化的、一般化的代數判別方法,由簡單的重復運算、條件選擇構成,可以在出現評定爭議時裁定算法是否找到了最小區域。
分別用線性高斯牛頓法和自適應變動體法評定了1個實際軸的圓柱度,用提出的方法分別檢驗了兩種方法的評定結果。提出的判別方法識別了自適應變動體法和線性高斯牛頓法求得的最小區域,也識別了線性高斯牛頓法求出的局部最優解,具備裁定評定爭議的能力。
本文推導了圓柱度最小區域的一般化判別方法,其中運用的自由度、法向量、數理邏輯、線性理論等也適合其它形狀的最小區域評定。未來可以參考本文方法繼續研究直線度、輪廓度等形狀誤差的最小區域判定。