龔凌云,陳澤宇
(廣州鐵路職業(yè)技術(shù)學(xué)院,廣州 510430)
研究顯示數(shù)控機(jī)床熱變形所引起的誤差占機(jī)床總制造誤差的40%~70%[1]。熱變形誤差補(bǔ)償控制設(shè)備已成為現(xiàn)代高檔數(shù)控機(jī)床必備的智能模塊,是提高數(shù)控機(jī)床加工精度的關(guān)鍵設(shè)備之一。目前減少熱變形誤差有硬補(bǔ)償和軟補(bǔ)償二種方法,硬補(bǔ)償性?xún)r(jià)比低;軟補(bǔ)償通過(guò)建立數(shù)控機(jī)床熱誤差數(shù)學(xué)模型來(lái)實(shí)現(xiàn),已成為最經(jīng)濟(jì)有效解決熱變形誤差的方法[2]。
人工神經(jīng)網(wǎng)絡(luò)建模[3]、模糊理論建模[4]和最小二乘法建模[5]等都是常用的數(shù)控機(jī)床熱誤差建模方法。這些方法都有一定的價(jià)值,也有一些應(yīng)用成功的案例,但所建模型精度和魯棒性較差?;诖?,本文提出了基于GA-SVR(遺傳算法-支持向量回歸機(jī))的數(shù)控機(jī)床熱誤差建模,采用遺傳算法優(yōu)化支持向量回歸機(jī)的參數(shù)選取,來(lái)建立數(shù)控機(jī)床熱誤差補(bǔ)償模型。結(jié)果表明,利用該方法使支持向量回歸有更好的魯棒性和更強(qiáng)的泛化能力。
遺傳算法(GA-Genetic Algorithm)是一種借鑒生物界的進(jìn)化規(guī)律(適者生存,優(yōu)勝劣汰遺傳機(jī)制)演化而來(lái)的隨機(jī)化搜索方法。它是一種高度并行、隨機(jī)和自適應(yīng)的優(yōu)化算法,它將問(wèn)題的求解表示成“個(gè)體”的適者生存過(guò)程,通過(guò)“個(gè)體”的一代代不斷進(jìn)化,包括復(fù)制、交叉、變異等操作,最終收斂到“最適應(yīng)環(huán)境”的個(gè)體,從而求得問(wèn)題的最優(yōu)解或滿(mǎn)意解[6]。本文根據(jù)作者實(shí)驗(yàn)研究所得,種群規(guī)模N=100,交叉概率Pc=0.85,變異概率Pm=0.02,迭代次數(shù)n=50。
再構(gòu)造Lagrange函數(shù)求解,根據(jù)Wolfe對(duì)偶規(guī)則轉(zhuǎn)化為凸二次規(guī)劃問(wèn)題:
整理為標(biāo)準(zhǔn)形式,可得最優(yōu)解:
根據(jù)最優(yōu)解構(gòu)造決策函數(shù):
此即支持向量回歸機(jī)的決策函數(shù)。根據(jù)決策函數(shù)能對(duì)樣本集之外的新輸入精確估計(jì)出相應(yīng)的輸出。文中選取應(yīng)用最廣泛的高斯徑向基核函數(shù)。
在 SVR回歸估計(jì)中,選擇合適的參數(shù)c, ε有助提高回歸的精度。其中參數(shù)c作為懲罰因子,決定模型的復(fù)雜程度和擬合偏差的懲罰程度。c 值過(guò)大或過(guò)小都會(huì)減弱系統(tǒng)的泛化能力;參數(shù)ε表示系統(tǒng)對(duì)回歸函數(shù)在樣本數(shù)據(jù)上誤差的期望,其值影響了構(gòu)造回歸函數(shù)的支持矢量數(shù)目。ε值過(guò)小,回歸估計(jì)精度雖然高,但支持矢量數(shù)量多,會(huì)導(dǎo)致過(guò)學(xué)習(xí)現(xiàn)象[6]。根據(jù)GA尋優(yōu)計(jì)算方法,不斷優(yōu)化支持向量機(jī)的參數(shù)選擇,直到適應(yīng)度函數(shù)
4)若種群中最優(yōu)個(gè)體所對(duì)應(yīng)的適應(yīng)度值滿(mǎn)足中止條件,則轉(zhuǎn)到7);
5)基于排序的適應(yīng)度分派原則確定第i個(gè)個(gè)體被選擇的概率,進(jìn)行交叉運(yùn)算,產(chǎn)生新的個(gè)體;
6)采用變異算子,個(gè)體按一定概率進(jìn)行變異操作,之后轉(zhuǎn)到3);
7)選擇得到的最優(yōu)的c, ε進(jìn)行預(yù)測(cè)。
所需實(shí)驗(yàn)設(shè)備有數(shù)控機(jī)床、溫度傳感器、雷尼紹XL激光干涉儀及傳感器、NI USB-6221數(shù)據(jù)采集卡及工控機(jī)等。原理如圖1所示。選用LabVIEW軟件編寫(xiě)相關(guān)的信號(hào)采集程序,系統(tǒng)數(shù)據(jù)采集程序如圖2所示。程序中將數(shù)據(jù)保存成TDMS文件,它包含了各種采集時(shí)間等豐富的信息,很方便以后進(jìn)行數(shù)據(jù)的各種分析與處理。最小為止,然后利用支持向量回歸機(jī)建立最優(yōu)結(jié)構(gòu)誤差的機(jī)床熱誤差模型,預(yù)測(cè)機(jī)床的熱變形。算法的主要步驟描述如下:
圖1 硬件結(jié)構(gòu)原理圖
圖2 數(shù)據(jù)采集程序
1)初始化種群代數(shù)t=0;
2)由于選擇的ε-SVR支持向量回歸機(jī),高斯徑向基函數(shù)作為核函數(shù),那么需要優(yōu)化的參數(shù)為懲罰參數(shù)c,以及不敏感系數(shù)ε,用實(shí)數(shù)編碼成的個(gè)體表示需優(yōu)化的參數(shù)組成,隨機(jī)生成初始化種群p(t),其種群大小為N=l00;
3)把每組參數(shù)代入ε-SVR支持向量回歸機(jī),用訓(xùn)練樣本對(duì)其進(jìn)行訓(xùn)練,用交叉驗(yàn)證誤差作為參數(shù)優(yōu)化準(zhǔn)則,計(jì)算每組參數(shù)的適應(yīng)值F (t),即組內(nèi)的最小均方誤差;
大量研究表明,機(jī)床主軸熱變形誤差是引起機(jī)床熱變形誤差的重要因素[7]。考慮到實(shí)驗(yàn)條件的限制,及本文目的在于驗(yàn)證GA-SVR建立機(jī)床熱誤差模型的可行性和準(zhǔn)確性,故機(jī)床其他部件的熱變形未納入考慮范圍。在機(jī)床上變形比較大的主要部位安裝了4組溫度傳感器,分別測(cè)量冷卻液溫度、X軸滾珠絲杠螺母溫度、主軸軸承溫度和床身溫度,可較簡(jiǎn)便地且滿(mǎn)足精度估計(jì)所研究機(jī)床的熱誤差。固定在機(jī)床的位移傳感器(如圖3所示)位于主軸一端,用于測(cè)量x軸徑向方向的加工誤差。
為了盡可能多地獲得機(jī)床在各種加工條件下的溫度和誤差數(shù)據(jù),試驗(yàn)對(duì)加工過(guò)程(機(jī)床運(yùn)轉(zhuǎn))進(jìn)行測(cè)量,每5分鐘進(jìn)行一次數(shù)據(jù)采集,共采集了100組數(shù)據(jù)。100組數(shù)據(jù)中分為80組的訓(xùn)練數(shù)據(jù)和20組的測(cè)試數(shù)據(jù),訓(xùn)練數(shù)據(jù)用于建立熱誤差模型,測(cè)試數(shù)據(jù)用于測(cè)試模型的精度。
圖3 主軸熱誤差檢測(cè)
圖4 遺傳算法迭代次數(shù)
為了體現(xiàn)GA-SVR建立數(shù)控機(jī)床熱誤差模型的預(yù)測(cè)能力,把GA-SVR和傳統(tǒng)的SVR建立的機(jī)床熱誤差模型進(jìn)行對(duì)比。利用以上的GA-SVR模型進(jìn)行預(yù)測(cè),并繪出預(yù)測(cè)結(jié)果與實(shí)際測(cè)量結(jié)果的對(duì)比圖。圖4為GA遺傳算法的c, ε兩個(gè)參數(shù)迭代過(guò)程與最優(yōu)值,從圖中可以看到只需要40次迭代,c, ε兩個(gè)參數(shù)得到最優(yōu)值28.112和0.072,體現(xiàn)了遺傳算法良好的尋優(yōu)能力。
圖5為4組溫度傳感器的溫度變化, 圖6是基于GA-SVR、SVR的預(yù)測(cè)結(jié)果與實(shí)際值的對(duì)比。基于SVR算法的c, ε值采用默認(rèn)參數(shù): c=1, ε=0.5。GA-SVR網(wǎng)絡(luò)的預(yù)測(cè)殘差的絕對(duì)值之和為25;而B(niǎo)P網(wǎng)絡(luò)的預(yù)測(cè)殘差的決定值之和為28。從圖6可以看出用經(jīng)過(guò)GA優(yōu)化的SVR支持向量機(jī)來(lái)預(yù)測(cè),要比傳統(tǒng)的支持向量機(jī)法來(lái)預(yù)測(cè)的效果好,因此用GASVR建立的機(jī)床熱誤差模型是有效的。
熱誤差補(bǔ)償器的設(shè)計(jì)和開(kāi)發(fā)是依據(jù)半閉環(huán)前饋補(bǔ)償原理[8],基于數(shù)控機(jī)床坐標(biāo)原點(diǎn)偏移功能而實(shí)現(xiàn)的。熱誤差補(bǔ)償器以DSP和A/D為核心,補(bǔ)償器與數(shù)控系統(tǒng)接口電路利用光耦隔離原理開(kāi)發(fā)。該補(bǔ)償器通過(guò)溫度傳感器和位移傳感器進(jìn)行熱誤差的采集與計(jì)算,通過(guò)自行開(kāi)發(fā)的接口電路實(shí)現(xiàn)了GA-SVR補(bǔ)償裝置與數(shù)控系統(tǒng)的通信。補(bǔ)償值通過(guò)數(shù)控系統(tǒng)參數(shù)設(shè)置和PMC程序以二進(jìn)制形式輸入數(shù)控系統(tǒng),促使機(jī)床的外部坐標(biāo)系原點(diǎn)偏移,實(shí)現(xiàn)熱誤差補(bǔ)償。補(bǔ)償器結(jié)構(gòu)設(shè)計(jì)及工作原理如圖7所示。
圖5 4組傳感器的溫度變化
圖6 GA-SVR與SVR的誤差分析
圖7 熱誤差補(bǔ)償器結(jié)構(gòu)設(shè)計(jì)及工作原理
在機(jī)床熱誤差建模過(guò)程中,利用遺傳算法對(duì)SVR支持向量機(jī)進(jìn)行訓(xùn)練,建立了基于GA-SVR的模型,并將該模型應(yīng)用于數(shù)控機(jī)床的主軸與工件主軸徑向的熱變形誤差預(yù)測(cè)。經(jīng)實(shí)驗(yàn)結(jié)果分析表明,所建模型能正確反映此種機(jī)床的熱誤差變化規(guī)律,且預(yù)測(cè)精度高于傳統(tǒng)支持向量機(jī)預(yù)測(cè)模型,預(yù)測(cè)殘差較平緩集中、峰值較小,因此用此GA-SVR法建立的機(jī)床熱誤差預(yù)測(cè)模型,可以用于機(jī)床的熱誤差補(bǔ)償中,將能有效提高機(jī)床熱誤差補(bǔ)償?shù)木龋⒃O(shè)計(jì)和開(kāi)發(fā)了以DSP和A/D為核心的熱補(bǔ)償器。
[1] 傅建中,姚鑫驊,賀永,等.數(shù)控機(jī)床熱誤差補(bǔ)償技術(shù)的發(fā)展?fàn)顩r[J].航空制造技術(shù),2010,(4):64-66.
[2] 林偉青,傅建中.數(shù)控機(jī)床熱誤差建模中的溫度傳感器優(yōu)化研究[J].成組技術(shù)與生產(chǎn)現(xiàn)代化,2007,24(3):5-8.
[3] 陳莉,賈育秦,畢有明.基于BP神經(jīng)網(wǎng)絡(luò)數(shù)控機(jī)床熱誤差建模的研究[J].機(jī)電工程技術(shù),2011,40(1):16-17.
[4] 傅建中,陳子辰.精密機(jī)械熱動(dòng)態(tài)誤差模糊神經(jīng)網(wǎng)絡(luò)建模研究[J].浙江大學(xué)學(xué)報(bào):工學(xué)版,2004,38(6):742-746.
[5] 林偉青,傅建中,陳子辰,許亞洲.數(shù)控機(jī)床熱誤差的動(dòng)態(tài)自適應(yīng)加權(quán)最小二乘支持矢量機(jī)建模方法[J].機(jī)械工程學(xué)報(bào),2009,45(3):178-182.
[6] 鄭春紅,焦李成,丁愛(ài)玲.基于啟發(fā)式遺傳算法的SVM模型自動(dòng)選擇[J].控制理論與應(yīng)用,2006.23(2):187-192.
[7] B.Sch?lkopf,A.Smola,R.Williamson,etc.New support vector algorithms.NeuroColt2-TR,1998,http://eiteseer.nj.nee.eom/276248.html
[8] 羅文.數(shù)控機(jī)床熱誤差檢測(cè)與補(bǔ)償技術(shù)[D].南京航空航天大學(xué).2010.