王 超,宋公飛,2,3,徐寶珍
(1.南京信息工程大學自動化學院,江蘇 南京 210044;2.化工過程先進控制和優(yōu)化技術(shù)教育部重點實驗室,上海 200237;3.南京信息工程大學江蘇省大氣環(huán)境與裝備技術(shù)協(xié)同創(chuàng)新中心,江蘇 南京 210044)
隨著德國“工業(yè)4.0”和“中國制造2025”的對接、合作的不斷深入,工業(yè)機器人的市場需求即將進入噴發(fā)期。工業(yè)機器人不僅需要以更高的效率運行,還需要保證其運行的穩(wěn)定性,為此則需要規(guī)劃出一條合理的運行軌跡。
軌跡規(guī)劃是軌跡跟蹤的基礎(chǔ),以運動學等為基礎(chǔ)。文獻[1]中闡述了兩類常見的軌跡規(guī)劃方案:有特定路徑要求的CP(Continuous Path)類型作業(yè);無特定路徑要求的PTP(Point to Point)作業(yè)。對于不同的任務(wù)要求,優(yōu)化目標各不相同,常見的優(yōu)化算法采用粒子群算法[2]、混沌算法[3]等。遺傳算法[4]其發(fā)展成熟、參數(shù)簡單、易實現(xiàn)等特點被廣泛運用。文獻[5]中采用三次樣條曲線擬合關(guān)節(jié)軌跡,采用傳統(tǒng)的遺傳算法對時間-脈沖進行優(yōu)化。由于交叉和變異概率為固定值,無法隨著迭代次數(shù)的變化而改變,存在早熟和難以跳出局部最優(yōu)解。文獻[6]中采用五次均勻B樣條在關(guān)節(jié)空間中快速插值,以優(yōu)勢遺傳算法尋求時間最優(yōu)軌跡。優(yōu)勢遺傳算法中交叉和變異概率雖可自適應(yīng)變化,但在個體最大適應(yīng)值處存在不交叉和不變異情況。文獻[7]中采用三次B樣條對關(guān)節(jié)軌跡進行逼近,以時間為目標函數(shù)通過改進的線性自適應(yīng)遺傳算法尋求最優(yōu)軌跡。但優(yōu)化問題往往是復(fù)雜的非線性問題,線性調(diào)整并不符合種群進化的特點。
針對這些問題,本文在基礎(chǔ)遺傳算法上構(gòu)造新的非線性自適應(yīng)交叉和變異算子。隨著進化的進行,根據(jù)種群的特點在線調(diào)整交叉和變異概率,使算法具備更好的跳出局部最優(yōu)解能力和更優(yōu)的全局搜索能力。仿真結(jié)果表明在相同的路徑點和運動學約束條件下,相較于其它優(yōu)化算法可以搜索到更為優(yōu)秀的全局最優(yōu)解且擁有更好的穩(wěn)定性。
在笛卡爾空間中給定預(yù)設(shè)路徑點,運用逆運動學反算出關(guān)節(jié)空間所對應(yīng)序列點pji=(θji,ti);其中j=1,2,….,N;i=1,2,…,n。式中,N表示關(guān)節(jié)數(shù);n表示路徑點;ti表示末端執(zhí)行器經(jīng)過第i路徑點的時刻;θji表示第j關(guān)節(jié)在第i路徑點處關(guān)節(jié)角度。
運用k次非均勻B樣條曲線擬合關(guān)節(jié)空間的序列點即得到關(guān)節(jié)軌跡。一條k次非均勻B樣條插值軌跡[8]
(1)
式中,dj表示控制點;u表示歸一化節(jié)點向量;Nj,k(u)表示k次規(guī)范B基函數(shù),由節(jié)點矢量按照德布爾-考克斯遞推公式求出[8]。
關(guān)節(jié)軌跡必須要經(jīng)過給定路徑點Pi,所以插值曲線的連接點需要同內(nèi)節(jié)點相對應(yīng),需要反求控制點。節(jié)點個數(shù)為:n+2k,控制頂點個數(shù)為:n+k-1,為了保證B樣條曲線起止端點和數(shù)據(jù)點的一致性,定義兩端節(jié)點的重復(fù)度:u1=…=u6=0和un+5=…=un+10=1。 路徑點對應(yīng)節(jié)點值為:pi→ui,內(nèi)節(jié)點計算公式由式(2)給出
(2)
本文采用五次非均勻B樣條函數(shù),即k=5。將位于節(jié)點區(qū)間[u6,un+5]內(nèi)的節(jié)點值依次代入上式(1),可得式(3)
(3)
顯然n+4個控制點,需要列出n+4四個方程,n個方程由對應(yīng)路徑點給出,另外4個方程由邊界條件給出。邊界條件為下式(4),即啟停角速度、角加速度,本文設(shè)置為零。
q′(u6)=ωe;q′(u13)=ωe
q″(u6)=as;q″(u13)=ae
(4)
根據(jù)(3)-(4)列出矩陣方程
(5)
求得控制點d后,根據(jù)式(1)得到關(guān)節(jié)運動軌跡函數(shù),進而求得速度、加速度和沖擊函數(shù)。
為了提高工作效率,同時兼顧工業(yè)機器人的速度、加速度和沖擊運動學約束,定義如下式(6)目標函數(shù)和式(7)約束條件。
(6)
速度約束:max|vj(t)|≤vmj,j=1,2,…,N
加速度約束:max|aj(t)|≤amj,j=1,2,…,N
沖擊約束:max|jerkj(t)|≤jerkmj,j=1,2,…,N
(7)
式中,vj,aj和jerkj分別表示第j關(guān)節(jié)的速度,加速度和沖擊。vmj,amj和jerkmj分別表示第j關(guān)節(jié)的最大速度,加速度和沖擊。
1)編碼和種群初始化。采用不同的編碼方式,在搜索空間內(nèi)隨機產(chǎn)生一定數(shù)量的種群;
2)適應(yīng)度計算。根據(jù)適應(yīng)度公式計算個體適應(yīng)度值,應(yīng)適度值表示種群個體的優(yōu)劣程度;
3)選擇操作。根據(jù)選擇算子計算種群中每個個體被選中概率,即被選中并遺傳給下一代概率;
4)交叉操作。由交叉算子和交叉概率共同決定,以交叉概率選擇父代染色體,按交叉算子產(chǎn)生子代;
5)變異操作。由變異算子和變異概率共同決定,以變異概率選擇父代染色體,按變異算子決定變異方式;
6)檢驗是否滿足結(jié)束條件。滿足則迭代終止,否則跳轉(zhuǎn)至2。
交叉概率和變異概率,分別決定遺傳算法的全局和局部搜索能力[9]。研究表明算法性能與這兩個參數(shù)密切相關(guān),因此本文在文獻[6][10]的基礎(chǔ)上對交叉概率和變異概率設(shè)計了自適應(yīng)調(diào)節(jié)機制。
文獻[6]中提出了一種自適應(yīng)調(diào)節(jié)機制,其交叉和變異概率如下式(8)(9)所示
(8)
(9)
式中,fmax表示種群中最大適應(yīng)值。favg表示每代種群平均適應(yīng)值。fmax表示種群最大適應(yīng)度。f′表示要交叉父代較大的適應(yīng)值。f表示要變異個體適應(yīng)值。
從式(8)、(9)可以看出當個體適應(yīng)值越大,交叉和變異概率越小;當為最大適應(yīng)值時,交叉和變異概率為零。進化初期,如果出現(xiàn)超級個體易使進化走向局部最優(yōu)解,所以按下式(10)(11)進行改進。
(10)
(11)
式中,σ(t)表示第t代種群體適應(yīng)值的標準差。只需要調(diào)整好pc0,pc1,pc2和pm0,pm1,pm2即可實現(xiàn)交叉和變異概率的在線調(diào)整。
從上式(10)、(11)可以看出由于雙曲正切函數(shù)的引進,交叉和變異概率計算復(fù)雜度略有增加,但是交叉和變異概率為非線性調(diào)整,相較于式(8)、(9)更加符合種群的進化特點。當個體適應(yīng)度值大于平均適應(yīng)度,即表示該個體較優(yōu),采用較低的交叉和變異概率,使該個體得以保護進入下一代,保證算法能夠快速收斂。對于個體適應(yīng)度值小于平均適應(yīng)度,即表示該個體較劣,采用非固定較大值得交叉和變異概率,加快該個體的淘汰速度。采用當代種群適應(yīng)值的標準差來評估種群多樣性可以解決最大適應(yīng)值為離群值情況。對于最小適應(yīng)度個體交叉和變異概率得以提高,這使算法在初期不會處于停滯不前的狀態(tài),避免初期陷入局部最優(yōu)解。
為了驗證基于改進的自適應(yīng)遺傳算法的五次非均勻B樣條曲線時間最優(yōu)軌跡規(guī)劃方案的有效性,使上式(6)在上式(7)約束下求得最小值,即運行時間最短。經(jīng)過的關(guān)節(jié)位置序列點(弧度制)見表1。
表1 各個關(guān)節(jié)位置序列
各個關(guān)節(jié)速度,加速度,沖擊約束極限值,見表2。
表2 運動學約束
設(shè)定關(guān)節(jié)啟停角速度、角加速度都為零,種群規(guī)模80,迭代次數(shù)120,采用文獻[11]中自適應(yīng)懲罰函數(shù)構(gòu)造適應(yīng)值函數(shù),選擇算子采用錦標賽選擇,交叉方式為線性交叉,交叉概率為式(10),其中pc0、pc1和pc2分別為0.6、0.4和0.2,變異方式為非均勻變異,變異概率為式(11),其中pm0,pm1和pm2分別為0,06、0.02和0.01。
改進的自適應(yīng)遺傳算法尋優(yōu)結(jié)果見表3。
表3 尋優(yōu)結(jié)果
文獻[12]中采用相同路徑點和約束條件,MIDE(Multiple Population Immigration Differential Evolution)算法求得最優(yōu)結(jié)果為:Ttotal=16.8643。上表3中五次仿真結(jié)果均優(yōu)于文獻[12],表明本文所改進的自適應(yīng)遺傳算法具有更強尋優(yōu)能力和穩(wěn)定性。
為了驗證所得到解的可行性,繪制各個關(guān)節(jié)位置、速度、加速度和沖擊曲線如圖1、圖2、圖3和圖4。
圖1 各個關(guān)節(jié)位置曲線
圖2 各個關(guān)節(jié)速度曲線
圖3 各個關(guān)節(jié)加速度圖
圖4 各個關(guān)節(jié)沖擊圖
圖1為各個關(guān)節(jié)位移曲線,由圖1可知根據(jù)上述算法所得到的關(guān)節(jié)軌跡均能通過預(yù)設(shè)路徑點(“※”表示關(guān)節(jié)空間路徑點)且運行軌跡平滑,表明五次非均勻B樣條插值的正確性。圖2為各個關(guān)節(jié)速度變化曲線,由圖2可知各關(guān)節(jié)的角速度均在約束范圍內(nèi),啟停速度為零且速度曲線連續(xù)。圖3為各個關(guān)節(jié)加速度曲線,由圖可知各關(guān)節(jié)均在約束范圍內(nèi),啟停加速度為零且變化曲線連續(xù)。圖4為各個關(guān)節(jié)沖擊曲線,由圖可知關(guān)節(jié)6沖擊值較大,但在約束范圍內(nèi)且曲線連續(xù)。綜合上述,本文提出的基于改進的自適應(yīng)遺傳算法的五次非均勻B樣條插值時間最優(yōu)軌跡規(guī)劃能得到速度、加速度和沖擊連續(xù)的運動軌跡且運行時間較短,可以確保機器人平穩(wěn)性以及較高的工作效率。
本文首先運用五次非均勻B樣條曲線插值法在關(guān)節(jié)空間進行插值,擬合出工業(yè)機器人運動軌跡;然后分析了前人對遺傳算法改進存在的不足之處;接著提出了在進化過程中可以隨著迭代次數(shù)變化的非線性自適應(yīng)交叉和變異算子;最后在相同的路徑點和約束條件下以最優(yōu)時間為目標進行尋優(yōu)最短時間為Tmin=14.2956,優(yōu)于相同條件下的MIDE算法最短時間Ttotal=16.8643。相比于MIDE算法優(yōu)化時間縮短了15.23%。綜上,得出如下結(jié)論:
1)所改進的自適應(yīng)遺傳算法在求解全局最優(yōu)解具備更高的搜索精度;
2)所改進的自適應(yīng)遺傳算法在求解全局最優(yōu)解更加穩(wěn)定;
3)所改進的自適應(yīng)遺傳算法對于提高作業(yè)效率有著更實際的意義,同時也為遺傳算法在機器人避障、能量和沖擊最優(yōu)軌跡規(guī)劃中提供借鑒價值。