段倩倩,辛紹杰
(上海電機學院機械學院,上海 201306)
機械臂軌跡規(guī)劃一直都是機器人控制領域的研究熱點。目前軌跡規(guī)劃分為兩種:一種是對時間進行優(yōu)化,選擇運動時間作為優(yōu)化對象可以提高機器人工作效率;另一種是對系統(tǒng)能量進行優(yōu)化,選擇系統(tǒng)能量作為優(yōu)化對象,可減少機器人的能量損耗,延長使用壽命。
針對機械臂的運動時間與平穩(wěn)性問題,文獻[2]提出了五次多項式插值法對上肢康復機器人進行關節(jié)空間的軌跡規(guī)劃,得到了各關節(jié)較為平滑的角位移、角速度和加速度曲線;文獻[3]提出了基于非線性動態(tài)改變慣性權重的粒子群優(yōu)化算法,并采用傳統(tǒng)的3-5-3多項式插值方法,整體運動時間縮短了約26%,證明了該算法的可行性;沈悅等人提出了一種基于PSO的工業(yè)機器人時間-脈動最優(yōu)軌跡規(guī)劃算法,結(jié)合五次非均勻B樣條插值法,通過實驗證明了該方法的有效性;胡嘉陽和韋巍將五次NUBRS曲線作為工作軌跡,利用混合粒子群算法,針對機械臂脈動沖擊、能量消耗和工作時間等3個優(yōu)化目標建立了帕累托最優(yōu)解集,證實了該方法可有效提高機械臂運行效率和實現(xiàn)約束條件下的多目標優(yōu)化。采用傳統(tǒng)的數(shù)學插補函數(shù)雖然可以保證各關節(jié)位置、速度和加速度的連續(xù)性,保持關節(jié)運動的平穩(wěn)性,但無法優(yōu)化運動時間,效率低下。單目標粒子群算法(Particle Swarm Optimization,PSO)實現(xiàn)簡單、搜索高效,但也存在容易早熟無法找到全局最優(yōu)解的弊端。
本文作者建立新的模擬退火Metropolis準則,并將它引入粒子群算法,加強粒子群優(yōu)化算法的全局搜索能力。采用非線性慣性權重遞減策略平衡粒子群算法全局和局部搜索能力;設計動態(tài)學習因子,有效加快算法前后期的搜索速度;通過權重系數(shù)歸一法得到以運行時間-脈動沖擊為目標函數(shù)的最優(yōu)解。結(jié)果表明:使用改進混合粒子群算法進行軌跡優(yōu)化,有效減少機械臂脈動沖擊,保持平穩(wěn)運行,提高機器人的工作效率。
在機器人運動學中,已知運動過程中各關節(jié)角隨時間的變化,可采用高階多項式對軌跡進行規(guī)劃。相對于五次多項式插補函數(shù),七次多項式函數(shù)不僅可保證各插值點的位置、速度和加速度的連續(xù)性,而且還可使各關節(jié)的加加速度保持連續(xù),減少機械臂工作過程中產(chǎn)生的沖擊。因此,在每個關節(jié)的關節(jié)空間下選取4個路徑點,形成3段軌跡曲線。構(gòu)造5-7-5軌跡曲線表達式如下:
1()=+++++
(1)
2()=++++++
+
(2)
3()=+++++
(3)
式中:表示第1~6個關節(jié);1、2、3(=1~)分別表示各關節(jié)軌跡方程的第個系數(shù)。對式(1)—(3)依次求1、2、3階導可得到時刻的速度、加速度和加加速度表達式。通過以上表達式,可為機械臂在關節(jié)空間內(nèi)定義運動約束條件。
考慮曲線路徑起始點和末端點狀態(tài),定義各關節(jié)的起止點位置、速度和加速度以及加加速度為0,保證位置、速度、加速度和加加速度即軌跡的3階導數(shù)在中間兩點處皆連續(xù)。已知以上約束條件,關節(jié)空間軌跡曲線系數(shù)與路徑點角度關系的推導過程如下:
=[,0,0,0,,0,0,0,,,,,0,0,0,0,0,0,0,0]
=·
(4)
(5)
(6)
=
(7)
(8)
,…,為時間系數(shù)矩陣的矩陣分量,為關節(jié)位置參數(shù)矩陣。通過式(4)可求得多項式系數(shù),再將該系數(shù)矩陣回代至式(1)—(3)中,可求得5-7-5關節(jié)空間軌跡方程。
在機械臂工作時,主要通過運行時間、能量損耗、脈動沖擊這3個指標來衡量是否達到要求。以機械臂的時間-脈動沖擊最優(yōu)為目標,構(gòu)造基于時間的目標函數(shù)、基于脈動沖擊的目標:
(9)
(10)
其中:代表機械臂總運行時間,可用來衡量運行效率;加加速度代表脈動沖擊量,衡量機械臂軌跡的平滑性。根據(jù)確立的優(yōu)化目標函數(shù),通過設定權重系數(shù)將目標函數(shù)歸一化進行處理,定義適應度函數(shù)為
=+
(11)
式中:和為權重系數(shù),且滿足+=1;為彈性調(diào)節(jié)因子,的存在是為了平衡脈動沖擊和動作時間數(shù)量級上的差別。通過試湊法確定的取值為0.01,再通過調(diào)整和可使動作時間和脈動沖擊在一定程度上均達到最優(yōu)效果。
由于機械臂關節(jié)具備自由旋轉(zhuǎn)的空間活動度,約束項的確立可為機械臂確定工作范圍,提高機械臂的工作性能。為達到時間-脈動沖擊最優(yōu),定義約束條件如下:
位置約束:≤|()|≤;
速度約束:|()|≤;
加速度約束:|()|≤;
加加速度約束:|()|≤;
其中:和分別表示關節(jié)相對于初始位置方向的最小和最大旋轉(zhuǎn)位移;、、分別表示速度、加速度和加加速度最大值。
粒子群算法是在1995年由KENNEDY、EBERHART共同提出的。該算法通過模擬鳥群和魚群等群體捕食的移動機制,將鳥群或魚群中的個體形容為“粒子”,利用粒子之間和粒子與最優(yōu)粒子間的信息交互,不斷更新,找到群里最優(yōu)解。將粒子群算法應用在多個目標求綜合最優(yōu)的算法稱為多目標粒子群優(yōu)化(Multiple Objective Particle Swarm Optimization,MOPSO)算法。
多目標粒子群優(yōu)化算法是建立在傳統(tǒng)粒子群算法基礎之上的算法,但求解對象的數(shù)量不同。初始化目標種群后,通過位置、速度和適應度來表示種群中的粒子特征。粒子在維搜索空間中不斷迭代更新位置、速度以及適應度的每一次過程中,都會產(chǎn)生一個粒子適應度最優(yōu)位置,再與每一次迭代更新產(chǎn)生的不同的最優(yōu)個體適應度比較,從而確定全局最優(yōu)解,粒子的速度和位置迭代表達式分別如式(12)(13)所示:
(12)
(13)
為慣性權重系數(shù),它的存在會使粒子在計劃改變行進方向時由于慣性繼續(xù)朝著當前方向行駛一段距離,因此值可以平衡局部和全局搜索的能力。多目標優(yōu)化問題屬于復雜非線性尋優(yōu)問題,采用非線性遞減慣性權重策略處理多目標的局部和全局搜索能力,如公式(14)所示:
(14)
其中:為慣性權重系數(shù)初始值;為迭代結(jié)束后的慣性權重;為第次迭代;為迭代最大次數(shù)。
為全局學習因子,為局部學習因子,為初始值,學習因子隨著粒子的每一次迭代更新而更新,表達式分別如式(15)(16)所示:
(15)
(16)
與粒子群優(yōu)化算法相似,模擬退火算法包含兩層循環(huán),外層表示溫度的逐漸降低,內(nèi)層則表示在當前溫度下的迭代次數(shù)。模擬退火算法在原解的鄰域通過擾動隨機產(chǎn)生新解,new,并通過Metropolis準則生成概率表達式,通過概率表達式判斷是否接受新解。
傳統(tǒng)模擬退火算法是隨機進行大范圍的搜索,效率低下。針對文中待優(yōu)化的多目標函數(shù),對原算法進行改進,強化局部搜索能力。改進Metropolis準則如式(17)所示:
(17)
式(17)為通過擾動當前模型而隨機產(chǎn)生的新解模型表達式。式中:,e、,s分別為的最大值和最小值;為擾動因子;為(0,1)內(nèi)的隨機數(shù);為當前溫度;為最大迭代次數(shù);為確定非均勻性程度的常數(shù)(形狀因子);sgn為符號函數(shù),定義如式(18)所示:
(18)
由式(17)(18)可知:高溫時,解的搜索范圍非常大,但隨著迭代次數(shù)的增多,溫度降低,搜索范圍逐漸減小,可以較好地控制搜索;值越大,控制局部搜索的能力就越強,提高了其收斂性能。
改進的Metropolis準則如式(19)所示:
(19)
其中:為溫度;為實數(shù);為正實數(shù)。
所降低的溫度表達式如式(20)所示:
=exp(-12)
(20)
其中:為初始溫度;為迭代次數(shù);為溫度衰減系數(shù)。
多目標粒子群混合改進模擬退火算法步驟如下:
步驟2,設定待求解適應度函數(shù),通過目標函數(shù)和結(jié)合約束條件計算每次迭代值,并以適應度作為迭代次的衡量標準,將次迭代更新中每個粒子出現(xiàn)過的最優(yōu)點作為個體最優(yōu)解保存,再與整體種群粒子比較,選取全局最優(yōu)值保存。
步驟3,每次迭代后粒子速度和位置都會更新一次,更新后的新解由改進的模擬退火算法Metropolis準則判斷是否接受并作為局部最優(yōu),再以步驟2的方式更新全體最優(yōu),選擇接受新解的概率表達式為式(19);
步驟4,比較迭代次數(shù),將迭代前期到迭代后期時間內(nèi),粒子分布由發(fā)散逐漸到集中作為原則,按照公式(20)更新退火溫度,使溫度加快下降;
步驟5,比較當前迭代次數(shù)和最大迭代次數(shù)的大小,當<時,迭代繼續(xù);當>時,迭代結(jié)束,退出循環(huán)。
以某六自由度機器人(SFR-TA)為研究對象進行建模,采用D-H參數(shù)變換法建立SFR-TA運動學模型。將SFR-TA多余部件等簡化去除,只保留機械臂部分,并按比例規(guī)劃后建立D-H參數(shù)連桿坐標系,如圖1所示。對應的D-H參數(shù)如表1所示。
圖1 SFR-TA機械臂連桿坐標系
表1 SFR-TA的D-H參數(shù)
規(guī)劃機械臂末端執(zhí)行器從點(6,3.5,0)cm運動至(3,1,3)cm的軌跡曲線,如圖2所示。
圖2 SFR-TA運行軌跡
在該軌跡曲線上選取4個關節(jié)空間路徑點,如表2所示,表示第個關節(jié)在第個路徑點的位置。
表2 關節(jié)空間路徑點 單位:(°)
初始化各關節(jié)插值點間的運動時間間隔,令其間隔時間都為8 s,形成3-5-3多項式軌跡。各關節(jié)軌跡曲線如圖3所示。
圖3 3-5-3多項式軌跡
由圖3可知,雖然各關節(jié)在整個運動過程中的位置、速度和加速度軌跡曲線均保持平滑連續(xù),且滿足起止點指定速度和加速度為0的要求,但加加速度曲線出現(xiàn)了劇烈波動,軌跡不平滑,說明機械臂在動作過程中發(fā)生了較明顯的沖擊,無法保證其運行平穩(wěn)性。
為驗證改進混合粒子群算法的有效性,利用5-7-5多項式對SFR-TA運行軌跡進行點至即點到點的軌跡規(guī)劃。定義機械臂動作時間為8 s,指定起止點的速度、加速度和加加速度均為0,各關節(jié)運動特性約束值如表3所示。
表3 SFR-TA關節(jié)運動學約束
初始化改進混合粒子群算法參數(shù):粒子數(shù)=20;迭代次數(shù)=300;粒子飛行速度為(-2,2)rad/s;動態(tài)學習因子==2;慣性權重系數(shù)=0.4、=0.9;初始溫度=100 ℃;溫度衰減系數(shù)=0.8。
根據(jù)進混合粒子群算法步驟對目標函數(shù)進行優(yōu)化,結(jié)果如表4所示。
表4 目標函數(shù)優(yōu)化值
由表4可知:隨著的減小而增大,隨著的增大而減小,說明動作時間最優(yōu)和脈動沖擊最優(yōu)是共同制約的關系,當動作時間達到最優(yōu)時,脈動沖擊優(yōu)化效果差,反之亦然。因此,應根據(jù)實際工程需要選取出最合適的權重系數(shù),使得適應度函數(shù)最小,從而達到二者的最優(yōu)解。選取==0.5情況下的各關節(jié)優(yōu)化時間如表5所示。
表5 關節(jié)運動時間優(yōu)化值
根據(jù)以上優(yōu)化條件,利用5-7-5多項式構(gòu)造點至的各關節(jié)軌跡曲線,如圖4所示。
由圖4可知:相比于圖3中3-5-3多項式插值軌跡,優(yōu)化后采用5-7-5多項式規(guī)劃的軌跡曲線不僅位置、速度和加速度皆連續(xù),而且加加速度的軌跡曲線在整個運行過程中沒有發(fā)生突起和波動,且都滿足設定的運動學約束條件,能夠?qū)崿F(xiàn)平穩(wěn)啟停,不會產(chǎn)生沖擊。由表5可知:經(jīng)過改進混合粒子群算法優(yōu)化后,各關節(jié)的動作時間減少了,關節(jié)總體優(yōu)化值相對于設定時間總和減少了28.752 1 s。由圖3和圖4可知,脈動沖擊值得到大幅度優(yōu)化。
圖4 各關節(jié)優(yōu)化軌跡
綜上,采用改進混合粒子群算法優(yōu)化5-7-5多項式插值可以得到平滑連續(xù)、脈動平穩(wěn)的運動軌跡,提高了機械臂的工作效率,同時保證了運行平穩(wěn)性。
為證明多目標混合粒子群算法的穩(wěn)定性,以關節(jié)4為例,分別采用多目標混合粒子群算法和傳統(tǒng)粒子群算法進行優(yōu)化,并進行多次尋優(yōu),結(jié)果如表6所示。
表6 2種算法優(yōu)化時間的對比 單位:s
由表6可知:在6次尋優(yōu)結(jié)果中,傳統(tǒng)粒子群算法的優(yōu)化時間經(jīng)常變動,最大為3.667 4 s;而改進混合粒子群算法的搜索時間都穩(wěn)定在3.625 8 s,并且時間更短,具有較強的穩(wěn)定性。
由圖5可知:改進混合粒子群算法的收斂速度遠快于傳統(tǒng)粒子群算法,迭代次數(shù)控制在50以內(nèi),驗證了改進混合粒子群算法具有更快的全局搜索能力。
圖5 多目標混合粒子群和傳統(tǒng)粒子群時間尋優(yōu)對比
本文作者提出了一種改進混合粒子群優(yōu)化算法,借助機器人工具箱構(gòu)造SFR-TA的運動軌跡,結(jié)合5-7-5多項式規(guī)劃方法,通過改進混合粒子群算法進行機器人的時間和脈動沖擊最優(yōu)設計,使得運動時間有效減短,且平穩(wěn)性較好,有效提高機器人工作性能。主要改進了以下兩方面:將模擬退火機制引入粒子群算法,對模擬退火算法中的Metropolis準則進行改進,建立了新的概率接受表達式和降溫操作,加快全局搜索能力和收斂速度;利用改進混合粒子群算法對5-7-5多項式的系數(shù)進行優(yōu)化,同時優(yōu)化運動時間和脈動沖擊,提高迭代效率。結(jié)果表明:與傳統(tǒng)粒子群算法相比,改進混合粒子群優(yōu)化算法的全局搜索能力更強、收斂速度更快,并具有很好的穩(wěn)定性,能有效提高機器人工作效率并保持運行平穩(wěn)性。