經(jīng)遺傳算法優(yōu)化的bp神經(jīng)網(wǎng)絡(luò)重型機(jī)床熱誤差建模方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及面向數(shù)字制造技術(shù)領(lǐng)域,特別針對(duì)重型機(jī)床以及超精密加工機(jī)床,具 體地指一種經(jīng)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)重型機(jī)床熱誤差建模方法。
【背景技術(shù)】
[0002] 重型機(jī)床是制造領(lǐng)域的重要裝備,其加工性能是一個(gè)國(guó)家制造業(yè)發(fā)展水平的主要 標(biāo)志之一,重型機(jī)床用于高端裝備的加工,在航空、航天及高端裝備制造業(yè)中有著廣泛的應(yīng) 用。由于自身材質(zhì)、結(jié)構(gòu)和加工環(huán)境的原因,在對(duì)零件加工過程中存在著幾何誤差、熱誤差、 伺服誤差和定位夾緊誤差等影響加工精度穩(wěn)定性的因素。重型機(jī)床由于熱源較多、結(jié)構(gòu)復(fù) 雜及其驅(qū)動(dòng)系統(tǒng)所需的功率大,零部件發(fā)熱嚴(yán)重,因此受環(huán)境溫度和加工過程發(fā)熱的影響 很大,所以,重型機(jī)床在外部熱源和內(nèi)部熱源發(fā)熱的影響下機(jī)床零部件產(chǎn)生熱變形所導(dǎo)致 的熱誤差尤為明顯。國(guó)內(nèi)外研宄表明,重型機(jī)床熱誤差占機(jī)床加工總誤差量的40%到70% 左右,在超高精密加工過程中,熱誤差所占比例甚至高達(dá)80 %。重型數(shù)控機(jī)床工作過程中的 熱誤差會(huì)降低機(jī)床的制造精度,從而嚴(yán)重影響工件的加工質(zhì)量、降低重型數(shù)控機(jī)床的生產(chǎn) 效率。隨著機(jī)床制造技術(shù)和結(jié)構(gòu)設(shè)計(jì)的改善,幾何誤差等已經(jīng)得到了很好的控制,但是重型 機(jī)床加工過程中的熱誤差一直以來難以得到有效控制。由此可見,開發(fā)有效的熱誤差補(bǔ)償 裝置對(duì)提高重型數(shù)控機(jī)床加工精度有著重要意義。
[0003] 在熱誤差補(bǔ)償技術(shù)中,采用誤差補(bǔ)償法對(duì)數(shù)控機(jī)床熱誤差進(jìn)行補(bǔ)償?shù)南葲Q條件是 要建立一個(gè)可反映熱變形所的導(dǎo)致熱誤差的預(yù)測(cè)模型,在此基礎(chǔ)上根據(jù)熱誤差預(yù)測(cè)模型的 預(yù)測(cè)結(jié)果向數(shù)控系統(tǒng)發(fā)送實(shí)時(shí)補(bǔ)償數(shù)據(jù)進(jìn)而實(shí)現(xiàn)對(duì)熱誤差的補(bǔ)償,因此,熱誤差預(yù)測(cè)模型 的好壞將最終決定熱誤差的補(bǔ)償效果。目前常用的熱誤差建模方法有:多元線性回歸建模 方法、神經(jīng)網(wǎng)絡(luò)建模方法、貝葉斯網(wǎng)絡(luò)建模方法、灰色系統(tǒng)建模方法等。
[0004] 2005年,Yang Kong等人對(duì)數(shù)控機(jī)床熱變形的動(dòng)態(tài)特性進(jìn)行了系統(tǒng)的分析研宄,并 基于系統(tǒng)辨識(shí)方法提出了數(shù)控機(jī)床熱誤差動(dòng)態(tài)建模理論,在對(duì)機(jī)床結(jié)構(gòu)仿真的基礎(chǔ)上,建 立了多元?jiǎng)討B(tài)熱誤差預(yù)測(cè)模型,同時(shí)對(duì)動(dòng)態(tài)模型的自適應(yīng)方法論進(jìn)行了系統(tǒng)描述(參看文 獻(xiàn)"Adaptive model estimation of machine-tool thermal errors based on recursive dynamic modeling strategy'',來自期干丨J〈〈International Journal of Machine Tools and Manufacture》,2005年第45卷第I期)。該方法雖然有效的獲取了數(shù)控機(jī)床熱誤差數(shù)據(jù), 但是建模所花時(shí)間長(zhǎng),不具有良好的實(shí)時(shí)性。
[0005] 2006年,Kang Yuan等人結(jié)合混合濾波方法和人工神經(jīng)網(wǎng)絡(luò)建立了數(shù)控機(jī)床熱 誤差預(yù)測(cè)模型,把混合濾波的輸出作為神經(jīng)網(wǎng)絡(luò)的輸入,溫度變量和熱誤差的動(dòng)態(tài)特性作 為神經(jīng)網(wǎng)絡(luò)的輸出(參看文獻(xiàn)"Modification of a neural network utilizing hybrid filters for the compensation of thermal deformation in machine tools'',來自期干丨J ((International Journal of Machine Tools and Manufacture〉〉,2007年第 47卷第 2 期)。 該模型在減少神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)時(shí)間的同時(shí),也有效的提高了模型的預(yù)測(cè)精度,但單純的人工 神經(jīng)網(wǎng)絡(luò)方法雖然可以通過自學(xué)習(xí)修正神經(jīng)元的各權(quán)重系數(shù)得到充分小的訓(xùn)練誤差,但卻 存在局部極小點(diǎn)過學(xué)習(xí)和過分依賴經(jīng)驗(yàn)等缺陷,對(duì)于未經(jīng)訓(xùn)練的新數(shù)據(jù),其泛化能力差。
[0006] 專利號(hào)為200810163140. 5的中國(guó)發(fā)明"數(shù)控機(jī)床熱誤差貝葉斯網(wǎng)絡(luò)補(bǔ)償方法", 該發(fā)明根據(jù)實(shí)測(cè)樣本數(shù)據(jù),構(gòu)建貝葉斯網(wǎng)絡(luò)熱誤差預(yù)測(cè)模型,實(shí)現(xiàn)機(jī)床熱誤差的實(shí)時(shí)補(bǔ)償。 所采用的貝葉斯網(wǎng)絡(luò)建模方法一方面用圖論的語(yǔ)言直觀表達(dá)產(chǎn)生熱誤差的各種因素間的 因果依賴關(guān)系,另一方面按照概率論的原則對(duì)各因素間的內(nèi)在關(guān)聯(lián)進(jìn)行分析、利用,降低推 理預(yù)測(cè)的計(jì)算復(fù)雜度,具有表達(dá)只管、建模精度高和自適應(yīng)的特點(diǎn)。該方法不能反映熱誤差 的非線性特征,預(yù)測(cè)誤差精度低且魯棒性不好。
[0007] 2009年,浙江大學(xué)的林偉青、傅建中等人提出了一種基于動(dòng)態(tài)適應(yīng)加權(quán)的最小二 乘支持矢量機(jī)熱誤差建模方法(參看文獻(xiàn)"基于在線最小二乘支持向量機(jī)的數(shù)控機(jī)床熱誤 差建模與補(bǔ)償",來自期刊《計(jì)算機(jī)集成制造系統(tǒng)》,2008年第14卷第5期)。該方法利用動(dòng) 態(tài)自適應(yīng)算法對(duì)建模過程中的參數(shù)進(jìn)行優(yōu)化選擇,對(duì)采樣數(shù)據(jù)建立初始最小二乘支持矢量 機(jī)模型,依據(jù)誤差變量來確定權(quán)重系數(shù),進(jìn)行基于加權(quán)最小二乘支持矢量機(jī)建模,經(jīng)過試驗(yàn) 驗(yàn)證了該模型具有精度高,泛化能力強(qiáng)等特點(diǎn)。專利號(hào)為200810163141. X的中國(guó)發(fā)明專利 "數(shù)控機(jī)床的熱誤差最小二乘支持向量機(jī)建模方法",該發(fā)明通過核函數(shù)的選擇與參數(shù)的確 定,根據(jù)最小二乘支持向量機(jī)原理,建立了機(jī)床熱誤差模型。該發(fā)明提高了模型精度與泛化 能力,克服了現(xiàn)有預(yù)測(cè)方法精度低,泛化能力低等部分缺點(diǎn)。利用最小二乘支持矢量機(jī)熱誤 差建模方法進(jìn)行熱誤差建模的最大問題是參數(shù)的優(yōu)化選擇,目前還沒有很好的辦法,比較 流行的是網(wǎng)格法和交叉驗(yàn)證法,但并不是很理想。
[0008] 2012年,南京航空航天大學(xué)的章婷等人利用熱誤差時(shí)間序列值基于變參數(shù)灰色 GM(1,1)在線預(yù)測(cè)模型進(jìn)行但序列建模(參看文獻(xiàn)"數(shù)控機(jī)床熱誤差變參數(shù)GM(1,1)的建 模",來自期刊《中南大學(xué)學(xué)報(bào)(自然科學(xué)版)》,2012年第43卷第1期)。與傳統(tǒng)的GM(1,1) 和新陳代謝GM(1,1)模型相比,能很好的預(yù)測(cè)大樣本數(shù)據(jù),也能預(yù)測(cè)非線性變化趨勢(shì)的問 題,同時(shí)具有預(yù)測(cè)精度高和通用性好等特點(diǎn)。該方法僅通過機(jī)床某一熱誤差元素(如機(jī)床 X向熱誤差)自身時(shí)序數(shù)據(jù)建立模型,忽略了相關(guān)熱源溫度變化對(duì)其造成的影響。專利號(hào) 為CN201310180781. 2的中國(guó)專利"一種基于灰色線性回歸的熱誤差建模方法",該專利利 用灰色線性回歸模型進(jìn)行熱誤差預(yù)測(cè),善線性回歸模型中沒有指數(shù)增長(zhǎng)及難以描述線性變 化趨勢(shì)的缺點(diǎn)以及灰色熱誤差模型沒有線性因素的不足,具有很好的處理線性和非線性問 題的能力,對(duì)精密臥式加工中心的熱誤差預(yù)測(cè)取得了良好的效果,既考慮到熱誤差數(shù)據(jù)的 線性因素又考慮到了其非線性因素,改善了原來單一灰色模型的缺點(diǎn),獲得了更加準(zhǔn)確的 熱誤差預(yù)測(cè)值和更高的擬合度。但是,灰色系統(tǒng)是根據(jù)自身原始數(shù)據(jù)來預(yù)測(cè)自身的發(fā)展的 模型。在實(shí)際建模中,原始數(shù)據(jù)序列的數(shù)據(jù)不一定全部用來建模,在原始數(shù)據(jù)序列中取不同 的數(shù)據(jù),建立的模型就不一樣,該方法的魯棒性有待于進(jìn)一步提高。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的目的針對(duì)重型數(shù)控機(jī)床熱誤差補(bǔ)償中,熱誤差數(shù)據(jù)預(yù)測(cè)的準(zhǔn)確性和魯棒 性的不足,而提出了一種經(jīng)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)重型機(jī)床熱誤差建模方法。利用遺 傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的初始權(quán)值和閾值進(jìn)行全局尋優(yōu),克服BP神經(jīng)網(wǎng)絡(luò)的自身特點(diǎn), 提高其訓(xùn)練時(shí)收斂的快速性、精確性和魯棒性。
[0010] 為實(shí)現(xiàn)上述目的,本發(fā)明所設(shè)計(jì)的一種經(jīng)遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)重型機(jī)床 熱誤差建模方法,其特殊之處在于,包括如下步驟:
[0011] 1)建立三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)框架;
[0012] 2)將一組機(jī)床床身溫度場(chǎng)和主軸X、Y、Z方向熱誤差數(shù)據(jù)作為第一組樣本數(shù)據(jù)進(jìn) 行輸入;
[0013] 3)用遺傳算法對(duì)初始值進(jìn)行實(shí)數(shù)編碼,初始化種群;
[0014] 4)進(jìn)行適應(yīng)度值計(jì)算,并設(shè)定遺傳算法的結(jié)構(gòu)參數(shù);
[0015] 5)利用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)各層的初始權(quán)值和閾值進(jìn)行全局尋優(yōu);
[0016] 6)采用所述第一組樣本數(shù)據(jù)對(duì)已確定初始權(quán)值和閾值的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行誤差計(jì) 算,若輸出誤差E大于誤差設(shè)定值e,則更新BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值后再進(jìn)行誤差計(jì)算, 若輸出誤差E小于或者等于誤差設(shè)定值e,得到BP神經(jīng)網(wǎng)絡(luò)重型機(jī)床熱誤差仿真模型。
[0017] 優(yōu)選地,還包括驗(yàn)證步驟:7)將兩組機(jī)床床身溫度場(chǎng)數(shù)據(jù)分別作為第二組和第三 組樣本數(shù)據(jù)輸入BP神經(jīng)網(wǎng)絡(luò)重型機(jī)床熱誤差仿真模型,將第二組和第三組樣本數(shù)據(jù)的預(yù) 測(cè)值與相應(yīng)的主軸X、Y、Z方向熱誤差數(shù)據(jù)進(jìn)行對(duì)比。如果預(yù)測(cè)值與誤差數(shù)據(jù)的誤差范圍小 于10%,則仿真模型的有效性高,如果預(yù)測(cè)值與誤差數(shù)據(jù)的誤差范圍大于10%,則仿真模 型性的有效性低。
[0018] 優(yōu)選地,步驟1中BP神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元數(shù)目為7,隱含層神經(jīng)元數(shù)目為25, 輸出層神經(jīng)元數(shù)目為1。從所有測(cè)溫點(diǎn)中選取7個(gè)最能體現(xiàn)數(shù)控機(jī)床床身熱形變和溫度間 的關(guān)系的測(cè)溫點(diǎn)作為輸入層神經(jīng)元數(shù)目。輸入層神經(jīng)元個(gè)數(shù)太多,計(jì)算產(chǎn)生難度;個(gè)數(shù)太 少,誤差率較大。隱含層神經(jīng)元數(shù)目為25是經(jīng)過多次嘗試后獲得的經(jīng)驗(yàn)值,在這個(gè)值下,獲 取的預(yù)測(cè)值與實(shí)際值最為接近。輸出層神經(jīng)元數(shù)目為1即為預(yù)測(cè)結(jié)果輸出的個(gè)數(shù)為1。
[0019] 優(yōu)選地,所述步驟2中的第一組和所述步驟7中的第二組、第三組樣本數(shù)據(jù)分別為 連續(xù)采集72小時(shí)的機(jī)床床身測(cè)溫點(diǎn)的溫度數(shù)據(jù)和主軸X、Y、Z方向的靜態(tài)熱漂移誤差數(shù)據(jù) 中的0-24小時(shí)、25-48小時(shí)、49-72小時(shí)的數(shù)據(jù)。
[0020] 優(yōu)選地,對(duì)所述步驟2中的樣本數(shù)據(jù)中的溫度數(shù)據(jù)和形變數(shù)據(jù)分別通過下述公式 進(jìn)行歸一化處理: (Pii - min Pj)
[0021] Pij - 2 X-;--\, / = 1,2,_·_,/7; / = 1,2,..·,/η J (max P1 - mrn Pi)
[0022] 其中,P表示nXm維的樣本數(shù)據(jù)矩陣,Pij表示樣本矩陣中第i行,第j列的一個(gè) 元素,11^1^表示樣本矩陣第i行元素中s的最小值,maxP 1表示樣本矩陣第i行的最大值。 歸一化處理的目的是使溫度數(shù)據(jù)和形變數(shù)據(jù)的值都在[0,1]區(qū)間內(nèi),降低幅度,便于計(jì)算。 因?yàn)楸舅惴ㄖ魂P(guān)心溫度和熱形變間的關(guān)系,不關(guān)心數(shù)值大小。
[0023] 優(yōu)選地,所述步驟4)中計(jì)算適應(yīng)度值的函數(shù)為誤差平方和的倒數(shù)。BP神經(jīng)網(wǎng)絡(luò)的 誤差平和越小,則表示網(wǎng)絡(luò)的性能越好。因此選取誤差平方和的倒數(shù)作為遺傳算法的適應(yīng) 度函數(shù),誤差平方和越小則表示該個(gè)體的適應(yīng)度越大。
[0024] 優(yōu)選地,所述步驟4)中遺傳算法的結(jié)構(gòu)參數(shù)包括:種群個(gè)數(shù)為50,交叉概率為 〇. 1,變異概率為0.01,終止進(jìn)化次數(shù)為50。遺傳算法的各結(jié)構(gòu)參數(shù)是根據(jù)個(gè)人經(jīng)驗(yàn)和實(shí)際 運(yùn)算后得到的,在這些參數(shù)下,預(yù)測(cè)結(jié)果最接近真實(shí)值。
[0025]