李克訥,賀之祥,唐春怡,胡旭初
(1.廣西科技大學(xué) 自動(dòng)化學(xué)院,廣西柳州,545616;2.廣西柳州特種變壓器有限責(zé)任公司,廣西柳州,545006)
軌跡規(guī)劃是機(jī)械臂運(yùn)動(dòng)控制的基礎(chǔ),其性能對(duì)工業(yè)機(jī)器人工作效率和能量消耗具有重大影響[1]。根據(jù)應(yīng)用場(chǎng)景與生產(chǎn)需求不同,軌跡規(guī)劃的目標(biāo)可被分為時(shí)間最優(yōu)、力矩最優(yōu)等。其中,機(jī)械臂關(guān)節(jié)驅(qū)動(dòng)力矩大小與其能耗及結(jié)構(gòu)性能密切相關(guān),在保證機(jī)械臂可以完成指定任務(wù)的同時(shí),減少機(jī)械臂的關(guān)節(jié)驅(qū)動(dòng)力矩,不但可以降低使用能耗,而且可以避免機(jī)械臂驅(qū)動(dòng)力矩超限,延長(zhǎng)使用壽命[2]。
力矩最優(yōu)軌跡規(guī)劃是指在滿足角度、角速度、角加速度等各種約束條件下,確定一條以機(jī)器人關(guān)節(jié)驅(qū)動(dòng)力矩均值和最優(yōu)為目標(biāo)的運(yùn)動(dòng)軌跡。程亞等通過(guò)雙種群布谷鳥(niǎo)算法優(yōu)化關(guān)節(jié)力矩能耗,有效降低機(jī)械臂關(guān)節(jié)力矩總能耗[3]。ZHAO通過(guò)結(jié)合雙種群布谷鳥(niǎo)算法與五次多項(xiàng)式插值法優(yōu)化機(jī)械臂關(guān)節(jié)驅(qū)動(dòng)力矩,規(guī)劃出關(guān)節(jié)力矩和最優(yōu)軌跡[4]。目前已有粒子群算法、布谷鳥(niǎo)算法和遺傳算法等優(yōu)化算法被用于機(jī)械臂力矩優(yōu)化,雖然這些優(yōu)化算法使得機(jī)械臂力矩最優(yōu)軌跡規(guī)劃效果得到改善,但是仍然存在易陷入局部最優(yōu)解、收斂速度慢等問(wèn)題。
本文提出一種基于改進(jìn)灰狼算法的關(guān)節(jié)力矩優(yōu)化方法,實(shí)現(xiàn)了對(duì)機(jī)械臂的力矩最優(yōu)軌跡規(guī)劃,并將所提算法與PSO、GWO 算法進(jìn)行對(duì)比實(shí)驗(yàn),可以看出改進(jìn)灰狼算法收斂速度更快,對(duì)機(jī)械臂力矩優(yōu)化效果更好。
在目標(biāo)函數(shù)的選取上,考慮機(jī)械臂關(guān)節(jié)力矩均值和最小為優(yōu)化目標(biāo)。定義其目標(biāo)函數(shù)為:
式中,θmax為角度最大值,為角速度最大值,為角加速度最大值。
五次多項(xiàng)式插值法不僅可以解決三次多項(xiàng)式插值法中加速度突變問(wèn)題,還能夠適當(dāng)減少運(yùn)動(dòng)過(guò)程中的沖擊震蕩。因此,采用五次多項(xiàng)式插值法對(duì)機(jī)械臂進(jìn)行軌跡規(guī)劃[5]。
對(duì)于六自由度機(jī)械臂而言,包含n個(gè)路徑點(diǎn)的軌跡可以表示為θij(i= 1,2,… ,n)。設(shè){t1,t2,… ,tn}是與關(guān)節(jié)j的路徑節(jié)點(diǎn)對(duì)應(yīng)的時(shí)間序列。定義為第i條軌跡中關(guān)節(jié)j的角度、角速度與角加速度。則五次多項(xiàng)式定義為:
式中,t為時(shí)間,aji,(i= 0,1,… ,5)為待定系數(shù)。
根據(jù)兩個(gè)相鄰路徑點(diǎn)的角速度和角加速度的連續(xù)性條件,五次多項(xiàng)式各項(xiàng)系數(shù)可以表示為:
式中,tf=ti+1-ti,(i= 0,1,… ,n- 1)表示兩個(gè)路徑點(diǎn)之間的時(shí)間間隔。如果tf已知,是待優(yōu)化的變量,θj(t),(t)和(t)可以由式(3)唯一確定。
灰狼優(yōu)化算法(grew wolf oplimizer, GWO)[6]借鑒了灰狼種群嚴(yán)格的社會(huì)分工以及分工協(xié)作的捕食策略,通過(guò)不停迭代更新種群中灰狼位置從而實(shí)現(xiàn)最優(yōu)解的求取。該算法的基本特性如下:
(1)社會(huì)等級(jí)分層
灰狼種群的社會(huì)等級(jí)劃分如圖1 所示,狼群根據(jù)個(gè)體適應(yīng)度進(jìn)行排序被劃分為α,β,δ和ω狼,前三個(gè)表現(xiàn)最好的設(shè)為α,β,δ狼,其余的候選解則被認(rèn)為是ω狼。在GWO 算法中,α,β,δ狼負(fù)責(zé)指揮狼群搜索,ω狼則跟隨它們。
圖1 狼群的社會(huì)等級(jí)
(2)包圍獵物
灰狼在追蹤獵物過(guò)程中,逐漸逼近獵物形成包圍圈,其數(shù)學(xué)模型如下:
式中,t為當(dāng)前迭代次數(shù),為向量各分量取絕對(duì)值,X(t)為t次迭代后灰狼位置,Xp為t次迭代后獵物的位置,D為灰狼與獵物的距離, ( )Xt+1 為t+1 次迭代后灰狼位置,A 和C 為系數(shù)向量,定義為:
式中,1r 和2r 是[0,1]之間的隨機(jī)向量,a為收斂因子,定義為:
式中,tmax為最大迭代次數(shù),a隨迭代次數(shù)的增加由2線性降低到0.
(3)狩獵
在狩獵過(guò)程中,假設(shè)α、β 和δ 狼作為每次迭代適應(yīng)度最好的前3 頭狼。其他灰狼個(gè)體在α、β 和δ 狼的指導(dǎo)下更新自己的位置,狼群逐漸向獵物位置靠近,其數(shù)學(xué)模型如下:
式中,Xα、Xβ和Xδ分別表示為α、β和δ狼在當(dāng)前迭代次數(shù)時(shí)的位置,X(t+)1 表示ω狼在t次迭代后的位置,1A、2A和3A的計(jì)算相似于A,1C、C2和C3的計(jì)算相似于C。
式中,t 為當(dāng)前的迭代次數(shù), tmax為最大迭代次數(shù),n為調(diào)節(jié)系數(shù),用以調(diào)節(jié)權(quán)重的大小。調(diào)節(jié)系數(shù)取不同權(quán)重值時(shí)收斂因子變化如圖2 所示。
由圖可見(jiàn),在算法迭代前期,所提出的非線性收斂因子a可以保持較大步長(zhǎng)以提高算法前期的全局搜索能力。算法迭代后期,算法逐漸收斂,余弦型非線性收斂因子相應(yīng)減小,小步長(zhǎng)有利于增強(qiáng)算法的局部開(kāi)發(fā)能力。并且當(dāng)0.9≤n≤1.5,可以明顯改善算法的性能,當(dāng)n=1.1 時(shí),算法的全局和局部搜索能力平衡效果最好,因此本文取n=1.1 。
IGWO 的具體實(shí)現(xiàn)步驟如下:
Step1:初始化改進(jìn)灰狼算法基本參數(shù),設(shè)置灰狼種群規(guī)模N,空間維度dim,搜索空間的上下限ub 和lb,最大迭代次數(shù) tmax;
Step2:初始化灰狼位置,生成初始種群;
Step3:計(jì)算各個(gè)個(gè)體的適應(yīng)度值{fi,i=1,2,3,…,N},將適應(yīng)度值從小到大按順序排列,將適應(yīng)度值前三所對(duì)應(yīng)的個(gè)體確定為α、β、δ,其對(duì)應(yīng)的位置信息分別為Xα、Xβ和Xδ。
Step4:利用式計(jì)算非線性控制參數(shù)a,式和分別更新A 以及C 值,式-更新狼群位置,通過(guò)更新獵物位置。
Step5:跳至Step3 直到達(dá)到終止條件,即到達(dá)最大迭代次數(shù)tmax。
Step6:輸出最優(yōu)解α 狼的位置。
本文以六自由度工業(yè)機(jī)械臂PUMA560 為研究對(duì)象進(jìn)行數(shù)值仿真,機(jī)械臂初始角度為θ= [90°,0°, -9 0°,0°,0°,0°],根據(jù)改進(jìn)D-H 坐標(biāo)系法則建立對(duì)應(yīng)坐標(biāo)系如圖3 所示,該方法建模簡(jiǎn)單,具有通用性,被廣泛用于機(jī)器人的運(yùn)動(dòng)學(xué)建模。表1 為PUMA560 機(jī)械臂D-H 參數(shù)表。
表1 D-H參數(shù)表
圖3 PUMA560 坐標(biāo)系建立
表2 為機(jī)械臂質(zhì)量特性參數(shù)表,可得到機(jī)械臂系統(tǒng)的慣性質(zhì)量參數(shù)以及質(zhì)心坐標(biāo)向量參數(shù)。本文使用拉格朗日法結(jié)合表2 求各關(guān)節(jié)力矩的變化值,作用在機(jī)械臂關(guān)節(jié)i 的驅(qū)動(dòng)力矩:
表2 機(jī)械臂質(zhì)量特性參數(shù)表
式中,第一項(xiàng)為角加速度慣量項(xiàng),第二項(xiàng)為科里奧利力和向心力項(xiàng),第三項(xiàng)為驅(qū)動(dòng)器慣量項(xiàng),第四項(xiàng)為重力項(xiàng)。
此外,應(yīng)約束機(jī)械臂運(yùn)行過(guò)程中的關(guān)節(jié)角度、角速度和角加速度,以確保其平穩(wěn)運(yùn)行,不會(huì)受到?jīng)_擊和抖動(dòng)。PUMA560 機(jī)械臂運(yùn)行過(guò)程中關(guān)節(jié)角度、速度及加速度約束條件如表3 所示 。
表3 機(jī)械臂關(guān)節(jié)約束條件
為了驗(yàn)證算法的有效性,本文使用MATLAB 中的Robotics Toolbox 工具箱對(duì)PUMA560 機(jī)械臂進(jìn)行建模和仿真。在實(shí)驗(yàn)中,給定4 個(gè)路徑點(diǎn),路徑點(diǎn)信息如表4所示。本實(shí)驗(yàn)設(shè)種群規(guī)模為50,迭代次數(shù)為100。將起點(diǎn)與終點(diǎn)處的角速度、角加速度指定為0,每?jī)蓚€(gè)路徑點(diǎn)之間的運(yùn)行時(shí)間為2 秒,以中間路徑點(diǎn)關(guān)節(jié)速度作為待優(yōu)化變量。
表4 路徑點(diǎn)序列
為驗(yàn)證本文所選取的系數(shù)權(quán)重n=1.1 的合理性,本文對(duì)GWO 和IGWO 的n=1.1 、0.9、1.5 四種情況分別測(cè)試,結(jié)果如圖4所示。從圖4可以看出,當(dāng)系數(shù)權(quán)重選取為n=1.1 時(shí),優(yōu)化后的關(guān)節(jié)力矩均值和明顯小于其他情況,結(jié)果更優(yōu)。
圖4 不同系數(shù)權(quán)重n 優(yōu)化結(jié)果
將IGWO 優(yōu)化后的關(guān)節(jié)力矩均值和與PSO 和GWO 做比較,可得如圖5 所示的機(jī)械臂關(guān)節(jié)力矩均值和最優(yōu)曲線,三種不同算法對(duì)各關(guān)節(jié)力矩均值和最優(yōu)解的優(yōu)化都有明顯效果,但I(xiàn)GWO 算法比PSO 算法和GWO 算法有更好的收斂精度,并且陷入局部最優(yōu)時(shí)能快速跳出。
圖5 PSO,GWO 和IGWO 算法優(yōu)化過(guò)程
通過(guò)PSO、GWO 和IGWO 算法獲得的最優(yōu)力矩均值和以及實(shí)現(xiàn)收斂所需的時(shí)間如表5 所示。從表5 可以看出,IGWO 算法優(yōu)化后得到的結(jié)果最好,同時(shí)IGWO 算法所需的收斂時(shí)間更少。
表5 PSO,GWO和IGWO算法優(yōu)化后最小力矩均值和以及收斂時(shí)間
優(yōu)化后關(guān)節(jié)角度、角速度、角加速度和最優(yōu)力矩曲線圖如圖6 所示,從圖(a)- (c)中可以看出各關(guān)節(jié)角度、角速度和角加速度曲線平滑連續(xù),說(shuō)明機(jī)械臂各個(gè)關(guān)節(jié)能夠在路徑點(diǎn)之間連續(xù)地完成所設(shè)定的軌跡任務(wù);圖6(d)為最優(yōu)關(guān)節(jié)驅(qū)動(dòng)力矩變化曲線,求解得到的關(guān)節(jié)驅(qū)動(dòng)力矩曲線光滑連續(xù),符合機(jī)械臂的設(shè)計(jì)要求,方便后續(xù)在工程實(shí)際中應(yīng)用。
圖6 關(guān)節(jié)角度、角速度、角加速度和最優(yōu)力矩曲線圖
本文提出一種改進(jìn)灰狼算法對(duì)六自由度串聯(lián)機(jī)械臂關(guān)節(jié)力矩優(yōu)化方法。利用余弦型非線性收斂因子改進(jìn)GWO 算法使其可以快速跳出局部最優(yōu)解,提高全局搜索能力,同時(shí)加快了算法的收斂速度。仿真結(jié)果表明:相比標(biāo)準(zhǔn)GWO 算法與PSO 算法,IGWO 算法所需收斂時(shí)間更短,且優(yōu)化后的機(jī)械臂力矩均值和更小,結(jié)合IGWO 算法與五次多項(xiàng)式插值法可以規(guī)劃出一條關(guān)節(jié)力矩均值和最優(yōu)的運(yùn)動(dòng)軌跡;同時(shí)該方法仿真得到的機(jī)械臂運(yùn)行軌跡角度和角速度曲線平滑,角加速度曲線連續(xù),可以滿足機(jī)械臂運(yùn)動(dòng)學(xué)約束條件。仿真結(jié)果說(shuō)明了IGWO 算法可以應(yīng)用到機(jī)械臂力矩優(yōu)化中,且能夠?qū)崿F(xiàn)機(jī)械臂力矩最優(yōu)軌跡規(guī)劃。