李甚霖,曾慶生,馮棟彥,夏廣健
(南華大學(xué)機(jī)械工程學(xué)院,湖南 衡陽 421001)
隨著科學(xué)技術(shù)的迅速發(fā)展,工業(yè)生產(chǎn)正逐步走向自動化、智能化。機(jī)械臂是實(shí)現(xiàn)智能生產(chǎn)的有力工具,在焊接[1]、搬運(yùn)[2]、機(jī)械加工[3]等方面已得到廣泛的應(yīng)用。在實(shí)際應(yīng)用中,為提高工作效率,往往需要對機(jī)械臂的運(yùn)行軌跡進(jìn)行優(yōu)化。目前國內(nèi)外學(xué)者和專家主要是以時間優(yōu)化[4]、能量優(yōu)化[5]、沖擊優(yōu)化[6]和綜合優(yōu)化[7]為目標(biāo)展開研究,其中時間優(yōu)化是研究和探討的熱門方向。
軌跡時間優(yōu)化是在滿足機(jī)械臂約束條件的情況下盡可能地縮短運(yùn)行時間,以提高機(jī)械臂工作效率。由于其計(jì)算量大、計(jì)算復(fù)雜,一般使用智能算法來進(jìn)行優(yōu)化。常用的智能算法有粒子群算法、遺傳算法、螢火蟲算法等。居鶴華等[8]使用3-5-3樣條函數(shù)進(jìn)行軌跡規(guī)劃,在速度約束下,使用遺傳算法求解最優(yōu)時間。Liu等[9]使用五次多項(xiàng)式規(guī)劃軌跡,在遺傳算法中引入精英保留策略和自適應(yīng)機(jī)制來優(yōu)化軌跡時間。郭鑫鑫等[10]使用3-5-3插值函數(shù)規(guī)劃機(jī)械臂軌跡,改進(jìn)螢火蟲算法來優(yōu)化軌跡。
基于以上研究,本文使用五次多項(xiàng)式進(jìn)行機(jī)械臂末端軌跡規(guī)劃,將精英保留遺傳算法與螢火蟲算法結(jié)合,提出一種螢火蟲-遺傳算法,以加強(qiáng)遺傳算法局部搜索能力。使用此算法在運(yùn)動學(xué)約束下優(yōu)化軌跡的運(yùn)行時間。使用MATLAB進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證該方法的有效性。
AUBO-i10是遨博公司研發(fā)的輕型6自由度協(xié)作機(jī)械臂,具有體積小、靈活度高的特點(diǎn),其實(shí)物如圖1(a)所示。對機(jī)械臂進(jìn)行運(yùn)動學(xué)分析,需建立其運(yùn)動學(xué)模型。首先建立機(jī)械臂各個關(guān)節(jié)的坐標(biāo)系,如圖1(b)所示,采用改進(jìn)型D-H參數(shù)法[11]建立各關(guān)節(jié)的坐標(biāo)系。坐標(biāo)系0為世界坐標(biāo)系,坐標(biāo)系1~6為關(guān)節(jié)1~6的坐標(biāo)系。坐標(biāo)系1~6的Z軸方向?yàn)楦麝P(guān)節(jié)軸線方向;坐標(biāo)系1、4、5和6的X軸方向分別為垂直于Z1和Z2、Z4和Z5、Z5和Z6方向,坐標(biāo)系2、3的X軸方向?yàn)檫B桿方向。

圖1 AUBO-i10機(jī)械臂及其D-H坐標(biāo)系
建立坐標(biāo)系后即可得到機(jī)械臂的改進(jìn)型DH參數(shù),如表1所示。

表1 A UBO-i10機(jī)械臂D-H參數(shù)表(改進(jìn)型)
表1中:αi-1為機(jī)械臂連桿扭轉(zhuǎn)角,ai-1為連桿長度,di為連桿偏距,θi為關(guān)節(jié)轉(zhuǎn)角。
為進(jìn)行機(jī)械臂末端軌跡規(guī)劃,需知道機(jī)械臂基座坐標(biāo)系到末端坐標(biāo)系的變換關(guān)系,即坐標(biāo)系變換矩陣。設(shè)第i-1個坐標(biāo)系變換到第i個坐標(biāo)系的變換矩陣為,則有
式中:C=cos,S=sin。
按軌跡所在空間可將軌跡規(guī)劃分為關(guān)節(jié)空間軌跡規(guī)劃和笛卡爾空間軌跡規(guī)劃。笛卡爾空間軌跡規(guī)劃可以直接按照用戶指定的路徑點(diǎn)進(jìn)行規(guī)劃,但是運(yùn)行時必須以實(shí)時更新的軌跡速度求出運(yùn)動學(xué)逆解,計(jì)算量很大。關(guān)節(jié)空間的規(guī)劃方法非常便于計(jì)算,并且由于關(guān)節(jié)空間與直角坐標(biāo)空間之間并不存在連續(xù)的對應(yīng)關(guān)系,因而不會發(fā)生機(jī)構(gòu)的奇異性問題[12]。因此本文選擇在關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃。
關(guān)節(jié)空間軌跡規(guī)劃常用的方法有三次多項(xiàng)式插值、五次多項(xiàng)式插值、多段多項(xiàng)式組合插值、B樣條曲線、NURBUS曲線等[13]。機(jī)械臂工作時的軌跡一般為點(diǎn)到點(diǎn),由已有信息可知初始點(diǎn)和目標(biāo)點(diǎn)的關(guān)節(jié)位置、速度,為減小機(jī)械臂的振動與沖擊,對關(guān)節(jié)加速度施加約束,指定初始點(diǎn)和目標(biāo)點(diǎn)的加速度,則共有6個約束條件,因此采用五次多項(xiàng)式進(jìn)行軌跡規(guī)劃。五次多項(xiàng)式表達(dá)式為
對θ(t)求一階導(dǎo)數(shù)、二階導(dǎo)數(shù)可以得到機(jī)械臂末端的速度、加速度多項(xiàng)式表達(dá)式:
由已知信息可知多項(xiàng)式的約束條件為:
將式(2)~式(4)代入式(5)可解得:
使用五次多項(xiàng)式插值規(guī)劃所得的軌跡還不是時間最優(yōu)的軌跡,要實(shí)現(xiàn)運(yùn)行時間最短,還需對軌跡的運(yùn)行時間進(jìn)行優(yōu)化。
軌跡運(yùn)動時間函數(shù)為
機(jī)械臂末端沿軌跡的運(yùn)動時間與機(jī)械臂關(guān)節(jié)的運(yùn)動速度成反比例關(guān)系,運(yùn)動時間越少,則關(guān)節(jié)角速度、角加速度越大;但現(xiàn)實(shí)中機(jī)械臂的關(guān)節(jié)速度、加速度是有限的,為了不對機(jī)械臂造成損壞,關(guān)節(jié)位置、角速度、角加速度不應(yīng)超過其臨界值。即:
遺傳算法最早由美國密執(zhí)安大學(xué)的Holland教授提出,起源于20世紀(jì)60年代對自然和人工自適應(yīng)系統(tǒng)的研究,是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程而形成的一種自適應(yīng)全局優(yōu)化概率搜索算法[14],具有很強(qiáng)的全局搜索能力。
螢火蟲算法是劍橋?qū)W者Yang[15]受到自然界中螢火蟲個體發(fā)光會相互吸引的啟發(fā)而提出的一種元啟發(fā)式智能優(yōu)化算法。該算法具有很強(qiáng)的局部搜索能力。
本文在精英保留策略遺傳算法的基礎(chǔ)上,將螢火蟲算法融入其中,使用螢火蟲算法進(jìn)行變異操作,提出一種螢火蟲-遺傳算法,使用此算法對五次多項(xiàng)式插值所得機(jī)械臂末端軌跡進(jìn)行時間優(yōu)化。具體算法流程如圖2所示。

圖2 螢火蟲-遺傳算法流程圖
1)初始化種群。隨機(jī)生成M個個體組成初始種群,每個個體表示軌跡的運(yùn)行時間,通過二進(jìn)制編碼方式進(jìn)行編碼,編碼長度為20,以保證可行解的精度為0.000 1。
2)適應(yīng)度評價(jià)。為實(shí)現(xiàn)式(8)中的機(jī)械臂約束條件,使用罰函數(shù)對適應(yīng)度函數(shù)進(jìn)行處理。對不滿足約束條件的個體進(jìn)行懲罰,降低其適應(yīng)度,使其向可行域邊界靠近,隨著迭代而被剔除掉。
適應(yīng)度函數(shù)為
式中:C為常數(shù),λ為懲罰項(xiàng)。當(dāng)機(jī)械臂關(guān)節(jié)的角位移、角速度、角加速度滿足約束條件時,λ=1,不影響個體的適應(yīng)度;不滿足約束條件時,λ=-1,個體適應(yīng)度變小。常數(shù)C保證受到懲罰的個體適應(yīng)度不會超過可行域邊界。
3)選擇精英個體和子代個體。計(jì)算種群個體的適應(yīng)度后將前10個適應(yīng)度的個體作為精英個體保留,不參與交叉變異,防止優(yōu)秀個體的基因被破壞。使用隨機(jī)遍歷抽樣法選擇M-10個個體作為子代進(jìn)行交叉變異,補(bǔ)充種群數(shù)量并保證種群中基因的多樣性。
4)使用通常多點(diǎn)交叉法對子代進(jìn)行交叉操作,以產(chǎn)生新的個體。
5)變異計(jì)算交叉操作后子代個體的適應(yīng)度,與父代種群的平均適應(yīng)度進(jìn)行比較,低于父代平均適應(yīng)度的個體通過螢火蟲算法向父代最優(yōu)個體進(jìn)行定向變異。具體步驟如下所示:
a.計(jì)算螢火蟲發(fā)光亮度。即計(jì)算每個個體的適應(yīng)度。
b.計(jì)算距離。距離計(jì)算公式為
式中,xi、xj分別為父代最優(yōu)個體和子代個體基因解碼后的數(shù)值,即運(yùn)行時間t。
c.計(jì)算吸引力。一只螢火蟲的吸引力計(jì)算公式為
式中:β0為常數(shù),表示最大吸引力,通常設(shè)置為1,γ為光吸收系數(shù)。
d.靠近過程。發(fā)光亮度低的螢火蟲會被亮度高的螢火蟲吸引而向其靠近,即變異。螢火蟲更新位置的公式為
式中:α為隨機(jī)項(xiàng)系數(shù),(rand-0.5)為隨機(jī)擾動,以便跳出局部最優(yōu)解。
6)精英個體和子代個體一起組成新的種群。
7)判斷是否達(dá)到終止條件,未達(dá)到終止條件則返回到步驟2),進(jìn)入下一個循環(huán),達(dá)到終止條件則算法結(jié)束,輸出最優(yōu)解。
在MATLAB中使用Robotics Toolbox建立AUBOi10機(jī)械臂模型:將改進(jìn)型D-H參數(shù)表中的數(shù)據(jù)導(dǎo)入Link函數(shù)來定義機(jī)械臂各個連桿的屬性,再使用SerialLink函數(shù)定義機(jī)械臂各個關(guān)節(jié)屬性,建立的機(jī)械臂模型如圖3所示。

圖3 AUBO-i10機(jī)械臂模型
設(shè)定機(jī)械臂起始點(diǎn)坐標(biāo)為(-100,1000,300),目標(biāo)點(diǎn)坐標(biāo)為(600,-700,600),單位為mm。使用jtraj函數(shù)獲得五次多項(xiàng)式插值的機(jī)械臂末端軌跡,如圖4所示。

圖4 機(jī)械臂五次多項(xiàng)式末端軌跡
設(shè)定螢火蟲-遺傳算法的編碼長度、進(jìn)化代數(shù)、種群大小、交叉概率、變異概率、運(yùn)行時間取值范圍、光吸收系數(shù)和隨機(jī)項(xiàng)系數(shù)分別為20、100、100、0.7、0.01、[0 20]、0.8、0.5。機(jī)械臂約束條件如表2所示。

表2 機(jī)械臂各關(guān)節(jié)約束
按照3.2節(jié)中的螢火蟲-遺傳算法流程,分別對機(jī)械臂的6個關(guān)節(jié)進(jìn)行時間優(yōu)化。以關(guān)節(jié)3的優(yōu)化為例將傳統(tǒng)遺傳算法、精英策略的遺傳算法和螢火蟲-遺傳算法進(jìn)行對比,結(jié)果如圖5所示:傳統(tǒng)遺傳算法在第70代時收斂至最優(yōu)解t=2.1411;精英遺傳算法在第60代收斂至最優(yōu)解t=2.0908;螢火蟲-遺傳算法在第20代收斂至最優(yōu)解t=2.0908。由此可知,螢火蟲-遺傳算法具有更好的優(yōu)化效果。

圖5 軌跡時間優(yōu)化結(jié)果
機(jī)械臂各個關(guān)節(jié)在螢火蟲-遺傳算法優(yōu)化后得到的運(yùn)行時間如表3所示。由于機(jī)械臂的各個關(guān)節(jié)在同一時間內(nèi)完成運(yùn)動,所以選擇其中最大的優(yōu)化時間,則機(jī)械臂軌跡時間優(yōu)化的結(jié)果為t=2.0908。

表3 各關(guān)節(jié)最優(yōu)時間
將優(yōu)化后得到的最優(yōu)時間代入jtraj函數(shù)進(jìn)行五次多項(xiàng)式軌跡規(guī)劃,得到機(jī)械臂各關(guān)節(jié)的角位移、角速度和角加速度隨時間變化的曲線,如圖6所示。關(guān)節(jié)位置、角速度和角加速度曲線光滑連續(xù),且滿足表2中的約束條件,驗(yàn)證了算法的有效性。

圖6 優(yōu)化后各關(guān)節(jié)運(yùn)動曲線
1)將螢火蟲算法用于遺傳算法的變異操作,結(jié)合自適應(yīng)遺傳策略,提出了一種螢火蟲-遺傳算法。在五次多項(xiàng)式規(guī)劃軌跡的基礎(chǔ)上,基于此算法提出了一種機(jī)械臂末端軌跡時間的優(yōu)化方法。
2)使用MATLAB進(jìn)行仿真實(shí)驗(yàn),最優(yōu)時間由傳統(tǒng)遺傳算法的2.141 1 s降低到2.090 8 s,收斂速度也得到大幅提升,驗(yàn)證了該算法的優(yōu)越性。并將優(yōu)化后的時間代入軌跡仿真,所得機(jī)械臂各關(guān)節(jié)的角位移、角速度和角加速度曲線連續(xù)光滑,且滿足機(jī)械臂各關(guān)節(jié)的約束條件,驗(yàn)證了該優(yōu)化方法的有效性。