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