林偉鋮,尹玲,張斐,呂崢
(1.東莞理工學(xué)院計算機科學(xué)與技術(shù)學(xué)院,廣東東莞 523808;2.東莞理工學(xué)院中法聯(lián)合學(xué)院,廣東東莞 523808;3.湖南科技大學(xué)機械設(shè)備健康維護湖南省重點實驗室,湖南湘潭 411201;4.東莞理工學(xué)院機械工程學(xué)院,廣東東莞 523808)
數(shù)控機床熱誤差是機床主要誤差源,占機床總誤差的40%~70%[1-3]。近年來,眾多學(xué)者將人工智能算法引入到熱誤差建模中,提高熱誤差模型的預(yù)測精度。
王子涵等[4]提出一種基于貝葉斯神經(jīng)網(wǎng)絡(luò)的熱誤差建模方法。GUO 等[5]采用基于人工智能的神經(jīng)網(wǎng)絡(luò)建立熱誤差模型。神經(jīng)網(wǎng)絡(luò)模型解決了溫度與熱誤差的非線性映射問題,提高了預(yù)測精度,但基于人工神經(jīng)網(wǎng)絡(luò)的模型易陷入局部極值[6]。
為了解決模型陷入局部極值問題,一些學(xué)者將具有強大非線性映射能力的神經(jīng)網(wǎng)絡(luò)結(jié)合智能優(yōu)化算法的全局尋優(yōu)能力,建立熱誤差模型。例如,遺傳算法優(yōu)化反向傳播神經(jīng)網(wǎng)絡(luò)[7]、基于雞群算法的徑向基神經(jīng)網(wǎng)絡(luò)[8]、遺傳算法優(yōu)化Elman神經(jīng)網(wǎng)絡(luò)[9]和遺傳算法結(jié)合小波基神經(jīng)網(wǎng)絡(luò)[10]等建模方法。但這類模型的輸入通常為多個溫度測量點的數(shù)據(jù),模型內(nèi)部的參數(shù)與溫度測量點的個數(shù)呈倍數(shù)關(guān)系,不利于嵌入到機床的數(shù)控系統(tǒng)進行應(yīng)用。
美國學(xué)者M A DONMEY等提出主軸熱變形誤差通用模型[11]:
ΔEi=a0+a1ΔTi+a2(ΔTi)2+a3(ΔTi)3
(1)
式中:ΔEi為i時刻的熱誤差變化量的預(yù)測值;a0、a1、a2、a3為參數(shù);ΔTi為i時刻的溫度變化量。
該模型為熱誤差的補償建模提供了一種思路,它是冪函數(shù)的近似逼近。且該模型只需單個溫度傳感器數(shù)據(jù),其內(nèi)部參數(shù)僅有4個,易于嵌入數(shù)控系統(tǒng),但該模型為三階冪函數(shù),泛化能力較差,其輸入的溫度數(shù)據(jù)取決于當(dāng)前時刻的溫度數(shù)據(jù),沒有考慮機床熱特性和熱滯后等問題。
為了解決該模型上述問題,本文作者修正該模型,將三階冪函數(shù)修改成變階冪函數(shù),使得模型的泛化能力更好,結(jié)合滿兵等人[12]和屈力剛等[13]對溫度數(shù)據(jù)的優(yōu)化分析,將模型的輸入增加前一時刻的溫度數(shù)據(jù),一定程度上解決了熱滯后問題,同時,保留該模型只需單個溫度傳感器數(shù)據(jù)的特點。
文中修正模型(T模型)結(jié)合智能優(yōu)化算法,利用智能優(yōu)化的遺傳算法全局尋優(yōu),避免模型陷入局部極值,設(shè)計混合編碼使得遺傳算法能同步辨識T模型的所有參數(shù),加快建模效率?;谏鲜鏊枷耄岢鲆环N遺傳算法優(yōu)化T模型的主軸熱誤差辨識模型(GA-T主軸熱誤差辨識模型)。
將提到的通用模型加入前一時刻的溫度變化量,將三階冪函數(shù)修正為變階冪函數(shù),其修正模型如下:
(2)
式中:αj、βk、C為參數(shù);ΔTi-1為i-1時刻的溫度變化量。T模型考慮了上一時刻的溫度變化量,能夠更好地處理機床熱滯后問題。
遺傳算法通過模擬自然進化的過程,根據(jù)自然界適者生存的機制,使種群不斷進化,從而得到全局最優(yōu)解或接近全局最優(yōu)解的解。其算法流程如圖1所示。
圖1 遺傳算法流程
從圖1可以看出:遺傳算法主要由4個操作(父代選擇、交叉、變異和更新種群)和1個收斂條件組成。其中每個操作都影響物種多樣性,物種多樣性保持得好,算法就不易于陷入局部極值,而收斂條件決定了算法的效率和精度。
如公式(2)所示,T模型只需要單個溫度傳感器數(shù)據(jù)即可預(yù)測主軸軸向熱誤差,模型內(nèi)部參數(shù)個數(shù)為n+m+3,能夠適用于寄存器較少的數(shù)控系統(tǒng)。
由公式(2)得知,T模型需要辨識的參數(shù)有正整數(shù)n、m,向量α、β和實數(shù)C。為了使遺傳算法和T模型結(jié)合,設(shè)計混合編碼作為遺傳算法的個體基因,定義為(n,m,α1,α2,…,αn,β1,β2,…,βm,C)。
由圖1得知,進行父代選擇時,需要計算個體適應(yīng)值。文中將預(yù)測的熱誤差變化量累加得到當(dāng)前時刻機床主軸軸向熱誤差的預(yù)測值E,再將預(yù)測值E與實際值的最大殘差的倒數(shù)作為個體適應(yīng)值,讓預(yù)測值與實際值的最大殘差降到最低,提高模型預(yù)測機床熱誤差的穩(wěn)定性,從而提高機床平均加工精度。當(dāng)前時刻的機床主軸軸向熱誤差預(yù)測值函數(shù)和遺傳算法的個體適應(yīng)值函數(shù)如公式(3)和公式(4)所示:
(3)
式中:Ej為j時刻機床主軸軸向熱誤差的預(yù)測值。
(4)
式中:fk為個體k的適應(yīng)值;ek{N}為個體k的所有預(yù)測殘差。
遺傳算法的種群經(jīng)過若干代進化后,選擇最佳個體(個體適應(yīng)值最大的個體),解碼后作為T模型的參數(shù),其流程如圖2所示。
圖2 GA-T模型流程
為了使GA-T模型的精度更高,建模速度更快,文中對遺傳算法進一步優(yōu)化。
圖2所示的GA-T模型中,交叉操作是影響模型精度的關(guān)鍵因素,而收斂條件對模型的效率和精度都有直接影響。文中優(yōu)化交叉操作以及收斂條件的設(shè)置。
1.3.1 基于物種多樣性保持的交叉操作優(yōu)化方法
在交叉操作中,應(yīng)保持物種多樣性,避免收斂到局部最優(yōu)。本文作者設(shè)計了基于物種多樣性保持的交叉操作優(yōu)化方法,根據(jù)個體適應(yīng)值進行父代選擇,得到兩個父代個體,并進行隨機交叉生成兩個子代個體,使兩個子代個體基因的并集等于兩個父代個體基因的并集,保持了物種多樣性,再計算兩個子代個體的適應(yīng)值,選出較優(yōu)的子代個體作為下一代。其流程如圖3所示。
圖3 交叉操作流程
圖中,由選擇操作得到兩個父代個體,對兩個父代個體的每位基因進行隨機交叉,生成子代個體。
1.3.2 自適應(yīng)收斂條件
收斂條件決定了遺傳算法的進化次數(shù)。通常,將固定進化次數(shù)作為遺傳算法的收斂條件,但由于無法判斷算法何時收斂,故只能適當(dāng)增加進化次數(shù),提高模型精度。
文中設(shè)計自適應(yīng)收斂條件,即當(dāng)種群連續(xù)進化若干代后,仍未有更好的個體(最佳適應(yīng)值沒有更新)出現(xiàn)時,結(jié)束遺傳算法。
訓(xùn)練自適應(yīng)收斂條件的GA-T模型時,無需提前設(shè)置進化次數(shù)。對比固定進化次數(shù)的收斂條件,自適應(yīng)收斂條件可以讓模型的效率變高,面對不同熱誤差數(shù)據(jù)時泛化性更強。
以某型號三軸數(shù)控機床為研究對象,搭建了熱誤差建模與實驗驗證平臺。機床實切加工,將加工好的工件用三坐標(biāo)測量儀測量加工誤差。利用溫度傳感器采集主軸前端溫度,如圖4、圖5所示。
圖4 加工工件
圖5 溫度傳感器布置位置
從圖4可知:工件每個凹槽有兩個深度,其中較深的深度標(biāo)準值為7 mm,另一個為5 mm。
圖4所示的每個凹槽的加工時間為3 min,故每3 min記錄一次溫度數(shù)據(jù),共加工123 min。機床加工結(jié)束后,將在三坐標(biāo)測量儀測量整個工件每個凹槽的深度,再將測量數(shù)據(jù)整理成熱誤差數(shù)據(jù)。熱誤差數(shù)據(jù)和溫度數(shù)據(jù)如圖6所示。
圖6 機床溫度、熱誤差數(shù)據(jù)
圖6為機床實切采集的一組數(shù)據(jù),溫度從23.7 ℃升溫到28.4 ℃,熱誤差從0 μm增長到59 μm。
2.3.1 GA-T熱誤差建模
GA-T模型里,遺傳算法種群規(guī)模為30,高斯分布初始化,變異率為0.1,收斂條件為自適應(yīng)收斂條件。
為了評估模型,引入了平均絕對誤差(MAE)、最大絕對殘差(MAX)和擬合優(yōu)度(R2)。其公式如下:
(5)
eMAX=max (e{N})
(6)
式中:e{N}為絕對殘差集合。
(7)
訓(xùn)練好的GA-T模型,其預(yù)測熱誤差與實際熱誤差的曲線如圖7所示。
圖7 GA-T模型預(yù)測值與實際值曲線
從圖7可知:GA-T模型的擬合能力很強,最大絕對殘差為3.41 μm,平均絕對誤差為1.57 μm。
2.3.2 神經(jīng)網(wǎng)絡(luò)熱誤差建模
神經(jīng)網(wǎng)絡(luò)采用2-10-1的網(wǎng)絡(luò)架構(gòu),訓(xùn)練次數(shù)為1 000,進步率為0.01,采用Adam優(yōu)化器,訓(xùn)練集與GA-T模型的訓(xùn)練集一致,其預(yù)測熱誤差與實際熱誤差的曲線如圖8所示。
圖8中:神經(jīng)網(wǎng)絡(luò)模型的最大絕對殘差為14.28 μm,平均絕對誤差為9.45 μm。
2.3.3 兩個模型的訓(xùn)練對比小結(jié)
由圖7和圖8可以看出:模型輸入為單溫度傳感器的數(shù)據(jù)時,GA-T模型的平均誤差和最大誤差皆小于神經(jīng)網(wǎng)絡(luò)模型,GA-T模型預(yù)測精度高,擬合能力強。
在某型號三軸機床上,采集兩組工件實切數(shù)據(jù),用上述訓(xùn)練好的兩個模型做4組實驗。第1組和第2組使用第1組機床實切采集的溫度數(shù)據(jù)作為模型輸入,分別使用神經(jīng)網(wǎng)絡(luò)模型和GA-T模型預(yù)測機床熱誤差,計算實際值與預(yù)測值的MAE和MAX。第3組和第4組使用第2組機床實切采集的溫度數(shù)據(jù)作為模型輸入,其余與第1組和第2組一致。對比結(jié)果如表1所示。
表1 兩個模型測試對比 單位:μm
從表1可以看出:GA-T模型對機床主軸軸向熱誤差的預(yù)測遠優(yōu)于神經(jīng)網(wǎng)絡(luò)模型,GA-T模型最大預(yù)測誤差均在10 μm,而神經(jīng)網(wǎng)絡(luò)模型在20 μm左右。
(1)針對基于單個溫度傳感器數(shù)據(jù)的熱誤差模型現(xiàn)存的問題,提出了GA-T模型。設(shè)計混合編碼,使遺傳算法和T模型相結(jié)合。該模型利用遺傳算法全局尋優(yōu),更好地避免陷入局部最小值。設(shè)計基于物種多樣性保持的交叉操作優(yōu)化方法,提高模型精度。設(shè)計自適應(yīng)收斂條件,加快建模效率。
(2)GA-T模型的輸入只需單個溫度傳感器數(shù)據(jù),且模型自身的參數(shù)少,易于嵌入機床數(shù)控系統(tǒng)。
(3)通過某型號三軸機床熱誤差測試平臺搭建與實切實驗,針對機床主軸軸向熱誤差,進行實際建模分析與對比,GA-T模型各項性能指標(biāo)均大幅領(lǐng)先神經(jīng)網(wǎng)絡(luò)模型,且具有泛化性強、建模時間短、參數(shù)可選范圍廣和預(yù)測精度高等優(yōu)點。