阮小麗
(南通市產(chǎn)品質(zhì)量監(jiān)督檢驗所, 南通 226005)
零件加工過程中,由于各種因素影響,加工出來的零件總存在各種形式的加工誤差,這就需要通過測定來確定這些誤差的性質(zhì)和大小。產(chǎn)品質(zhì)量監(jiān)督檢驗人員在借助于各種檢測手段或方法檢測產(chǎn)品質(zhì)量的過程中,首先明確質(zhì)量標準要求,然后選用便捷準確的測試方法和采用合理的測試手段來檢驗產(chǎn)品,得到質(zhì)量特征值或數(shù)據(jù),再將測試的數(shù)據(jù)結(jié)果經(jīng)過整理同質(zhì)量標準要求作比較,確定產(chǎn)品質(zhì)量是否合格[1]。
隨著MATLAB 軟件功能的日益完善,MATLAB是當今科研領域最常用的應用軟件之一,它具有強大的矩陣計算、符號運算和數(shù)據(jù)可視化的功能。在MATLAB軟件中有一個模塊叫圖形用戶界面(GUI/ Graphical User Interface),它是指采用圖形方式顯示的計算機操作用戶界面[2]。這種面向客戶的系統(tǒng)工程設計其目的是優(yōu)化產(chǎn)品的性能,使操作更人性化,減輕使用者的認知負擔,使其更適合用戶的操作需求。
平面度誤差是機械加工中常見而又重要的檢測項目。許多學者在平面度誤差的評定方面進行了研究,提出了多種平面度誤差近似優(yōu)化評定方法。如最大直線度法、對角線法、三點法、最小二乘法、最小區(qū)域法、遺傳算法等[3~8],目的在于建立滿足最小條件的理想包容區(qū)域,以實現(xiàn)準確評定。
本文介紹用MATLAB通用軟件評定平面度誤差及可視化方法,具有很好的實用性。
根據(jù)中華人民共和國國家標準GB/T 11337—2004規(guī)定[9],平面度誤差的定義為實際平面t對其理想平面的變動量,而理想平面的位置應符合最小條件。平面度誤差值為用平面度最小包容區(qū)域的寬度f表示的數(shù)值,見圖1。應用于三坐標機的平面度評定方法主要是最小包容區(qū)域法和最小二乘法,評定的實質(zhì)是求解評定基面的參數(shù)。
圖1 平面度誤差示意圖
平面在空間直角坐標系中的一般方程為
Ax+By+Cz+D=0 (C≠0)
(1)
式(1)可以寫成
(2)
則式(2)可以改寫成
z=a0x+a1y+a2
(3)
根據(jù)GB/T 11337—2004規(guī)定[9]5.3.1測量布點的方法測量n個點(n≥3):
(xi,yi,zi),i=0,1,…,n-1
要用點(xi,yi,zi),i=0,1,…,n-1擬合計算上述平面方程,則使S最小。
(4)
要使得S最小,應滿足
即
(5)
有
(6)
或
(7)
解上述線形方程組,得:a0,a1,a2,從而得到基準平面方程。
再將各測點相應的坐標(xi,yi,zi),i=0,1,…,n-1代入平面方程,即可得對應的z方向坐標值,所以平面度誤差為
δ=max(zi-z)-min(zi-z)
(8)
根據(jù)平面的標準方程,用最小包容區(qū)域法推導出計算公式,平面的一般方程為式(1)所示。
三坐標測得n(n>3)個點的坐標為(xi,yi,zi),i=0,1,…,n-1,各點到平面的距離為
(9)
根據(jù)各點距離構(gòu)造的下列函數(shù)即為最小包容區(qū)域平面應該滿足的方程
δ=[di]max-[di]min
(10)
式中,[di]max、[di]min分別為di中的最大值和最小值。
遺傳算法是基于自然選擇,在計算機上模擬生物進化機制的尋優(yōu)搜索算法。遺傳算法的操作是模擬生物基因的操作,它的任務就是根據(jù)個體的適應度對其施加一定的操作,從而實現(xiàn)優(yōu)勝劣汰的進化過程。從優(yōu)化搜索的角度而言,遺傳操作可使問題的解逐漸地優(yōu)化,逼近最優(yōu)解。遺傳操作包括以下三個基本遺傳算子:選擇、交叉和變異。選擇和交叉基本上完成了遺傳算法的大部分搜索功能,變異增加了遺傳算法找到接近最優(yōu)解的能力。在后面的程序設計中,運用遺傳算法第一步先選擇出最好的10個解,第二步進行交叉處理,第三步再進行變異處理,最后處理得到平面度誤差。
MATLAB提供的從插值到數(shù)據(jù)圖示一系列的函數(shù),為軟件的開發(fā)提供了極大方便。程序中使用的數(shù)據(jù)插值方法有四種:立方插值法(cubic)、V4插值法(V4)、線性插值法(linear)、最近點插值法(nearest)。利用這四種數(shù)據(jù)插值法將某組20個測點數(shù)據(jù)可視化處理,如圖2~5所示。其中,圖2的立方插值和圖3的V4插值生成的圖形比較平滑,而圖4的線性插值和圖5的最近點插值所生成的圖形在零階和一階不連續(xù),從而顯示的圖形沒有那么平滑。就其算法原理, 線性插值、 立方插值和最近點插值都基于數(shù)據(jù)Delannay三角化,從圖中可以直觀地感受到平面的實際形貌。在編譯的可執(zhí)行程序中添加了顯示精度設置,顯示精度越小,顯示的網(wǎng)格越小。
圖2 立方插值
圖3 V4插值
圖4 線性插值
圖5 最近點插值
圖6 程序主要界面
程序的主要界面如圖6所示,主要有三大部分:測量數(shù)據(jù)導入處理區(qū)域、平面度評定區(qū)域和平面三維可視化區(qū)域。測量數(shù)據(jù)導入處理區(qū)域可以實現(xiàn)測量數(shù)據(jù)的導入以及處理輸出保存。如果和一些自動測量設備連接起來,例如運用GLOBAL FX777型三坐標測量機自動掃描完成被測平面的數(shù)據(jù)點采樣,采樣點的坐標數(shù)據(jù)以.TXT 格式的文件導出,將測量結(jié)果導入處理,這樣可以實現(xiàn)快速評定平面度誤差及可視化顯示。平面度評定區(qū)域可以采用三種不同方法評定平面度誤差,再通過對比選擇最優(yōu)結(jié)果。程序中實現(xiàn)平面度不同方法評定的流程如圖7所示。
圖7 程序平面度評定流程
程序中運用3種方法對測量數(shù)據(jù)處理,評定出平面度誤差。
1)最小二乘法
根據(jù)前面的評定方法數(shù)學模型的理論闡述,能夠順利編譯程序?qū)崿F(xiàn)最小二乘法的平面度誤差評定。
2)最小區(qū)域法
按照文獻[10] JJG 117—2005平板檢定規(guī)程的標準規(guī)定,符合“最小條件原則”平面度的判別準則:三角形準則、交叉準則和直線準則。三角形準則:一個最低(高)點的投影位于由三個等值最高(低)點所組成的三角形內(nèi)(凸三角形和凹三角形);交叉準則:兩個等值最低(高)點的投影位于兩個等值最高(低)點連線的兩側(cè);直線準則:一個最低(高)點的投影位于兩個等值最高(低)點的連線上。程序中運用了一些判斷語句,再根據(jù)以上準則判斷包容平面是否包容了所有的點,最后計算給出平面度誤差的評定結(jié)果。
3)遺傳算法
此方法有三個基本遺傳算子:選擇、交叉和變異。運用MATLAB實現(xiàn)遺傳算法對平面度的評定,這方面的文獻資料比較少,為此下面給出程序的主要部分。
for m=1:100 %迭代100次循環(huán)
for i=1:100
F=(a(i)*A(:,1)+b(i)*A(:,2)+c(i)-A(:,3))./(a(i)^2+b(i)^2+1)^0.5;
D(i)=max(F)-min(F);
end
[X,Y]=sort(D);
for i=1:10%選擇出10個最好的解
AA(i)=a(Y(i));
BB(i)=b(Y(i));
CC(i)=c(Y(i));
end
…
k=11;
for i=1:9 %交叉
for j=i+1:10
if rand>0.5
AA(k)=a(i);
AA(k+1)=a(j);
AB(k)=b(i);
AB(k+1)=b(j);
AC(k)=c(j);
AC(k+1)=c(i);
…
k=97; %變異
AA(k)=a(1).*1.05;
AB(k)=b(1);
AC(k)=c(1);
k=k+1;
AA(k)=a(2);
AB(k)=b(2).*1.05;
AC(k)=c(2);
k=k+1;
AA(k)=a(3);
AB(k)=b(3);
AC(k)=c(3).*1.05;
…
E=max(D)-min(D); %平面度誤差評定
4)GUI程序的準確性驗證
圖8 平面度誤差評定結(jié)果顯示
為了比較最小二乘法、最小包容區(qū)域法和遺傳算法的平面度誤差評定精度,同時也為了驗證筆者編譯的可執(zhí)行程序的準確性,對給定平面度誤差進行測量與評定。程序?qū)雲(yún)⒖嘉墨I[11]里的一組數(shù)據(jù)如表1所示,通過運行編譯的可執(zhí)行程序后,計算結(jié)果如圖8所示。參考文獻[11]中運用了最小二乘法和最小區(qū)域法,最小二乘法評定平面度誤差為0.0061mm,最小區(qū)域法評定平面度誤差為0.0056mm。
表1測量點坐標數(shù)據(jù)
從圖8中可見,本程序最小二乘法評定平面度誤差為0.0061mm,最小區(qū)域法評定平面度誤差為0.00558mm,遺傳算法評定平面度誤差為0.00596mm。對比充分說明了本程序分析結(jié)果的準確性,而且在3種評定方法中,最小區(qū)域法評定平面度誤差時產(chǎn)生的誤差最小,精確度最高。
本文開發(fā)的平面度誤差評定的可執(zhí)行程序,用戶操作人員可以通過簡單操作GUI界面,能夠?qū)崿F(xiàn)從界面上導入實驗測量數(shù)據(jù),選擇所需要的評定方法后,便可直接得出平面度誤差值輸出到計算機屏幕指定的位置。還可以通過點擊繪圖顯示按鈕繪出直觀形象的三維模擬圖形。本軟件設計的界面友好操作簡單、求解速度很快且測量結(jié)果準確。
平面度誤差的幾種常用評定方法中,只有最小區(qū)域法是國家標準規(guī)定的方法, 采用最小區(qū)域法評定時產(chǎn)生的誤差最小,精確度最高。本文基于MATLAB開發(fā)的用戶界面可執(zhí)行程序,可以快速評定平面度誤差以及可視化三維顯示。這樣有效提高了平面度誤差檢測效率,從一定程度上降低檢測成本,對工程上的加工工藝分析也有很大的實際意義。
[1] 梁子午.檢驗工實用技術(shù)手冊[M].南京:江蘇科學技術(shù)出版社,2004
[2] 張琨,畢靖,叢濱.MATLAB 7.6從入門到精通[M].北京:電子工業(yè)出版社,2009
[3] 劉永超,陳明.形位誤差的進化算法[J].計量學報,2001,22(1):18-22
[4] 岳武陵,吳勇.平面度和直線度誤差的快速評定-增量算法[J].計量學報,2008,29(2)120-123
[5] Samuel G L,Shunmugam M S.Evaluation of straightness and flatness errors using computational geometric techniques[J].Computer-Aided Design,1999,31(13):829-843
[6] 薛小強.平面度誤差的精確最小域解[J].機械設計與制造工程,2002,31(5)82-83
[7] Zhu X Y,Ding H.Flatness tolerance evaluation:an approximate minimum zone solution[J].Computer-Aided Design,2002,34:655-664
[8] Lee M K.A new convex-hull based approach to evaluating flatness tolerance[J].Computer-Aided Design,1997,29(12):861-868
[9] 中華人民共和國國家質(zhì)量監(jiān)督檢驗檢疫總局.GB/T 11337—2004平面度誤差檢測[M].2004
[10] 國家質(zhì)量監(jiān)督檢驗檢疫總局.JJG117—2005平板檢定規(guī)程[M].中國計量出版社,2005
[11] 陳永鵬.基于MATLAB優(yōu)化工具箱的機械產(chǎn)品形狀誤差評定系統(tǒng)研究[D].四川大學碩士學位論文,2003