李少芝,楊凱
(馬鞍山市特種設備監(jiān)督檢驗中心,安徽馬鞍山243000)
三坐標測量機因精度高、環(huán)境適用性好,廣泛應用于汽車裝配、機械加工制造、精密儀器檢測等領域。但隨著智能制造的發(fā)展和工業(yè)生產(chǎn)加工過程中對精度、實時性及機動性需求的不斷提高,三坐標測量機的發(fā)展受到了制約。關節(jié)臂式坐標測量機(Articulated Arm Coordinate Measuring Machine,AACMM)因其機械結構簡單、體積小、重量輕、運行效率高、可測范圍廣、能夠進行現(xiàn)場測量等優(yōu)勢,成為了新的研究重點。關節(jié)臂測量機通常具有6自由度,采用非笛卡爾坐標系[1]實現(xiàn)空間內(nèi)的廣域測量,通過類似關節(jié)機器人的串聯(lián)式空間開鏈式連桿機構[2]模擬人體手臂進行工作。受結構影響,該種測量機在工作過程中會產(chǎn)生誤差的逐級累積、傳遞、放大的問題,影響最終測量準確度。其靜態(tài)參數(shù)誤差主要為所選用模型內(nèi)的結構參數(shù)誤差,屬于模型本身的固有誤差,通常為定值,可通過自標定法或外部標定法進行校準[3-4]。而對于關節(jié)臂測量機動態(tài)誤差補償?shù)睦碚撗芯坑捎谄浔旧韰?shù)的多樣性與過程的復雜性,成為了國內(nèi)外學者研究的重點。
胡毅[5]等人針對溫度因素,建立了基于神經(jīng)網(wǎng)絡的熱變形誤差修正模型,實現(xiàn)了對溫度影響的量化補償。于浩[6]等人針對關節(jié)臂測量機在齒輪方面的應用,分析了關節(jié)臂從測頭到基座的坐標傳遞模型,并討論了測量平臺與被測工件之間的位姿關系。朱嘉奇[7]等人針對柔性臂坐標測量機誤差溯源及不同誤差之間呈現(xiàn)非線性化的問題,提出將模擬退火融入BP神經(jīng)網(wǎng)絡的方法,實現(xiàn)了對動態(tài)誤差的補償。
文章在眾多學者的研究基礎上,進一步分析關節(jié)臂坐標測量機各誤差的來源,對測量過程中動態(tài)誤差部分相關參數(shù)進行研究,并提出一種模糊神經(jīng)網(wǎng)絡(Fuzzy Neural Network,F(xiàn)NN)與模擬退火算法相結合的誤差補償方法,通過與補償前的實驗數(shù)據(jù)進行對比,論證該方法的可行性。
關節(jié)臂式測量機由3個關節(jié)臂和1個測頭通過6個旋轉關節(jié)組合而成[8],其結構如圖1所示。
圖1 關節(jié)臂式測量機結構圖
本研究采用接觸式測頭,由牽拉測量機測頭聯(lián)動整個測臂的移動,通過測量關節(jié)的轉角獲得被測點的三維坐標,以角度測量基準取代長度基準,從而建立完整的測量空間系統(tǒng)。
由于關節(jié)臂測量機結構上可動點較多,整個關節(jié)臂的運動包含旋轉、定軸轉動等,有些型號還包括受力較復雜的管壁活塞運動,因此測量機的誤差來源也復雜且廣泛。目前研究認為對測量結果影響較大的誤差主要分為[8]:
1)測量系統(tǒng)固有誤差
測量系統(tǒng)固有誤差包括由于設備的結構件參數(shù)在生產(chǎn)制造過程中與真實值存在一定偏差而引起的結構參數(shù)誤差,以及工作過程中測臂自身重量導致測頭發(fā)生少許位移而產(chǎn)生的力變形誤差。
2)測量過程環(huán)境誤差
測量過程環(huán)境誤差主要包括由于外界溫度變化引起測量機測頭、測臂、圓光柵等關鍵部件受熱產(chǎn)生的熱變形誤差,在精度要求更高的場合,還包括由于濕度變化導致的測量誤差。
3)測量過程動態(tài)誤差
測量過程動態(tài)誤差包括測量力誤差(即由于測量過程中測頭與被測物體接觸所產(chǎn)生的測頭或測臂形變導致的誤差)、測頭系統(tǒng)誤差及角度編碼誤差,其中角度編碼誤差中最重要的誤差來源是關節(jié)角度傳感器的安裝偏心誤差[8]。
4)測量隨機誤差
隨機誤差在測量過程中總會出現(xiàn),可以通過多次重復測量減小其影響。如運動誤差、數(shù)據(jù)采集誤差等。
針對系統(tǒng)固有的靜態(tài)誤差,可以通過D-H模型[9]配合標定法對其進行控制。在單點固定站位的測量中,定義σs為末端傳感器坐標系,σp為測頭基準坐標系,σT為測臂工具坐標系,σBM為底座基準坐標系,四個坐標系的坐標變換構成了整個關節(jié)臂的位姿調(diào)整環(huán)節(jié),如圖2所示。
圖2 固定站點數(shù)據(jù)傳遞模型
關節(jié)臂測量機各部分之間的位姿關系均可由其坐標系與基準坐標系σBM之間的平移與旋轉來表示,即相差一個轉移矩陣
該矩陣表示坐標由N到M的轉換。其中,R為旋轉量,B為平移量。
對于傳感器坐標系σs測得的數(shù)據(jù)點P0=(x0y0z0)進行上述位姿調(diào)整之后,在底座基準坐標系σBM下的點就轉換為
式中:PBM和PS分別為坐標系σBM和σs下的點坐標;為兩坐標系間的轉移矩陣。
此時,測頭傳感器到測量機基座之間的數(shù)據(jù)傳遞過程建立為一種理想的數(shù)學模型,靜態(tài)測量誤差得到了有效補償。但是考慮到測量過程的復雜性,動態(tài)誤差使用這種方式補償顯然是不合適的。針對關節(jié)臂式測量機動態(tài)誤差,選取熱變形誤差、測量力誤差與角度編碼誤差三個最主要的影響因素進行分析。
環(huán)境溫度是影響測量準確度的一個重要因素,由于關節(jié)臂式測量機的活動點較多且相互間沒有更多的支撐,因此相較于傳統(tǒng)的測量機,其測量結果更容易受到溫度變化的影響。在研究測量力誤差與角度編碼誤差這兩個核心因素之前,通過實驗分析確定最理想的測量環(huán)境,使熱變形誤差的影響降到最低。
在進行溫度變化預實驗時,選取固定長度作為對象,以0℃為起點,1℃為測溫步長,記錄0~40℃范圍內(nèi)的測量誤差變化曲線。每個溫度值點都選取100個測量值,取平均記為L′,真實值記為L,則該點誤差為誤差曲線如圖3所示。
圖3 熱變形誤差曲線圖
從圖3中可以看出,熱變形誤差在約20℃時為明顯極小值點,低于或高于20℃時均單調(diào)變化,因此20℃是此關節(jié)臂式測量機的理想工作溫度。
后續(xù)實驗中,為使關節(jié)臂測量機在理想溫度環(huán)境下工作,在其6個活動點處安裝溫度傳感器,由四個恒溫出風口對關節(jié)臂進行加熱恒溫,使其溫度保持為20℃。且所有實驗均在精密實驗室內(nèi)進行,所有儀器使用前均經(jīng)過標準預熱。
模糊理論與神經(jīng)網(wǎng)絡相結合誕生了模糊神經(jīng)網(wǎng)絡(Fuzzy Neural Network,F(xiàn)NN),即采用神經(jīng)網(wǎng)絡結構實現(xiàn)模糊理論的功能,將二者的優(yōu)勢相互融合且達到互補。單一模糊系統(tǒng)難以表示明確特征量,如學習、信息處理、視覺識別等,而通過模糊神經(jīng)網(wǎng)絡則可以解決此問題[10-11]。
Takagi-Sugeno(T-S)模糊神經(jīng)網(wǎng)絡采用了融合神經(jīng)網(wǎng)絡與模糊推理的獨特結構。成功實現(xiàn)了模糊理論中模糊規(guī)則的自動生成,能夠在自動調(diào)整模糊隸屬度函數(shù)的同時,通過神經(jīng)網(wǎng)絡的部分實現(xiàn)原本不具備的大規(guī)模運算能力以及自學習能力[12-16]。
在非線性動力學中引入T-S模糊神經(jīng)網(wǎng)絡是解決測量準確度問題的重要方法之一,而關節(jié)臂式測量機動態(tài)誤差由動力學引起,具備高度復雜的非線性特征,因此,T-S模糊神經(jīng)網(wǎng)絡適用于關節(jié)臂測量機動態(tài)誤差的模型建立。
設計模擬神經(jīng)網(wǎng)絡模型時,需要先對測量力誤差與角度編碼誤差的影響因素進行分類,從眾多因素中篩選出最主要的因素作為補償模型的輸入量。
對于測量力誤差而言,測頭從起始處移動至被測物體的運動過程是測頭產(chǎn)生形變的最大誤差來源。在此過程中測頭先加速達到最高速度點,再減速到達被測物體,最終與物體接觸。為了方便分析接觸力的大小,將整個運動過程與測頭的受力大小建立聯(lián)系,利用測頭運動的最大定位誤差(MPE)和殘余定位誤差(RPE)表征測頭受到并使之產(chǎn)生形變的力的大小,MPE與RPE越小,測頭定位越準確,物體對測頭施加的力也就越小,產(chǎn)生形變也相應較小。
影響關節(jié)臂測量機角度編碼誤差的因素通過6個關節(jié)轉角值(JA)來表征[7]。
T-S模糊神經(jīng)網(wǎng)絡的輸入量模糊劃分決定了系統(tǒng)的復雜程度,過多的劃分會使得學習時間呈指數(shù)型增長。根據(jù)實際需要,本文將影響結果的最簡化8個動態(tài)參數(shù)構造T-S網(wǎng)絡模型,其結構如圖4所示。其中,P為各后件網(wǎng)絡輸入節(jié)點;μ為對應模糊分量的隸屬度;α為前件網(wǎng)絡中與層各節(jié)點;y為后件網(wǎng)絡中m個獨立節(jié)點的模糊規(guī)則。
圖4 T-S動態(tài)誤差網(wǎng)絡模型
1)前件網(wǎng)絡設計
前件網(wǎng)絡共分為四層:輸入層、隸屬度層、“與”層和歸一化層。其中,輸入層將8個動態(tài)誤差因子輸入量X=[x1,x2,x3,x4,x5,x6,x7,x8]傳給隸屬度層,故包含8個輸入節(jié)點;隸屬度層接收到輸入變量后,按照模糊規(guī)則對其進行模糊化,并同時賦給每個模糊分量相應的隸屬度函數(shù)值,對于本文的8個輸入維度,設計3個模糊分割層次,即負、零、正,使用高斯函數(shù)賦予隸屬度值,因此本層的節(jié)點數(shù)應為N2=3×8=24;“與”層的功能是計算模糊規(guī)則的隸屬度,其節(jié)點數(shù)應與設計的模糊規(guī)則總數(shù)相等,為N3=m=∏i=1mi=38=6561;最終通過歸一化層加快訓練網(wǎng)絡的收斂性得到前件輸出,其節(jié)點數(shù)N4=6561與前層相等。
2)后件網(wǎng)絡設計
后件網(wǎng)絡由三層構成,其中8個影響因子加上一個為模糊后件提供常數(shù)項的x0=1共同構成第一層,即后件網(wǎng)絡的輸入層。輸入變量通過輸入層傳遞給第二層計算模糊規(guī)則下的后件。該層中每個節(jié)點都表示一個獨立的模糊規(guī)則,共計m個節(jié)點,即
將第二層的計算結果傳遞給第三層輸出層,同時引入前件網(wǎng)絡的計算結果作為該各項規(guī)則后件的加權系數(shù),該系數(shù)稱為模糊規(guī)則的激活度,因此整個網(wǎng)絡的輸出為各項規(guī)則后件的加權和y為
對需要辨識的后件網(wǎng)絡連接權值pj,模糊隸屬度函數(shù)的中心值cij以及寬度σij(j=1,2,…,6561;i=1,2,…,8)三個參數(shù)進行算法設計。
算法中誤差函數(shù)取為
式中:ydk為期望輸出;yk為實際輸出。
具體參數(shù)辨識步驟如下:
①為三個辨識參數(shù)pj,cij,σij隨機賦起始值。
②對訓練樣本數(shù)據(jù)按照如下方式進行迭代:
式中:β為訓練模型的學習率;k為迭代次數(shù);t為迭代的當前值。
③當訓練結果單組數(shù)據(jù)的誤差小于預設誤差時,則誤差準確度達到了要求,停止該組數(shù)據(jù)的迭代訓練,否則繼續(xù)進行。
④誤差準確度達標的實驗組,停止迭代。轉入②將下一組訓練樣本繼續(xù)迭代,直至整組樣本集完成訓練。
模擬退火(Simulated Annealing,SA)算法起源于蒙特卡洛算法,并于1953年由Metropolis等人提出,是一種主要應用于大空間中尋找最優(yōu)解的概率算法。傳統(tǒng)的爬山算法也能夠快速地尋找臨近解的極大值,但當遇到函數(shù)極大值非最大值點時,爬山算法對比極值點兩端數(shù)據(jù)大小之后,極易將該點誤認為最大值點,從而陷入局部最優(yōu)的僵局。而SA算法在局部尋優(yōu)的基礎上隨機性地加入一定擾動,有一定幾率讓這個局部最優(yōu)解跳出局部解空間,從而繼續(xù)對全局最優(yōu)解進行搜尋,在多次于函數(shù)最值周圍振蕩徘徊后,最終確定該最值點為函數(shù)的全局最優(yōu)解,可巧妙避開局部最優(yōu)的陷阱。
給定初始溫度T0,令初始最優(yōu)解w*=w0,根據(jù)干擾產(chǎn)生的新解為wβ,可通過ΔE=E(wβ)-E[w(k)]求優(yōu)化函數(shù)指標。接受判定的條件為:①若ΔE≥0,計算接受概率r=exp[-ΔE/T],若r>pp,則w(k+1)=wβ,否則w(k+1)=w(k),pp為區(qū)間[0,1]上的隨機數(shù);②如果ΔE<0,則w(k+1)=wβ,w*=wβ。每次過程令k=k+1,如果k大于設定值N,則開始降溫,最終當達到預設檢驗誤差范圍內(nèi)或者預設終止溫度時,輸出當前值w*作為最終最優(yōu)權閾值。融合SA算法的網(wǎng)絡基本步驟如圖5所示。
設計算法補償過程中的各連接點權值Pj時,通過模擬退火算法找到神經(jīng)網(wǎng)絡權閾值的全局最優(yōu)解,利用突跳特性避免陷入局部極小值的問題,使得網(wǎng)絡輸出更好的逼近真實值,提高神經(jīng)網(wǎng)絡的預測準確度。
圖5 模擬退火算法優(yōu)化神經(jīng)網(wǎng)絡流程圖
該動態(tài)補償模型取訓練次數(shù)為500,學習率定為0.002,訓練的理想化目標定為0.03。為避免輸入量相差過大導致預測誤差過大進而影響實際結果,訓練的初始階段就應對所有樣本數(shù)據(jù)進行歸一化處理。數(shù)據(jù)預處理完成后,根據(jù)正交實驗L18(27),將前三次實驗所得的數(shù)據(jù)作為訓練樣本,再針對實際結果驗證模型的有效性,可隨機采集270組結果數(shù)據(jù)作為測量樣本。隨機選取50組動態(tài)誤差參數(shù)經(jīng)模糊神經(jīng)網(wǎng)絡補償效果如圖6所示。
圖6 (a)和圖6(b)為最大定位誤差和殘余定位誤差補償效果圖,因為6個關節(jié)轉角值在補償時獨立、隨機且相互沒有耦合,因此在做結果分析中僅以一個關節(jié)的補償效果為例,即圖6(c)所示。
圖6 動態(tài)誤差參數(shù)模糊神經(jīng)網(wǎng)絡補償效果
圖6 中的藍色點表示將樣本數(shù)據(jù)中的輸入數(shù)據(jù)導入動態(tài)誤差模型后計算出的不同組合下動態(tài)誤差的預測值;與樣本數(shù)據(jù)作比較得到補償誤差,用紅色點表示;再計算出測量樣本輸出數(shù)據(jù)補償前的誤差值,用黑色點表示。觀察圖6發(fā)現(xiàn),預測值與測量值契合度很高,3幅圖像的最大預測誤差均小于6.3μm,異值出現(xiàn)的概率分別為2%,0%和0%(以±5μm為界),所以基于該預測值是切實可行的。同時用測量值和補償后誤差值之間的差與補償前的測量值相比,即可得出該模型的誤差補償效果,如表1所示。由表1可知融合了模擬退火算法的模糊神經(jīng)網(wǎng)絡建立的動態(tài)誤差參數(shù)模型具有良好的補償效果。
表1 SA-T-S模糊神經(jīng)網(wǎng)絡模型誤差對比
實驗結果表明,經(jīng)模型補償后動態(tài)過程誤差分別減小了88.8%,80.2%,71.3%,證明該模型能夠有效提高測量機的動態(tài)測量準確度,可為工業(yè)現(xiàn)場提高測量效率提供有力保障。
1)本文討論了關節(jié)臂式坐標測量機結果誤差的眾多影響因素中最主要的三個部分,即熱變形誤差、測量力誤差與角度編碼誤差,并分別進行分析。
2)針對關節(jié)臂式坐標測量機動態(tài)誤差參數(shù)的三個主要影響因子進行分析,即最大定位誤差(MPE)、殘余定位誤差(RPE)和關節(jié)轉角值(JA),采用正交實驗探究了各個影響因素對3項動態(tài)誤差參數(shù)的影響程度,為建立動態(tài)誤差補償模型奠定了基礎。
3)將T-S模糊神經(jīng)網(wǎng)絡與模擬退火算法相結合,應用于三坐標測量機動態(tài)測量過程誤差補償,以3個影響因子為輸入向量,3項動態(tài)誤差參數(shù)作為輸出建立動態(tài)誤差模糊神經(jīng)網(wǎng)絡模型,經(jīng)實驗證明該模型具備良好的補償效果,拓展了關節(jié)臂式測量機動態(tài)誤差補償技術,為提高關節(jié)臂式測量機動態(tài)準確度與測量效率提供了保障。