林 翔
(福建商業(yè)高等??茖W校計算機系,福建福州 350012)
JB/T 7557 – 1994《同軸度誤差檢測》中數(shù)據(jù)處理方法之疑議與補缺
林 翔
(福建商業(yè)高等??茖W校計算機系,福建福州 350012)
JB/T 7557 – 1994《同軸度誤差檢測》在數(shù)據(jù)處理過程中遇到的minmax問題頗具典型性,其取用的計算方法在關鍵環(huán)節(jié)沒有給出明確闡述,令人對其算法的合理性與計算結果的可靠性產生疑義,為此另辟路徑尋找滿足“最小區(qū)域”原則的合理算法,提高了計算精度,修正了該文獻附錄B算例中之11個截面圓計算結果,進而修正了同軸度誤差的最終評定值.
同軸度誤差;新算法;高精度;精密檢測
圖1 文獻[1]中αi、e示意圖
從JB/T 7557 – 1994《同軸度誤差檢測》[1]可知,測量與數(shù)據(jù)處理是同軸度誤差評定的兩大內容,數(shù)據(jù)處理又以求取基準軸線為核心重點.文獻[1]認為,基準軸線的確定,是在獲取基準要素回轉面上各截面所有測點坐標之后,選定四種方法之一進行計算,由此生成回轉面的中軸線作為基準軸線.此四法是最小區(qū)域法、最小二乘法、最小外接法和最大內接法,而且將“最小區(qū)域法”作為首選算法,并敘述了求取基準軸線過程的詳細操作步驟,見圖1.
文獻[1]首先設定基準要素是若干個正截面圓,每個截面圓周上均布有若干測量點,需要解決的核心問題是求出各個截面圓的中心位置.很顯然,符合“最小區(qū)域法”的圓心求取問題,其實就是一個典型的minmax求解問題,文獻[1]在求取過程中對這一關鍵環(huán)節(jié)描述是:
b. 按一定優(yōu)化方法移動中心O至O′;其中
Δri:中心移動前的半徑差值;
e:中心移動量;
αi:測點徑向線ri與中心移動方向線OO′之間的夾角.
αi、e分別是移動中心O至O′的方向和步長,移動O至O′的目的是使“誤差帶”逐步向“最小區(qū)域”逼近,從而求出符合“最小區(qū)域”原則的截面圓心.
遺憾的是文獻[1]對所謂的“一定優(yōu)化方法”未做交代,對αi、e這兩個關鍵數(shù)值的來龍去脈沒有作具體說明,令人無所適從.不可避免的,筆者對文獻[1]附錄B應用示例中4個基準截面圓中心、7個被測截面圓中心的計算結果是否符合“最小區(qū)域”原則、該示例的同軸度誤差的最終評定結果之合理性,產生了疑義,繼而試著尋求更優(yōu)化的算法,重新評定附錄B中計算結果的可靠性與高精度性,對正確運用國標有所裨益.
所要推敲的基準截面圓中心、被測截面圓中心問題,都屬于minmax求解問題,歸納起來可以表述為:某一實測圓,圓周上均布有n個測點Qk(xk,yk)(k=1~n),要以點集Qk(k=1~n)為基礎擬合出兩個同心圓,不妨記共同圓心為O(xO,yO),Qk至圓心O的距離為sk(k=1~n),按照“最小區(qū)域”判定原則的要求,圓心O應該滿足下式:
f表達式的幾何意義是:有兩個同心圓,所有的點 Qk(xk,yk)(k=1~n)都落在兩個圓之間,且這兩個圓之間的區(qū)域達到最小.表達式中max(sk)為同心圓中的大圓半徑,min(sk)為小圓半徑,因此“f—>min”也可看作是兩個同心圓的半徑之差趨于最小,如此則O點就是符合所謂的“最小區(qū)域”原則的圓心,也就得到我們所求取的擬合同心圓了.
這一典型的minmax問題是離散型的,筆者經過觀察比較,另辟蹊徑尋找一種既符合“最小區(qū)域”概念且又適用易用的新算法,作為“一定優(yōu)化方法”的一種詮釋.
仍然圍繞αi、e來展開討論.αi是中心O的移動方向,e是移動步長,αi、e取值的原則是必須使得 f值降下來;而要使 f=max(sk)-min(sk)值下降,只要讓max(sk)降下來、讓min(sk)升上去,就可以實現(xiàn).筆者發(fā)現(xiàn),一個特殊三角形的外角平分線的方向,具備作為αi候選方向的特性.
記擬合圓的臨時中心為O,Qk(xk,yk)(k=1~n)距O最遠、最近的點分別為Ql、Qm,即OQl=max(sk)、OQm=min(sk),△QlQmO構成一個特殊的三角形.延長 QmO,作直線 OP,∠QlOP為△QlQmO的一個外角,自O點作∠QlOP的平分線OL,如圖2所示,OL即可作為αi的一個可選方向.證明如下:
沿OL方向取點O′,令OO′=e(e是一個很小的步長),使得△OO′Ql之∠OO′Ql為鈍角,則有不等式成立:
對于△OO′Qm,∠QmOO′必為鈍角,故也有不等式成立:
綜合(1)、(2)兩式,可得不等式:
可見只要e值取得很小,沿外角平分線OL方向選定一個新的圓心O′,就可能把f值降下來.
解決了αi的取值問題,以下討論e的取值.
易知,如果以“最小二乘圓”的圓心作為“最小區(qū)域圓”的初始圓心O,則此時的f值已經很接近“最小區(qū)域”了,所以對O的移動,肯定是小幅度的,因此e值必然是個很小的值.記“最小二乘”圓心為O2(x′′,y′′),
有f2=max(s′′k)-min(s′′k)(k=1~n).
根據(jù)經驗,“最小區(qū)域”意義下的f值通常要比“最小二乘”意義下的f2值小10%左右,因此不妨令e=f2/10.
e只是一個初始的步長取值.如果經判斷,f值下降了,即用O′取代O;如果f值沒有下降,則減小e值,取原e值一半,即e=e/2,重新對O點進行移動判斷.
隨著f值不斷逼迫“最小區(qū)域”,e的取值必然地不斷在減??;當e是一個很小很小的值,達到了計算精度要求之時,停止計算,輸出結果.
特殊情況的處理:
如果Ql、Qm、O三點成一線,△QlQmO中∠QlOQm是個平角,不妨仍將△QlQmO當作普通三角形對待,計算過程如法炮制,與前述無異.
如果Qk(xk,yk)(k=1~n)距O最遠點不止一個“Ql”而是有S個,距O最近點也不止一個“Qm”而是有T個,則處理的辦法是:從S個“Ql”和T個“Qm”中各取一個點與O組成一個特殊三角形,則這樣的特殊三角形就有S*T個;對這些三角形逐個進行計算求出相應的外角平分線,其中能使f值下降最多者,就選定其作為特殊三角形.
以上是對計算過程的要點敘述.當αi、e確定以后,接下來的計算工作須回到文獻[1]規(guī)定的算法流程,進行“最小區(qū)域”意義下求截面圓中心的全過程計算.
按上述算法,以C語言編程,對文獻[1]附錄B中的4個基準截面圓和7個被測截面圓算例進行驗算,計算結果列出如下:
表1 基準柱面上的4個截面圓計算結果比較
表2 被測柱面上的7個截面圓計算結果比較
經比較可見,本算法計算的全部11個截面圓f值,都要比原文小,尤其是第III截面圓、第4截面圓,f值比原文的值小了約6%和13%.
為進一步驗證本算法的高精度性,筆者還對文獻[2-7]共6篇與“最小區(qū)域圓”有關的文章中列出的算例,進行驗算.這些文章各給出了一個算例,現(xiàn)將原文結果與本文算法計算的結果列出如下,便于比較:
表3 文獻[2-7]6個算例原結果與本文算法計算結果比較
比較而言,本文所提出的算法在精度方面切實體現(xiàn)出了一定的優(yōu)勢,文獻[3]算例計算精度甚至提高了25%.
(1)以上述4個基準截面圓心和7個被測截面圓心坐標為基礎,繼續(xù)計算工作,把文獻[1]附錄B中同軸度誤差算例之最終結果求出來.
先求取基準柱面軸線:
按文獻[1]規(guī)定,要求出基準軸線,必須求出包容OI– OIV四個點的“最小外包圓”的圓心O外.
為此,引進文獻[8]中關于“最小外包圓”的算法,求得圓心坐標為O外(-0.127 40, -0.096 78).
再求取同軸度誤差值:
計算O1– O7等7個點至O外的最大距離,再翻番,即同軸度誤差值,該值為10.809 77 μm;原文給出的同軸度誤差值為10.67 μm.
(2)其他同軸度誤差算例
文獻[9]給出了一個算例,共有2個基準截面圓、4個被測截面圓.本文算法計算各截面圓及同軸度誤差結果列出如下表:
表4 文獻[9]算例計算結果
(3)文獻[10]附錄中給出了一個同軸度誤差的算例,基準軸線為空間坐標系的z軸,被測圓柱上有6個等距橫截面圓.用本文算法計算各截面圓結果及同軸度誤差如下表:
表5 文獻[10]算例計算結果
文獻[1]中數(shù)據(jù)處理環(huán)節(jié)的核心問題是典型的minmax問題,文中所述的算法過于隱晦,不具可操作性,故而筆者就此展開討論,尋求符合“最小區(qū)域”法則的有針對性算法.以“特殊三角形”的外角平分線為突破口,圍繞αi、e的原始概念進行算法推演,并且對算法的合理性進行了簡單的證明,對αi、e的取值給出了具體說明,同時對可能出現(xiàn)的“特殊現(xiàn)象”也提出了處理意見.經過若干的算例驗算與結果比較,在證明了本算法合理性的同時,也證明了其高精度性和實用性.
特殊三角形的外角平分線方向不一定是αi的最佳選擇,但它是一種可行的選擇,它能使f值單調下降逐步逼近“最小區(qū)域”,這是本算法具備高精度的主要因素之一,不妨將其作為“一定優(yōu)化方法”的算法補缺.本文引用的算例有限,歡迎同行專家指正,把文獻[1]中存在的問題解決好.
[1]中華人民共和國機械工業(yè)部. 同軸度誤差檢測[M]. 北京: 機械科學研究院, 1995: 1-15.
[2]張永春, 趙明友, 王慶武, 等. 形狀誤差數(shù)據(jù)處理的線性規(guī)劃和單純形解法[J]. 計量技術, 2001, (12): 46-49.
[3]趙軍, 劉維, 王強, 等. 基于改進置換算法的圓參數(shù)評定[J]. 測試技術學報, 2009, 23(2): 134-138.
[4]趙文樂. 形狀誤差minimax問題的機器求解[J]. 中國計量學院學報, 1990, (12): 45-51.
[5]田樹耀. 圓度誤差的最小二乘法、最小包容區(qū)域法和最優(yōu)函數(shù)法評定精度之比較[J]. 計量技術, 2008, (7): 63-65.
[6]徐磊, 馬勇, 婁志峰, 等. 基于VC的圓度誤差數(shù)據(jù)采集與處理[J]. 計量與測試技術, 2008, 35(2): 1-3.
[7]沈先釗. 圓度、圓柱度和同軸度計算機測量數(shù)據(jù)最小區(qū)域法處理算法研究[J]. 中國機械工程, 2003, 14(17): 1472-1474.
[8]林翔. 兩種圓度誤差評定方法之精確算法及其編程[J]. 福建商業(yè)高等??茖W校學報, 2006, (6): 126-127.
[9]甘永立. 形狀和位置誤差檢測[M]. 北京: 國防工業(yè)出版社. 1995: 141-159.
[10]鄭鵬. 形位誤差計算機評定系統(tǒng)的研究[D]. 鄭州: 鄭州大學機械工程學院, 2003:54-70.
Data Processing Method’s Doubt and Supplement ofCoaxial Error Detection(JB/T 7557 – 1994)
LIN Xiang
(Computer Science Department, Fujian Commercial College, Fuzhou, China 350012)
The minmax in the data processing ofCoaxial Error Detection(JB/T 7557 – 1994) is a typical problem. The reasonability of its algorithm and reliability of its calculating results were doubtful because many key steps of the calculating method adopted were not clearly expounded. Given this, a rational algorithm which fits with the “minimum area” principle was chosen to improve the calculating accuracy and correct 11 circular cross-section results in algorithm of Appendix B. Then, the final assessment of coaxial error was corrected.
Coaxial Error; New Algorithm; High-precision; Sophisticated Detection
(編輯:封毅)
TH161
A
1674-3563(2012)02-0022-06
10.3875/j.issn.1674-3563.2012.02.004 本文的PDF文件可以從xuebao.wzu.edu.cn獲得
2011-09-27
林翔(1963- ),男,福建福州人,副教授,高級工程師,碩士,研究方向:精密檢測領域的算法研究及計算機應用編程