賈文友,江 磊,曹紫陽,梁利東
安徽工程大學(xué) 機(jī)械工程學(xué)院 人機(jī)自然交互和高效協(xié)同技術(shù)研究中心,安徽 蕪湖 241000
工業(yè)機(jī)器人作業(yè)過程中普遍需要較高能耗,故能耗策略研究成為許多工業(yè)機(jī)器人制造商和學(xué)術(shù)研究團(tuán)體的共同關(guān)注課題。降低工業(yè)機(jī)器人能耗的主要方法包括設(shè)計(jì)節(jié)能的作業(yè)規(guī)劃算法,優(yōu)化工業(yè)機(jī)器人運(yùn)行參數(shù)和運(yùn)行計(jì)劃等[1];Llopis-Albert等人提出了一種解決機(jī)器人手臂軌跡規(guī)劃多目標(biāo)優(yōu)化問題的有效算法,研究了機(jī)器人系統(tǒng)動(dòng)力學(xué)和避免與障礙物發(fā)生碰撞的問題[2];Bailon 等人針對(duì)參數(shù)表示的給定路徑使用遺傳算法最大限度地減少了具有力矩限制的機(jī)器人所消耗的能量[3];Serralheiro提出一種基于輪式移動(dòng)機(jī)器人時(shí)間能量優(yōu)化的軌跡規(guī)劃方法,通過自調(diào)整算法對(duì)引入懲罰系數(shù)的多目標(biāo)優(yōu)化模型進(jìn)行優(yōu)化[4];Hansen以工業(yè)機(jī)器人能耗最小為指標(biāo)進(jìn)行軌跡規(guī)劃,經(jīng)過對(duì)比研究表明所提出的方法優(yōu)于現(xiàn)有的基于扭矩的研究方法[5];沈悅等人提出一種基于粒子群優(yōu)化算法的軌跡規(guī)劃方案[6];唐佳提出了一種改進(jìn)差分進(jìn)化算法在關(guān)節(jié)空間中對(duì)軌跡進(jìn)行優(yōu)化[7];岳晴晴提出改進(jìn)遺傳算法對(duì)機(jī)器人軌跡時(shí)間進(jìn)行優(yōu)化,并在時(shí)間最優(yōu)的基礎(chǔ)上對(duì)沖擊進(jìn)行二次優(yōu)化[8];張世杰運(yùn)用四級(jí)Runge-Kutta和多重打靶法求解基于能耗最優(yōu)的機(jī)器人軌跡規(guī)劃問題,提出了一種基于狀態(tài)反饋的模糊滑模變結(jié)構(gòu)控制算法,提高了系統(tǒng)的穩(wěn)定性[9]。浦玉學(xué)研究工業(yè)機(jī)器人時(shí)間最優(yōu)、能耗最優(yōu)的多目標(biāo)軌跡優(yōu)化問題,提出了一種基于改進(jìn)引力搜索算法的最優(yōu)軌跡規(guī)劃方法[10];丁小天提出了一種無序點(diǎn)排序算法,通過使用B 樣條曲線擬合復(fù)雜點(diǎn)云模型簡(jiǎn)化為的有序點(diǎn),并利用包容盒算法完成軌跡規(guī)劃[11];朱世強(qiáng)等人采用七次B樣條曲線構(gòu)造機(jī)器人關(guān)節(jié)軌跡,實(shí)現(xiàn)了對(duì)啟動(dòng)和停止時(shí)刻速度、加速度和二次加速度的控制[12]。
國內(nèi)外學(xué)者進(jìn)行多種方法的研究,但仍存在優(yōu)化算法容易陷入局部最小值和收斂速度較慢,能耗策略中機(jī)器人考慮動(dòng)力學(xué)影響欠充分等,為此提出了一種基于量子行為和差分進(jìn)化的改進(jìn)蜻蜓算法(Quantumbehaved and Differential Evolution Dragonfly Algorithm,QDEDA)[13],基于QDEDA 算法對(duì)工業(yè)機(jī)器人能耗策略下綜合速度、加速度和二次加速度優(yōu)化工業(yè)機(jī)器人作業(yè)軌跡,最終獲得最優(yōu)軌跡。
針對(duì)所求得工業(yè)機(jī)器人避障的n個(gè)離散路徑點(diǎn),通過逆運(yùn)動(dòng)學(xué)求解得到一系列關(guān)鍵點(diǎn)P=(P1,P2,…,Pn)T,其中Pi=(Pi1,Pi2,Pi3,Pi4,Pi5,Pi6),i=1,2,…,n,相應(yīng)的時(shí)間節(jié)點(diǎn)序列為T=(t1,t2,…,tn)。采用五次B樣條曲線來對(duì)機(jī)器人關(guān)節(jié)空間的關(guān)鍵點(diǎn)序列進(jìn)行連接構(gòu)造,其數(shù)學(xué)表達(dá)式如式(1)所示:
式中,P(u)是關(guān)節(jié)位移,Nj,k(u)(j=i-k,i-k+1,…,i)為k次規(guī)范B樣條基函數(shù),Cm,j為機(jī)器人第m關(guān)節(jié)第j個(gè)控制頂點(diǎn),u∈[0,1],Nj,k(u)表達(dá)式如式(2)所示:
控制頂點(diǎn)Cm,j可由連續(xù)條件和邊界條件求解出來,所以五次B樣條曲線可用式(3)的矩陣形式表示:
由拉格朗日方程推導(dǎo)出工業(yè)機(jī)器人動(dòng)力學(xué)方程:
通過對(duì)式(1)采用德布爾遞推公式后,得出五次B樣條曲線的r(r=1,2,3)階導(dǎo)數(shù)如式(10)所示:
由公式(10)的五次B 樣條曲線的r階導(dǎo)數(shù)可推導(dǎo)出機(jī)器人各關(guān)節(jié)的速度、加速度和二次加速度為:
機(jī)器人為了維持作業(yè)的平穩(wěn)性,其各關(guān)節(jié)還要滿足運(yùn)動(dòng)學(xué)約束,二次加速度的約束主要是為了降低沖擊,同時(shí)能夠防止機(jī)器人的過度損耗,延長其使用壽命。機(jī)器人各關(guān)節(jié)約束條件為:
式中,Vmax、Amax、Jmax、τmax分別為機(jī)器人各關(guān)節(jié)的速度、加速度、二次加速度和力矩的最大約束值。
由式(4)得出動(dòng)力學(xué)約束:
由機(jī)器人第i段軌跡的初始時(shí)刻ti和終止時(shí)刻ti+1求得機(jī)器人作業(yè)過程中的總運(yùn)行時(shí)間為:
通過所求得的五次B 樣條曲線的關(guān)節(jié)位移P(u)求出機(jī)器人各關(guān)節(jié)在hi時(shí)間段內(nèi)軌跡的能耗為:
以時(shí)間最優(yōu),能量損耗最小作為優(yōu)化目標(biāo),工業(yè)機(jī)器人能耗約束模型函數(shù)如下。
式中,ξ1、ξ2為優(yōu)化權(quán)重系數(shù),且ξ1+ξ2=1,α是彈性系數(shù),彈性系數(shù)用來平衡時(shí)間與能耗在數(shù)量級(jí)上的差別產(chǎn)生的影響。
原始蜻蜓算法(Dragonfly Algorithm,DA)是基于蜻蜓行為的一種新穎的元啟發(fā)式算法[14]。在蜻蜓種群中有分離度、對(duì)齊度、內(nèi)聚度、對(duì)食物的吸引和敵人的干擾5種行為,這些行為數(shù)學(xué)模型如下。
式中,X表示當(dāng)前蜻蜓個(gè)體的位置;Xj表示第j個(gè)相鄰蜻蜓個(gè)體的位置;N表示與第i個(gè)蜻蜓個(gè)體相鄰的個(gè)體數(shù)量;Ai表示第i個(gè)個(gè)體的對(duì)齊度;Vj表示第j個(gè)相鄰蜻蜓個(gè)體的速度;Ci表示第i個(gè)個(gè)體的內(nèi)聚度;Fi表示食物位置對(duì)第i個(gè)個(gè)體的吸引,X+表示食物源位置;Gi表示天敵位置對(duì)第i個(gè)個(gè)體的干擾,X-表示天敵位置。
蜻蜓根據(jù)式(19)更新其速度。
式中,t表示當(dāng)前迭代次數(shù);i表示第i個(gè)蜻蜓個(gè)體;Xt表示當(dāng)前t代種群個(gè)體位置;s,a,c,f,e表示五種行為的權(quán)重,w表示慣性權(quán)重。
如果蜻蜓經(jīng)過幾次迭代后在其搜索半徑內(nèi)沒有鄰近個(gè)體,則其位置使用Le′vy飛行方程式(20)更新。
其中,t是當(dāng)前迭代的數(shù)量,d代表蜻蜓個(gè)體的尺寸。
原始DA算法和大多數(shù)群智能算法一樣,在算法尋優(yōu)過程中易陷入局部最小值,為此采用量子行為來改進(jìn)DA算法的位置更新機(jī)制來增強(qiáng)DA算法的全局探索能力;因DA算法在迭代后期種群缺乏多樣性并易發(fā)生早熟現(xiàn)象,導(dǎo)致DA 算法后期迭代速度過慢,為此將差分進(jìn)化尋優(yōu)策略引入到DA算法中,來增強(qiáng)蜻蜓個(gè)體之間的信息交流,提高DA算法的收斂速度和尋優(yōu)精度。為此本文研究團(tuán)隊(duì)提出了一種基于量子行為和差分進(jìn)化的改進(jìn)蜻蜓算法[13],其中量子行為位置更新機(jī)制如式(21)和(22);差分進(jìn)化尋優(yōu)策略包括變異、交叉、選擇3種操作,分別如式(23)至(25)。
QDEDA算法流程描述如下。
步驟1算法參數(shù)初始化:設(shè)置種群規(guī)模N,空間維數(shù)D,最大迭代次數(shù)MIT,慣性權(quán)重w,領(lǐng)域半徑r;隨機(jī)初始化蜻蜓位置X和步長向量ΔX。
步驟2計(jì)算所有蜻蜓個(gè)體的適應(yīng)度,適應(yīng)度函數(shù)由公式(17)給出,更新最優(yōu)個(gè)體為食物,最差個(gè)體為天敵;
步驟3更新權(quán)重五種行為因子s,a,c,f,e,用公式(18)計(jì)算S,A,C,F,E,然后用公式(19)更新速度矢量。
步驟4更新鄰域半徑后若蜻蜓個(gè)體周圍有臨近個(gè)體,調(diào)用QDEDA 算法融合的量子行為位置更新機(jī)制,使用式(22)更新個(gè)體的位置;若蜻蜓個(gè)體周圍沒有臨近個(gè)體,則調(diào)用萊維飛行式(20)更新個(gè)體位置。
步驟5調(diào)用QDEDA 算法融合的差分進(jìn)化尋優(yōu)策略,使用式(23)~(25)對(duì)蜻蜓個(gè)體進(jìn)行差分進(jìn)化運(yùn)算更新最優(yōu)解。
步驟6判斷是否滿足終止條件,若達(dá)到最大迭代次數(shù)MIT則進(jìn)入步驟7,否則返回至步驟2。
步驟7輸出最優(yōu)個(gè)體位置及最優(yōu)適應(yīng)度值。
本文以ER7B-C10 型6 關(guān)節(jié)工業(yè)機(jī)器人為研究對(duì)象,求解工業(yè)機(jī)器人能耗約束模型函數(shù)。機(jī)器人的運(yùn)動(dòng)學(xué)約束及個(gè)關(guān)節(jié)位置序列參數(shù)如表1和表2所示。
表1 運(yùn)動(dòng)學(xué)約束參數(shù)Table 1 Parameters of constraints kinematics
表2 關(guān)節(jié)位置序列參數(shù)Table 2 Parameters of sequence joint positions
為了驗(yàn)證本文提出的QDEDA算法的有效性,分別使用文獻(xiàn)[14]中的蜻蜓算法(DA)、文獻(xiàn)[15]中的基于指數(shù)函數(shù)步長的精英反向蜻蜓算法(EOEDA)和改進(jìn)蜻蜓算法(QDEDA)進(jìn)行對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)參數(shù)設(shè)置包括:彈性系數(shù)α=0.003,ξ1=0.5、ξ2=0.5;種群規(guī)模N=40,最大迭代次數(shù)MIT=500 ;五種行為的權(quán)重w=0.2~0.9,s=0.1,a=0.1,c=0.7,f=1,e=1。為了降低實(shí)驗(yàn)隨機(jī)性的影響,分別在各算法上運(yùn)行10 次,并取平均值,三種算法的尋優(yōu)曲線如圖1所示,表3為三種算法的軌跡規(guī)劃結(jié)果。
圖1 尋優(yōu)曲線對(duì)比圖Fig.1 Comparison of optimization curves
表3 算法最優(yōu)軌跡規(guī)劃結(jié)果Table 3 Results of different trajectory planning algorithms
由圖1 可知,DA 在迭代到300 代左右時(shí),算法出現(xiàn)了停滯并發(fā)生早熟現(xiàn)象,陷入了局部最小值,而QDEDA能夠搜索到更高質(zhì)量的解;由于QDEDA 融合了差分進(jìn)化尋優(yōu)策略,極大增強(qiáng)了算法中的信息交流,改善了算法后期種群多樣性缺失的問題,使得QDEDA 算法的收斂速度更快。由表3 可知,相比于DA 和EOEDA,QDEDA優(yōu)化軌跡的總能耗分別降低了8.33%和3.76%,作業(yè)時(shí)間分別減少了2.94%和1.42%,適應(yīng)度評(píng)價(jià)總體分別降低了5.94%和2.7%。實(shí)驗(yàn)結(jié)果證明了QDEDA的性能優(yōu)于DA和EOEDA。
為了驗(yàn)證工業(yè)機(jī)器人能耗約束模型有效性,使用QDEDA 優(yōu)化的最優(yōu)時(shí)間序列執(zhí)行作業(yè)任務(wù),得到圖2至圖5各關(guān)節(jié)位置、速度、加速度和力矩的變化曲線。
由圖2 可看出,各關(guān)節(jié)的位置曲線光滑且連續(xù),根據(jù)圖3至圖5的速度、加速度和力矩的變化曲線,參照表1可知,機(jī)器人整個(gè)作業(yè)過程中都滿足約束條件,滿足作業(yè)平穩(wěn)工作要求。為了進(jìn)一步驗(yàn)證QDEDA 算法求解能耗約束下工業(yè)機(jī)器人作業(yè)軌跡,如圖6 所示,基于Unity3D進(jìn)行虛擬現(xiàn)實(shí)可視化仿真,其中圖(a)表示求解出起點(diǎn)和目標(biāo)點(diǎn)之間規(guī)劃軌跡,圖(b)表示求解出起點(diǎn)和目標(biāo)點(diǎn)之間作業(yè)軌跡。
圖2 關(guān)節(jié)位置曲線Fig.2 Curve of joint positions
圖3 速度變化曲線Fig.3 Curve of speed change
圖4 加速度變化曲線Fig.4 Curve of acceleration change
圖5 關(guān)節(jié)力矩變化曲線Fig.5 Curve of joint torque change
圖6 虛擬現(xiàn)實(shí)可視化仿真Fig.6 Visual simulation of virtual reality
在綜合五次B 樣條曲線推導(dǎo)出機(jī)器人關(guān)節(jié)空間中關(guān)鍵點(diǎn)的作業(yè)軌跡,以及拉格朗日方程推導(dǎo)的動(dòng)力學(xué)方程基礎(chǔ)上,搭建了機(jī)器人軌跡能耗模型;用所設(shè)計(jì)的改進(jìn)算法求解能耗約束下工業(yè)機(jī)器人作業(yè)軌跡。仿真結(jié)果表明,相對(duì)原始蜻蜓算法和基于指數(shù)函數(shù)步長的精英反向蜻蜓算法,本文提出的改進(jìn)蜻蜓算法求解效率更高,且優(yōu)化后的機(jī)器人各關(guān)節(jié)位置、速度、加速度和力矩的變化曲線光滑、連續(xù)、平穩(wěn)。為進(jìn)一步研究基于機(jī)器視覺利用圖像信息進(jìn)行實(shí)時(shí)在線軌跡規(guī)劃來提升機(jī)器人末端執(zhí)行器的運(yùn)行精度提供重要依據(jù)。