任小洪,徐衛(wèi)東,劉立新,周天鵬,樂英高
(1. 四川理工學(xué)院 自動化與電子信息學(xué)院,自貢 643000;2. 四川長征機(jī)床集團(tuán)有限公司 技術(shù)中心,自貢 643000)
基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床熱誤差補(bǔ)償
任小洪1,徐衛(wèi)東1,劉立新2,周天鵬1,樂英高1
(1. 四川理工學(xué)院 自動化與電子信息學(xué)院,自貢 643000;2. 四川長征機(jī)床集團(tuán)有限公司 技術(shù)中心,自貢 643000)
數(shù)控機(jī)床熱誤差補(bǔ)償技術(shù)已經(jīng)成為以誤差補(bǔ)償技術(shù)為代表的現(xiàn)代精密工程的重要技術(shù)支柱之一[1]。目前,國內(nèi)外許多專家學(xué)者在機(jī)床熱誤差實時補(bǔ)償方法上做了大量的研究,并取得了很有效成果。由于數(shù)控加工熱誤差的產(chǎn)生是一個動態(tài)過程, 且具有非線性的特點,一般采用的熱誤差補(bǔ)償方法如經(jīng)驗公式、有限元法、實驗法、回歸法等數(shù)值計算方法[3]。如文獻(xiàn)[2]中采用模糊聚類的方法布置測溫點,利用多元回歸方法建立機(jī)床變形與升溫之間的數(shù)學(xué)模型,實驗補(bǔ)償效果很好。另外基于BP神經(jīng)網(wǎng)絡(luò)的熱誤差實時補(bǔ)償方法也得到廣泛的應(yīng)用。如文獻(xiàn)[3]中分析了BP神經(jīng)網(wǎng)絡(luò)熱誤差補(bǔ)償方法,并通過實驗仿真驗證了可行性和有效性。但是上述方法存在許多問題:數(shù)值計算方法存在實時性差、精度不高等缺陷;BP神經(jīng)網(wǎng)絡(luò)補(bǔ)償方法由于網(wǎng)絡(luò)權(quán)重初始化的隨機(jī)性,難以確定一組較好的初始值來應(yīng)對熱誤差的實際情況,并且學(xué)習(xí)收斂速度慢、易陷于局部極小等問題。
因此,本文針對這些問題提出了一種遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床熱誤差補(bǔ)償方法對數(shù)控加工中心的誤差進(jìn)行實時補(bǔ)償。
遺傳算法(Genetic Algorithms)[4]是模擬自然界遺傳機(jī)制和生物進(jìn)化論而成的一種并行隨機(jī)搜索最優(yōu)方法。而遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)就是通過遺傳算法來優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值[4]。優(yōu)化BP網(wǎng)絡(luò)更好地預(yù)測輸出。
遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法主要包括3個重要部分[4]:創(chuàng)建BP網(wǎng)絡(luò);遺傳算法優(yōu)化;網(wǎng)絡(luò)預(yù)測結(jié)果。
1)創(chuàng)建BP網(wǎng)絡(luò):根據(jù)輸入和輸出的參數(shù)個數(shù)來完成BP網(wǎng)絡(luò)結(jié)構(gòu)。
2) 遺傳算法優(yōu)化:在優(yōu)化BP網(wǎng)絡(luò)的權(quán)值與閾值時,通過適應(yīng)度函數(shù)式(1)計算個體適應(yīng)度值。令個體適應(yīng)度值為Y;第i個節(jié)點的期望輸出和預(yù)測輸出分別為Ei、Fi;輸出節(jié)點數(shù)為k;l為系數(shù)。
通過選擇、交叉、變異來找出最優(yōu)適應(yīng)度值對應(yīng)的個體。其中選擇操作是基于適應(yīng)度比例選擇方法。令每個個體 的選擇概率為 ,即式(2)所示。
式中,Yi為個體i對應(yīng)的適應(yīng)度值;N為種群個體數(shù)。
交叉操作用實數(shù)交叉法,即第r個染色體ar與第s個染色體as在j位的交叉,如式(3)與(4)所示。式中,c是[0 ,1]之間的隨機(jī)數(shù)。
變異操作如式(5)所示。令aij為第i個個體的第j個基因進(jìn)行變異。
式中,g為當(dāng)前迭代次數(shù);gmax為最大進(jìn)化次數(shù);amax、amin分別為基因aij的上下限。
3)BP網(wǎng)絡(luò)預(yù)測:用優(yōu)化后得到的最優(yōu)個體對初始權(quán)值與閾值進(jìn)行賦值,訓(xùn)練網(wǎng)絡(luò)預(yù)測輸出。
具體遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法的流程圖如圖1所示。
圖1 GA-BP神經(jīng)網(wǎng)絡(luò)算法的流程圖
基于BP神經(jīng)網(wǎng)絡(luò)的數(shù)控加工熱誤差補(bǔ)償系統(tǒng)如圖2所示?;驹頌椋菏紫?,通過布置在機(jī)床中心的關(guān)鍵溫度點上的溫度傳感器實時采集加工中心的溫度數(shù)值。同時,無紙記錄儀和激光干涉儀檢測出機(jī)床對應(yīng)時刻的誤差值。再把溫度值與誤差值輸入BP神經(jīng)網(wǎng)絡(luò)模型來對下一時刻的誤差預(yù)測計算,而后將計算出的信息反饋給CNC控制系統(tǒng),CNC控制系統(tǒng)做出誤差控制指令,進(jìn)而作出相應(yīng)的誤差補(bǔ)償。圖中控制鍵盤用來對神經(jīng)網(wǎng)絡(luò)模型的實時修改。
圖 2 熱誤差補(bǔ)償系統(tǒng)原理圖
研究采用無紙記錄儀和激光干涉儀采集了三軸聯(lián)動臥式加工中心Y軸的相關(guān)數(shù)據(jù){采集Y軸絲杠的定位誤差},共檢測了76組定位精度誤差數(shù)據(jù),每組數(shù)據(jù)中包括機(jī)床運(yùn)行一去一回對應(yīng)相關(guān)數(shù)據(jù),定位誤差由(-27.63~+35.76)um;(63 .39um)。另外,此間隨時采集溫度數(shù)據(jù)。并進(jìn)行降溫試驗,溫度變化(28.4~41.3~36.6)℃,溫升最大為13℃,環(huán)境溫度變化(24.9~30.1)℃,溫升最大為5.2℃,光柵尺溫度變化(27.6~32.4)℃,溫升最大為4.8℃。
該三軸聯(lián)動臥式加工中心的主要熱誤差源有:左右光柵溫度、左右軸承座溫度、左右電機(jī)座溫度、工作臺溫度、環(huán)境溫度等。根據(jù)基于SNSYS結(jié)構(gòu)的機(jī)床整機(jī)熱分析出具體測溫點。然后,利用粗集理論方法(具體理論方法見參考文獻(xiàn)[5,6]),分析熱誤差與各變量之間的相關(guān)性,提取機(jī)床熱誤差補(bǔ)償重要特征參數(shù)。以避免誤差模型中的變量耦合,提高熱誤差模型的精確性和魯棒性。
實際分析中,筆者選取了4個重要特征:右光柵尺溫度、右軸承座溫度、左電機(jī)座溫度、工作臺溫度。
根據(jù)上述算法分析,4個關(guān)鍵的溫度點值作為神經(jīng)網(wǎng)絡(luò)輸入,即輸入層節(jié)點數(shù)為4。又通過定理[7]可計算中間隱含層的節(jié)點數(shù)為(2N+1)=2×4+1=9個。又由輸出節(jié)點為1個。因此所創(chuàng)建的BP網(wǎng)絡(luò)建模為4-9-1結(jié)構(gòu)。權(quán)值個數(shù)為4×9+1×9=45個,閾值個數(shù)為9+1=10個。個體編碼長度為45+10=55。然后用實驗得到的樣本來訓(xùn)練和測試網(wǎng)絡(luò)。遺傳算法相關(guān)參數(shù)設(shè)置如下:種群規(guī)模30,進(jìn)化次數(shù)為50次,交叉概率為0.04,變異概率為0.02。BP網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置如下:最大步數(shù)1000,學(xué)習(xí)率0.01,目標(biāo)0.001。
圖3 熱誤差補(bǔ)償結(jié)果
圖4 GA-BP與普通BP補(bǔ)償后的殘差對比
然后,將4個重要特征參數(shù)對應(yīng)的數(shù)據(jù)運(yùn)用于網(wǎng)絡(luò)的機(jī)床誤差補(bǔ)償。機(jī)床具體誤差差擬合情況和補(bǔ)償情況如圖3所示。
由圖3可見,經(jīng)補(bǔ)償后,徑向熱漂移從27.63μm以上降到約6μm,熱誤差降低約78.3%。擬合性能也很好,預(yù)測補(bǔ)償能力也強(qiáng)。因此表明,基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床熱誤差補(bǔ)償方法大大提高了加工精度。
遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)與普通BP神經(jīng)網(wǎng)絡(luò)兩者補(bǔ)償后的殘差對比情況如圖4所示。
由圖4可見,基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床熱誤差補(bǔ)償方法比普通BP網(wǎng)絡(luò)補(bǔ)償方法在熱誤差補(bǔ)償方面更優(yōu),補(bǔ)償后殘余誤差更??;訓(xùn)練速度方面也優(yōu)于普通BP網(wǎng)絡(luò)。
針對影響機(jī)床加工精度的主要因素?zé)嵴`差,本文以三軸聯(lián)動臥式加工中心為例,進(jìn)行切實有效的分析。在合理布置熱傳感器的同時,利用粗集理論相關(guān)知識方法,提取機(jī)床熱誤差補(bǔ)償重要特征參數(shù)。運(yùn)用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)建立精確較高和魯棒性較強(qiáng)的熱誤差模型。實驗仿真結(jié)果表明經(jīng)補(bǔ)償機(jī)床加工精度有很大提高,補(bǔ)償效果也明顯優(yōu)于普通BP神經(jīng)網(wǎng)絡(luò)。進(jìn)而為熱誤差補(bǔ)償技術(shù)的應(yīng)用提供了一定的理論意義和實用價值。
[1]杜正春,楊建國,等.制造機(jī)床熱誤差研究現(xiàn)狀與思考[J].制造業(yè)自動化,2002,24(8):1-3.
[2]魯遠(yuǎn)棟,丁國富,等.數(shù)控機(jī)床熱變形誤差研究及補(bǔ)償應(yīng)用[J].制造技術(shù)與機(jī)床,2007,(4):25-29.
[3]孫勇,曾黃磷.一種新的數(shù)控機(jī)床熱誤差實時補(bǔ)償方法[J].機(jī)械設(shè)計與制造,2010,(1):244-245.
[4]MATLAB中文論壇.MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析[M].北京:北京航空航天大學(xué)出版社,2010:21-35.
[5]曾黃磷.智能計算[M].重慶:重慶大學(xué)出版社,2004:45-47.
[6]Zeng Huanglin,R.Swiniarski, A Neuro-fuzzy Classifier Based on Rough Sets[C]//Intelligent Information Processing Web Mining,Poland,2005:541-549.
[7]Hecht-Nielsen R.Kolmogorov's mapping neural network existence theorem[C]//IEEE First International Conference on Neural Networks.New York:[s.n.],1987,3:11-14.
Thermal error compensation on cnc machine tools based on ga-bp neural network
REN Xiao-hong1, XU Wei-dong1, LIU Li-xin2, ZHOU Tian-peng1, LE Ying-gao1
以提高數(shù)控機(jī)床加工精度為主要目的,針對減少熱誤差而提出一種基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床熱誤差補(bǔ)償方法。首先,分析遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。然后,建立神經(jīng)網(wǎng)絡(luò)模型對三軸聯(lián)動臥式加工中心進(jìn)行實時補(bǔ)償。實驗仿真結(jié)果表明遺傳優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型具有預(yù)測補(bǔ)償能力強(qiáng)、補(bǔ)償精度高、擬合性能優(yōu)、實時性好等特點。
遺傳算法優(yōu)化;BP神經(jīng)網(wǎng)絡(luò);熱誤差補(bǔ)償;數(shù)控機(jī)床
任小洪(1960 -),男,副教授,研究方向為智能測控技術(shù)。
TH16
A
1009-0134(2011)5(上)-0041-03
10.3969/j.issn.1009-0134.2011.5(上).15
2010-12-06
2009年國家重大專項(2009zx04002-013)子課題資助;人工智能四川省重點實驗室重點項目(2010RZ002)