李俊銘,吳居豪,何 軒,龍耀武,陶建華※
(1.廣州大學(xué)機(jī)械與電氣工程學(xué)院,廣州 510006;2.廣州市德慷軟件有限公司,廣州 510620)
計(jì)算機(jī)輔助制造(CAM)是指在計(jì)算機(jī)上對(duì)零件進(jìn)行編程加工,生成數(shù)字控制指令(NC)使機(jī)器進(jìn)行自動(dòng)加工的軟件系統(tǒng),是機(jī)床加工不可或缺的部分。使用CAM軟件進(jìn)行編程加工時(shí),除了根據(jù)模具特征編寫合適的加工策略,還需依據(jù)各類機(jī)床、刀具等加工信息選用合適的切削參數(shù)[1-2]。由于制造業(yè)高級(jí)技術(shù)人才缺乏,人員流動(dòng)加劇,技術(shù)水平參差不齊,影響制造企業(yè)的生產(chǎn)效率和產(chǎn)品質(zhì)量[3]。近年來,對(duì)自動(dòng)計(jì)算機(jī)輔助加工規(guī)劃(ACAPP)的需求不斷增加,加工參數(shù)預(yù)測是重要環(huán)節(jié)之一[4]。傳統(tǒng)的參數(shù)預(yù)測通過試切實(shí)驗(yàn)結(jié)合專家規(guī)則進(jìn)行參數(shù)推薦,時(shí)間和經(jīng)濟(jì)成本大,難以適應(yīng)模具行業(yè)多變的加工需求。近年來,有不少研究基于支持向量機(jī)(SVM)、BP(Back Propagation)等算法通過采集機(jī)床運(yùn)行過程中震動(dòng)、電流及聲音等信號(hào),對(duì)加工參數(shù)實(shí)時(shí)調(diào)整[5-7]。由于硬件兼容性問題,這類方法對(duì)機(jī)床型號(hào)有嚴(yán)格限制,難以大范圍推廣。
本文采用基于歷史加工數(shù)據(jù)進(jìn)行參數(shù)預(yù)測的技術(shù)解決方案。收集并篩選滿足企業(yè)加工要求的CAM歷史項(xiàng)目文件,對(duì)CAM軟件進(jìn)行二次開發(fā)獲取相關(guān)加工信息,包括選用機(jī)床、策略、刀具相關(guān)信息及對(duì)應(yīng)的切削參數(shù)。用IPSO-BP算法建立并不斷更新參數(shù)預(yù)測模型,實(shí)現(xiàn)針對(duì)不同加工信息的切削參數(shù)(軸切深、徑切深、轉(zhuǎn)速、進(jìn)給)預(yù)測。在復(fù)雜加工編程的應(yīng)用場景中,上百條刀路對(duì)應(yīng)的切削參數(shù)自動(dòng)由軟件生成并輸入CAM系統(tǒng)中,編程人員只需要檢查數(shù)據(jù)的合理性,從而提升加工編程的效率和編程質(zhì)量。
圖1 CAM項(xiàng)目文件數(shù)據(jù)結(jié)構(gòu)
為了獲取加工數(shù)據(jù)信息與對(duì)應(yīng)的切削參數(shù),選用模具行業(yè)中常用的CAM軟件Power MILL結(jié)合VB語言進(jìn)行二次開發(fā)[8],調(diào)用CAM軟件的應(yīng)用程序接口(API)運(yùn)行宏命令提取刀路中包含的信息。CAM項(xiàng)目文件的數(shù)據(jù)結(jié)構(gòu)如圖1所示。由圖可知CAM項(xiàng)目文件中保存多條NC文件信息,存在不同NC包含相同刀路的情況,通過過濾重復(fù)刀路避免采集重復(fù)數(shù)據(jù)信息。當(dāng)數(shù)據(jù)樣本中出現(xiàn)切削參數(shù)不同,其他加工信息均相同時(shí),只保留數(shù)值最大的切削參數(shù),從而保證樣本中的切削參數(shù)是可靠而且高效的。具體提取步驟如圖2所示。
圖2 CAM項(xiàng)目數(shù)據(jù)采集流程
從CAM軟件中采集數(shù)據(jù)時(shí),既要保證數(shù)據(jù)能夠客觀反映影響切削參數(shù)(軸切深、徑切深、轉(zhuǎn)速、進(jìn)給)的各種條件,又要控制特征數(shù)量防止數(shù)據(jù)稀疏導(dǎo)致訓(xùn)練模型過擬合。擬合歷史項(xiàng)目的切削參數(shù)設(shè)置需要從加工編程的角度出發(fā)。針對(duì)CAM編程特點(diǎn),提出加工特征評(píng)價(jià)體系,具體分為加工類型、策略類型、機(jī)床性能、刀具類型和刀具參數(shù)5個(gè)大類影響因素[9],如圖3所示。
圖3 加工特征評(píng)價(jià)體系
針對(duì)評(píng)價(jià)體系中各特征的數(shù)據(jù)結(jié)構(gòu)和相互聯(lián)系,將特征分為離散型數(shù)據(jù)和連續(xù)型數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理。其中加工類型、策略類型和刀具類型均為離散型數(shù)據(jù),使用獨(dú)熱編碼(one-hot)對(duì)特征進(jìn)行向量化分析[10]??紤]到一般企業(yè)將刀具參數(shù)作為公式進(jìn)行處理,將各刀具參數(shù)作為連續(xù)型數(shù)據(jù),分別進(jìn)行歸一化操作,保證數(shù)據(jù)量綱一致[11]。
切削參數(shù)預(yù)測是一個(gè)多維特征的非線性擬合問題。BP具有高度的非線性和優(yōu)秀的擬合能力,非常適合解決這種多維非線性問題。但由于BP網(wǎng)絡(luò)自身缺點(diǎn),提高精度會(huì)導(dǎo)致擬合速度下降,并更容易陷入局部最小值點(diǎn)[12]。IPSO粒子群算法具有很強(qiáng)的全局尋優(yōu)能力,并且運(yùn)算效率高,適合與BP網(wǎng)絡(luò)兩者優(yōu)勢互補(bǔ)。
對(duì)于一個(gè)切削參數(shù)預(yù)測模型,輸入層和輸出層需要體現(xiàn)不同加工特征與選用切削參數(shù)的關(guān)聯(lián)。輸入層以加工特征評(píng)價(jià)體系為標(biāo)準(zhǔn),將預(yù)處理后的加工類型、策略類型、機(jī)床性能、刀具類型和刀具參數(shù)5類共18維數(shù)據(jù)特征作為輸入的18個(gè)神經(jīng)元X=(X1,X2,…,X18);輸出層以對(duì)應(yīng)的軸切深、徑切深、轉(zhuǎn)速、進(jìn)給作為輸出的4個(gè)神經(jīng)元Y=(Y1,Y2,Y3,Y4)。考慮到輸入維數(shù)較多,中間設(shè)置兩層隱含層學(xué)習(xí)特征,通過多次前向傳播和后向傳播的學(xué)習(xí)過程訓(xùn)練合適的權(quán)重ω=(ω1,ω2,…,ωN)預(yù)測切削參數(shù)。網(wǎng)絡(luò)的模型結(jié)構(gòu)如圖4所示。
圖4 網(wǎng)絡(luò)模型結(jié)構(gòu)
前向傳播的計(jì)算過程如式(1)所示:
式中:netin代表網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)上一層節(jié)點(diǎn)的輸出值;netout節(jié)點(diǎn)進(jìn)行計(jì)算后的輸出值;對(duì)隱含層1,netin=X,對(duì)于輸出層,netout=Y′,代表切削參數(shù)在這次前向傳播的預(yù)測值;在隱含層1、隱含層2的計(jì)算過程中F=F1(X);輸出層的計(jì)算過程中F=F2(X)。
反向傳播的計(jì)算過程如式(2)和式(3)所示:
式中:通過對(duì)模型預(yù)測的切削參數(shù)y′與歷史數(shù)據(jù)中切削參數(shù)y2和誤差E求導(dǎo),獲取最小的梯度方向,更新各單元間權(quán)重ω′i;lr為更新的學(xué)習(xí)率。
為了快速找到全局權(quán)值最優(yōu)值,運(yùn)用IPSO粒子群算法。先初始化一定數(shù)量的BP網(wǎng)絡(luò)權(quán)重值 ω=(ω1,ω2,…,ωn)作為粒子。將粒子輸入進(jìn)BP網(wǎng)絡(luò)前向傳播中計(jì)算網(wǎng)絡(luò)權(quán)重為當(dāng)前粒子的權(quán)重值時(shí)對(duì)應(yīng)誤差E,并依據(jù)結(jié)果尋找每個(gè)粒子的歷史損失最小的權(quán)重 pbest和種群中最小的權(quán)重gbest,從而計(jì)算權(quán)重變更速度矢量并更新權(quán)重值[13]。粒子權(quán)重值更新流程如圖5所示。
圖5 粒子權(quán)重值更新流程
訓(xùn)練方式如下:
式中:vi、ωi分別為第i個(gè)粒子在迭代t+1次后的權(quán)重變化速度矢量和權(quán)重值;pbesti為迭代t次后的粒子最佳位置;gbesti為迭代t次后的種群最佳位置;θ為慣性權(quán)重;θmin為基本慣性權(quán)重;θmax為衰減慣性權(quán)重;tmax為最大迭代次數(shù);t為當(dāng)前學(xué)習(xí)次數(shù);c1和c2為學(xué)習(xí)因子;r1和r2為0~1之間的隨機(jī)數(shù)。
由于IPSO與BP訓(xùn)練原理不同,IPSO訓(xùn)練出來的權(quán)重?cái)?shù)值分布有較大差異。對(duì)切削參數(shù)預(yù)測模型進(jìn)行更新的過程中,可能權(quán)值范圍發(fā)生較大改變,部分切削參數(shù)預(yù)測準(zhǔn)確率下降。所以在第一次訓(xùn)練時(shí)需要進(jìn)行一次預(yù)學(xué)習(xí)探索ωIPSO合理分布范圍,對(duì)IPSO的速度矢量和權(quán)重值按BP網(wǎng)絡(luò)結(jié)構(gòu)分層限制。公式如下:
式中:ni對(duì)應(yīng)BP不同層之間的權(quán)重,n1對(duì)應(yīng)輸入層與隱含層1的權(quán)重,n2對(duì)應(yīng)隱含層1與隱含層2的權(quán)重,n3對(duì)應(yīng)隱含層2與輸出層的權(quán)重;ωˉni為該組權(quán)重的平均值;ωnimax與ωnimin分別對(duì)應(yīng)該組權(quán)重的最大最小值;vnimax與vnimin分別對(duì)應(yīng)該組權(quán)重對(duì)應(yīng)速度矢量的最大最小值;tmax為IPSO最大迭代次數(shù)。
權(quán)重范圍的訓(xùn)練結(jié)果如表1和表2所示,同一數(shù)據(jù)集和超參數(shù)下不同算法損失誤差變化曲線如圖6所示。
表1 權(quán)重平均值
表2 權(quán)重標(biāo)準(zhǔn)差
圖6 訓(xùn)練損失誤差變化曲線
從表1和表2可看出,經(jīng)過預(yù)學(xué)習(xí)環(huán)節(jié)后BP網(wǎng)絡(luò)各層權(quán)重的平均值與標(biāo)準(zhǔn)差均與單純訓(xùn)練BP網(wǎng)絡(luò)得到的結(jié)果更為接近,說明預(yù)學(xué)習(xí)能有效提高IPSO權(quán)重計(jì)算的性能。從圖6對(duì)比也證明經(jīng)過預(yù)學(xué)習(xí)環(huán)節(jié)后模型收斂速度大幅提高,也避免誤差反彈的情況。
模型訓(xùn)練具體訓(xùn)練步驟如下:
(1) 在第一次訓(xùn)練時(shí),先將BP權(quán)重 ω=(ω1,ω2,…,ωN)初始化為均值為0,方差為1。對(duì)加工特征信息X=(X1,X2,…,X18)和對(duì)應(yīng)切削參數(shù)Y=(Y1,Y2,Y3,Y4)分別用不同的超參數(shù)進(jìn)行測試,通過減少循環(huán)次數(shù)控制學(xué)習(xí)時(shí)間。由此找到損失最小的超參數(shù)組合和各層權(quán)重的分布范圍。
(2)根據(jù)權(quán)重分布情況限定粒子群算法中權(quán)重的分布范圍。隨機(jī)生成一定數(shù)量的權(quán)重作為粒子,依次代入BP前向傳播中計(jì)算損失E。每次訓(xùn)練中對(duì)單個(gè)粒子歷史損失最小的權(quán)重更新 pbest,對(duì)種群中最小的的權(quán)重更新gbest,并更新速度矢量和權(quán)重。
圖7 預(yù)測模型訓(xùn)練流程圖
(3)將BP的權(quán)重設(shè)為IPSO算出的最佳權(quán)重值再進(jìn)行訓(xùn)練,只調(diào)整學(xué)習(xí)率lr,不改變隱含層節(jié)點(diǎn)數(shù)量。直到預(yù)測誤差滿足要求后保存切削參數(shù)模型。
預(yù)測模型的整體訓(xùn)練流程如圖7所示。
仿真數(shù)據(jù)集采用從收集模具企業(yè)2018年保存的CAM項(xiàng)目文件中提取2 000組數(shù)據(jù)。選擇其中1 600組作為模型的訓(xùn)練數(shù)據(jù),200組作為模型驗(yàn)證數(shù)據(jù),200組作為模型測試數(shù)據(jù)。訓(xùn)練結(jié)果如表3所示。
表3 預(yù)測結(jié)果表
從預(yù)測參數(shù)對(duì)比可知,各項(xiàng)的預(yù)測值與經(jīng)驗(yàn)判斷出來的切削參數(shù)基本一致,平均相對(duì)誤差在2%~5%之間,滿足加工的參數(shù)要求,可導(dǎo)入CAM中進(jìn)行刀路編程。也有極少局部點(diǎn)出現(xiàn)較大誤差,其相對(duì)誤差最高在20%左右。雖然滿足加工安全條件但可能影響加工質(zhì)量,需要編程人員適當(dāng)調(diào)整。通過采集更多的歷史項(xiàng)目數(shù)據(jù),可以進(jìn)一步提高預(yù)測精度。
針對(duì)切削參數(shù)預(yù)測問題,本文提出一種基于改進(jìn)IPSO-BP的切削參數(shù)預(yù)測方法。通過對(duì)CAM項(xiàng)目文件進(jìn)行數(shù)據(jù)采集,提取歷史加工特征及切削參數(shù)。利用改進(jìn)IPSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)參數(shù),并與其他預(yù)測模型的測試結(jié)果對(duì)比,該方法可以取得更高的預(yù)測精度和穩(wěn)定性。在自動(dòng)計(jì)算機(jī)輔助加工規(guī)劃的參數(shù)規(guī)劃領(lǐng)域具有一定的應(yīng)用價(jià)值。