陳紹坤
(河南省駐馬店技師學院,河南 駐馬店 463000)
為了有效克服數控機床在熱影響下出現的加工精度衰減等問題,本文結合神經網絡的數據擬合與自學習能力,探究數控機床綜合誤差補償中對BP 神經網絡的應用。同時,為了解決BP 神經網絡當中因為神經元誤差曲線下降對收斂效率產生影響的問題,通過引入放大因子和陡度因子實現BP神經網絡建模,并在此基礎上科學預測并補償數控機床運動軸實際運行當中的加工精度。通過數控銑床誤差建模和以刀位數據為基礎的誤差補償,證明在數控機床綜合誤差補償中應用BP 神經網絡不需要對機床既有硬件進行大規模改造,即可有效降低預測誤差,提高運算效率,具有巨大推廣價值。
為了深入探究數控機床綜合誤差補償中BP 神經網絡的應用,本文以A/B 雙擺角龍門數控銑床為例,進行細化分析。此數控機床在實際運行過程中,有很多因素會導致加工進度逐漸衰減,而機床總誤差的大約40%~70%均是主軸發生的熱漂移誤差還有各個運動軸出現的熱變形誤差,除了由于機床自身內部還有外部既有的發熱源,還包含一些工藝系統相關部件產生的振動誤差、各個軸伺服系統產生的跟隨誤差、運動部件受損后出現的運動誤差等,所以很難精確地建立影響因素及誤差參數模型。BP 神經網絡算法特點突出,并具備良好的自學習能力及非線性映射能力,可以促進多輸入單輸出形式數控機床誤差預測模型的構建。同時,在該算法運用下,后續誤差補償過程中如果有未知樣本數據向網絡當中添加,該網絡依舊可以正確地從輸入空間映射至輸出空間。根據該數控機床產生誤差的各種原因,進行數學模型的構建:

公式當中的Oj代表輸出誤差量;f(·)代表神經元激活函數;Tj代表神經元j 對應閾值;τij代表輸入輸出相互之間對應突觸時延;vij代表神經元i 至神經元j 對應權值;xi代表輸入量,也就是測量點對應溫度參數。數控機床在運行中雖然會受到很多因素影響,而單隱層BP 神經網絡基本上可以對所有非線性函數關系實現擬合。所以,本文著重構建單隱層BP 神經網絡,對應拓撲結構可見圖1。

圖1 單隱層形式BP神經網絡拓撲結構
根據數控機床綜合誤差預測模型及單隱層形式BP 神經網絡拓撲結構,可以獲得隱層輸出量為,輸入量為,同時可得網絡輸出層對應輸入量是通過有導師形式的網絡訓練模式,對應期望輸出量可以得到;設定隱層至輸出層對應權值矩陣為V={vij},且閾值是Sij;設定輸入層至隱層對應權值矩陣為W={wij},其閾值是Tj。基于本文機床綜合誤差模型,其中的t=1,2,…,m;j=1,2,…,l;i=1,2,…,n;k=1,2,…,p。按照此BP 神經網絡算法相關內容,隱層為非線性激活函數,輸出層為純線性激活函數,兩函數均屬于單調可微增類型的函數。
本文使用的BP 神經網絡算法,能夠促進信息實現正向傳播,同時可對誤差控制活動實現反向調整。自輸入層開始,對應信息流向主線代表著輸入樣本數據,在此過程中,輸入層的主要作用是把權值變量初值和輸入樣本相乘,同時向隱層傳遞。隱層中涉及的輸入量和激活函數產生相互作用,并逐步向輸出層流入,和輸出層權值變量產生相互作用,并在和輸出層激活函數產生相互作用基礎上,獲得輸出量。將此輸出量和預期輸出量作差,進而轉向誤差反向調整環節。在對反向誤差進行調整期間,輸出量還有預期輸出量兩者作差,獲得目標誤差。之后各計算環節,均使用對應均方差:

基于最小化誤差函數,為了在滿足要求程度條件下減小訓練目標函數,可以根據誤差量對應負梯度方向對每層權值加以調整。
通過對MATLAB 應用程序的編制,構建BP 神經網絡訓練學習算法。首先,利用傳感器進行溫度檢測,并將檢測結果當作輸入樣本X。利用各個位移傳感器進行運動軸誤差檢測,將檢測結果當作期望輸出O,同時對閾值向量和權值向量進行初始化操作。其次,對輸出層及隱層不同輸出分量加以計算。同時,對誤差進行計算,并對輸出層還有隱層對應誤差調整量進行計算,同時對各層閾值還有權值加以調整。最后,在p 有不小于0.96n 個量對Erme<ε實現滿足的時候即訓練結束,否則就重新循環。
雖然BP 神經網絡算法自身非線性擬合能力非常突出,且能夠對多種數控機床綜合運動進行誤差精度預算,不過其依舊存在一定缺陷。為了優化建模,可以將動量項引入其中,通過其自適應能力提高學習率,實現算法改進。在陡度因子引入過程中,基于傳統形式的BP 神經網絡算法,將陡度因子引入到正向數據計算當中,對激活函數加以調整。
在數控銑床誤差建模過程中,先對銑床各個發熱源關鍵部位和相關運動部件進行位移誤差測量和溫度監測,進而構建綜合誤差與溫度這一因素之間的關系預測模型。本文所使用的大型A/B 雙擺角龍門數控銑床當中每個龍門架當中有安裝有溫度傳感器,根據測量要求和機床規格,傳感器數量為12 個,對機床發熱源運行過程中的溫度變化進行分別監測。為了對X、Y 軸實際運動誤差進行有效測量,在主軸頭的X 方位和Y 方位分別安裝一個位移傳感器,并對X、Y 軸對應運動指令進行編制,每當實現10mm 的運動,就暫停3s。在建模過程中,為了確保機床可以保持常規運行狀態,在建模實驗之前的16h 之內禁止機床運行,而在實驗期間機床不停車,保持134min 的持續運轉。實驗期間,主軸恒轉速設定在4000r/min。運轉之初先進行10min的空轉,之后開始對運轉溫度變化進行檢測,檢測頻率為1min/次,進而獲得溫度和時間之間的變化曲線,并計算X軸和Y 軸之間運動誤差測量值。最后,對BP 神經網絡模型加以構建,并通過引入放大因子和陡度因子之后的BP 神經網絡改進算法來訓練數據。經過相關對比,證明原始曲線與訓練之后的曲線基本上保持重合。
在BP 神經網絡改進算法經過訓練之后,在機床切削加工作業中加以應用。利用數控機床加工零件實現驗證期間,首先在底面加工過程中,通過對刀位數據文件進行適當調整,對數控機床實現誤差補償。先在UG 軟件當中對刀具路徑進行合理設定,得到刀位數據文件。之后,在對零件兩條邊進行加工的時候,向經過訓練的BP 神經網絡對應樣本輸入空間當中,傳入傳感器測量所獲溫度數據,經過計算,獲得X 軸和Y 軸對應輸出量實際位移誤差。再把此誤差量對應相反量,向刀位數據文件當中添加進行誤差補償。在此基礎上,進行數控機床誤差補償系統的開發。經過分析,可以看出BP 神經網絡實現改進后,對Y 軸具有非常顯著的誤差補償效果,均補償率有73%。而對X 軸產生的平均誤差補償率在50% 左右,雖沒有Y 軸高,并且一些點位也會從負誤差向正誤差轉變,但是依舊具有比較明顯的誤差補償效果。因此,BP 神經網絡改進算法具有突出有效性。
通過BP 神經網絡改進算法實現數控機床的誤差補償,能夠通過其良好的自學習能力,提升模型適用性,即便數控機床面臨更多的測量數據數量和種類,也能發揮其重要效用。利用BP 神經網絡開發數控機床誤差補償系統,不需要大規模改造既有機床的硬件設備,所以應用比較簡便,推廣價值突出。