李煥昭,張愛梅,裴雪巍
(鄭州大學機械與動力學院,河南 鄭州 450001)
機床熱誤差大約能夠占機床總誤差的(40~70)%[1]。雖然可以通過改進機床結構和材料來減小熱誤差,但在實際加工過程中不能完全消除熱誤差,實施難度大、成本高。因此,探索出一種通過補償方法來減小熱誤差對機床的影響非常必要的[2]。
機床熱誤差補償研究存在兩個問題,一是溫度測量點的選擇,二是建模方法。為了保證模型的魯棒性、實時性和計算有效性,需要選擇合理有效的溫度測量點。文獻[3]采用灰色綜合相關法對測溫點進行優化。文獻[4]采用模態分析方法得到機床溫度測量點。文獻[5]采用模糊聚類方法對溫度測量點進行優化,降低了自變量的維數,提高了模型的穩定性。機床熱誤差建模方法一般可分為理論方法和數理統計方法。理論建模方法主要采用有限元法對建立的機床模型進行加載和求解[6-7],但邊界條件難以確定,導致模型精度較低。數學建模方法主要包括支持向量機[8]、最小二乘法[9]、貝葉斯網絡法[10]等統計方法。但現有補償方法仍然存在著精度不足、缺乏魯棒性的問題。為此,提出了基于DBSCAN聚類算法的溫度傳感器測點優化方法和基于BP神經網絡的數控機床建模方法,提高了模型的魯棒性、實時性。
2.1.1 實驗對象及材料
CA系列機床是一種通用機床,廣泛應用于基礎加工制造業。選擇CA系列機床作為實驗對象具有一定的代表性。采用omron光纖同軸型ZW系列位移傳感器和非接觸式紅外溫度傳感器,如圖1所示。激光位移傳感器分辨率可達0.001mm,采集軟件采用RJ45網線接口與采集器(左下圖)進行通訊。紅外溫度傳感器分辨率為0.1℃,采用USB 與采集器(左上圖)通訊,數據統一保存為.csv格式。

圖1 溫度及位移數據采集設備及軟件Fig.1 Temperature and Displacement Data Acquisition Equipment and Software
實驗中,在機床發熱關鍵點位置設置了16個溫度傳感器,其位置,如圖2所示。T17為位移傳感器測量位置,主要測量機床主軸的X向位移數據。

圖2 溫度傳感器的布置Fig.2 Location of Temperature and Displacement Sensor
三個溫度傳感器T1至T3用于測量機床的溫度。T4用于測量電機溫度的。T5用于測量主軸頭的溫度。T6用于測量導軌中部溫度。T7、T8分別測量導軌與機身交界處左右兩端的溫度。T9和T10測量主軸前軸承溫度。T11和T12測量主軸后軸承溫度。T13和T14測量減速齒輪箱溫度。T15和T16測量主軸溫度。位移傳感器17 號布置在主軸X方向的下部,如圖2 所示。分別在1000r/min和1400r/min下獲得溫度和位移數據,測量頻率為60/min,共采集數據3600組。實驗過程中要考慮到環境溫度的影響,通過查閱資料獲取廠房的年平均溫度,盡量使測溫的時間段時的溫度處于年平均溫度值附近。現場實驗條件溫度在20℃左右,基本在整年平均溫度左右浮動,因此符合我們的測試條件。盡量模擬實際加工工況,實時記錄相同間隔時間的溫度情況,當溫度趨于平衡時,關閉機床,并記錄溫度數據至室溫。
2.2.1 異常值捕獲方法
由于測量環境或人為因素的影響,會出現異常數據集,影響模型的精度。因此采用箱型圖法獲取出異常值索引,基于拉格朗日插值法對索引位置的異常值進行插值處理,使數據接近實際值。綠色部分方框的上下邊緣線代表著數據的上下四分位數,其中下四分位數為U1=(n+1)/4,n為數據的個數;上四分位數為U3=3(n+1)/4;上邊緣和下邊緣線為上限和下限,通過計算四分位距IQR=U1-U3,得到上限為U1+IQR,下限為U3-IQR;位于上下限之外的是異常值,從圖中可以看出小黑點代表異常值,箱型圖,如圖3所示。

圖3 箱型圖篩選異常值Fig.3 Box Chart Method to Filter Outliers
2.2.2 異常值處理方法
假設溫度測量點的順序值為Tn(y1,y2,…ym),Tn代表傳感器號n=1,2…17。y是測量數據m=(1,2…3600)。異常值的位置為c,則位置c的值應為L(xc),選取異常值前后4個數據進行插值計算,并將異常值由L(xc)代替,計算方法見(1)和(2)。

通過拉格朗日插值法來替換異常值能夠使數據更加平滑,接近于實際數據。
上述獲取到的溫度與位移據量非常大,在不同的測溫點之間會存在一定的線性關系,假設數據集為X,根據線性代數知識也就是矩陣XT為非滿秩矩陣。如果用數學語言進行描述:對于向量組T1,T2,…T16,存在不全為0 的k1,k2,…kn能夠使得k1T1+k2T2+…knT16=0。非滿秩矩陣也就代表存在大量的冗余數據,因此我們要去除這樣的冗余特征向量。采用密度聚類方法能夠有效的降低冗余數據。DBSCAN是非常常用的密度聚類方法。它的核心思想是通過一個點在其ε(常數)鄰域中的鄰域點的數目來測量該點的空間密度。它可以計算形狀奇特的簇中心。此外,在聚類分析中不需要設置聚類中心的數目。程序將根據相鄰半徑和相鄰半徑內的點數自動生成簇中心。聚類結果,如表1所示。

表1 測溫點溫度數據聚類結果Tab.1 Temperature Data Clustering Results
通過DBSCAN聚類將16個溫度測量點分為5類。測溫點被分為五類,第一類包括T2、T4、T13、T14;第二類包括T11、T12、T16;第三類包括T1、T9、T10、T15;第四類包括T7;第5類包括T3、T6、T8,如表1所示。每個類別內包含的特征數據個數是不相同的為了達到我們降維、優化的目的,我們需要從每個類別中選取部分特征數據作為篩選出的特征數據,并將對應位置作為我們的測溫點。
通過皮爾遜相關系數法,從每組中選出誤差相關最大的溫度測量點,并將選定的溫度測量點作為最佳溫度測量點。相關系數的計算方法如(3)。

式中:ρTijVij—溫度與熱誤差的相關系數;Tij—溫度測量點的溫度數據;i—傳感器號;j—測量次數;V—熱位移值。
皮爾森相關系數的計算結果,如圖2所示。在圖2中為方便描述,只列出了相關系數最大的特征數據(測溫點)。
各組的最大相關系數分別為T13、T16、T15、T7和T3,如表2所示。采用聚類分析方法,將溫度測量點從16個優化到5個,降低了數據維數,提高了模型的訓練速度。

表2 每個類別中相關系數最大的測溫點數據Tab.2 Temperature Measurement Point Data with the Largest Correlation Coefficient in the Category
機床各點溫度與熱誤差之間是非線性動態關系。構造BP神經網絡進行非線性數據擬合,這里采用雙隱層神經網絡,圖中:Xi—輸入值;O—主軸位移的輸出值;wij—溫度數據輸入到隱層的權重;wjk—隱藏層到隱層的權重;wk1—隱藏層到輸出層的權重,神經網絡的結構,如圖3所示。

圖4 神經網絡結構Fig.4 Neural Network Structure
如(4)所示構造輸入矩陣X數據集,每行對應的值為熱位移值。

式中:Tij—輸入值。i=(1,2,…n)為特征數據j=(1,2,…m)—特征數。
定義損失函數為E:

式中:Y—預期值;
O—網絡的輸出值。
采用梯度下降法求解誤差E的梯度:

導出誤差反向傳播矩陣:

式中:α—學習率;
為擴增數據集大小和提高模型的泛化能力,采用隨機動態誤差方法對數據進行增強,生成1000對隨機數作為數據集的行列索引,即[rows,cols],選擇對應位置的數添加動態噪聲,其中動態噪聲:由蒙特卡洛算法生成的(0~1)的符合正泰分布的數據,假設為a,將a乘以2將區間變換為(0~2),并乘以-1n,即,-1n×2a。將添加動態噪聲后的數據集添加至原數據集,完成數據集擴增。
根據7:3 比例將數據集訓練集和測試集,學習率設置為0.01,迭代次數最大為10000。處理后的T13、T16、T15、T7、T3點數據作為模型輸入,熱誤差作為輸出。經過訓練得到機床熱誤差模型,其預測結果,如圖5所示。

圖5 機床熱誤差模型預測結果Fig.5 Prediction Results of Thermal Error Model of Machine Tool
圖中實線代表真實值,小圓點代表預測值,細點線代表殘差。模型得分可達0.94。
模型得分計算方法為(8):

式中:Y—實驗值;
O—預測值。
模型預測結果的最大殘差為0.012mm,殘差的標準差為0.33mm。可以看出,根據BP網絡構建的機床熱誤差模型預測效果較好,能夠滿足實際加工補償要求。
(1)DBSCAN 聚類方法可以有效地將溫度測量點從16 個減少到5個,為誤差模型選擇合適的溫度測量點。
(2)BP神經網絡方法能很好地預測機床的熱誤差,模型得分可達0.94。
(3)訓練后的模型可以嵌入至機床控制中心。計算中心根據機床的溫度信號預測機床的熱誤差,然后控制機床控制器進行誤差補償。