楊洪濤,馬 群,張夢遙,李 莉,汪 珺
(1.安徽理工大學(xué)機械工程學(xué)院,淮南 232001;2.安徽理工大學(xué)礦山智能裝備與技術(shù)安徽省重點實驗室,淮南 232001;3.合肥學(xué)院先進制造工程學(xué)院,合肥 230000)
確定在機測量系統(tǒng)的最佳測量區(qū),是提高數(shù)控機床在機測量系統(tǒng)測量精度的有效方法,其中關(guān)鍵在于建立系統(tǒng)誤差多維尋優(yōu)模型。數(shù)控機床在機測量系統(tǒng)由機床本體和安裝在Z向主軸上的觸發(fā)式測頭組成[1-3],其測量誤差主要來源于數(shù)控機床本體誤差和測頭誤差,而機床本體誤差各分量隨運動位置、速度、溫度等因素影響而變化。因此要建立系統(tǒng)誤差多維尋優(yōu)模型,其關(guān)鍵在于建立多因素影響下的單項誤差白化模型。數(shù)控機床的幾何誤差是影響機床加工精度和在機測量精度的主要誤差源之一,分為線值誤差(定位誤差、直線度誤差)和角度誤差兩大類,每種幾何誤差在測量中均受到空間位置和機床運行速度等因素的影響[4-5]。近年來許多學(xué)者對數(shù)控機床幾何誤差建模方法展開研究,赫煥麗等[6]采用最小二乘法對五軸機床的靜態(tài)誤差進行建模,但建模精度未達到預(yù)期目標。楊洪濤等[7]采用PSO-SVM算法對數(shù)控機床幾何誤差進行建模,誤差建模預(yù)測精度高,但未能導(dǎo)出具體的數(shù)學(xué)表達式。苗恩銘等[8]采用了多元回歸方法對機床熱誤差進行建模分析,實現(xiàn)誤差精確建模和精準預(yù)測。王開德等[9]運用多體系統(tǒng)理論對幾何誤差進行預(yù)測建模,但未能實現(xiàn)多因素影響輸入的誤差預(yù)測建模。
但上述建立的高精度誤差預(yù)測模型無法導(dǎo)出白化模型,能導(dǎo)出白化模型的誤差模型建模精度低等問題,無法直接滿足多影響因素下的在機測量系統(tǒng)最佳測量區(qū)確定需要。因此提出一種利用天牛須算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的在機測量系統(tǒng)幾何誤差建模方法,綜合考慮空間位置和運行速度主要影響因素,建立了精確的在機測量系統(tǒng)單項誤差白化模型。
數(shù)控機床在機測量系統(tǒng)由機床本體加安裝在Z向主軸上的測頭組成,系統(tǒng)結(jié)構(gòu)如圖1所示。將已加工完成的工件原位放置在機床XY工作臺上,由機床伺服控制系統(tǒng)帶動實現(xiàn)X、Y方向運動,測頭可以進行Z向運動,實現(xiàn)工件上被測點的觸碰并產(chǎn)生觸發(fā)信號,觸發(fā)機床本體的三維坐標讀數(shù)系統(tǒng)(或光柵測量系統(tǒng))進行讀數(shù),實現(xiàn)被測點的三維坐標位置測量。
(a) 在機測量系統(tǒng)結(jié)構(gòu)圖 (b) 在機測量系統(tǒng)現(xiàn)場實物圖圖1 在機測量系統(tǒng)示意圖
從上述分析可知,在機測量系統(tǒng)的測量誤差主要來源于機床本體幾何誤差和測頭系統(tǒng)誤差。機床沿每個方向?qū)к夁\動時,受機床制造、安裝誤差的影響,會產(chǎn)生6項幾何誤差,其中有3項線值誤差,包含1項定位誤差δy(y)和2項直線度誤差δx(y)、δz(y);3項角度誤差,包含俯仰角誤差εz(y)、滾轉(zhuǎn)角誤差εy(y)和偏擺角誤差εx(y),如圖2所示。因此,機床沿X、Y、Z三軸運動時,機床本體會產(chǎn)生18項位置幾何誤差和3項垂直度誤差,共計21項幾何誤差,如表1所示。測頭系統(tǒng)誤差主要分為預(yù)行程誤差、測量方向性誤差、安裝定位誤差,目前其建模方法研究比較成熟,本文暫不予考慮。
圖2 機床沿Y軸運動6項幾何誤差示意圖
表1 數(shù)控機床21項幾何誤差
為了實現(xiàn)在機測量系統(tǒng)高精度測量,滿足工件測量精度要求,可以采取誤差補償方法提高其測量精度,其中關(guān)鍵就是建立各單項誤差高精度預(yù)測模型。上述機床幾何誤差主要來源于導(dǎo)軌系統(tǒng)的制造、安裝誤差、滾珠絲杠的螺距誤差和光柵系統(tǒng)的零位、示值誤差等,當(dāng)導(dǎo)軌系統(tǒng)所處的空間坐標位置、機床運動速度、載荷及摩擦力、機床環(huán)境溫度變化時,各單項誤差均會發(fā)生復(fù)雜規(guī)律變化。以X軸定位誤差為例,其隨空間坐標位置、運動速度的變化曲線如圖3所示,呈現(xiàn)出影響因素多、非周期變化、變化規(guī)律復(fù)雜等特點,不同影響因素引起的誤差分量存在相關(guān)性。因此,本文采用天牛須算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)對在機測量系統(tǒng)各單項幾何誤差進行白化建模,建立其精確的誤差模型。
圖3 X定位誤差數(shù)值圖
圖4 BP神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)
表2 隱含層層數(shù)P取值對比
天牛須搜索(beetle antennae search,BAS)算法[10]是一種基于天牛覓食的應(yīng)用于多維函數(shù)尋優(yōu)的新算法。其生物原理主要是,天牛根據(jù)食物的氣味濃度來覓食,天牛左右兩只觸角接收食物氣味強度并決定天牛搜索的方向,根據(jù)這一原理天牛能夠有效找到食物。采用BAS算法優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程,建立BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)并輸入相關(guān)參數(shù)(坐標位置和速度),對輸入數(shù)據(jù)進行初步處理,利用天牛搜索覓食特性不斷迭代搜索,得到BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和閾值。將得到的最優(yōu)解代入BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,即可得到誤差預(yù)測模型。建模步驟流程如下:
步驟1:首先要設(shè)定最大迭代次數(shù)maxgen,步長因子eta,初始步長step,天牛兩須距離l,優(yōu)化的空間維度D,并對天牛須目標方向的隨機向量進行創(chuàng)建和做輸入的歸一化處理。
(1)
式中,D表示空間維度;rands表示隨機數(shù)值。
步驟2:天牛左右須的空間位置。
(2)
式中,Xr是右須觸角在第t次迭代時的位置;Xl是左須觸角在第t次迭代時的位置;Xt是天牛的質(zhì)心坐標迭代到第t次的位置;l是天牛左右觸須之間的距離。
步驟3:采用適應(yīng)度函數(shù)來辨識天牛左右觸須兩側(cè)的食物氣味濃度,比較兩須的食物氣味強度優(yōu)劣,適應(yīng)度函數(shù):
(3)
式中,N為訓(xùn)練樣本數(shù);tsim(i)是第i個樣本時的模型預(yù)測值;yi是第i個樣本的實際值。
步驟4:采用變步長法對天牛位置進行迭代更新,得到:
Xt+1=Xt-etat×d×sign(Smellleft-Smellright)
(4)
式中,etat是在第t次迭代時的步長因子;sign()是符號函數(shù)。
步驟5:判斷算法終止條件是否滿足:若滿足,則結(jié)束算法并輸出天牛最優(yōu)位置,即BP神經(jīng)網(wǎng)絡(luò)最優(yōu)的初始權(quán)值和閾值。并代入神經(jīng)網(wǎng)絡(luò)繼續(xù)訓(xùn)練學(xué)習(xí),建立在機測量系統(tǒng)誤差預(yù)測白化模型;否則,返回步驟2繼續(xù)搜索。
步驟6:神經(jīng)網(wǎng)絡(luò)學(xué)習(xí),將輸入數(shù)據(jù)進行歸一化處理,輸入層至隱含層函數(shù)為:
(5)
隱含層到輸出層的函數(shù)計算:
purelin(n)=n
(6)
所以BAS-BP神經(jīng)網(wǎng)絡(luò)的輸出函數(shù)為:
y=purelin(w2×tansig(w1×x+b1)+b2)
(7)
式中,w1和w2是神經(jīng)網(wǎng)絡(luò)權(quán)值;b1和b2是神經(jīng)網(wǎng)絡(luò)閾值;x是輸入變量;y是期望輸出。
步驟7:輸入歸一化與輸出反歸一化,tansig(n)的取值范圍在(-1,1)之間,為了保持訓(xùn)練輸入數(shù)據(jù)的同一性,進行歸一化訓(xùn)練:
(8)
式中,t為輸入數(shù)據(jù);t1為歸一化后的輸入;amax和amin分別是輸入原數(shù)據(jù)的最大值和最小值。
輸入數(shù)據(jù)歸一化訓(xùn)練后,得到的期望輸出需要進行反歸一化:
(9)
即可得到數(shù)控機床幾何誤差訓(xùn)練的預(yù)測模型。由上述可知,BAS-BP神經(jīng)網(wǎng)絡(luò)預(yù)測建模的流程圖如圖5所示。
圖5 BAS-BP神經(jīng)網(wǎng)絡(luò)預(yù)測建模流程圖
為了分析在機測量系統(tǒng)在不同空間位置和不同速度影響下的誤差建模效果,搭建試驗驗證所需的實驗裝置,以某機床廠生產(chǎn)的型號為VMC850E的三軸立式加工中心為試驗對象裝置,進行相關(guān)的驗證實驗,測量現(xiàn)場如圖6所示。立式加工中心工作臺的運行速度分別處于v=1 mm/s、3 mm/s、5 mm/s、8 mm/s、10 mm/s、12 mm/s、14 mm/s、16 mm/s、18 mm/s、20 mm/s,利用雷尼紹XL-80雙頻激光干涉儀對X、Y、Z三軸的導(dǎo)軌行程0~200 mm內(nèi)的單項幾何誤差進行測量。在測量的導(dǎo)軌行程內(nèi),每隔5 mm的間距采集一次誤差數(shù)據(jù),每個測點均單向測量3次,其平均值作為激光干涉儀檢測的最終值,共得到410組樣本數(shù)據(jù),以減少隨機誤差。
圖6 激光干涉儀實驗現(xiàn)場圖
為了更好地比較在機測量系統(tǒng)不同速度和空間位置下的幾何誤差預(yù)測建模精度,以X軸5項幾何誤差為例,運用多元回歸、BP神經(jīng)網(wǎng)絡(luò)、BAS-BP神經(jīng)網(wǎng)絡(luò)等3種常見且可以導(dǎo)出具體白化模型的方法建立誤差預(yù)測模型。文中激光干涉儀所測的在機測量系統(tǒng)幾何誤差中的三項線值誤差單位為微米(μm)、角度誤差的單位為弧秒(as)。
采用BP神經(jīng)網(wǎng)絡(luò)和BAS-BP神經(jīng)網(wǎng)絡(luò)對X軸單項幾何誤差進行預(yù)測建模,確定神經(jīng)網(wǎng)絡(luò)算法參數(shù):BP與BAS-BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)都為3000次,學(xué)習(xí)速率為0.1,訓(xùn)練目標為0.001。BAS-BP的最大迭代次數(shù)maxgen=100,步長和初始距離比例因子ratio=5[11],取eta=0.8,初始步長step=5[12]。由于本文采用的神經(jīng)網(wǎng)絡(luò)皆為2-6-1的三層結(jié)構(gòu),所以空間維度D=2×6+6×1+6+1=25。以X軸的空間坐標位置、運行速度作為輸入變量,機床幾何誤差作為輸出。
在比較機床空間坐標位置對誤差建模的影響時,以速度v=10 mm/s,機床行程在0~200 mm內(nèi)的不同位置下41個樣本誤差數(shù)據(jù)作為測試集,其他9種速度下的幾何誤差共計369個樣本作為訓(xùn)練集。同理,考慮機床運行速度的影響時,以X=100 mm時,機床運動速度為v=1 mm/s、3 mm/s、5 mm/s、8 mm/s、10 mm/s、12 mm/s、14 mm/s、16 mm/s、18 mm/s、20 mm/s的10個樣本作為測試集,其他40個位置下的10種速度對應(yīng)的400個樣本作為測試集。建模結(jié)果如圖7和圖8所示,預(yù)測建模的均方誤差和最大殘差如表3和表4所示。
(a) X軸定位誤差建模 (b) Y向直線度誤差建模
(c) Z向直線度誤差建模 (d) X軸俯仰角誤差建模
(e) X軸偏擺角誤差建模圖7 不同位置下X軸幾何誤差建模對比
(a) X軸定位誤差建模 (b) Y向直線度誤差建模
(c) Z向直線度誤差建模 (d) X軸俯仰角誤差建模
(e) X軸偏擺角誤差建模圖8 不同速度下X軸幾何誤差建模對比
表3 不同位置下算法建模比較 (μm)
表4 不同速度下算法建模比較 (μm)
由圖7、圖8和表3、表4可知,當(dāng)在機測量系統(tǒng)的空間位置和運行速度發(fā)生改變時,X軸幾何誤差預(yù)測建模精度對比為:BAS-BP神經(jīng)網(wǎng)絡(luò)>BP神經(jīng)網(wǎng)絡(luò)>多元回歸。
(1)不同空間位置下,多元回歸和BP神經(jīng)網(wǎng)絡(luò)的最大殘差值較大,均方誤差較大,整體建模效果一般;BAS-BP神經(jīng)網(wǎng)絡(luò)均方誤差普遍較小,均方誤差最大為0.715 3 μm建模效果較好。
(2)機床的運行速度不同的情況下,多元回歸,均方誤差值最大為2.496 5 μm;BP神經(jīng)網(wǎng)絡(luò)殘差最大值為2.293 7 μm,均方誤差較大為0.864 3 μm建模精度不高;BAS-BP神經(jīng)網(wǎng)絡(luò)的殘差最大值僅為1.367 5 μm,且均方誤差最大值為0.446 2 μm,建模效果最好。
針對上述同速度不同位置、同位置不同速度兩種情況的預(yù)測建模,采用BAS-BP神經(jīng)網(wǎng)絡(luò)方法進行建模的精度最高。因此,導(dǎo)出最優(yōu)的BAS-BP神經(jīng)網(wǎng)絡(luò)建模得到的白化誤差模型。以X軸定位誤差預(yù)測建模為例,式(10)為同速度不同位置的X軸定位誤差預(yù)測建模白化誤差模型,式(11)為同位置不同速度的X軸定位誤差預(yù)測白化模型。
Y=0.100797805789332×tansig(-3.295989246885133×
x-0.068534498839040×v+1.023802506985637)-
0.808815137147422×tansig(27.268620055377653×
x-0.019006151550637×v+6.926219406007427)-
0.358270627995994×tansig(0.056485489317519×
x-7.183294995680064×v+3.057964768283459)+
0.353978391725996×tansig(0.376873056520840×
x-13.198765775202617×v+6.092578017898195)+
0.430849019084368×tansig(-52.581154311731270×
x+0.044960829900607×v+33.205051100416150)+
0.520060633585594×tansig(25.156392615201420×
x-0.012133669067796×v+6.866440775030083)-
0.072847960068216
(10)
Y=-0.423592740880961×tansig(56.828392201526970×
x-0.021898379424133×v+36.059627604192530)+
0.351675392666718×tansig(2.983941987229720×
x-0.022545552296304×v-2.196916255917982)-
7.682268971317939×tansig(-0.161217058634284×
x+12.067933587485440×v-2.179686264358845)-
0.446100495169931×tansig(2.526762732171358×
x-0.040087045604913×v-1.532071903268346)-
0.289607733396001×tansig(40.793169099127674×
x-0.042571580182762×v+9.458181662653347)+
7.680683772290298×tansig(-0.163577224467753×
x+19.551489038496030×v-3.361807778854862)-
0.034039110231037
(11)
(1)本文對在機測量系統(tǒng)測量誤差的影響因素進行了深入的分析,指出測量誤差的主要影響因素來源是機床的運行速度和所處的空間位置。
(2)提出一種BAS-BP神經(jīng)網(wǎng)絡(luò)的誤差白化建模方法,可以在速度和空間位置影響下建立精度較高的誤差白化模型,均方誤差最大僅為0.715 3 μm。
(3)從同速度不同位置和同位置不同速度兩種情況下進行了建模精度分析,結(jié)果表明BAS-BP神經(jīng)網(wǎng)絡(luò)對X軸5項幾何誤差的建模精度最高,殘差最大值為最小,均方誤差最小,預(yù)測建模穩(wěn)定性最好,可以用于在機測量系統(tǒng)幾何誤差的高精度預(yù)測白化建模。