馬書紅, 吳呼玲, 薛 帥
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院 1. 基礎(chǔ)課部; 2. 智能制造學(xué)院, 陜西 西安 710300)
平面度誤差,是指被測實際平面對理想平面的變動量[1]。測量方法有直接測量和間接測量兩種,直接測量是指可直接得到平面被測點坐標值或直接評定被測平面度誤差的方法。間接測量是指通過測量不能直接得到被測平面上各點坐標值,需經(jīng)過數(shù)據(jù)處理才可得到各點坐標值的方法,例如自準直儀法、水平儀法、跨步儀法[1]等。
多數(shù)情況下,平面度誤差的測量點數(shù)較多,數(shù)據(jù)處理過程較復(fù)雜,處理結(jié)果的準確性和時效性難以保證,通過計算機程序?qū)ζ溥M行處理成了解決問題的關(guān)鍵。本研究從平面度誤差評定的三種評定過程進行分析,根據(jù)評定過程和評定原理進行程序設(shè)計,通過實際的數(shù)據(jù)計算,驗證程序的正確性。通過計算機實現(xiàn)平面度誤差的評定,實現(xiàn)了誤差處理的準確性和高效率,也為數(shù)學(xué)建模課程的實際應(yīng)用奠定了一定的基礎(chǔ)。
在平面度誤差的測量過程中,調(diào)平被測平面很費時間,尤其是被測平面較大時,調(diào)平更加困難。因此常采用布線方式,用水平儀測量若干直線上各點,經(jīng)過適當(dāng)?shù)淖鴺宿D(zhuǎn)換,將測量數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為對選定基準平面的坐標值,然后按一定的評定方法確定其誤差值。評定方法主要有:三遠點法、對角線法、最小二乘法和最小包容區(qū)域法。
旋轉(zhuǎn)理論[2]評定平面度誤差的過程步驟如下。
(1) 對于一個被測平面的m行n列的測量數(shù)據(jù),將每一點的旋轉(zhuǎn)量分解為繞行的旋轉(zhuǎn)和繞列的旋轉(zhuǎn)兩個分量。
(2) 設(shè)定被測平面繞行的旋轉(zhuǎn)軸為第一行,旋轉(zhuǎn)量分別為:第一行為零,第二行為Q,第三行為2Q,第四行為3Q,依次類推。由于測量的行距相同,所以每一行相對前一行的旋轉(zhuǎn)增量也相同。
(3) 設(shè)定被測平面繞列的旋轉(zhuǎn)軸為第一列,旋轉(zhuǎn)量分別為:第一列為零,第二列為P,第三列為2P,第四列為3P,依次類推。由于測量的列距相同,所以每一列相對前一列的旋轉(zhuǎn)增量也相同。
(4) 將每一測量點繞行的旋轉(zhuǎn)量和繞列的旋轉(zhuǎn)量的對應(yīng)點相加,可得到被測平面上每一測量點的旋轉(zhuǎn)量。將被測平面的m行n列的測量數(shù)據(jù)與每一測點的旋轉(zhuǎn)量相加,可得到每一測點旋轉(zhuǎn)之后的坐標值。
(5) 選定某一評定方法,按照評定原理,選擇對應(yīng)的目標點,計算出每一點的旋轉(zhuǎn)量,對各測點做坐標換算,得到每一測量點的新的坐標。
(6) 分析旋轉(zhuǎn)后,各測點新的坐標,是否符合某一評定方法的評定準則,如果不符合,則應(yīng)該做二次旋轉(zhuǎn),重復(fù)以上步驟。
例如:對于一塊350 mm×350 mm的平板進行平面度誤差的測量和評定,選用千分表進行測量,每測點的行距和列距為100 mm,每行和每列分別測量三個點,利用旋轉(zhuǎn)理論求出其平面度誤差。
350×350的平板進行平面度誤差評定方法的數(shù)據(jù)處理采用旋轉(zhuǎn)變換理論,如圖1所示。
原始測量數(shù)據(jù)(格) 每一測點的旋轉(zhuǎn)量 每一測點旋轉(zhuǎn)之后的坐標值
對角線法評定平面度誤差,是將被測平面上兩個對角上的測量點調(diào)成等高,以此兩點的連線作為基準線。同時調(diào)整另外一個對角上的測量點等高,以此兩點的連線作為另一條基準線。通過其中一條基準線,且平行另一條基準線的平面作為平面度誤差評定的基準平面,所有測點相對于基準平面的最高偏離點與最低偏離點的距離,為被測平面的平面度誤差[3]。如式(1)—式(3)。
(1)
(2)
(3)
求得式(1):P=0.5;Q=-2.5, 求得式(2):p=-7;Q=-1.5, 求得式(3):p=-2;Q=-5。
以圖1中每一測點旋轉(zhuǎn)之后的坐標值中兩個對角旋轉(zhuǎn)到等高為評定原則,列出方程組(1),求出旋轉(zhuǎn)量P=0.5,Q=-2.5,得到每一測點旋轉(zhuǎn)后的測量值如圖2所示。
0-9.5-15-5.5+1+7.5-15-8.50
通過其中一條對角線(0—0對角線),且平行于另一條對角線((-15)—(-15)對角線)的平面為基準平面,實際被測平面上偏離基準平面的最高點為+7.5,偏離基準平面的最低點為(-15)。因此,平面度誤差為被測平面的實際測量值的最高點與最低點的差值,即式(4)。
f平面度=(+7.5)-(-15)=22.5
(4)
三遠點法評定平面度誤差,是將被測平面上距離盡可能遠的、不在同一直線上的任意三個點調(diào)整成等高,以此三點組成的平面作為平面度誤差評定的基準平面,所有測點相對于基準平面的最高偏離點與最低偏離點的距離,為被測平面的平面度誤差。
以圖1中每一測點旋轉(zhuǎn)之后的坐標值中相距盡可能遠、且不在同一直線上的三個點旋轉(zhuǎn)到等高為評定原則,列出方程組(2),求出旋轉(zhuǎn)量P=-7,Q=-1.5,得到每一測點旋轉(zhuǎn)后的測量值如圖3所示。
0-8.5-13-13-5.5+2-30-22.5-13
以選中的盡可能相距較遠、且不在同一直線上的三個點(-13的三個點)構(gòu)成一個平面作為基準平面,實際被測平面上偏離基準平面的最高點為+2,偏離基準平面的最低點為(-30)。因此,該平面的平面度誤差為式(5)。
f平面度=(+2)-(-30)=32
(5)
最小包容區(qū)域法評定平面度誤差,是一種最準確、最科學(xué)的評定方法。具體要仔細觀察所測數(shù)據(jù)的分布情況,分析所測數(shù)據(jù)的分布符合最小區(qū)域法評定平面度誤差的哪一種準則(三角形準則、交叉準則和直線準則)。然后根據(jù)被測數(shù)據(jù)所符合的準則,確定基準平面,所有測點相對于基準平面的最高偏離點與最低偏離點的距離,為被測平面的平面度誤差。
仔細觀測圖1中測量數(shù)據(jù)的分布情況,發(fā)現(xiàn)數(shù)據(jù)分布符合交叉準則,其中(-10)與(-16)屬于兩個測量點中的最低點,(+12)與0屬于兩個測量點中的最高點,且符合兩個低點處于兩個高點連線的兩側(cè)。將圖1中每一測點旋轉(zhuǎn)之后的坐標值中兩個最高點旋轉(zhuǎn)到等高、兩個最低點旋轉(zhuǎn)到等高為評定原則,列出方程組(3),求出旋轉(zhuǎn)量P=-2,Q=-5,得到每一測點旋轉(zhuǎn)后的測量值如圖4所示。
0-8-20-12-4-16-200-10
以通過兩個最低點的連線((-20)—(-20)連線),且平行于兩個最高點的連線(0—0連線)的平面為基準平面,實際被測平面上偏離基準平面的最高點為0,偏離基準平面的最低點為(-20)。因此,該平面的平面度誤差為式(6)。
f平面度=0-(-20)=20
(6)
最小二乘法評定平面度誤差,需要確定出最小二乘平面。
設(shè)(xi,yi,zi),i=1,2,…,n是直角坐標系中,被測平面上n個測點的坐標值,被測實際平面與最小二乘平面的關(guān)系,如圖5所示。
圖5 平面度的最小二乘模型
(7)
(8)
(9)
求出具體的最小二乘平面之后,實際平面上處于最小二乘平面上方的最高點(坐標值為(xM,yM,zM))到最小二乘平面的距離,加上實際平面上處于最小二乘平面下方的最低點(坐標值為(xL,yL,zL))到最小二乘平面的距離之和,為被測平面的平面度誤差[5]。為式(10)。
(10)
說明:對角線法和三遠點法的程序?qū)崿F(xiàn)區(qū)別甚小。以下是對角線法的程序代碼[6],如果采用三遠點法進行誤差評定,請采用程序中中括號中的代碼替換即可。
clear;
clc;
%(數(shù)據(jù)輸入及矩陣行列讀入)
X_data=xlsread('三行三列數(shù)據(jù)3.xlsx'); %read data
X=size(X_data);%
m=X(1,1);
n=X(1,2);
%(制造函數(shù)矩陣)
test=zeros(m,n);
X_m=zeros(m,n);
X_n=zeros(m,n);
i=0;
j=0;
for i=0:1:m-1;
X_m(i+1,:)=i;
end
for j=0:1:n-1;
X_n(:,j+1)=j;
end
syms x y;
XM=X_m*x;
XN=X_n*y;
test_1=XM+XN;
%(矩陣合并)
test_2=test_1+vpa(X_data)
%(對角線位置數(shù)據(jù)采集) 【%(三點位置數(shù)據(jù)采集)中括號里為三遠點法代碼】
mm1=1; 【mm1=1;】
nn1=1; 【nn1=2;】
mm2=m; 【mm2=3;】
nn2=n; 【nn2=1;】
mm3=1; 【mm3=3;】
nn3=n; 【nn3=3;】
mm4=m;
nn4=1;
point1=test_2(mm1,nn1) 【point1=test_2(mm1,nn1)】
point2=test_2(mm2,nn2) 【point2=test_2(mm2,nn2)】
point3=test_2(mm3,nn3) 【point3=test_2(mm3,nn3)】
point4=test_2(mm4,nn4)
%(聯(lián)立方程求解函數(shù)) 【%(聯(lián)立方程求解函數(shù))中括號中為三遠點法代碼】
form1=point1-point2 【form1=point1-point2】
form2=point3-point4 【form2=point2-point3】
[x,y]=solve(form1==0,form2==0,x,y)
xx=vpa(x)
yy=vpa(y)
%(反代函數(shù)矩陣中的最大值和最小值)
Xm=X_m*xx;
Xn=X_n*yy;
test_3=X_m*xx+X_n*yy+X_data
%(求出矩陣中的最大值和最小值)
a=max(max(test_3))
b=min(min(test_3))
%(求出平面度誤差)
final=a-b
當(dāng)被測平面的測量結(jié)果為:第一行,0、-18、4;第二行,-6、-2、6;第三行,-24、8、10,采用對角線評定平面度誤差,程序運行結(jié)果如圖6所示。
%最小二乘法評定平面度誤差評定程序[7]
A=xlsread('zxecf.xls');
x=A(:,1);
y=A(:,2);
z=A(:,3);
% n=size(z);
X=[ones(size(z)),x,y];
[b1,bint,r,rint,stats]=regress(z,X); %平面擬合結(jié)果,r為誤差(點到擬合平面的距離)
a=b1(2);
b=b1(3);
c=b1(1); %平面z=ax+by+c的系數(shù)
x0=-20:1:60;
y0=-10:1:30;
[X,Y]=meshgrid(x0,y0);
Z=a*X+b*Y+c;
figure(1)
scatter3(x,y,z,'filled') %繪制散點圖
hold on
mesh(X,Y,Z) %繪制擬合平面
[max,index1]=max(r); %距離最大的值及位置
[min,index2]=min(r); %距離最小的值及位置
f0=((z(index1)-z(index2))-a*(x(index1)-x(index2))-b*(y(index1)-y(index2)))/sqrt(1+a^2+b^2); % f0為平面度誤差
最小二乘平面和實際測點分布如圖7所示。
圖7 最小二乘平面和實際測點分布圖
最小二乘法的運行結(jié)果如下。
待定系數(shù):a=3.551 7×10-5;b=8.394 2×10-7;c=-0.007 7。
所有測點到最小二乘平面的最高點距離為:max=0.001 4。
所有測點到最小二乘平面的最低點距離為:min=-0.001 6。
被評定的平面度誤差為:f0=0.003 mm=3 μm。
對于被測平面的測量結(jié)果,應(yīng)用旋轉(zhuǎn)理論,采用對角線評定平面度誤差,如圖8所示。
圖8 對角線法評定平面度誤差
手工計算的評定結(jié)果[8]為:平面度誤差f=35 μm。與計算機程序的運行結(jié)果一致。
圖9 旋轉(zhuǎn)后每一點的測量值
平面度誤差為式(11)。
f=+7.5-(-27.5)=35 μm
(11)
通過對多組測量結(jié)果,應(yīng)用旋轉(zhuǎn)理論、采用對角線法、三遠點法和最小二乘法評定平面度誤差,手工計算或者用EXCEL計算的評定結(jié)果,與計算機程序的運行結(jié)果一致。
對于平面度誤差的測量數(shù)據(jù)處理,采用了程序運行、手工計算和EXCEL計算三種方式進行誤差評定,其評定結(jié)果相同,驗證了程序運行的準確性??梢?,應(yīng)用MATLAB軟件對平面度誤差進行評定具有結(jié)果可靠、便捷、高效等優(yōu)點值得推廣和應(yīng)用。不僅為其他幾何誤差評定的程序編寫提供了思路和方法,也為數(shù)學(xué)建模課程的實際應(yīng)用創(chuàng)造了教學(xué)環(huán)境,具有實際應(yīng)用價值和課程改革研究價值。