張 腰,楊慶東
(北京信息科技大學(xué) 機(jī)電工程學(xué)院,北京 100192)
在數(shù)控機(jī)床加工系統(tǒng)的各類誤差中,幾何誤差和熱誤差占數(shù)控機(jī)床加工系統(tǒng)總誤差的40%~70%[1-2]。而主軸熱誤差是機(jī)床熱誤差中非常重要的一項(xiàng)。為減少主軸熱誤差的影響,需要對(duì)其進(jìn)行溯源、分析與補(bǔ)償,建立一個(gè)高精度的主軸熱誤差模型[3]。
國(guó)內(nèi)外專家學(xué)者對(duì)此作了大量研究。王舒陽(yáng)等[3]利用BP 神經(jīng)網(wǎng)絡(luò)的非線性函數(shù)擬合建模,但是該算法較為復(fù)雜,收斂速度慢,易陷入局部極值點(diǎn),通用性欠佳;李泳耀等[4]-提出了基于最小二乘法支持向量機(jī)進(jìn)行數(shù)控機(jī)床建模的預(yù)測(cè)方法,雖然該模型能夠準(zhǔn)確地預(yù)測(cè)熱誤差,但是訓(xùn)練需要大量的樣本,過程計(jì)算復(fù)雜,訓(xùn)練時(shí)間長(zhǎng);林偉青等[5]提出了基于RBF(radial basis function)神經(jīng)網(wǎng)絡(luò)算法熱誤差模型,雖然與OLS(ordinary least square)回歸模型相比,預(yù)測(cè)精度更好,但是模型訓(xùn)練樣本多,復(fù)雜程度大,運(yùn)算量大,調(diào)整權(quán)值過程中易出現(xiàn)病態(tài);杜正春等[6]提出了基于模糊神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)控機(jī)床建模的預(yù)測(cè)方法,雖然能夠準(zhǔn)確預(yù)測(cè)熱誤差,但是該算法模型訓(xùn)練時(shí)間長(zhǎng),且收斂速度較慢。
本文采用粒子群算法優(yōu)化支持向量機(jī),建立PSO-SVM模型對(duì)數(shù)控機(jī)床熱誤差進(jìn)行預(yù)測(cè)。粒子群算法能夠避免陷入局部?jī)?yōu)化,更好地尋找支持向量機(jī)的參數(shù)C和g,優(yōu)化熱誤差預(yù)測(cè)結(jié)果。PSO-SVM預(yù)測(cè)模型應(yīng)用,為數(shù)控機(jī)床熱誤差建模預(yù)測(cè)提供了參考。
f(x)=〈w·φ(x)〉+b
(1)
式中:w∈Rn為權(quán)值;b∈R為閾值;φ為將Rn空間的輸入數(shù)據(jù)映射到高維空間的映射函數(shù),設(shè)算法函數(shù)為
(2)
通過尋找最優(yōu)w、b在公式中固定不變的情況下最小化置信范圍,得到的最優(yōu)化問題為
(3)
(4)
利用拉格朗日乘子法求解凸二次規(guī)劃問題,所得結(jié)果為
(5)
通過學(xué)習(xí)重新定義SVM函數(shù)為
(6)
式中:b為變換前閾值;K(xi,x)為支持向量機(jī)核函數(shù)。
高斯徑向基核函數(shù)、多項(xiàng)式核函數(shù)、高斯核函數(shù)三個(gè)函數(shù)中,由于高斯徑向基核函數(shù)只有一個(gè)變量需確定,以其構(gòu)造的SVM訓(xùn)練參數(shù)相對(duì)較少,較易確定參數(shù),因而本文采用的是高斯徑向基函數(shù):
(9)
粒子群優(yōu)化算法(particle swarm optimization,PSO)是群體智能的優(yōu)化算法,該算法是通過粒子在解空間追隨最優(yōu)的例子進(jìn)行搜索[8]。假設(shè)在數(shù)控機(jī)床熱誤差的一個(gè)L維空間中搜索由n個(gè)粒子組成的群體,設(shè)第i個(gè)粒子的位置為xt=(x1,x2,…,xn),速度為vt=(v1,v2,…,vn),則第i個(gè)粒子在解空間的速度和位置的關(guān)系變化為
(10)
式中:t為進(jìn)化代數(shù);w為慣性權(quán)重;rand( )為在區(qū)間[0,1]中分布均勻的任意數(shù);pbj為當(dāng)前粒子本身飛行過的最好位置;gbj為粒子所對(duì)應(yīng)的整個(gè)種群的最好位置;c1和c2為學(xué)習(xí)因子。
首先將支持向量機(jī)的誤差懲罰因子C和核函數(shù)g設(shè)為相應(yīng)的位置向量X。設(shè)置參數(shù)C和g的范圍分別為0.1~100 和0.01~2000[10]。具體實(shí)現(xiàn)步驟如下:
1)數(shù)據(jù)預(yù)處理。選取測(cè)量數(shù)據(jù)中的一組數(shù)據(jù),將其歸一化到[0,1]范圍內(nèi):
2)初始化粒子群。設(shè)置參數(shù)c1=1.5,c2=1.7,w=0.4~0.9,種群最大數(shù)量為20,終止代數(shù)數(shù)量為200,隨機(jī)產(chǎn)生粒子的初始位置和初始速度。
3)利用PSO算法對(duì)SVM算法中懲罰系數(shù)C和核函數(shù)參數(shù)g進(jìn)行尋優(yōu),尋優(yōu)過程如圖1所示。
4)建立PSO-SVM模型。確定支持向量機(jī)回歸機(jī)中的懲罰系數(shù)C和核函數(shù)參數(shù)g后,將最佳參數(shù)輸入到模型中,在訓(xùn)練集上訓(xùn)練PSO-SVM模型。
5)數(shù)控機(jī)床主軸熱變形預(yù)測(cè)。利用訓(xùn)練后的模型在測(cè)試集上測(cè)試模型回歸效果,預(yù)測(cè)主軸熱變形。
選取某立式加工中心進(jìn)行熱誤差測(cè)量實(shí)驗(yàn)。本文只對(duì)數(shù)控機(jī)床部分發(fā)熱部件進(jìn)行實(shí)驗(yàn)分析和研究。根據(jù)機(jī)床熱源的分布,將溫度傳感器布置在數(shù)控機(jī)床前軸承、后軸承、室溫等幾個(gè)溫度點(diǎn),S1~S5電渦流位移傳感器分別測(cè)量X、Y、Z方向熱誤差變形量,電渦流位移傳感器安裝位置如圖2所示。
在測(cè)量溫度和熱變形過程中,數(shù)控機(jī)床的主軸以3000 r/min的轉(zhuǎn)速連續(xù)運(yùn)行,當(dāng)熱變形和各個(gè)關(guān)鍵溫度點(diǎn)變化微小時(shí)停機(jī)。在機(jī)床運(yùn)轉(zhuǎn)過程中,實(shí)時(shí)采集各關(guān)鍵溫度測(cè)點(diǎn)溫度和熱誤差,所測(cè)得的熱漂移誤差如圖3所示。
從圖3可以看到,隨著機(jī)床的運(yùn)轉(zhuǎn)時(shí)間增加,機(jī)床關(guān)鍵點(diǎn)溫度的變化是先逐漸增大,然后趨于變化微小,X、Y、Z軸熱漂移誤差先逐漸變大后變化微小,對(duì)應(yīng)的熱變形變化如圖4、圖5所示。
由圖4和圖5可知:在 0~200 min 溫度上升期間內(nèi),數(shù)控立式加工中心X、Y、Z軸熱誤差和主軸熱偏差隨著溫升而逐漸增大,當(dāng)數(shù)控機(jī)床運(yùn)行到200 min 以后,熱誤差變化量、主軸熱偏差誤差和各個(gè)溫度關(guān)鍵點(diǎn)的溫度值僅有微小的變化,數(shù)控機(jī)床基本達(dá)到熱平衡狀態(tài)。
將PSO算法尋優(yōu)得到的最優(yōu)誤差懲罰因子C和核函數(shù)g代入SVM模型可得到數(shù)控機(jī)床熱誤差變化模型。圖6為未經(jīng)PSO優(yōu)化的SVM模型預(yù)測(cè)值與誤差值,圖7為經(jīng)過PSO優(yōu)化的SVM模型預(yù)測(cè)值與誤差值。
由圖6、圖7可以看到2種算法模型都可以預(yù)測(cè)熱誤差變化,但PSO-SVM算法模型能夠較準(zhǔn)確地?cái)M合出實(shí)際主軸熱變形曲線的變化,其預(yù)測(cè)誤差小于SVM模型算法的預(yù)測(cè)誤差,PSO-SVM 預(yù)測(cè)精度更好一些。
為再驗(yàn)證PSO-SVM建模預(yù)測(cè)方法的可行性與準(zhǔn)確性,對(duì)Z軸熱誤差數(shù)據(jù)進(jìn)行分析如圖8所示。
圖中深色線為粒子群算法優(yōu)化之后的誤差曲線,淺色線為未經(jīng)粒子群算法優(yōu)化的誤差曲線??梢钥闯觯篠VM預(yù)測(cè)模型在Z方向最大預(yù)測(cè)誤差為6.02 μm,而PSO-SVM預(yù)測(cè)模型在Z方向最大預(yù)測(cè)誤差為2.56 μm,PSO-SVM預(yù)測(cè)誤差比未經(jīng)粒子群算法優(yōu)化的誤差值更小,誤差值波動(dòng)較小,熱誤差預(yù)測(cè)精度較高。
為了提高數(shù)控機(jī)床熱誤差預(yù)測(cè)模型的精度,本文提出了一種PSO-SVM的算法模型,可以避免SVM陷入局部?jī)?yōu)化、收斂速度慢等不足。在樣本數(shù)量較少的情況下,選取PSO-SVM模型進(jìn)行數(shù)控機(jī)床主軸熱變形的預(yù)測(cè),PSO-SVM預(yù)測(cè)模型能夠快速且準(zhǔn)確地找到SVM 中各參數(shù)的最優(yōu)值,具有較好的泛化能力和較高的精度。
將PSO-SVM模型用于對(duì)數(shù)控機(jī)床主軸熱變形進(jìn)行預(yù)測(cè),并與SVM預(yù)測(cè)模型進(jìn)行對(duì)比,結(jié)果表明PSO-SVM主軸熱變形預(yù)測(cè)模型效果優(yōu)于SVM預(yù)測(cè)算法,熱誤差預(yù)測(cè)精度較高且訓(xùn)練時(shí)間短,為數(shù)控機(jī)床熱誤差建模預(yù)測(cè)提供了參考。