李克訥,賀之祥,唐春怡,胡旭初
(1.廣西科技大學 自動化學院,廣西柳州,545616;2.廣西柳州特種變壓器有限責任公司,廣西柳州,545006)
軌跡規劃是機械臂運動控制的基礎,其性能對工業機器人工作效率和能量消耗具有重大影響[1]。根據應用場景與生產需求不同,軌跡規劃的目標可被分為時間最優、力矩最優等。其中,機械臂關節驅動力矩大小與其能耗及結構性能密切相關,在保證機械臂可以完成指定任務的同時,減少機械臂的關節驅動力矩,不但可以降低使用能耗,而且可以避免機械臂驅動力矩超限,延長使用壽命[2]。
力矩最優軌跡規劃是指在滿足角度、角速度、角加速度等各種約束條件下,確定一條以機器人關節驅動力矩均值和最優為目標的運動軌跡。程亞等通過雙種群布谷鳥算法優化關節力矩能耗,有效降低機械臂關節力矩總能耗[3]。ZHAO通過結合雙種群布谷鳥算法與五次多項式插值法優化機械臂關節驅動力矩,規劃出關節力矩和最優軌跡[4]。目前已有粒子群算法、布谷鳥算法和遺傳算法等優化算法被用于機械臂力矩優化,雖然這些優化算法使得機械臂力矩最優軌跡規劃效果得到改善,但是仍然存在易陷入局部最優解、收斂速度慢等問題。
本文提出一種基于改進灰狼算法的關節力矩優化方法,實現了對機械臂的力矩最優軌跡規劃,并將所提算法與PSO、GWO 算法進行對比實驗,可以看出改進灰狼算法收斂速度更快,對機械臂力矩優化效果更好。
在目標函數的選取上,考慮機械臂關節力矩均值和最小為優化目標。定義其目標函數為:
式中,θmax為角度最大值,為角速度最大值,為角加速度最大值。
五次多項式插值法不僅可以解決三次多項式插值法中加速度突變問題,還能夠適當減少運動過程中的沖擊震蕩。因此,采用五次多項式插值法對機械臂進行軌跡規劃[5]。
對于六自由度機械臂而言,包含n個路徑點的軌跡可以表示為θij(i= 1,2,… ,n)。設{t1,t2,… ,tn}是與關節j的路徑節點對應的時間序列。定義為第i條軌跡中關節j的角度、角速度與角加速度。則五次多項式定義為:
式中,t為時間,aji,(i= 0,1,… ,5)為待定系數。
根據兩個相鄰路徑點的角速度和角加速度的連續性條件,五次多項式各項系數可以表示為:
式中,tf=ti+1-ti,(i= 0,1,… ,n- 1)表示兩個路徑點之間的時間間隔。如果tf已知,是待優化的變量,θj(t),(t)和(t)可以由式(3)唯一確定。
灰狼優化算法(grew wolf oplimizer, GWO)[6]借鑒了灰狼種群嚴格的社會分工以及分工協作的捕食策略,通過不停迭代更新種群中灰狼位置從而實現最優解的求取。該算法的基本特性如下:
(1)社會等級分層
灰狼種群的社會等級劃分如圖1 所示,狼群根據個體適應度進行排序被劃分為α,β,δ和ω狼,前三個表現最好的設為α,β,δ狼,其余的候選解則被認為是ω狼。在GWO 算法中,α,β,δ狼負責指揮狼群搜索,ω狼則跟隨它們。

圖1 狼群的社會等級
(2)包圍獵物
灰狼在追蹤獵物過程中,逐漸逼近獵物形成包圍圈,其數學模型如下:
式中,t為當前迭代次數,為向量各分量取絕對值,X(t)為t次迭代后灰狼位置,Xp為t次迭代后獵物的位置,D為灰狼與獵物的距離, ( )Xt+1 為t+1 次迭代后灰狼位置,A 和C 為系數向量,定義為:
式中,1r 和2r 是[0,1]之間的隨機向量,a為收斂因子,定義為:
式中,tmax為最大迭代次數,a隨迭代次數的增加由2線性降低到0.
(3)狩獵
在狩獵過程中,假設α、β 和δ 狼作為每次迭代適應度最好的前3 頭狼。其他灰狼個體在α、β 和δ 狼的指導下更新自己的位置,狼群逐漸向獵物位置靠近,其數學模型如下:
式中,Xα、Xβ和Xδ分別表示為α、β和δ狼在當前迭代次數時的位置,X(t+)1 表示ω狼在t次迭代后的位置,1A、2A和3A的計算相似于A,1C、C2和C3的計算相似于C。
式中,t 為當前的迭代次數, tmax為最大迭代次數,n為調節系數,用以調節權重的大小。調節系數取不同權重值時收斂因子變化如圖2 所示。
由圖可見,在算法迭代前期,所提出的非線性收斂因子a可以保持較大步長以提高算法前期的全局搜索能力。算法迭代后期,算法逐漸收斂,余弦型非線性收斂因子相應減小,小步長有利于增強算法的局部開發能力。并且當0.9≤n≤1.5,可以明顯改善算法的性能,當n=1.1 時,算法的全局和局部搜索能力平衡效果最好,因此本文取n=1.1 。
IGWO 的具體實現步驟如下:
Step1:初始化改進灰狼算法基本參數,設置灰狼種群規模N,空間維度dim,搜索空間的上下限ub 和lb,最大迭代次數 tmax;
Step2:初始化灰狼位置,生成初始種群;
Step3:計算各個個體的適應度值{fi,i=1,2,3,…,N},將適應度值從小到大按順序排列,將適應度值前三所對應的個體確定為α、β、δ,其對應的位置信息分別為Xα、Xβ和Xδ。
Step4:利用式計算非線性控制參數a,式和分別更新A 以及C 值,式-更新狼群位置,通過更新獵物位置。
Step5:跳至Step3 直到達到終止條件,即到達最大迭代次數tmax。
Step6:輸出最優解α 狼的位置。
本文以六自由度工業機械臂PUMA560 為研究對象進行數值仿真,機械臂初始角度為θ= [90°,0°, -9 0°,0°,0°,0°],根據改進D-H 坐標系法則建立對應坐標系如圖3 所示,該方法建模簡單,具有通用性,被廣泛用于機器人的運動學建模。表1 為PUMA560 機械臂D-H 參數表。

表1 D-H參數表

圖3 PUMA560 坐標系建立
表2 為機械臂質量特性參數表,可得到機械臂系統的慣性質量參數以及質心坐標向量參數。本文使用拉格朗日法結合表2 求各關節力矩的變化值,作用在機械臂關節i 的驅動力矩:

表2 機械臂質量特性參數表
式中,第一項為角加速度慣量項,第二項為科里奧利力和向心力項,第三項為驅動器慣量項,第四項為重力項。
此外,應約束機械臂運行過程中的關節角度、角速度和角加速度,以確保其平穩運行,不會受到沖擊和抖動。PUMA560 機械臂運行過程中關節角度、速度及加速度約束條件如表3 所示 。

表3 機械臂關節約束條件
為了驗證算法的有效性,本文使用MATLAB 中的Robotics Toolbox 工具箱對PUMA560 機械臂進行建模和仿真。在實驗中,給定4 個路徑點,路徑點信息如表4所示。本實驗設種群規模為50,迭代次數為100。將起點與終點處的角速度、角加速度指定為0,每兩個路徑點之間的運行時間為2 秒,以中間路徑點關節速度作為待優化變量。

表4 路徑點序列
為驗證本文所選取的系數權重n=1.1 的合理性,本文對GWO 和IGWO 的n=1.1 、0.9、1.5 四種情況分別測試,結果如圖4所示。從圖4可以看出,當系數權重選取為n=1.1 時,優化后的關節力矩均值和明顯小于其他情況,結果更優。

圖4 不同系數權重n 優化結果
將IGWO 優化后的關節力矩均值和與PSO 和GWO 做比較,可得如圖5 所示的機械臂關節力矩均值和最優曲線,三種不同算法對各關節力矩均值和最優解的優化都有明顯效果,但IGWO 算法比PSO 算法和GWO 算法有更好的收斂精度,并且陷入局部最優時能快速跳出。

圖5 PSO,GWO 和IGWO 算法優化過程
通過PSO、GWO 和IGWO 算法獲得的最優力矩均值和以及實現收斂所需的時間如表5 所示。從表5 可以看出,IGWO 算法優化后得到的結果最好,同時IGWO 算法所需的收斂時間更少。

表5 PSO,GWO和IGWO算法優化后最小力矩均值和以及收斂時間
優化后關節角度、角速度、角加速度和最優力矩曲線圖如圖6 所示,從圖(a)- (c)中可以看出各關節角度、角速度和角加速度曲線平滑連續,說明機械臂各個關節能夠在路徑點之間連續地完成所設定的軌跡任務;圖6(d)為最優關節驅動力矩變化曲線,求解得到的關節驅動力矩曲線光滑連續,符合機械臂的設計要求,方便后續在工程實際中應用。

圖6 關節角度、角速度、角加速度和最優力矩曲線圖
本文提出一種改進灰狼算法對六自由度串聯機械臂關節力矩優化方法。利用余弦型非線性收斂因子改進GWO 算法使其可以快速跳出局部最優解,提高全局搜索能力,同時加快了算法的收斂速度。仿真結果表明:相比標準GWO 算法與PSO 算法,IGWO 算法所需收斂時間更短,且優化后的機械臂力矩均值和更小,結合IGWO 算法與五次多項式插值法可以規劃出一條關節力矩均值和最優的運動軌跡;同時該方法仿真得到的機械臂運行軌跡角度和角速度曲線平滑,角加速度曲線連續,可以滿足機械臂運動學約束條件。仿真結果說明了IGWO 算法可以應用到機械臂力矩優化中,且能夠實現機械臂力矩最優軌跡規劃。