王子涵 楊秀芝 段現(xiàn)銀 蔣宇輝 王興東
(①武漢科技大學(xué)機(jī)械學(xué)院,湖北 武漢430070;② 湖北理工學(xué)院智能輸送技術(shù)與裝備湖北省重點實驗室,湖北 黃石 435003)
隨著精密制造技術(shù)的廣泛應(yīng)用和快速發(fā)展,現(xiàn)在市場對數(shù)控機(jī)床加工精度的需求日益增長。由于在加工操作期間由諸如電動機(jī)和軸承之類的部件產(chǎn)生的熱量,機(jī)床的溫度升高使機(jī)床形變引起熱誤差,并且整體精度降低。更為重要的是大量科學(xué)研究和加工實踐表明,熱致誤差約占高精度機(jī)床總誤差的40%~70%[1-2]。目前減少機(jī)床的熱誤差的方法主要有2個方向,分別是硬件和軟件。硬件方向是從機(jī)床本身的材料和結(jié)構(gòu)進(jìn)行研究,通過采用新型材料和改善結(jié)構(gòu)來從根本上減少機(jī)床熱誤差。軟件方向是利用補償?shù)乃枷虢?zhǔn)確的機(jī)床熱誤差預(yù)測模型,通過該模型預(yù)測補償誤差去抵消機(jī)床的原始熱誤差,從而達(dá)到減少熱誤差的目的。而因為軟件研究的經(jīng)濟(jì)成本比硬件少得多,且適應(yīng)性更強(qiáng),因此軟件補償是數(shù)控機(jī)床熱誤差研究的最重要方向。
如余文利等[3]使用混沌粒子群優(yōu)化的灰色模型(GM)來建立熱誤差模型,提高了模型的迭代速度,而比單一的GM模型和ANN的預(yù)測精度更高;張毅[4-6]提出了結(jié)合灰色模型和反向傳播(BP)神經(jīng)網(wǎng)絡(luò)的灰色神經(jīng)網(wǎng)絡(luò),通過對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化,提高了模型的泛化能力;鄭金勇等[6-7]利用遺傳算法(GA)來優(yōu)化灰色神經(jīng)網(wǎng)絡(luò)從而建立熱誤差模型,與BP神經(jīng)網(wǎng)絡(luò)相比進(jìn)一步提高了模型的預(yù)測精度。李彬等[8]基于GA進(jìn)一步優(yōu)化基于小波分析優(yōu)化過的BP神經(jīng)網(wǎng)絡(luò),用小波基函數(shù)替代隱含層節(jié)點的激勵函數(shù),解決了BP神經(jīng)網(wǎng)絡(luò)易于陷入局部最小值過度擬合的問題。
而本文使用了一種新的高效的基于BP神經(jīng)網(wǎng)絡(luò)的算法,通過學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)權(quán)重上的概率分布,使模型在擬合不足和擬合過度之間達(dá)到平衡,稱為貝葉斯神經(jīng)網(wǎng)絡(luò)(BNN)[9-13]。BNN在訓(xùn)練樣本數(shù)據(jù)稀少時有著比其他網(wǎng)絡(luò)更好的性能,適合機(jī)床熱誤差實驗數(shù)據(jù)少,難獲取的特性[14]。
貝葉斯神經(jīng)網(wǎng)絡(luò),是一種為通過為神經(jīng)網(wǎng)絡(luò)的權(quán)重引入不確定性進(jìn)行正則化的新型神經(jīng)網(wǎng)絡(luò)模型,使之可以任意精度近似任何連續(xù)函數(shù)。
如圖1中所示的網(wǎng)絡(luò)體系結(jié)構(gòu)是最常用的一種標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò),由輸入層、隱藏層和輸出層組成。隱藏層通常使用S型激活函數(shù),而輸出層通常使用線性函數(shù)。一個神經(jīng)網(wǎng)絡(luò)模型可以視為一個條件分布模型P(y∣x,w),輸入x,輸出預(yù)測值y的分布,w為神經(jīng)網(wǎng)絡(luò)中的權(quán)重[9],每個權(quán)重都有一個固定值,這是由經(jīng)典BP神經(jīng)網(wǎng)絡(luò)提供的。相應(yīng)地,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)可以視作是一個最大似然估計(MLE):
(1)
其中:D對應(yīng)我們用來訓(xùn)練的數(shù)據(jù)集,xi為每個節(jié)點的輸入,yi為每個節(jié)點的輸出,w為每個節(jié)點的權(quán)重。MLE 中不對w的先驗概率作假設(shè),也就是認(rèn)為w取什么值的機(jī)會都均等。如果為w引入先驗,那就變成了最大后驗估計(MAP):
(2)
貝葉斯估計同樣引入先驗假設(shè),與 MAP 的區(qū)別是貝葉斯估計求出w的后驗分布P(w∣D),而不限于argmax值。如圖2所示,神經(jīng)網(wǎng)絡(luò)的權(quán)重為一個分布而不是一個具體的數(shù)值,這樣我們就可以為神經(jīng)網(wǎng)絡(luò)的預(yù)測引入不確定性。由于我們求得的是分布,基于w由x預(yù)測y的概率模型為:
(3)
此時預(yù)測值y為后驗分布P(w∣D)上的所有可能的神經(jīng)網(wǎng)絡(luò)預(yù)測值的期望。根據(jù)貝葉斯理論,后驗分布為:
(4)
P(D)取決于樣本數(shù)據(jù)集,而對于P(w)的形式,文獻(xiàn)[10]給出了一個混合尺度高斯先驗:
(5)
其每個權(quán)重其分布的先驗都是2種相同均值、不同標(biāo)準(zhǔn)差的高斯分布的疊加。
為了后驗分布P(D∣w)和期望,Blundell C等[10]利用變分的方法讓高斯分布θ的參數(shù)代入q(w∣θ)去逼近真正的后驗,把求后驗分布的問題轉(zhuǎn)變成求解最好的θ問題,這個過程可以通過最小化2個分布的 KL 散度實現(xiàn):
Eq(w∣θ)[logP(D∣w)]
(6)
Blundell C[10]把第一項叫作復(fù)雜性代價,描述的是權(quán)重和先驗的契合程度;把第二項叫作似然代價,描述對樣本的擬合程度。我們可寫成目標(biāo)函數(shù)的形式:
F(D,θ)=DKL[q(w∣θ)‖P(w)]-
Eq(w∣θ)[logP(D∣w)]
(7)
優(yōu)化這個目標(biāo)函數(shù)就是貝葉斯神經(jīng)網(wǎng)絡(luò)正則化,在2種代價中取平衡。
在機(jī)床工作期間,由于進(jìn)給機(jī)構(gòu)絲杠和螺母之間的摩擦以及軸承的摩擦而產(chǎn)生大量的熱量,這導(dǎo)致機(jī)床結(jié)構(gòu)的變形影響精度。因此,除了主軸系統(tǒng)外,有必要測量驅(qū)動系統(tǒng)的熱特性,其工作主要包括溫度場和熱誤差2個方面,得出溫度和誤差之間明確的數(shù)學(xué)關(guān)系。本文的實驗平臺為某公司的BF-850L立式五軸數(shù)控機(jī)床,本文的研究主軸誤差為Z軸誤差,平臺的搭建如圖3a所示,測量熱誤差儀器為雷尼紹RENISHAW激光干涉儀和菲力爾紅外熱像儀FLIR TG42;溫度的測量分為2種方式,第一種是接觸式測量,例如主軸電機(jī)和絲桿螺母通常使用磁吸式溫度傳感器進(jìn)行測量;而對于難以測量的部件,我們使用紅外熱像儀輔助測量數(shù)據(jù)。在本文中,我們使用了紅外熱像儀測量主軸軸承T2的溫度數(shù)據(jù)。
在實驗正式開始之前,先測量了機(jī)床在環(huán)境溫度T0下的Z軸方向主軸誤差E幾何,即幾何誤差,研究[15-16]表明機(jī)床誤差主要由幾何誤差和熱誤差構(gòu)成。故
E熱=E總-E幾何
(8)
如此,根據(jù)正式實驗中激光干涉儀測量數(shù)據(jù)E總就很容易得出主軸熱誤差E熱。
在熱誤差實驗中,溫度傳感器的具體位置溫度測點為表1和圖3b所示。為了模擬正常工作的工況,主軸的轉(zhuǎn)速被設(shè)定為8 000 r/min,X、Y、Z進(jìn)給軸以20 m/min做往復(fù)運動,每15 min測量1次主軸的重復(fù)定位精度和各溫度點當(dāng)前溫度數(shù)值。
表1 各溫度傳感器具體位置
機(jī)床在230 min達(dá)到熱穩(wěn)定狀態(tài)[17-19]時停止測量,此時機(jī)床熱源和外界環(huán)境熱量交換平衡,溫度基本不會變化,誤差也趨于穩(wěn)定。溫度和熱誤差變化如圖4所示。
在實驗中我們盡可能多地選用了8個溫度測點,以防溫度場的重要信息丟失導(dǎo)致輸入模型的數(shù)據(jù)不完整,降低了模型預(yù)測的準(zhǔn)確性。但例如T3和T4的溫度變化存在共線性關(guān)系,使模型的預(yù)測精度降低,同時增大了模型的復(fù)雜性和后期處理數(shù)據(jù)的時間[20-21]。為了盡可能精確篩選溫度場中的關(guān)鍵點,我們使用了K-means算法對8個溫度測點進(jìn)行了聚類分析,并從各個聚類中挑選出對熱誤差影響最大的點作為模型的輸入變量。
在此,取K值為3,于此將對熱誤差相似影響的溫度點分成3個簇分別聚集在一起。聚類結(jié)果如表2所示。在聚類后,各簇溫度變量之間有很強(qiáng)的相似性,為了減少相似溫度點之間的耦合效應(yīng),我們在構(gòu)建熱誤差模型時使用相關(guān)系數(shù)法在每簇溫度變量中選出一個對熱誤差影響最大的溫度點作為模型的輸入,溫度與熱誤差斜率之間的相關(guān)系數(shù)為:
表2 K-means聚類結(jié)果
(9)
式中:Tij代表第j次測量中第i個測量位置的溫度數(shù)據(jù)。Ti是第i個測量點溫度數(shù)據(jù)的平均值,kj是第j次測量的定位誤差數(shù)據(jù)的直線擬合斜率,kji是所有斜率的平均值[9]。各溫度變量的相關(guān)系數(shù)如表3所示,相關(guān)系數(shù)越大,溫度測量點與熱誤差的相關(guān)性越強(qiáng),就越反映熱誤差的實際變化。結(jié)合表2,最后選定T1、T5、T6作為模型的輸入變量。
表3 溫度變量相關(guān)系數(shù)
為了驗證貝葉斯神經(jīng)網(wǎng)絡(luò)(BNN)模型的性能,我們引入了BP神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,從2個方面分析了模型的性能。首先,我們使用一組數(shù)據(jù)進(jìn)行誤差建模,并比較每種模型的擬合能力。然后,為了比較每個模型的泛化能力,我們使用了在不同工作條件下的另一組實驗數(shù)據(jù)進(jìn)行預(yù)測。
將BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)為3-7-1,兩種模型的學(xué)習(xí)速率設(shè)為0.005,迭代次數(shù)為1 000次。模型搭建完成后,把實驗數(shù)據(jù)輸入模型中,擬合性能如圖7所示,由圖5可以看出BP和BNN的擬合精度都很優(yōu)秀,但BNN的效果更好,為了更為明確得出結(jié)論,我們將殘差波動幅度ΔEmax、 殘差平均值ΔE、均方誤差MSE以及預(yù)測精度η作為模型性能評估標(biāo)準(zhǔn)。其中預(yù)測精度η的計算公式為:
(10)
表4 模型性能指標(biāo)
為了驗證模型的泛化性能,我們將主軸的轉(zhuǎn)速調(diào)整為4 000 r/min,X、Y、Z進(jìn)給軸以10 m/min做往復(fù)運動,以同樣的時間頻率測量溫度和熱誤差數(shù)據(jù),導(dǎo)入模型中,預(yù)測結(jié)果如圖6所示,各項性能指標(biāo)如表5所示。
表5 模型性能指標(biāo)
從圖表中很容易看出,在改變工況后,BP模型的性能大幅降低,殘差波動幅度ΔEmax、 殘差平均值ΔE和均方誤差MSE數(shù)值是BNN模型數(shù)值的數(shù)倍,其中MSE更是達(dá)到了4倍,模型的預(yù)測準(zhǔn)確率降為72.252 1%,遠(yuǎn)低于之前的89.292 1%的預(yù)測準(zhǔn)確率。而BNN模型僅小了3.253 7%,兩者的預(yù)測準(zhǔn)確率相差15.763 8%。由此可見BNN的性能明顯高于BP,表明該模型的泛化能力較強(qiáng)。根據(jù)熱誤差建模和驗證實驗的結(jié)果,貝葉斯神經(jīng)網(wǎng)絡(luò)的預(yù)測性能明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò),總體精度提高了88.015 9%,這證明了該模型的穩(wěn)定性和準(zhǔn)確性。
本文基于貝葉斯神經(jīng)網(wǎng)絡(luò)的建模預(yù)測機(jī)床的熱誤差,通過測量熱誤差數(shù)據(jù)和獲得溫度敏感點,并將相應(yīng)的值用作模型的訓(xùn)練,并且可以通過模型預(yù)測來獲得在每個時刻和每個溫度的熱誤差。實驗結(jié)果表明,貝葉斯神經(jīng)網(wǎng)絡(luò)模型的性能明顯優(yōu)于BP神經(jīng)網(wǎng)絡(luò),其最大預(yù)測精度高出了15.763 8%,機(jī)床的總體精度提高了88.015 9%。