仝浩源,馬立東,孟志娟,梁蘇蘇
(太原科技大學(xué)機(jī)械工程學(xué)院,太原 030024)
在特鋼棒材精整線(xiàn)上,打捆已有現(xiàn)成的專(zhuān)機(jī),而拆捆仍需要人工手持剪刀完成,費(fèi)時(shí)費(fèi)力。隨著智能制造的快速發(fā)展,工業(yè)機(jī)器人被廣泛應(yīng)用于剪切、焊接、搬運(yùn)等自動(dòng)化生產(chǎn)線(xiàn)上[1-2]。因此,搭建一種用于拆捆的工業(yè)機(jī)器人系統(tǒng)和設(shè)計(jì)一種拆捆末端裝置,實(shí)現(xiàn)拆捆作業(yè)的自動(dòng)化,具有十分重要的意義。
為了保證機(jī)器人在作業(yè)過(guò)程中的平穩(wěn)運(yùn)行以及滿(mǎn)足企業(yè)生產(chǎn)對(duì)時(shí)間的限制和要求,需要對(duì)機(jī)器人進(jìn)行最優(yōu)時(shí)間軌跡規(guī)劃。當(dāng)前國(guó)內(nèi)外學(xué)者提出許多優(yōu)化算法解決機(jī)器人的效率問(wèn)題[3-5]。針對(duì)時(shí)間最優(yōu)軌跡規(guī)劃,文獻(xiàn)[6]在七次B樣條軌跡規(guī)劃算法基礎(chǔ)上,采用標(biāo)準(zhǔn)遺傳算法對(duì)機(jī)器人運(yùn)動(dòng)時(shí)間進(jìn)行優(yōu)化,但標(biāo)準(zhǔn)遺傳算法收斂速度慢、容易陷入局部最優(yōu),因此,文獻(xiàn)[7]在五次均勻B樣條函數(shù)的基礎(chǔ)上提出一種混合遺傳算法,該算法收斂速度進(jìn)一步提升,但算法比較復(fù)雜,編程量較大;文獻(xiàn)[8-9]采用改進(jìn)的模擬退火算法對(duì)時(shí)間進(jìn)行優(yōu)化,其結(jié)果相對(duì)于遺傳算法來(lái)說(shuō)有明顯的改善,但該算法受初始值的影響較大,特別是在高維度優(yōu)化中,單一算法往往容易陷入局部最優(yōu);文獻(xiàn)[10-11]將粒子群算法和遺傳算法融合起來(lái),該算法相對(duì)單一算法有較好的全局尋優(yōu)能力,大大提高了求解的精確性。
本文設(shè)計(jì)了一種用于拆捆的末端裝置,并且基于工業(yè)機(jī)器人的應(yīng)用為其搭建了一種拆捆機(jī)器人系統(tǒng),該系統(tǒng)能夠很好的滿(mǎn)足不同工況下的生產(chǎn)需求。采用三次樣條插值算法對(duì)機(jī)器人進(jìn)行軌跡規(guī)劃,在滿(mǎn)足關(guān)節(jié)速度、加速度、加加速度約束的情況下,提出一種DE-PSO融合算法,對(duì)機(jī)器人作業(yè)時(shí)間進(jìn)行優(yōu)化,該融合算法結(jié)合了單一DE差分算法和PSO算法收斂速度快的優(yōu)點(diǎn),同時(shí)又避免了單一算法容易陷入局部最優(yōu)的弊端,特別是在高維求解中,該算法可以在滿(mǎn)足一定收斂速度的前提下,進(jìn)一步提升算法的全局尋優(yōu)精度,所得結(jié)果可為工程應(yīng)用提供一定的指導(dǎo)和參考。
本研究設(shè)計(jì)的拆捆機(jī)器人系統(tǒng)主要由上位機(jī)控制系統(tǒng)、工業(yè)機(jī)器人系統(tǒng)、移動(dòng)導(dǎo)軌平臺(tái)、視覺(jué)檢測(cè)系統(tǒng)、末端拆捆裝置、載料臺(tái)和集料槽幾部分構(gòu)成。如圖1所示,其中上位機(jī)用于接收視覺(jué)檢測(cè)信息然后對(duì)圖像進(jìn)行處理,并與機(jī)器人控制柜連接對(duì)機(jī)器人運(yùn)動(dòng)軌跡進(jìn)行控制;工業(yè)機(jī)器人系統(tǒng)主要由機(jī)器人本體、機(jī)器人控制柜和移動(dòng)導(dǎo)軌平臺(tái)構(gòu)成,機(jī)器人負(fù)載50 kg,重復(fù)定位精度可達(dá)±0.08 mm;移動(dòng)導(dǎo)軌平臺(tái)拓寬了機(jī)器人在空間中的移動(dòng)范圍,可以帶著機(jī)器人沿管棒材軸向方向移動(dòng);機(jī)器人視覺(jué)檢測(cè)系統(tǒng)主要由單目相機(jī)和線(xiàn)激光器構(gòu)成,其安裝在末端裝置上,跟隨機(jī)器人一起移動(dòng),主要目的是用于檢測(cè)綁絲切割位置;液壓站為拆捆系統(tǒng)提供動(dòng)力;載料臺(tái)用于放置棒材捆;集料槽用于收集切斷后的綁絲。
圖1 拆捆機(jī)器人系統(tǒng)組成圖
如圖2所示,末端拆捆裝置由液壓桿、夾緊桿、剪切桿、法蘭接口、連桿機(jī)構(gòu)等構(gòu)成。其中法蘭接口將拆捆裝置安裝在機(jī)器人末端上,液壓桿通過(guò)連桿機(jī)構(gòu)驅(qū)動(dòng)剪切桿和夾緊桿運(yùn)動(dòng)完成綁絲的夾緊和剪切。
圖2 末端拆捆裝置結(jié)構(gòu)示意圖
機(jī)器人拆捆系統(tǒng)搭建和末端結(jié)構(gòu)設(shè)計(jì)完成后,本文采用三次樣條插值函數(shù)對(duì)機(jī)器人拆捆路徑進(jìn)行軌跡規(guī)劃研究。
在實(shí)際工程問(wèn)題中,由于三次樣條函數(shù)具有二階連續(xù)光滑性,它可以很好地滿(mǎn)足機(jī)器人在運(yùn)行過(guò)程中軌跡無(wú)拐點(diǎn)和突變的需求,且加加速度可控,故本文采用三次樣條函數(shù)對(duì)機(jī)器人軌跡進(jìn)行插值擬合。在笛卡爾空間中對(duì)綁絲抽取過(guò)程進(jìn)行路徑規(guī)劃可以得到一系列離散的路徑點(diǎn),通過(guò)逆運(yùn)動(dòng)學(xué)求解可得出各路徑點(diǎn)對(duì)應(yīng)的關(guān)節(jié)轉(zhuǎn)角θji,其中j為關(guān)節(jié)數(shù),j=1,2,…,N;i為空間點(diǎn)的個(gè)數(shù),i=0,1,…,N。以每?jī)牲c(diǎn)之間的運(yùn)行時(shí)間作為運(yùn)動(dòng)子區(qū)間,則有[t0,t1],[t1,t2],…,[ti-1,ti]。根據(jù)兩點(diǎn)分段三次Hermit插值公式,在每個(gè)[ti,ti+1]上有:
(1)
其中,θj(t)為關(guān)節(jié)j在t時(shí)刻的關(guān)節(jié)角;hk為ti與ti+1之間的時(shí)間間隔,其中,k=0,1,…,N;yi,yi+1為空間點(diǎn)處的關(guān)節(jié)坐標(biāo);t為時(shí)間變量;mji與mji+1為關(guān)節(jié)j在空間點(diǎn)i和i+1處的角速度。該公式將空間路徑點(diǎn)處的速度加入插值函數(shù)中,其本身具有一階連續(xù)性,對(duì)式(1)進(jìn)行一階、二階、三階求導(dǎo)可得:
(2)
(3)
(4)
(5)
讓機(jī)器人起始點(diǎn)和終點(diǎn)處速度為0,將其代入式(5)中可得n-1個(gè)矩陣方程,可求解n-1個(gè)未知數(shù),如矩陣方程(6)所示,解出其中所有的mji,將mji代入式(1)~式(4)中即可求得完整的函數(shù)表達(dá)式。
(6)
粒子群算法(Particle Swarm Optimization)是較新提出的一種啟發(fā)式群體智能算法,能夠很好的解決一些多約束下函數(shù)值最優(yōu)問(wèn)題[11]。假設(shè)在D維空間內(nèi)有m個(gè)粒子在運(yùn)動(dòng),則該算法中每個(gè)粒子的速度和位置更新公式可分別表示如下:
Vid=ωVid+C1random(0,1)(pbest-Xid)+
C2random(0,1)(gbest-Xid)
(7)
xid=xid+Vid
(8)
其中,Vid表示第i個(gè)粒子在d維空間中的移動(dòng)速度,其中1≤i≤m,1≤d≤D;random(0,1)表示(0,1)范圍內(nèi)的隨機(jī)數(shù);w為慣性因子,一般在[0.1,0.9]范圍內(nèi)取值;C1,C2一般在[0,4]范圍內(nèi)取一個(gè)常數(shù),表示加速因子;pbest和gbest分別為粒子個(gè)體最優(yōu)值和群體最優(yōu)值;Xid表示第i個(gè)粒子在d維空間中的位置。粒子群算法根據(jù)粒子自身歷史最優(yōu)值(pbest)和群體最優(yōu)值(gbest)不斷更新自己的位置和速度,從而在D維空間內(nèi)快速搜索符合約束條件的最佳位置。該算法求解速度快、參數(shù)少,這就為研究人員在編程方面提供了很多便利。但是當(dāng)空間維度變得復(fù)雜時(shí),該算法十分容易陷入局部最優(yōu),且在最優(yōu)值求解和收斂速度方面變得不太穩(wěn)定。
差分進(jìn)化算法(Differential Evolution Algorithm)是一種全局搜索算法,通過(guò)與遺傳算法類(lèi)似的變異、交叉等過(guò)程對(duì)群體進(jìn)行優(yōu)化更新[12]。變異過(guò)程中,任一隨機(jī)變量通過(guò)式(9)產(chǎn)生,k1,k2,k3是變量中的隨機(jī)數(shù),F(xiàn)?[0,2]是加權(quán)因子。
Vi=xk1+F(xk2-xk3)
(9)
交叉過(guò)程生成的新種群由目標(biāo)種群和變異種群共同產(chǎn)生:
(10)
式中,j?[1,D];randb(j)?[0,1];CR是[0,1]之間的變異概率;randr(i)?[1,2,…,D]可以確保新種群中至少有一個(gè)變異值。
為了在一定收斂速度下求得全局最優(yōu)解,本文將兩種算法結(jié)合起來(lái),首先通過(guò)PSO算法進(jìn)行粒子更新,將其求得的最優(yōu)值代入DE算法中進(jìn)行變異、交叉操作,選出最優(yōu)粒子進(jìn)入到下一代更新中,其具體步驟如下:
步驟1:基本參數(shù)設(shè)置,如粒子個(gè)數(shù)m,迭代次數(shù)G,學(xué)習(xí)因子C1,C2、加權(quán)因子F等;
步驟2:初始化種群并獲得粒子種群最優(yōu)值fgbest(總時(shí)間)和其對(duì)應(yīng)的gbest(每段時(shí)間間隔);獲得粒子個(gè)體最優(yōu)值fpbest和其對(duì)應(yīng)的pbest;
步驟3:進(jìn)入迭代;
步驟4:速度、位置更新,并求得當(dāng)代每個(gè)粒子的函數(shù)值fx(i),以及此時(shí)的群體最優(yōu)值fitnessbest和其對(duì)應(yīng)的fitnessbestX;
步驟5:對(duì)每個(gè)更新過(guò)的粒子進(jìn)行變異和交叉操作;
步驟6:對(duì)交叉后的粒子求解函數(shù)值fu(i);
步驟7:利用貪婪法則對(duì)步驟6中的fu(i)和步驟4中的fx(i)進(jìn)行比較,更新粒子個(gè)體歷史最優(yōu)值;
步驟8:更新此時(shí)的群體最優(yōu)值fitnessbestX;
步驟9:將fitnessbestX與步驟2中的fgbest進(jìn)行比較,更新整個(gè)算法的最優(yōu)值;
步驟10:將步驟7中的個(gè)體最優(yōu)值代入步驟3中進(jìn)行下一次迭代;
改進(jìn)后的DE-PSO算法流程圖如圖3所示。
圖3 DE-PSO算法流程圖
對(duì)于速度變化式(7),本文引入異步變化的學(xué)習(xí)因子,w采用線(xiàn)性遞減策略,有利于算法的收斂和最優(yōu)值的獲取。
(11)
(12)
其中,C1ini,C2ini為初始值,C1fin、C2fin為終止值,t為當(dāng)前迭代次數(shù),Tmax為最大迭代次數(shù)。
將切斷后的綁絲運(yùn)送到集料槽中,這個(gè)過(guò)程由機(jī)器人自主規(guī)劃完成,通過(guò)三次樣條函數(shù)對(duì)機(jī)器人進(jìn)行軌跡規(guī)劃,以運(yùn)行時(shí)間作為優(yōu)化目標(biāo)函數(shù),將機(jī)器人關(guān)節(jié)速度、加速度、加加速度作為約束條件,結(jié)合DE-PSO融合算法進(jìn)行求解,大大提高機(jī)器人的工作效率。如式(13)所示,Tmin表示總的最小運(yùn)行時(shí)間;Vji(t)、Aji(t)、Jji(t)分別代表拆捆作業(yè)中機(jī)器人第j個(gè)關(guān)節(jié)在i點(diǎn)處的速度、加速度和加加速度;Vmax、Amax、Jmax分別表示機(jī)器人各關(guān)節(jié)的最大速度、加速度和加加速度。
(13)
抽取綁絲路徑起始點(diǎn)為綁絲切斷位置,終點(diǎn)在集料槽正上方,中間路徑點(diǎn)相對(duì)基座位置固定不變。作業(yè)過(guò)程中機(jī)器人第4和第6關(guān)節(jié)位置變化很小,本文以機(jī)器人1、2、3、5關(guān)節(jié)為主要研究對(duì)象,空間中點(diǎn)的關(guān)節(jié)位置如表1所示。
表1 關(guān)節(jié)空間中點(diǎn)的坐標(biāo)
拆捆機(jī)器人各關(guān)節(jié)的運(yùn)動(dòng)特性約束如表2所示。
表2 關(guān)節(jié)約束條件
將表1拆捆過(guò)程中的關(guān)節(jié)位置和表2機(jī)器人各關(guān)節(jié)的最大約束條件代入約束不等式中,對(duì)于約束條件的處理本文使用罰函數(shù)法,使用DE算法、PSO算法、DE-PSO算法分別求解最優(yōu)值。
如圖4所示為適應(yīng)度變化對(duì)比圖,DE算法最早收斂,但其并沒(méi)有得到問(wèn)題的最佳值,而是過(guò)早的陷入到局部最優(yōu);粒子群算法經(jīng)過(guò)多次迭代后尋找到了最優(yōu)值,但其在1300代左右才達(dá)到收斂,且經(jīng)過(guò)多次嘗試,在求解高維問(wèn)題中PSO算法不太穩(wěn)定;融合DE-PSO算法收斂速度較快,在求解過(guò)程中每次都能得到全局最優(yōu)值,且該算法在最優(yōu)值求解和收斂速度方面比較穩(wěn)定,由此可以看出融合DE-PSO算法具有一定的可靠性和優(yōu)越性。DE-PSO算法求解的最短時(shí)間為3.395 s,每段時(shí)間間隔為[0.4415 0.5570 0.9303 0.6958 0.7704]。將時(shí)間值代入式(6)中求解得到路徑點(diǎn)處的速度mji,將其代入式(1)~式(4)中,在MATLAB中通過(guò)仿真得出關(guān)節(jié)最優(yōu)運(yùn)動(dòng)特性曲線(xiàn)圖。
圖4 適應(yīng)度變化迭代圖
如圖5~圖8所示為角位移、角速度、角加速度和角加加速度曲線(xiàn)變化圖,由圖中我們可以看出各曲線(xiàn)變化均滿(mǎn)足表2所述的邊界約束條件,且角位移、加速度和角加速度曲線(xiàn)平滑連續(xù),從圖5中可以看到各關(guān)節(jié)角位移曲線(xiàn)可以完美的擬合表1所示的路徑點(diǎn),從圖6中可以看出各關(guān)節(jié)的初始速度和最終速度均為0,這與三次樣條求解時(shí)假設(shè)的初始條件一致,從圖8可以看到機(jī)械手各關(guān)節(jié)的脈動(dòng)并不連續(xù),但這是由曲線(xiàn)性質(zhì)所決定的。綜合以上分析,機(jī)械臂各關(guān)節(jié)運(yùn)行平穩(wěn),可以滿(mǎn)足工作要求,且完成了時(shí)間最優(yōu)軌跡規(guī)劃。
圖5 關(guān)節(jié)角位移變化圖
圖6 角速度變化迭代圖
圖7 角加速度變化迭代圖
圖8 角加加速度變化圖
本文根據(jù)實(shí)際拆捆工況設(shè)計(jì)出一種末端執(zhí)行器,并基于工業(yè)機(jī)器人的應(yīng)用搭建了一種拆捆機(jī)器人系統(tǒng),通過(guò)對(duì)該系統(tǒng)的最優(yōu)時(shí)間軌跡規(guī)劃,得出如下結(jié)論:
(1)為了保證機(jī)器人的作業(yè)精度和延長(zhǎng)機(jī)器人的使用壽命,基于兩點(diǎn)三次Hermit插值算法求解出三次樣條函數(shù),將其應(yīng)用于機(jī)器人軌跡規(guī)劃上面,可以確保機(jī)器人關(guān)節(jié)運(yùn)動(dòng)的平滑穩(wěn)定。
(2)使用DE-PSO混合算法,在保證一定收斂速度的前提下獲得了全局最優(yōu)解,提高了算法的穩(wěn)定性。
(3)根據(jù)算法所得最優(yōu)值,在MATLAB 中仿真得到各關(guān)節(jié)運(yùn)動(dòng)變化曲線(xiàn)圖,其結(jié)果滿(mǎn)足機(jī)器人各關(guān)節(jié)的約束條件,驗(yàn)證了算法的穩(wěn)定性和準(zhǔn)確性。