李純艷,晁永生,陳 帥,李佳蓉,袁逸萍
(新疆大學機械工程學院,烏魯木齊 830017)
隨著經濟的發(fā)展,能源短缺已成為一個全球性的問題。然而,為了實現(xiàn)快速、安全的生產,工業(yè)機器人在生產線上的應用仍在不斷增加,并漸漸成為企業(yè)能源消耗的主力軍[1]。因此,制造企業(yè)必須采取節(jié)能措施降低由機器人工作產生的能源浪費。
相較于點位運動(PTP),連續(xù)運動軌跡規(guī)劃(CP)可使機器人末端執(zhí)行器在其工作空間內沿預定義路徑的最佳位置進行工作(滿足一個或多個給定目標和約束)。為使機器人平滑通過預定義連續(xù)運動路徑,B樣條曲線[2]在機器人軌跡規(guī)劃中經常被使用。但采用B樣條構造關節(jié)空間軌跡時,多數(shù)研究為三次或五次B樣條軌跡[3],無法保證加加速度的平滑性及其在機器人啟停時不產生突變,對機器人使用壽命有較大影響。此外,上述軌跡規(guī)劃方法只解決了離散路徑的連續(xù)平滑問題。為滿足企業(yè)節(jié)能降耗目標,軌跡還應滿足能耗最低的優(yōu)化標準。且軌跡的優(yōu)劣直接影響機器人的工作能耗[4-5],尋找能耗最優(yōu)軌跡成為軌跡優(yōu)化領域的研究重點之一。白云飛等[6]提出利用徑向基函數(shù)(RBF)神經網絡構建機器人功耗模型,并通過自適應PSO算法對軌跡進行了優(yōu)化。PELLICCIARI等[7]推導了串并聯(lián)機器人的機電模型。再從預定軌跡出發(fā)采用定常時間標度法計算能量最優(yōu)軌跡。YOKOSE[8]提出將梯度法和遺傳算法相結合從而快速求解具有非線性摩擦的機器人能耗最小化問題。但由于機器人能耗最優(yōu)軌跡規(guī)劃問題是復雜的非線性優(yōu)化問題,遺傳算法、粒子群算法和凸優(yōu)化算法等性能上存在一定的不足,無法得到全局最優(yōu)解。
研究表明,麻雀搜索算法[9](SSA)在標準測試函數(shù)尋優(yōu)方面有著出色的表現(xiàn)[10],為此,提出一種基于改進麻雀搜索算法(ISSA)的工業(yè)機器人能耗最優(yōu)軌跡規(guī)劃方法。首先,以UR5機器人為研究對象確定7次B樣條插值函數(shù)。其次,利用牛頓-歐拉方法[11]構造機器人逆動力學方程并推導能耗方程。最后,使用改進麻雀搜索算法在多種約束下優(yōu)化能耗,并據(jù)此確定機器人各關節(jié)最優(yōu)運動軌跡。
將l個離散笛卡爾位置點通過逆運動學轉換為關節(jié)位置-時間序列:
TP={(tz0,θz0),…,(tzl,θzl)}(z=1,2,…,m)
(1)
式中,TP為關節(jié)位置-時間序列;z為關節(jié)數(shù);θzl為tzl時刻所對應關節(jié)角。
通過B樣條插值可得到機器人每個關節(jié)對應關節(jié)角點集的平滑軌跡。為保證7次B樣條曲線通過第一關節(jié)點和最后一關節(jié)點,在第一關節(jié)點和最后一關節(jié)點設置7+1重節(jié)點。B樣條曲線可以表示為:
(2)
式中,di(i=0,1,...,n)為B樣條控制點;Ni,7(i=0,1,...,n)為7次B樣條基函數(shù)。
機器人B樣條位置軌跡求一到三階導可分別得到各關節(jié)的速度vz、加速度az及加加速度jz軌跡。由式(2)可知,為構造B樣條函數(shù)需反求n個未知控制點,因此需聯(lián)立n個方程進行求解。其中,l個插值點可構造l個方程,只需再將B樣條的r階導數(shù)作為邊界條件即可得到剩余n-l個附加方程。
(3)
(4)
將機器人連桿視為剛體,則機器人為多剛體串聯(lián)/并聯(lián)機構。若機器人各關節(jié)均為轉動關節(jié),則第i點的牛頓-歐拉逆動力學方程一般表達式為:
(5)
式中,
(6)
(7)
(8)
(9)
式中,m為連桿質量;f、n為實際施加在連桿上的力和力矩;F、N為作用在連桿上的力和力矩;R為旋轉矩陣;P為平移矩陣;CI為剛體在坐標系{C}中的慣性張量。根據(jù)式(2)及式(3)所得各關節(jié)θi、vi、ai可計算出每個連桿質心的線加速度vCi和角加速度ωi。
為了使機器人以有限的能源更高效地執(zhí)行更多的任務,降低其工作過程中消耗的能量變得尤為重要,不考慮摩擦和電機發(fā)熱,將運動過程中消耗的機械能視為機器人總能耗。
(10)
(11)
麻雀搜索算法根據(jù)麻雀發(fā)現(xiàn)、覓食、觀察3種行為將種群內麻雀劃分為3類。3類麻雀更新公式見文獻[9]。然而,SSA算法也存在一定缺陷,即初始種群質量差且易陷入局部最優(yōu)解導致算法產生“早熟”現(xiàn)象。為提高算法初始解質量、進一步加快收斂速度、增強全局搜索能力,提出以下改進策略。
相較于隨機生成初始種群的標準麻雀搜索算法,使用精英反向學習策略優(yōu)化初始種群能在擴大算法搜索范圍的基礎上,使算法的收斂速度進一步加快。
(12)
為了防止算法陷入局部最優(yōu)產生“早熟”現(xiàn)象,并提高算法的精度,在其迭代過程中引入了高斯-柯西變異策略使每代最優(yōu)個體發(fā)生突變。變異后麻雀位置更新為:
(13)
(14)
式中,λ為高斯/柯西隨機數(shù)。
由式(14)可知,高斯變異具有較強局部搜索能力,柯西變異具有較強的全局搜索能力[12]。因此當全局最優(yōu)麻雀的能量儲備變化率小于閾值時(取10-2)意味著算法陷入局部最優(yōu),需對最優(yōu)麻雀進行柯西變異,引導麻雀跳出局部最優(yōu),增加麻雀種群的多樣性。否則對最優(yōu)麻雀進行高斯變異,加快算法收斂。
標準麻雀算法屬多維無約束優(yōu)化方法。而機器人能耗最優(yōu)軌跡規(guī)劃問題為多運動學約束優(yōu)化問題,為使算法具有處理約束問題的能力,首先將約束條件轉換為違反約束度目標,再采用非支配排序策略即可對種群內所有麻雀進行排序及分類。
根據(jù)以上設計,多運動學約束的ISSA算法流程如下:①設置算法參數(shù),產生初始種群;②精英反向學習優(yōu)化初始種群,排序得初代全局最優(yōu)麻雀;③更新麻雀種群并排序;④當代最優(yōu)麻雀高斯-柯西變異;⑤對比變異前后當代最優(yōu)麻雀及全局最優(yōu)麻雀適應度值,適應度值最低的為全局最優(yōu)麻雀;⑥若達到最大迭代次數(shù)則結束算法,輸出優(yōu)化結果,否則,返回③獲取新的種群。算法流程圖如圖1所示。
圖1 ISSA算法流程圖
UR5機器人有6個轉動關節(jié),使其能夠在笛卡爾工作空間中到達任何位姿,故用UR5機器人對所提方法進行驗證。以不加負載的碼垛后歸位行程為例預定義8個路徑點,逆解后得到各關節(jié)對應角度如表1所示。
表1 關節(jié)角序列
使用MATLAB軟件進行仿真。設定算法的迭代次數(shù)為50次;種群數(shù)量為100;發(fā)現(xiàn)者數(shù)量占種群總數(shù)的14%;觀察者數(shù)量占種群總數(shù)的15%;警戒值為0.8;UR5機械臂各關節(jié)速度、加速度、加加速度約束分別為vc=180 °/s、ac=35 °/s2、jc= 35 °/s3;以速度、加速度、加加速度曲線控制頂點作為約束條件,按多次實驗結果設定約束放大系數(shù)kv、ka、kj均為2.8。將提出的ISSA算法與SSA算法、粒子群優(yōu)化算法(PSO)進行了比較,每種算法獨立運行20次,取PSO算法和SSA算法最優(yōu)迭代曲線與ESSA算法最劣迭代曲線進行對比,得到如圖2所示的最優(yōu)個體進化圖。
圖2 尋優(yōu)迭代圖
如圖2所示, PSO算法迭代15次后收斂,最優(yōu)解為664.2 J,與其余兩種算法相比,求解質量最差,在迭代過程中會陷入局部最優(yōu),需浪費大量計算時間進行多次迭代才能跳出。相較于PSO算法,SSA算法具有更高質量的最優(yōu)解,最優(yōu)能耗為634.9 J,但收斂速度最慢,在18次迭代后才收斂,可以說算法的求解質量是由求解速度換來的。由于精英反向策略的加入使得ISSA有最優(yōu)初始解,最優(yōu)初始解質量較PSO算法提升38%,較SSA算法提升13%,且高斯-柯西變異策略使算法僅需12次迭代便收斂到最優(yōu)解為603.9 J,最優(yōu)解質量較PSO算法提升9%,較SSA算法提升5%。結果表明,ISSA算法在求解質量,收斂速度,初始解質量上均有出色的表現(xiàn)。
ISSA算法優(yōu)化所得最優(yōu)能耗對應的時間序列如表2所示,為驗證ISSA算法所得解的可行性,繪制如圖3所示各關節(jié)位置、速度、加速度、加加速度曲線。由圖3a可知,規(guī)劃所得機器人各個關節(jié)軌跡能精準通過預設目標點。由圖3b~圖3d可知,7次B樣條可在平滑軌跡的同時保證機器人啟停時各關節(jié)速度、加速度、加加速度均為0,能有效減少關節(jié)間磨損,延長機器人的使用壽命。因此,采用ISSA算法進行機器人能耗最優(yōu)軌跡規(guī)劃是可行的。
表2 時間序列
(a) 關節(jié)位置 (b) 關節(jié)速度
為驗證ISSA算法求解效率,將三種算法20次運行時間的平均值進行對比,結果如表3所示。結果表明,ISSA算法較其余兩種算法平均運行時間有明顯降低,證明ISSA算法在軌跡優(yōu)化方面有一定優(yōu)越性。
表3 算法平均運行時間
用MATLAB機器人工具箱對機器人的末端碼垛軌跡進行仿真,如圖4所示。由圖可知,將機器人關節(jié)空間軌跡轉換為機器人末端笛卡爾空間軌跡時仍能保證軌跡的連續(xù)平滑。進一步驗證了所提方法求解能耗最優(yōu)作業(yè)軌跡的可行性。
圖4 機器人末端碼垛路徑
(1)提出一種基于7次B樣條插值的軌跡規(guī)劃方法,保證了各關節(jié)速度、加速度、加加速度的連續(xù)平滑,使得機器人在通過每個指定路徑點的基礎上,提高其運行平穩(wěn)性。
(2)改進麻雀搜索算法,引入非支配排序策略,使得算法具有求解非線性多約束問題的能力;同時增加精英反向學習和高斯-柯西變異策略,提高種群多樣性,避免算法“早熟”陷入局部最優(yōu),并使得算法求解質量、求解效率及收斂速度得到提高。
(3)根據(jù)算法所求得最優(yōu)解仿真得到機器人關節(jié)空間軌跡及笛卡爾空間軌跡,軌跡連續(xù)平滑且滿足各運動學約束條件,驗證了所提方法的可行性。