田春苗 季澤平 阿勇嘎 張學(xué)煒 唐術(shù)鋒 郭世杰
(內(nèi)蒙古工業(yè)大學(xué)機械工程學(xué)院,內(nèi)蒙古 呼和浩特 010051)
數(shù)控機床作為現(xiàn)代加工制造業(yè)的基礎(chǔ),其精度對制造業(yè)的發(fā)展起到至關(guān)重要的作用[1-2]。影響機床精度主要因素中幾何誤差與熱誤差的占比最大[3-5]。諸多研究表明,熱誤差是影響機床精度的主要因素之一,其占機床總誤差約40%~70%[6-7],因此減小熱誤差的影響是提高機床精度的主要途徑之一。隨著科學(xué)技術(shù)的飛速發(fā)展,機床的制造和設(shè)計工藝以及裝配精度得到提高,使得其他因素對精度影響大幅降低。同時,高端制造業(yè)的發(fā)展對機床的精度提出更高的要求,隨著機床精度等級的提高,熱誤差的影響更加突出[8-9]。而主軸是數(shù)控機床核心部件,主軸在高速轉(zhuǎn)動時會產(chǎn)生大量熱,引起機床零部件熱變形,產(chǎn)生加工誤差。因此對主軸熱誤差預(yù)測模型的研究具有重要意義。
近幾年,國內(nèi)外學(xué)者在機床熱特性、熱誤差建模及補償方面做了大量研究[10-11]。熱誤差預(yù)測模型的準(zhǔn)確性是熱誤差補償?shù)幕A(chǔ)。針對熱誤差建模的研究已經(jīng)成為該領(lǐng)域的研究重點。為此,學(xué)者們使用大量方法建立熱誤差預(yù)測模型,其中包括最小二乘法、多元線性回歸、灰色系統(tǒng)理論、支持向量機(SVM)、時間序列模型、人工神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等,這些方法均能構(gòu)建溫度與熱誤差之間的非線性映射關(guān)系[12-19]。傳統(tǒng)建模方法主要包括多線線性回歸、最小二乘法等適用于結(jié)構(gòu)簡單精度等級較低的數(shù)控機床,但針對復(fù)雜結(jié)構(gòu)機床,傳統(tǒng)建模方法難以表征溫度與熱誤差之間的復(fù)雜關(guān)系,這使得機器學(xué)習(xí)等智能算法成為現(xiàn)今熱誤差建模的主要方法。SVM模型適合處理小樣本數(shù)據(jù),但其核函數(shù)的選擇較為重要,且核函數(shù)選擇直接影響模型的預(yù)測精度,針對此缺點學(xué)者提出使用雞群(CSO)、遺傳算法(GA)等智能優(yōu)化算法對SVM模型進行優(yōu)化[20-21]。時間序列模型擁有較高的泛化能力,但與其他網(wǎng)絡(luò)模型相比,預(yù)測精度欠佳[22]。循環(huán)神經(jīng)網(wǎng)絡(luò)進行建模時難以處理長期依賴問題,為此學(xué)者使用RNN網(wǎng)絡(luò)的變種長短記憶神經(jīng)網(wǎng)絡(luò)(LSTM)進行建模,深度學(xué)習(xí)LSTM預(yù)測模型擁有更高的預(yù)測精度,但網(wǎng)絡(luò)需要更深層的學(xué)習(xí),因此模型需要更長的訓(xùn)練時間[23]。BP神經(jīng)網(wǎng)絡(luò)建模是應(yīng)用最廣泛的建模方法之一,但其易陷于局部最優(yōu),且網(wǎng)絡(luò)權(quán)值閾值以及隱含層節(jié)點數(shù)等需要依據(jù)經(jīng)驗人為確定,缺乏理論支撐,針對此缺陷學(xué)者們使用優(yōu)化算法來改進BP神經(jīng)網(wǎng)絡(luò),如:GA-BP模型[24]、PSO-BP模型[25]以及ACO-BP[26]模型等。ACO優(yōu)化算法是Marco Dorigo等人提出的一種用來尋找優(yōu)化路徑的概率型算法[27]。通過模擬蟻群覓食來搜尋全局最優(yōu)解,蟻群算法采用正反饋機制,具有較強的全局尋優(yōu)能力。然而與其他優(yōu)化算法相同蟻群算法在進行全局尋優(yōu)的同時,網(wǎng)絡(luò)自身也存在易陷于局部最優(yōu)和收斂速度慢等缺陷。
針對以上問題,本文提出K-means++算法對溫度變量進行聚類分組,并結(jié)合Person、Sperman和Kendall3種相關(guān)性分析方法確定最佳熱敏感點;提出一種融合算法,利用GA算法初始化蟻群信息素并生成新的種群,進而解決蟻群算法收斂速度慢和易陷于局部最優(yōu)的缺陷,建立基于GA-ACO-BP網(wǎng)絡(luò)的數(shù)控機床主軸熱誤差預(yù)測模型。使用GA-ACOBP網(wǎng)絡(luò)構(gòu)建溫度變量與主軸熱伸長誤差、主軸熱偏移誤差和主軸熱傾斜誤差間的非線性映射關(guān)系。依據(jù)實測數(shù)據(jù),比較BP模型與GA-ACO-BP模型的預(yù)測能力。
通過K-means++算法對溫度變量進行聚類分組,再利用相關(guān)性分析計算每個溫度測點與熱誤差之間的相關(guān)系數(shù),確定最佳熱敏感點,減小溫度測點個數(shù),從而解決溫度測點間的多重共線性,以提高熱誤差預(yù)測模型的計算速度及預(yù)測精度。設(shè)T={T1,T2,···,Tn},是待進行 K-means++聚類分析的全部溫度變量樣本,T中每個對象稱為樣本Ti(i=1, 2, ···,n)。
聚類算法具體流程如下:
(1)確定聚類數(shù)K
由于K-means++算法需要人為設(shè)置聚類個數(shù)K的值,K值直接影響聚類結(jié)果準(zhǔn)確性,本文采用手肘法計算誤差平方和(SSE),確定最優(yōu)K值。
式中:p表示集群Ci中的所有點溫度數(shù)值;m表示每一類的聚類中心。
(2)選擇初始聚類中心
從溫度數(shù)據(jù)集中隨機選擇一個溫度測點作為初始聚類中心。
(3)計算溫度樣本中每個溫度數(shù)據(jù)到初始聚類中心Tu的歐氏距離D,為
式中:j=1, 2, ···,m(m為溫度向量中數(shù)據(jù)樣本的個數(shù));Ti,j表示溫度向量Ti中的所有溫度數(shù)據(jù);Tk,j表示初始聚類中心Tk中的所有溫度數(shù)據(jù)。
(4)增加距離最遠溫度向量作為下一個聚類中心的概率。
(5)重復(fù)步驟(3)和步驟(4),直至選出k個初始聚類中心。
(6)計算溫度向量到每個初始聚類中心的歐氏距離。
(7)將每一個溫度變量分配到歐氏距離最近的聚類中心的類簇中。得到k個類簇{C1,C2, ···,Ck},在每一個簇中更新聚類中心。
式中:∣Cl∣表示各簇中溫度測點的個數(shù),1≤l≤k;Ti表示各簇中第i個溫度測點,1≤l≤∣Cl∣。
(8)重復(fù)步驟(6)和步驟(7)直至聚類中心的位置不再發(fā)生改變。
進行分組后,還需消除溫度變量之間的多重共線性。為此,本文在K-means++算法分組后,分別采用person、sperman和kendall這3種相關(guān)系數(shù)來確定溫度變量與熱誤差之間的相關(guān)程度,并在每一簇中選擇一個溫度測點作為熱敏感點。
依據(jù)上述K-means++聚類分組結(jié)果,計算全部溫度變量與熱誤差之間相關(guān)系數(shù):
(1)person相關(guān)系數(shù)
式中:Ei表示熱誤差數(shù)據(jù)。
(2)sperman相關(guān)系數(shù)
式中:n是數(shù)據(jù)的數(shù)量;rg為數(shù)據(jù)的秩次。
(3)kendall相關(guān)系數(shù)
溫度變量和熱誤差變量T與E中包含的數(shù)據(jù)個數(shù)均為N,第i(1≤i≤N)個組合為 (Ti,Ei),第j(1≤j≤N)組合為 (Tj,Ej),若Ti>Tj且Ei>Ej,或Ti<Tj且Ei<Ej出現(xiàn)時,則稱第i個組合和第j個組合是一致的;若Ti>Tj且Ei<Ej, 或Ti<Tj且Ei>Ej出 現(xiàn)時 ,則稱兩組合不一致。kendall相關(guān)系數(shù)表達式為
式中:C和D分別表示一致和不一致組合的數(shù)量。
通過對溫度數(shù)據(jù)和熱誤差數(shù)據(jù)的相關(guān)性分析,可確定各聚類分組中的最佳溫度測點。將各分組中相關(guān)性最大的溫度變量作為熱誤差預(yù)測模型的輸入,避免了溫度變量之間的多重共線性。
BP 神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),具有極強的非線性映射能力,是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一[28],具體建模過程如下:
依據(jù)Kolmogorov定理,確定BP網(wǎng)絡(luò)隱含層節(jié)點數(shù),最大迭代步數(shù),學(xué)習(xí)效率。初始化網(wǎng)絡(luò)權(quán)值閾值。
計算隱含層輸出
式中:g(x)為激活函數(shù)sigmoid;n為輸入層節(jié)點數(shù);wij為輸入層到隱含層的權(quán)值;aj為輸入層到隱含層的閾值。
計算輸出層的輸出
式中:l為隱含層節(jié)點數(shù);wjk為隱含層到輸出層的權(quán)值;bk為隱含層到輸出層的閾值。
計算輸出誤差
式中:m為輸出層節(jié)點數(shù)Yk為期望輸出。
更新權(quán)重
式中:η為學(xué)習(xí)速率;ek=Yk-Ok。
更新閾值
BP神經(jīng)網(wǎng)絡(luò)有較強的非線性映射、自學(xué)習(xí)和自適應(yīng)能力,但BP神經(jīng)網(wǎng)絡(luò)同樣擁有易陷于局部最優(yōu)解,收斂速度慢等缺點。針對其缺點,構(gòu)建具有全局尋優(yōu)能力和高收斂精度的GA-ACO算法,以提升BP神經(jīng)網(wǎng)絡(luò)的預(yù)測精度。
GA-ACO-BP算法實現(xiàn)的原理是:將蟻群覓食路徑賦值為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,通過螞蟻覓食路線來表征待優(yōu)化問題的可行解,蟻群中所有個體的覓食路徑構(gòu)成待優(yōu)化問題的解空間,在較短路徑上的螞蟻所釋放的信息素更濃,選擇這條路徑的螞蟻也逐漸增多,最終整個蟻群在正反饋的作用下選擇此路徑,這條路徑所對應(yīng)的解便是最優(yōu)的權(quán)值和閾值。在蟻群進行搜索時,通過遺傳算法對信息素濃的蟻群個體進行交叉變異處理,隨機生成的蟻群加快了算法的收斂速度,提高了蟻群算法尋優(yōu)的準(zhǔn)確性?;贕A-ACO-BP的熱誤差建模預(yù)測流程圖如圖1所示。
圖1 基于 GA-ACO 優(yōu)化 BP 網(wǎng)絡(luò)流程圖
基于GA-ACO-BP的熱誤差預(yù)測模型具體步驟如下:
(1)初始化網(wǎng)絡(luò)。包括BP神經(jīng)網(wǎng)絡(luò)輸入層到隱含層的權(quán)值wij和閾值aj;隱含層到輸出層的權(quán)值wjk和閾值bk。將全部待優(yōu)化參數(shù)記作p1,p2, ···,pn,針對任意參數(shù),隨機選取N個非零值,組成集合Ipi(1≤i≤n),集合Ipi中元素的信息素為τj(Ipi)(t)=C,(1≤j≤N),蟻群算法中螞蟻數(shù)量為S,目標(biāo)函數(shù)誤差為E。
(2)所有螞蟻進行搜索,依據(jù)概率公式(13)在集合Ipi中隨機選擇路徑,全部螞蟻完成路徑搜索為止。在集合Ipi中,螞蟻α(α=1, 2, ···,S)任意挑選第j個元素的概率為
(3)構(gòu)造解空間,更新信息素。從蟻群中隨機挑選h個螞蟻,h=[r·S],r為動態(tài)變化選取率。最優(yōu)解為信息素濃度最大的螞蟻個體MAX(τj(Ipi)),螞蟻i下次迭代行走的路徑為
蟻群遍歷完所有元素后,使用Ant-Cycle更新集合Ipi中每個元素的信息素,得
式中:ρ為信息素揮發(fā)系數(shù);Δβjk(Ipi)為螞蟻k本次迭代中在集合Ipi中第j個元素路徑的信息素[24]。
(4)使用遺傳算法對蟻群進行交叉變異操作。隨機選擇交叉點,對兩個染色體進行交叉處理,獲得兩個新的序列。依據(jù)變異概率,隨機確定變異個體和變異位置。
(5)依據(jù)適應(yīng)度函數(shù)F-FMeasure計算螞蟻個體適應(yīng)度,同時還需計算每個個體搜尋路徑的時間,若滿足最優(yōu)解條件,轉(zhuǎn)入步驟(6),反之轉(zhuǎn)入步驟(3)。
(6)將GA-ACO算法獲取的最優(yōu)權(quán)值閾值輸入至BP神經(jīng)網(wǎng)絡(luò),通過公式(9)計算預(yù)測誤差的差值E。
(7)通過式(11)和式(12)更新BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值。
(8)若輸出結(jié)果滿足要求,得到最優(yōu)解算法結(jié)束,否則重復(fù)過程(2)~(7)。
本文以武漢高科機械生產(chǎn)的雙轉(zhuǎn)臺五軸加工中心GS200-i5-a為研究對象,依據(jù)ISO 230-3[29]標(biāo)準(zhǔn)對機床主軸熱誤差進行測量,并通過五點法辨識出主軸5項熱誤差,使用電渦流位移傳感器測量位移數(shù)據(jù),傳感器遠離檢驗棒時,位移數(shù)據(jù)記為正,反之則記為負,傳感器布置位置如圖2所示。
圖2 五點法測量示意示意圖
機床關(guān)鍵測點溫度數(shù)據(jù)測量選用高精度磁吸式鉑熱電阻PT100溫度傳感器。傳感器分布位置如表1所示,主要包括軸承、電機外殼、冷卻液進出管、主軸基座以及環(huán)境溫度。基于紅外熱成像儀器檢測機床主軸溫度場,以確定主要熱敏感區(qū)域。
表1 溫度傳感器分布位置
其中溫度傳感器精度等級為A級,量程為-50~100 ℃。電渦流位移傳感器量程為2 mm,分辨率為 0.1 μm,工作溫度在-30 ~150 ℃。檢驗棒為φ20 mm×200 mm 的軸承鋼。五點法夾具選用 7075鋁合金整塊切割制成。
為了最大程度符合實際生產(chǎn)加工,分別設(shè)計3種不同轉(zhuǎn)速的實驗:低速實驗、中速實驗和高速實驗。實驗工況設(shè)計如表2所示。為避免隨機誤差的影響,每種工況分別進行3次實驗。
表2 試驗工況設(shè)計
以高速實驗中的一組試驗結(jié)果為例,溫度和位移數(shù)據(jù)的檢測結(jié)果如圖3~4所示。
由圖3可知,在主軸運行53 min時,冷卻液管處溫度傳感器數(shù)值突然下降,此時機床自動冷卻系統(tǒng)開始運行。在運行至200 min時達到熱平衡,溫度變化趨于平穩(wěn)。
圖3 溫度變化曲線
由圖4可知,熱效應(yīng)引起的位移量在300 min以后趨于平穩(wěn)狀態(tài),相比溫度場達到穩(wěn)態(tài)時間稍有滯后。位移量變化曲線呈現(xiàn)為先增大再減小最后趨于平穩(wěn)的趨勢,位移量最大值出現(xiàn)在200 min,剛好此時達到熱穩(wěn)態(tài),穩(wěn)態(tài)和非穩(wěn)態(tài)狀態(tài)下傳熱效率和接觸熱阻不同,導(dǎo)致位移量在溫度達到熱穩(wěn)態(tài)后出現(xiàn)一段下降趨勢,而后在趨于平衡。
圖4 主軸熱位移曲線
T={T1,T2, ···,Tn},是待進行 K-means++聚類分析的全部溫度測點,其中n=10,聚類分組數(shù)由手肘法確定,SSE變化曲線如圖5所示,最大拐點出現(xiàn)在K=4處,因此最佳組數(shù)為4組。依據(jù)1.1小節(jié)聚類方法,將全部溫度測點分成(T1、T4、T6)、(T2、T3、T5)、(T7、T8、T9)和 (T10)這 4 組。計算全部溫度測點的相關(guān)系數(shù),將各簇中相關(guān)系數(shù)最大的溫度測點作為最佳熱敏感點,各測點相關(guān)系數(shù)如表3所示。
表3 溫度測點相關(guān)系數(shù)
圖5 SSE 變化曲線
以圖3所示的數(shù)據(jù)作為訓(xùn)練樣本,基于BP神經(jīng)網(wǎng)絡(luò)和GA-ACO-BP神經(jīng)網(wǎng)絡(luò)對主軸熱伸長誤差、X向熱偏移誤差、Y向熱偏移誤差、X向熱傾斜誤差和Y向熱傾斜誤差五項熱誤差進行預(yù)測對比,如圖6所示,各模型預(yù)測殘差如圖7所示。
圖6 主軸熱誤差預(yù)測
圖7 預(yù)測殘差
以平均絕對誤差MAE、均方根誤差RMSE、平均絕對百分比誤差MAPE評價模型擬合優(yōu)度。擬合優(yōu)度參數(shù)如表4、表5所示。
表4 BP神經(jīng)網(wǎng)絡(luò)擬合優(yōu)度
表5 GA-ACO-BP神經(jīng)網(wǎng)絡(luò)擬合優(yōu)度
由圖6和圖7可知,GA-ACO-BP模型預(yù)測效果明顯優(yōu)于BP模型。經(jīng)過平均絕對誤差MAE、均方根誤差RMSE、平均絕對百分比誤差MAPE和殘差均值的對比,可以看出,本文提出的基于GAACO-BP神經(jīng)網(wǎng)絡(luò)的數(shù)控機床主軸熱誤差預(yù)測模型具有更好的擬合優(yōu)度和更高的預(yù)測精度。
將3.1小節(jié)中優(yōu)化后的溫度熱敏感點作為誤差補償時的溫度采集點,通過PC端接受溫度數(shù)據(jù),傳輸至已建立好的預(yù)測模型中,由計算機實時計算補償值,計算機通過以太網(wǎng)與數(shù)控系統(tǒng)進行實時通訊。同時在機床PLC中配置相應(yīng)個數(shù)的熱誤差補償模塊“TESPSEM”,如圖8所示。
圖8 PLC 中“TESPSEM”熱誤差補償模塊[30]
PLC中熱誤差補償模塊“TESPSEM”4組參數(shù)的說明如表6所示。
表6 “TESPSEM”模塊參數(shù)[30]
在進行補償前還需結(jié)合溫度傳感器采集溫度數(shù)據(jù)在數(shù)控系統(tǒng)中對各項補償參數(shù)進行設(shè)置。熱誤差補償是在插補周期內(nèi)進行的,即插補后補償。通過監(jiān)控程序來限制補償值大小,以免機床過載,再將其與插補輸出指令位置進行疊加[31]。補償?shù)牧鞒虉D如圖9所示。
圖9 熱誤差補償控制流程圖[31]
本文提出了基于GA-ACO-BP網(wǎng)絡(luò)的主軸熱誤差預(yù)測模型,有效地解決了BP神經(jīng)網(wǎng)絡(luò)收斂速度慢、易陷于局部最優(yōu)、預(yù)測精度低等缺陷。結(jié)果表明:K-means++算法與person、sperman和kendall分析相結(jié)合可有效發(fā)掘主軸溫度變量和熱誤差之間的相關(guān)性,降低了溫度測點間的多重共線性?;贕A算法初始化蟻群信息素,并通過交叉和隨機變異生成新的蟻群,解決了ACO算法的缺陷,改進后的ACO算法有效優(yōu)化了BP網(wǎng)絡(luò)的權(quán)值和閾值,提高了熱誤差預(yù)測模型的精度和泛化能力。實驗對比結(jié)果顯示,GA-ACO-BP預(yù)測模型更適合確定主軸熱誤差的補償值。
熱誤差的精準(zhǔn)預(yù)測是實施補償?shù)那疤?,本文主要關(guān)注的研究內(nèi)容為主軸熱誤差的預(yù)測,后續(xù)的研究中,將在數(shù)控機床上進行實時誤差補償,進一步驗證該模型的可行性和魯棒性是下一步研究的工作重點。