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