吳呼玲
(陜西國防工業職業技術學院 機械工程學院,西安 710300)
基于MATLAB的直線度測量不確定度評定程序設計
吳呼玲
(陜西國防工業職業技術學院 機械工程學院,西安 710300)
形位誤差測量不確定度評定由于其測量的復雜性和測量結果評定的多樣性,導致在實際測量結果中形位誤差測量的不確定度評定成了難題;尤其是測量點較多,測量數據難以處理,處理結果的準確性難以保證;為此,根據直線度測量不確定度的評定過程對其進行了評定程序的設計,在程序命令的提示下,輸入測量值便可得到直線度誤差,輸入單點測量不確定度便可得到直線度測量不確定度;該程序根據測量不確定度常用的GUM法和蒙特卡羅法思想進行設計,可得到兩種不同的評定結果,不受測量點的多少、測量數據的復雜程度等因素影響;通過數據驗證,程序可靠準確,為直線度測量不確定度評定提供了便捷、高效的數據處理方法;通過測量數據驗證,該程序準確可靠,具有一定的實際應用價值和推廣意義。
直線度;不確定度;程序設計
直線度誤差測量是幾何測量中常用到的誤差測量項目,它的大小會直接影響到零部件的互換性和產品質量,因而準確、快捷的評定測量結果的不確定度成為一個重要的課題。形位誤差測量不確定度的評定方法常用的有:不確定度表示指南[3]提供的通用方法(簡稱GUM法)和蒙特卡羅法[1]兩種。由于形位誤差測量的復雜性和多樣性,測量數據多、測量結果位數多、處理結果準確性難以保證,通過計算機程序對其進行處理成了解決問題的關鍵。
本文選用最小二乘法建立直線度誤差模型,依據GUM法和蒙特卡羅法評定直線度測量結果不確定度的評定過程進行分析,根據評定過程與評定原理進行程序設計,并進行數據驗證,確定程序的正確性。因此編制基于Matlab的直線度測量不確定度評定程序,程序處理時間段、計算精度大大提高,使數據處理方便可靠。為后續其他形位誤差的評定奠定了一定的基礎,為其他形位誤差的測量不確定度評定的程序設計提供了相應的方法,具有實際的應用前景。

(1)
(2)

(3)
1)求出(3)式中直線度誤差模型各參數的傳遞系數:
(4)
(5)
(6)
(7)
(8)
2)各參數測量不確定度分別為:
u(xM)=u(yM)=u(xL)=u(yL)=u0
(9)
其中:u0為某種具體測量過程中測量不確定度主要來源的多個方面,各個方面的不確定度分量的合成不確定度。例如,三坐標測量機測量芯軸素線的直線度,各參數的測量不確定度u0=1.56 μm。
(10)
直線度誤差測量不確定度評定公式[2]為:
(12)
1)根據具體的測量過程和采用的測量設備,分析測量過程中的不確定度來源。計算出直線度測量任務中,直線度的單點測量不確定度。
2)確定直線度誤差模型中各參數:xM;xL;yM;yL;k的期望和方差(期望為各參數的測量值,方差為各參數的單點測量不確定度)。
3)以xM;xL;yM;yL;k參數的期望和方差生成五維隨機數來模擬直線度誤差的測量值[6],樣本容量為M,采用大樣本進行直線度誤差的測量不確定度評定。生成的五維隨機數分別為:xM1,xM2,xM3,……xMM;xL1,xL2,xL3,……xLM;yM1,yM2,yM3,……yMM;yL1,yL2,yL3,……yLM;k1,k2,k3,……kM;
4)根據以上隨機序列,帶入直線度誤差模型公式,求出M個直線度誤差f的值,根據這組f的值,構造一個概率分布。判斷分布類型求出方差,即為所要求的直線度誤差測量標準不確定度。
%直線度不確定度評定[4]程序
clear;
clc;
A=xlsread('測量數據20170219.xls');
A1=A(:,1);
A2=A(:,2);
n=size(A1);
b=(sum(A1.*A2)*sum(A1)-sum(A1.*A1)*sum(A2))/(sum(A1)*sum(A1)-n(1,1)*sum(A1.*A1))
%直線常數
k=(sum(A1)*sum(A2)-n(1,1)*sum(A1.*A2))/(sum(A1)*sum(A1)-n(1,1)*sum(A1.*A1))
%直線系數
for i=1:n(1,1)
d(i)=(A2(i)-(k*A(i)+b))/sqrt(1+k^2);%最小二乘直線的距離
End
D=A1;
D=d
plot(A1,k*(A1)+b)
hold on
plot(A1,A2);
[maxd,dM] = max(d)%距離最大值及位置
[mind,dL] = min(d)%距離最小值及位置
f=(A2(dM)-A2(dL)-k*(A1(dM)-A1(dL)))/sqrt(1+k^2)%直線度誤差
fxM=-k/sqrt(1+k^2);%計算傳遞系數
fzM=1/sqrt(1+k^2);
fxL=k/sqrt(1+k^2);
fzL=-1/sqrt(1+k^2);
fk=(A1(dM)-A1(dL))/sqrt(1+k^2);
u0=input('單點測量不確定度u0(cm):');%輸入參數參數值
uzL=u0;
uxL=uzL;
uzM=uxL;
uxM=uzM;
for i=1:n(1,1)
kz(i)=(sum(A1)-n(1,1)*A1(i))/(sum(A1)*sum(A1)-n(1,1)*sum(A1.*A1));
end
uk=sqrt(sum(kz.*kz)*u0^2);
uf=sqrt((fxM*uxM)^2+(fxL*uxL)^2+(fzM*uxM)^2+(fzL*uzL)^2+(fk*uk)^2)%直線度誤差測量的不確定度
%生成服從正態分布的五維隨機數
M=input('樣本容量M:');%輸入參數參數值
XM=normrnd(A1(dM),u0,1,M);
XL=normrnd(A1(dL),u0,1,M);
ZM=normrnd(A2(dM),u0,1,M);
ZL=normrnd(A2(dL),u0,1,M);
KM=normrnd(k,uk,1,M);
for i=1:M
fM(i)=(ZM(i)-ZL(i)-k*(XM(i)-XL(i)))/sqrt(1+k^2);
end
figure(2),histogram(fM)
fjun = mean(fM)
fcha=std(fM)
使用愛德華公司的MQ686型三坐標測量機對一根芯軸的素線進行直線度測量[7],輸入測量結果,通過程序直接給出評定結果。被測工件長度180 mm,在X軸方向均勻取10個點,每個點間隔10毫米進行坐標測量[10],測量結果如表1所示。

表1 三坐標測量機測量芯軸素線直線度數據

程序運行結果顯示:
1)最小二乘直線方程y=kx+b的待定系數k和b的值。
2)被測要素上測量取樣點(xi,yi)至直線L的距離為Δi(i=1,2,…,10),并顯示出被測直線要素的的實際誤差和最小二乘直線。
3)距離最小二乘直線最高距離的點坐標和點的標號,距離最小二乘直線最低距離的點坐標和點的標號。
4)直線度誤差值。
5)當程序提示輸入單點不確定度數值后,程序算出直線度測量不確定度。
6)利用蒙特卡羅法計算直線度測量不確定度時,需要樣本容量M。輸入樣本容量是10000時,程序通過蒙特卡羅原理,給出直線度誤差(期望)和直線度測量不確定度(方差)。并給出正態分布曲線圖。
程序運行過程中的參數說明:
1)由于測量過程和測量方法不同,采用的測量設備也不同。因此需要根據實際測量情況,分析測量過程中的不確定度來源,并給出單點不確定度數值,在程序運行過程中需要手工輸入,可對同的單點不確定度數值的測量不確定度結果進行評定。
2)蒙特卡羅法進行偽隨機數模擬時,需要樣本容量。根據實際情況給出樣本容量的大小。因此需要手工輸入,以便給出合適的樣本容量。
通過GUM法對直線度測量不確定度的評定過程[8],采用EXCEL表格的手工計算,對三坐標測量機測量的結果進行直線度誤差計算和不確定度結果評定,評定結果與計算機程序的運行結果一致。
1)EXCEL表格的手工計算直線度誤差和測量不確定度結果[9]:
直線度誤差f=0.738 μm≈0.74 μm
直線度測量不確定度uf=2.2126 μm
2)計算機程序運行結果的直線度誤差和測量不確定度結果:
(1)GUM法的運行結果為:
直線度誤差f=0.7399 μm≈0.74 μm
直線度測量不確定度uf=2.2128 μm
(2)蒙特卡羅法的運行結果為:
直線度誤差f=0.75776 μm≈0.76 μm
直線度測量不確定度uf=2.2142 μm
用EXCEL表格手工計算和通過編寫程序進行程序運行,對直線度誤差和測量不確定度進行評定。其評定結果相同。由此可見,通過計算機編程對直線度誤差和測量不確定度進行結果評定結果可靠、便捷、高效等優點值得推廣和應用,也為其他形位誤差測量不確定度評定的程序編寫鑒定了一定的基礎。具有工程實用價值和測量領域數據處理方面的應用前景。
[1] 周桃庚.用蒙特卡洛法評定測量不確定度[M].北京:中國質檢出版社,2013.
[2] 倪驍驊.形狀誤差評定和測量不確定度估計[M].北京:化學工業出版社,2008.
[3] JJF1059.1-2012.測量不確定度的評定與表示[S].
[4] 林志熙,周景亮.基于MATLAB的直線度誤差數據處理的研究 [J].工具技術,2008,42(3):84-87.
[5] 黃富貴,崔長彩.評定直線度誤差的最小二乘法與最小包容區域法精度之比較 [J].光學精密工程,2007,15(6):889-893.
[6] 田樹耀,黃富貴,田 輝,等.一種基于MATLAB的形位誤差評定方法 [J].工具技術,2008,42(4):95-97.
[7] 黃富貴,鄭育軍.直線度誤差測量采樣方案的研究 [J]. 工具技術,2007,41(10):95-98.
[8] 劉存成,胡 暢.基于MATLAB用蒙特卡羅法評定測量不確定度[M].北京:中國質檢出版社,中國標準出版社, 2014.
[9] 費業泰.誤差理論與數據處理[M].北京:機械工業出版社,2012.
[10] 何 頻,郭連湘.計量儀器與檢測[M].北京:化學工業出版社,2006.
Program Design of Linear Measurement Uncertainty Evaluation Based on Matlab
Wu Huling
(School of Mechanical Engineering, Shaanxi Institute of Technology, Xi′an 710300, China)
Because of the complexity of the form and position error of measurement and measurement results of diversity, lead to actual measurement result of form and position error measurement of the uncertainty evaluation has become a problem.In particular, the measuring points are more, the measurement data is difficult to deal with, and the accuracy of processing the result is difficult to guarantee.In this paper, the evaluation process of the uncertainty based on the straightness measurement is designed.At the prompt of the program command, the linear degree error can be obtained by the input measurement value, and the uncertainty of the linear degree can be obtained by the input single point measurement uncertainty.The program is designed based on the method of using the GUM method and the Monte Carlo method, which is used to measure uncertainty, and can be obtained by two different evaluation results.The degree of unmeasured and the complexity of measuring data is affected. Through data verification, the program is reliable and accurate.It provides convenient and efficient data processing method for measuring uncertainty of linear degree.By measuring data verification, the program is accurate and reliable, and has certain practical application value and extension significance.
straightness; uncertainty; programming
2017-04-30;
2017-06-05。
吳呼玲(1979-),女,陜西臨潼人,碩士,講師,主要從事機械產品檢驗檢測、誤差理論與數據處理、機械設備狀態監測等方面的教學和研究工作。
1671-4598(2017)12-0288-03
10.16526/j.cnki.11-4762/tp.2017.12.074
TH124
A