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