段鵬飛
(安徽工程大學(xué)機(jī)械工程學(xué)院,安徽 蕪湖 241000)
隨著社會的發(fā)展,在現(xiàn)代機(jī)械制造中,工業(yè)機(jī)器人拋光加工成為一種重要技術(shù),對機(jī)械發(fā)展起著重要作用[1〗。已有的拋光技術(shù)雖可以完成產(chǎn)品加工,但無法提前預(yù)知產(chǎn)品拋光的表面粗糙度值,這無疑制約了對產(chǎn)品的智能化生產(chǎn)加工,且容易造成資源的浪費。因此,對需要加工的產(chǎn)品結(jié)合神經(jīng)網(wǎng)絡(luò)進(jìn)行粗糙度預(yù)測,有很重要的研究意義[2-5]。
文獻(xiàn)[6]用鋁合金板材進(jìn)行機(jī)器人砂帶磨削實驗,用磨削數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到砂帶磨削粗糙度與磨削參數(shù)的預(yù)測模型,驗證了模型預(yù)測的相對準(zhǔn)確性;文獻(xiàn)[7]對于無法精確預(yù)測銑削零件表面粗糙度的問題,把銑削實驗數(shù)據(jù)分成訓(xùn)練和測試兩種,用銑削實驗數(shù)據(jù)對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,得到零件粗糙度與銑削參數(shù)的預(yù)測關(guān)系?,F(xiàn)有的針對機(jī)器人拋光粗糙度預(yù)測研究多是通過工件實驗數(shù)據(jù)來對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過訓(xùn)練最終得到粗糙度預(yù)測模型[8]。BP神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值是隨機(jī)選取的,且神經(jīng)網(wǎng)絡(luò)不是對多個數(shù)據(jù)同時進(jìn)行搜索,可能會得到局部極小值,從而無法表征全局[9]。因此,BP算法存在學(xué)習(xí)速度慢,不易收斂,可能進(jìn)入局部最優(yōu)解,造成預(yù)測誤差較大等缺點[10]。
基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)來預(yù)測機(jī)器人拋光曲面的表面粗糙度,用遺傳算法對神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值進(jìn)行優(yōu)化,建立了以拋光工具粒度、轉(zhuǎn)速、壓縮量和進(jìn)給速度為神經(jīng)網(wǎng)絡(luò)輸入的拋光曲面粗糙度預(yù)測模型。
神經(jīng)網(wǎng)絡(luò)以機(jī)器人拋光工具的粒度、轉(zhuǎn)速、壓縮量和進(jìn)給速度作為輸入層,粗糙度值作為輸出層,建立機(jī)器人拋光曲面粗糙度預(yù)測模型。BP神經(jīng)網(wǎng)絡(luò)對于復(fù)雜的非線性關(guān)系有很強(qiáng)的歸納預(yù)測能力,全局搜索,泛化能力強(qiáng)。BP網(wǎng)絡(luò)的理論學(xué)習(xí)過程如下:
設(shè)網(wǎng)絡(luò)輸入層節(jié)點為I=(i1,i2,…,ia),隱含層節(jié)點為H=(h1,h2,…,hb),輸出層節(jié)點為O=(o1,o2,…,oc),輸出層期望向量為Y=(y1,y2,…,yc),隱含層的閾值向量為G=(g1,g2,…,gb),輸出層閾值向量為L=(l1,l2,…,la),輸入層與隱含層之間的網(wǎng)絡(luò)權(quán)值為Vsj,隱含層與輸出層之間的網(wǎng)絡(luò)權(quán)值為Vjk,其中,s=1,2,…,a;j=1,2,…,b;k=1,2,…,c。
則隱含層節(jié)點輸出為
(1)
netj=VsjIs-gj
其中,f為激活函數(shù)。
輸出層輸出為
(2)
netk=Vjkhj-lk
輸出層誤差函數(shù)為:
(3)
基于誤差函數(shù)對輸出層各節(jié)點求偏導(dǎo)可得
(4)
基于輸出層的Wk與隱含層的誤差函數(shù),對隱含層各節(jié)點求偏導(dǎo)可得
(5)
基于輸出層的Wk與隱含層的Zj,對權(quán)值Vsj和Vjk進(jìn)行修正,其最終的總誤差計算表達(dá)式為
(6)
BP神經(jīng)網(wǎng)絡(luò)把學(xué)習(xí)誤差和目標(biāo)精度作比較,確定是否進(jìn)行下一次學(xué)習(xí),當(dāng)誤差達(dá)到目標(biāo)精度時則停止學(xué)習(xí)。遺傳算法經(jīng)過選擇得到新的個體,從中選擇適應(yīng)強(qiáng)的染色體,通過交叉變異得到更新的權(quán)值和閾值,從而得到全局最優(yōu)解。
提出的遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)由三部分組成,首先通過機(jī)器人拋光曲面的參數(shù)來確定神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);然后通過遺傳算法中的交叉變異對個體進(jìn)行選擇,選出優(yōu)化后的個體;最后對選出的個體進(jìn)行解碼得到各自的參數(shù),用數(shù)據(jù)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而得到預(yù)測模型。
機(jī)器人拋光曲面粗糙度預(yù)測模型中,將機(jī)器人拋光曲面實驗中的拋光工具粒度、轉(zhuǎn)速、壓縮量和進(jìn)給速度等參數(shù)測得的數(shù)據(jù)作為樣本進(jìn)行訓(xùn)練,用拋光曲面粗糙度值進(jìn)行測試,然后進(jìn)行歸一化處理,建立預(yù)測模型,遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)流程如下:
(1)把機(jī)器人拋光曲面粗糙度預(yù)測中,機(jī)器人拋光工具粒度、轉(zhuǎn)速、壓縮量和進(jìn)給速度等參數(shù)測得的數(shù)據(jù)作為訓(xùn)練樣本,歸一化處理實驗數(shù)據(jù)。
(2)設(shè)置遺傳算法參數(shù),對BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練次數(shù),訓(xùn)練精度等參數(shù)進(jìn)行設(shè)置。
(3)把機(jī)器人拋光曲面粗糙度預(yù)測中遺傳算法的種群數(shù)目進(jìn)行實數(shù)編碼,并對種群進(jìn)行初始化處理。
(4)用適應(yīng)度函數(shù)篩選個體,對個體降序排列,解碼得到個體的初始權(quán)值和閾值。
(5)對降序排列的個體進(jìn)行選擇,對個體進(jìn)行交叉變異操作。
(6)把機(jī)器人拋光曲面粗糙度預(yù)測中,把實測值與預(yù)測值相比較,來判斷個體是否達(dá)到最優(yōu),達(dá)到最優(yōu)則輸出,反之則循環(huán)上述步驟。
(7)把得到的最優(yōu)個體解碼操作,得到機(jī)器人拋光曲面粗糙度預(yù)測模型的最優(yōu)參數(shù)。通過這些參數(shù)對BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終得到相對準(zhǔn)確的預(yù)測結(jié)果。
圖1 GA-BP預(yù)測流程圖
在機(jī)器人拋光曲面粗糙度預(yù)測模型中,拋光工具的粒度、轉(zhuǎn)速、壓縮量和進(jìn)給速度對粗糙度的影響最大,因此神經(jīng)網(wǎng)絡(luò)的輸入層選擇這4個因素,輸出層為粗糙度值,隱含層選擇5層。機(jī)器人拋光曲面粗糙度預(yù)測中,遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型如圖2所示。
圖2 GA-BP神經(jīng)網(wǎng)絡(luò)模型
機(jī)器人拋光曲面粗糙度預(yù)測中,用newff函數(shù)構(gòu)建BP神經(jīng)網(wǎng)絡(luò),初始化種群,解碼得到初始權(quán)值和閾值。設(shè)置遺傳算法參數(shù),個體交叉概率為0.1,變異概率為0.1,進(jìn)化代數(shù)為50代,種群規(guī)模為150。用code函數(shù)將變量進(jìn)行編碼來初始化種群,閾值和權(quán)值是否超出范圍用test函數(shù)來判定,然后用fun函數(shù)計算種群適應(yīng)度,得到種群的初始化信息。Select函數(shù)進(jìn)行選擇,通過交叉變異得到最優(yōu)個體。把得到的最優(yōu)個體解碼操作,得到機(jī)器人拋光曲面粗糙度預(yù)測模型的最優(yōu)參數(shù)。通過這些參數(shù)數(shù)據(jù)對BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最終得到相對準(zhǔn)確的預(yù)測結(jié)果。
用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)對機(jī)器人拋光曲面前20組數(shù)據(jù)進(jìn)行訓(xùn)練,經(jīng)過全局搜索以及交叉、變異,篩選出最優(yōu)個體,對神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化后,用后9組數(shù)據(jù)進(jìn)行仿真,得到BP網(wǎng)絡(luò)預(yù)測適應(yīng)度曲線如圖3所示。
圖3 適應(yīng)度曲線圖
通過對數(shù)據(jù)不斷訓(xùn)練、仿真,得到BP神經(jīng)網(wǎng)絡(luò)和遺傳算法優(yōu)化后機(jī)器人拋光曲面粗糙度預(yù)測的誤差對比,如表2所示??梢钥闯鰡我籅P神經(jīng)網(wǎng)絡(luò)預(yù)測容易產(chǎn)生極小值現(xiàn)象,預(yù)測誤差相差較大,這是BP算法的限制造成的,使得預(yù)測精度低,數(shù)據(jù)難以收斂。遺傳算法對全局進(jìn)行搜索,經(jīng)過交叉變異,篩選出最優(yōu)個體,解碼處理得到最優(yōu)參數(shù),用得到的數(shù)據(jù)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,與單一BP神經(jīng)網(wǎng)絡(luò)預(yù)測相比,相對誤差較小,能夠得到相對精確的機(jī)器人拋光曲面粗糙度預(yù)測模型。
表1 預(yù)測誤差對比
經(jīng)遺傳算法優(yōu)化后的機(jī)器人拋光曲面粗糙度預(yù)測誤差和誤差百分比,如圖4和圖5所示。
圖4 BP網(wǎng)絡(luò)預(yù)測誤差
圖5 預(yù)測誤差百分比
改進(jìn)后的BP網(wǎng)絡(luò)拋光曲面粗糙度預(yù)測的最大誤差值為0.046,預(yù)測的最小誤差值為0.0006。改進(jìn)后的BP網(wǎng)絡(luò)預(yù)測誤差百分比最大相對預(yù)測誤差為15%,最小相對預(yù)測誤差為1%。與單一的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型相比,通過遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的機(jī)器人拋光曲面粗糙度預(yù)測模型穩(wěn)定性好,具有很好的收斂性,無極小值現(xiàn)象,且預(yù)測精確度較高。
把遺傳算法優(yōu)化后和未優(yōu)化的神經(jīng)網(wǎng)絡(luò)的預(yù)測數(shù)據(jù)與實測數(shù)據(jù)相比較,繪制出數(shù)據(jù)對比圖,如圖6所示。
圖6 數(shù)據(jù)對比圖
可以看出,遺傳算法優(yōu)化后的預(yù)測曲線和實測值曲線保持一致性,而未優(yōu)化的數(shù)據(jù)曲線波動較大,無法與實測曲線保持一致,說明經(jīng)遺傳算法優(yōu)化后預(yù)測結(jié)果較為準(zhǔn)確,預(yù)測穩(wěn)定性好。
通過遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò),建立了機(jī)器人拋光曲面粗糙度預(yù)測模型。解決了單一BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差較大,收斂性差,難以得到全局最優(yōu)解的問題。機(jī)器人拋光曲面粗糙度預(yù)測模型預(yù)測誤差小,且預(yù)測較穩(wěn)定,可以更好的對機(jī)器人拋光曲面的粗糙度進(jìn)行預(yù)測。該機(jī)器人拋光曲面預(yù)測模型和單一的BP神經(jīng)網(wǎng)絡(luò)預(yù)測相比預(yù)測更加準(zhǔn)確,更適用于工程實踐,對機(jī)器人拋光曲面粗糙度的預(yù)測具有較高的應(yīng)用價值。