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