杜柳青 余永維
(重慶理工大學(xué)機械工程學(xué)院, 重慶 400054)
熱誤差引起的數(shù)控機床加工誤差占比達40%~70%[1]。熱誤差具有準(zhǔn)靜態(tài)時變、非線性、衰減延遲及耦合等特征,建立機床熱誤差和溫度之間的準(zhǔn)確映射關(guān)系是熱誤差控制的難點[2-5]。反向傳播(Back propagation,BP)網(wǎng)絡(luò)[6-7]、徑向基函數(shù)(Radial basis function,RBF)網(wǎng)絡(luò)[8]、灰色系統(tǒng)理論[9]等淺層網(wǎng)絡(luò)理論建立的傳統(tǒng)熱誤差模型存在以下不足:淺層模型采用人工特征,其適應(yīng)性和魯棒性不強[10-12];淺層模型難以表征大數(shù)據(jù)下監(jiān)測信號與熱誤差之間的映射關(guān)系,模型精度尚待提高。
針對現(xiàn)有技術(shù)的不足,利用深度學(xué)習(xí)強大的特征自學(xué)習(xí)和大數(shù)據(jù)建模能力[13-19],本文提出一種基于并聯(lián)深度信念網(wǎng)絡(luò)的數(shù)控機床熱誤差預(yù)測與補償方法,以自動提取數(shù)控機床溫度數(shù)據(jù)深層特征,準(zhǔn)確表征大數(shù)據(jù)下監(jiān)測溫度信號與熱誤差之間復(fù)雜的映射關(guān)系,提高熱誤差預(yù)測與補償精度、實時性和魯棒性。
與傳統(tǒng)方法相比,深度學(xué)習(xí)方法依靠數(shù)據(jù)驅(qū)動,能自動地從數(shù)據(jù)中提取特征(知識),對于分析非結(jié)構(gòu)化、模式不明多變、熱誤差等大數(shù)據(jù)具有顯著優(yōu)勢[20-25]。
圖2 數(shù)控機床深度學(xué)習(xí)熱誤差預(yù)測模型Fig.2 Thermal error prediction model for deep learning of CNC machine tools
本文提出的基于并聯(lián)深度信念網(wǎng)絡(luò)的數(shù)控機床熱誤差預(yù)測與補償原理如下:首先采集樣本數(shù)據(jù),在數(shù)控機床上選取熱源測量點,檢測熱源測量點的溫度和對應(yīng)時間點的主軸熱誤差;建立基于并聯(lián)深度信念網(wǎng)絡(luò)的深度學(xué)習(xí)熱誤差預(yù)測模型,利用采集的樣本數(shù)據(jù)訓(xùn)練深度學(xué)習(xí)熱誤差預(yù)測模型;然后,實時檢測數(shù)控機床熱源測量點的溫度,并輸入到訓(xùn)練后的深度學(xué)習(xí)熱誤差預(yù)測模型,實時預(yù)測熱誤差;最后,將預(yù)測的熱誤差作為數(shù)控機床坐標(biāo)系原點的補償平移量,通過坐標(biāo)系原點偏移實現(xiàn)熱誤差實時補償(圖1)。該方法能夠準(zhǔn)確表征大數(shù)據(jù)情況下監(jiān)測溫度信號與熱誤差之間復(fù)雜的映射關(guān)系。
圖1 數(shù)控機床熱誤差預(yù)測與補償原理圖Fig.1 Thermal error prediction and compensation principle of CNC machine tools
數(shù)控機床深度學(xué)習(xí)熱誤差預(yù)測模型由3個深度信念網(wǎng)絡(luò)(Depth belief network,DBN)DBN1、DBN2、DBN3并聯(lián)而成。3個深度信念網(wǎng)絡(luò)有相同的網(wǎng)絡(luò)結(jié)構(gòu)和不同的權(quán)值,并共享1個限制玻爾茲曼機(Restricted Boltzmann machine,RBM),即RBM1層。DBN1、DBN2、DBN3分別預(yù)測主軸在徑向方向(2個)和軸向方向(1個)的熱誤差。建立數(shù)控機床深度學(xué)習(xí)熱誤差預(yù)測模型,如圖2所示。
每個深度信念網(wǎng)絡(luò)均包含1個可視輸入層、3個限制玻爾茲曼機RBM隱含層(即RBM1、RBM2、RBM3)和1個輸出層。
可視輸入層神經(jīng)元數(shù)量與設(shè)置的關(guān)鍵熱源點數(shù)量相同;輸出層神經(jīng)元數(shù)量為1,其輸出為主軸在某個方向上的熱誤差預(yù)測值。
輸出層神經(jīng)元數(shù)量為1個,其輸出分別為主軸在X軸方向、Y軸方向或Z軸方向上的熱誤差。
每個RBM隱含層的神經(jīng)元數(shù)量與熱源關(guān)鍵點數(shù)r、樣本數(shù)據(jù)量N有關(guān)。每個RBM隱含層的神經(jīng)元初始數(shù)量p0均設(shè)定為p0=r/2,然后以步長為S逐步增加,以模型預(yù)測均方根誤差最小為判斷指標(biāo)最終確定每個RBM隱含層的神經(jīng)元數(shù)量,各DBN隱含層神經(jīng)元數(shù)量確定方法如圖3所示。
提出一種初始權(quán)值共享的并聯(lián)深度網(wǎng)絡(luò)訓(xùn)練方法,首先采用對數(shù)散度無監(jiān)督學(xué)習(xí)方法,預(yù)訓(xùn)練模型中的其中一個深度信念網(wǎng)絡(luò)DBN1,獲得其網(wǎng)絡(luò)初始權(quán)值,深度信念網(wǎng)絡(luò)DBN2、DBN3共享該初始權(quán)值。深度信念網(wǎng)絡(luò)對數(shù)散度無監(jiān)督學(xué)習(xí)方法如圖4所示。
(1)將DBN的每一層神經(jīng)元隨機初始化為0或1,不同層之間的神經(jīng)元連接權(quán)值wij(i=1,2,…;j=1,2,…)置為(0,1)范圍的任意值。首先預(yù)訓(xùn)練RBM1。
(2)利用溫度樣本數(shù)據(jù)由可視層神經(jīng)元vi算出隱含層神經(jīng)元hj,則連接權(quán)值wij的正向梯度為Hij=vihj。
(3)由隱含層神經(jīng)元hj反向計算得到的可視層神經(jīng)元為v′i,則連接權(quán)值的反向梯度為H′ij=v′ihj。
(4)更新連接權(quán)值:wij=wij+ε(Hij-H′ij),其中ε為學(xué)習(xí)速率,一般設(shè)定為0~1。
(5)利用采集的溫度樣本數(shù)據(jù)循環(huán)訓(xùn)練RBM1網(wǎng)絡(luò),不停迭代,直到收斂,即Lij-L′ij≤δ,Lij、L′ij為似然函數(shù)值,δ為一極小收斂閾值,一般設(shè)定為小于0.01。
(6)同樣方法,依次預(yù)訓(xùn)練RBM2和RBM3的連接權(quán)值。
(7)將訓(xùn)練完成的DBN1參數(shù)對應(yīng)賦值給DBN2、DBN3,實現(xiàn)初始權(quán)值共享。
然后,采用BP算法分別微調(diào)生成3個深度信念網(wǎng)絡(luò)的最優(yōu)權(quán)值。利用標(biāo)簽數(shù)據(jù)反向修正預(yù)訓(xùn)練獲得的初始權(quán)值;然后,正向測試新得到的各層權(quán)值參數(shù);如此反復(fù),直到模型預(yù)測的均方根誤差E收斂為止。
均方根誤差E收斂判別式為
(1)
式中t——訓(xùn)練次數(shù)
λ——極小閾值,一般設(shè)定為小于0.01
實驗以XHA6120型動梁式大型龍門五面加工中心為研究對象。根據(jù)該龍門加工中心的結(jié)構(gòu)、工況及熱源分布,將熱源關(guān)鍵點設(shè)置在機床發(fā)熱較集中部位或其附近,采用18個溫度傳感器檢測溫度,溫度關(guān)鍵點編號為T1~T18。
測量龍門加工中心主軸在徑向方向和軸向方向的3個熱誤差:ex、ey、ez。測量方法如圖5所示。采用德國米依公司ES-U1型電渦流傳感器,其量程為1 mm,分辨率為0.02 μm,線性度為±1%,能夠滿足本實驗的精度要求。
圖5 龍門加工中心主軸熱誤差測量方式Fig.5 Measurement method of thermal error
模擬龍門加工中心連續(xù)循環(huán)加工狀態(tài)、主軸旋轉(zhuǎn)、進給軸移動、冷卻液循環(huán),每隔5 min記錄一次各溫度傳感器的數(shù)值和主軸位移傳感器的數(shù)值,共采集150組溫度及熱誤差作為樣本數(shù)據(jù)。將150組樣本數(shù)據(jù)歸一化,用于深度學(xué)習(xí)預(yù)測模型的訓(xùn)練和驗證,計算式為
(2)
式中a′i——各樣本數(shù)據(jù)歸一化后的值
ai——各樣本數(shù)據(jù)原始值
amax——各類型樣本數(shù)據(jù)的最大值
amin——各類型樣本數(shù)據(jù)的最小值
可視輸入層神經(jīng)元數(shù)量與設(shè)置的關(guān)鍵熱源點數(shù)量相同,均為18個。DBN1的輸出為主軸在X軸方向上的熱誤差;DBN2的輸出為主軸在Y軸方向上的熱誤差;DBN3的輸出為主軸在Z軸方向上的熱誤差。
每個RBM隱含層的神經(jīng)元數(shù)量對模型的預(yù)測精度和泛化能力影響較大。神經(jīng)元數(shù)量過少會造成溫度特征信息的丟失,導(dǎo)致特征提取不完整,預(yù)測精度低。增加神經(jīng)元數(shù)量,預(yù)測精度會提高,但神經(jīng)元數(shù)量過多會造成模型的泛化能力差。RBM隱含層的神經(jīng)元數(shù)量確定步驟為:
(1)根據(jù)熱源關(guān)鍵點數(shù)r=18和采集的樣本數(shù)據(jù)量L=150,先設(shè)定每個RBM隱含層的神經(jīng)元初始數(shù)量均為p0=?r/2」,該式含義為取r/2的整數(shù)部分。p0為初始值9時,計算得到的均方根誤差為0.102。
(2)保持RBM2和RBM3隱含層的神經(jīng)元數(shù)量固定不變,以步長S=2逐漸增加RBM1隱含層的神經(jīng)元數(shù)量p1。當(dāng)p1=21時,模型預(yù)測的均方根誤差達到最小值0.025,將p1=21確定為RBM1隱含層的神經(jīng)元數(shù)量。
(3)同理,在確定RBM2的時候,RBM1的神經(jīng)元數(shù)量固定在21,RBM3的神經(jīng)元數(shù)量固定在9,最終確定RBM2的神經(jīng)元數(shù)量為21。在確定RBM3的時候,RBM1的神經(jīng)元數(shù)量固定在21,RBM2的神經(jīng)元數(shù)量固定在21,最終確定RBM3的神經(jīng)元數(shù)量為19。
采用對數(shù)散度無監(jiān)督學(xué)習(xí)方法,首先預(yù)訓(xùn)練RBM1,學(xué)習(xí)速率ε設(shè)定為0.1,迭代收斂閾值設(shè)定為0.005,經(jīng)990次迭代后完成預(yù)訓(xùn)練。同理,分別經(jīng)860次和1 100次迭代后完成對RBM2和RBM3的預(yù)訓(xùn)練。將訓(xùn)練完成的DBN1參數(shù)對應(yīng)賦值給DBN2、DBN3,實現(xiàn)初始權(quán)值共享。
用標(biāo)簽樣本數(shù)據(jù)、采用BP算法分別微調(diào)生成3個深度信念網(wǎng)絡(luò)的最優(yōu)權(quán)值。均方根誤差E的收斂閾值λ設(shè)為0.005,微調(diào)學(xué)習(xí)速率設(shè)為0.1。3個深度信念網(wǎng)絡(luò)分別經(jīng)35、46、39次迭代后完成權(quán)值微調(diào),此時3個并聯(lián)的深度信念網(wǎng)絡(luò)的預(yù)測均方根誤差分別為0.01、0.015、0.012。
經(jīng)過上述預(yù)訓(xùn)練和調(diào)優(yōu)后,預(yù)測模型構(gòu)建完成,各模型參數(shù)成功獲得。然后將實時檢測的一系列溫度輸入預(yù)測模型,用來預(yù)測對應(yīng)的主軸熱誤差值。
實時測量28組該龍門加工中心關(guān)鍵熱源點溫度,輸入該深度學(xué)習(xí)預(yù)測網(wǎng)絡(luò)預(yù)測主軸熱誤差,獲得了高精度的熱誤差預(yù)測結(jié)果,如圖6所示。模型預(yù)測的熱誤差均方根誤差為2.2 μm,平均絕對百分比誤差為7.8%,實時數(shù)據(jù)預(yù)測與訓(xùn)練樣本數(shù)據(jù)預(yù)測的性能指標(biāo)基本一致,說明深度學(xué)習(xí)熱誤差預(yù)測模型具有非常好的泛化能力。
圖6 熱誤差預(yù)測及補償Fig.6 Prediction and compensation of thermal error
該龍門加工中心主軸在X、Y、Z3個方向上的熱誤差分別為ex、ey、ez,將此作為機床坐標(biāo)系原點的補償平移量,機床坐標(biāo)系原點在X、Y、Z軸3個方向上分別平移-ex、-ey、-ez,補償后的X、Y、Z方向的最大殘差分別為2.5、3.0、2.5 μm,表明本文方法能夠?qū)崿F(xiàn)機床熱誤差的高精度補償。
利用該龍門數(shù)控機床數(shù)據(jù)樣本構(gòu)建傳統(tǒng)支持向量機(Support vector machine,SVM)預(yù)測模型和BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型。對比實驗中,SVM預(yù)測模型和BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型的X、Y、Z方向熱誤差預(yù)測效果如圖7所示,二者的均方根誤差分別為4.9、5.3 μm,平均絕對百分比誤差分別為22%、33%,二者的預(yù)測準(zhǔn)確性均遠低于本文方法,本文提出的深度層次結(jié)構(gòu)能夠比淺層網(wǎng)絡(luò)更準(zhǔn)確提取出蘊含在溫度數(shù)據(jù)中的本質(zhì)特征信息,所以本文方法的預(yù)測精度比傳統(tǒng)方法更高,魯棒性更好。
圖7 SVM模型和BP模型的主軸熱誤差預(yù)測結(jié)果Fig.7 Thermal error prediction based on SVM model and BP model
(1)提出一種基于3個子深度信念網(wǎng)絡(luò)并聯(lián)的深度學(xué)習(xí)預(yù)測模型,設(shè)計的各子深度信念網(wǎng)絡(luò)采取共享網(wǎng)絡(luò)結(jié)構(gòu)與初始權(quán)值的策略,大大提高了模型訓(xùn)練的效率。
(2)基于并聯(lián)深度信念網(wǎng)絡(luò)的主軸熱誤差預(yù)測與補償方法能夠自動提取數(shù)控機床溫度數(shù)據(jù)深層特征,準(zhǔn)確建立熱誤差與數(shù)控機床溫度測點的非線性映射關(guān)系,實現(xiàn)了熱誤差狀態(tài)的智能預(yù)測與補償。
(3)并聯(lián)深度信念網(wǎng)絡(luò)預(yù)測模型解決了傳統(tǒng)淺層網(wǎng)絡(luò)方法預(yù)測精度不高、魯棒性差等問題,實驗獲得主軸熱誤差預(yù)測值的均方根誤差為2.2 μm,優(yōu)于傳統(tǒng)的SVM和BP預(yù)測方法。本文方法在提高預(yù)測準(zhǔn)確性的同時,顯著提高了熱誤差補償?shù)倪m應(yīng)性和魯棒性。