何建成,李林升,林國湘
(1.南華大學(xué) 機械工程學(xué)院,衡陽 421001;2.上海電機學(xué)院 電氣學(xué)院,上海 201306)
軌跡規(guī)劃(trajectory planning)屬于機器人運動控制類研究領(lǐng)域。隨著自動化程度的進一步發(fā)展,追求更佳高效、穩(wěn)定、智能的機械化設(shè)備是當(dāng)前發(fā)展的趨勢,對運行軌跡進行優(yōu)化可以使機械臂更佳高效的按照預(yù)期運行。在考慮各種工況的前提下,添加相應(yīng)的工況約束,如:工作空間、速度、加速度、加加速度等,使其達到預(yù)期的工作效果,至始自終都是設(shè)計者所追求的。
針對不同的機器,依據(jù)不同的設(shè)計初衷有不同的設(shè)計目標(biāo),后期的優(yōu)化改進也是朝著這一初衷方向進行。對運行軌跡進行優(yōu)化常用評判指標(biāo)通常有三項[1]:時間最優(yōu)(效率)、能耗最優(yōu)(節(jié)能)、沖擊最優(yōu)(壽命)。
優(yōu)化目標(biāo)對象通??煞譃閱文繕?biāo)、組合目標(biāo)、多目標(biāo)[2]。
單目標(biāo)優(yōu)化常有:關(guān)于時間最優(yōu)軌跡優(yōu)化,適當(dāng)?shù)奶嵘龣C械臂運行的速度,減少運行時間,從而提高運行效率;關(guān)于能量最優(yōu)軌跡優(yōu)化,旨在減少機械部件的應(yīng)力,降低能耗,適用于能耗高的工況條件;關(guān)于沖擊最優(yōu)軌跡優(yōu)化,以減少沖擊的產(chǎn)生為目標(biāo),從而達到運行的跟蹤精度提升,保護機械結(jié)構(gòu),使其平穩(wěn)運行,延長機器的使用壽命。單目標(biāo)優(yōu)化中,對于時間最優(yōu)軌跡優(yōu)化的研究開展最早,屬于熱門研究對象。付榮等[3]用分段多項式插值的方法,采用3-5-3多項式插值運行軌跡,得到關(guān)節(jié)軌跡方程,后基于粒子群優(yōu)化算法(PSO)進行時間最優(yōu)的軌跡優(yōu)化,該實驗驗證了該種算法相較于傳統(tǒng)的3-5-5多項式插值在運行時間及平穩(wěn)性上更優(yōu)。
組合目標(biāo)優(yōu)化,是考慮實際的需要,同時考慮兩種或兩種以上的性能最優(yōu)性,得到綜合優(yōu)化的機器人運行軌跡。常常用權(quán)重系數(shù)法處理組合目標(biāo)優(yōu)化問題,該種方法一般對各優(yōu)化目標(biāo)函數(shù)添加相應(yīng)的權(quán)重系數(shù),將多目標(biāo)問題轉(zhuǎn)化成單目標(biāo)問題進行優(yōu)化處理,而權(quán)重系數(shù)大小的分配,體現(xiàn)出個別目標(biāo)在綜合優(yōu)化目標(biāo)中的程度,與此同時也要考慮到各優(yōu)化目標(biāo)函數(shù)的數(shù)量級或量綱不同的問題,致使權(quán)重系數(shù)很難合理的給予各優(yōu)化目標(biāo)函數(shù),同時求解出來的解有可能不是全局最優(yōu)解,陷入局部最優(yōu)解[4]。對于組合目標(biāo)優(yōu)化,其中關(guān)于時間-能量最優(yōu)軌跡的研究開展的最早,時間代表效率,能量代表成本,一直以來都是我們所期望控制的,有相關(guān)學(xué)者徐海黎[5]等采用三次多項式擬合軌跡,使用加權(quán)系數(shù)法定義代價函數(shù),研究出了基于時間與能量綜合的軌跡方法。時間-沖擊最優(yōu)軌跡也是一種常見的組合目標(biāo)軌跡規(guī)劃優(yōu)化方向,陸佳皓等[6]采用5次非均勻B樣條函數(shù)插值,利用NSGA-II算法進行優(yōu)化,在提高了運行效率的同時,使運行過程中產(chǎn)生較小的沖擊。
多目標(biāo)優(yōu)化,對多個目標(biāo)同時進行優(yōu)化,得到相應(yīng)的Pareto解集,在依據(jù)實際選擇出最優(yōu)解。國外Saravanan等[7],采用三次樣條曲線擬合運行軌跡,利用NSGA-Ⅱ和微分進化算法進行優(yōu)化時添加相應(yīng)的機器人運動學(xué)的約束,對時間、能量、加加速度等多目標(biāo)進行綜合優(yōu)化。王會方等[8]采用七次B樣條曲線擬合運行軌跡,采用改進非支配排序遺傳優(yōu)化算法進行多目標(biāo)的優(yōu)化,得到了優(yōu)化的Pareto解集。
本文采用五次多項式插值函數(shù)對關(guān)節(jié)空間機械臂進行軌跡規(guī)劃,將多目標(biāo)粒子群優(yōu)化算法與其結(jié)合,利用多目標(biāo)粒子群(MOPSO)簡單易算,參數(shù)可調(diào)等特點,實現(xiàn)多目標(biāo)的優(yōu)化。以六自由度的PUMA560型機器人進行試驗仿真,證明該種軌跡規(guī)劃方法可以實現(xiàn)在考慮運動學(xué)約束的條件下,獲得Pareto最優(yōu)解集,后利用多項式擬合方法,得到相應(yīng)的PUMA560機器人運行軌跡圖。
在已知機器人運行的任務(wù)空間軌跡的前提下,將任務(wù)空間軌跡離散化,通過逆運動學(xué)求解出各關(guān)節(jié)變量與時間的關(guān)系。用五次多項式去擬合各關(guān)節(jié)變量關(guān)鍵點,從而得到機器人的關(guān)節(jié)運動軌跡。
五次多項式構(gòu)造機械臂運行軌跡的數(shù)學(xué)通式為:
i=1,2,3,…,n表示關(guān)節(jié)代號,未知系數(shù)ain為第i個關(guān)節(jié)插值函數(shù)的第n個系數(shù)。
關(guān)節(jié)i的五次多項式插值函數(shù)及其對應(yīng)的初始位姿q0、末端位置qf、初始速度v0、初始末端速度vf、初始加速度α0、末端加速度αf、初始加加速度j0、末端加加速度jf表示為:
將指定的初始與末了條件:q0、v0、α0、qf、vf、αf、代入式(2)得系數(shù)矩陣為:
將求解出的系數(shù)a0~a5的值代入式(2),從而可以求出五次插值軌跡方程。
依據(jù)實際工程中工況條件,要求串聯(lián)型機械臂具有效率高、能耗少、運行平穩(wěn)的特點,為了達到時間、能耗、軌跡脈動綜合最優(yōu),同時考慮運動學(xué)中的位置、速度、加速度、加加速度等約束條件,定義如下的優(yōu)化目標(biāo)函數(shù)以及約束條件:
Sub.to.
式中:S1為表示運行總時間,是效率指標(biāo)。S2為表示運行能量消耗,是能耗指標(biāo)。S3為表示運行過程中加加速度值,是脈動沖擊指標(biāo);Qjmax、Vjmax、Ajmax、Jjmax為表示關(guān)節(jié)位移、速度、加速度、加加速度最大值。
在實際工程問題中往往要考慮多種約束條件下使多目標(biāo)同時達到綜合最優(yōu),可將多個優(yōu)化對象以及約束條件分別表述成相應(yīng)的數(shù)值函數(shù),進行優(yōu)化處理。在很多工程實際問題中,可以將多目標(biāo)優(yōu)化問題表示成以下通式:
其中:fl(x)為優(yōu)化目標(biāo)函數(shù),gj(x)≤0為不等式約束條件,hj(x)=0為等式約束條件。
粒子群算法(PSO)屬于群體智能優(yōu)化算法中的一種,這種算法以其實現(xiàn)容易、精度高、控制參數(shù)少、收斂快等優(yōu)點,在解決實際問題中展示出其優(yōu)越性[9]。MOPSO算法是基于PSO算法的基本原理,將只能用在單目標(biāo)上的PSO算法用來求解多目標(biāo)優(yōu)化問題。
PSO算法的一般流程圖如圖1所示。
圖1 PSO算法的一般流程圖
具體為:先在可行解空間中初始化一群粒子,每個粒子都代表極值優(yōu)化問題的一個潛在的最優(yōu)解。用位置,速度,適應(yīng)度值三項指標(biāo)表示該粒子的特征。
粒子在解空間中的運動:
通過跟蹤個體極值Pbest和群體極值Gbest更新個體位置。
個體極值Pbest指個體所經(jīng)歷位置中計算得到的適應(yīng)度值最優(yōu)位置。
群體極值Gbest指種群中所有粒子搜索到的適應(yīng)度值最優(yōu)位置。
粒子每更新一次位置:
就計算一次適應(yīng)度值。
通過比較新粒子的適應(yīng)度值和個體極值,群體極值的適應(yīng)度值更新個體極值Pbest和群體極值Gbest位置。
每次迭代過程:
粒子通過個體極值和群體極值更新自身的位置和速度。
位置與速度更新公式:
速度:
位置:
其中:
ω為速度更新權(quán)重(慣性權(quán)重);
C1、C2為學(xué)習(xí)因子;R1、R2為(0,1)上的隨機數(shù)。
PSO算法對于全局搜索與局部搜索最優(yōu)解的關(guān)鍵在于慣性權(quán)重系數(shù)ω的選擇。一個較大的慣性權(quán)值有利于全局搜索,而一個較小的慣性權(quán)值有利于局部搜索,為了兼顧全局與局部搜索能力,本文采用線性遞減慣性權(quán)重,讓權(quán)重值從大到小線性遞減。計算公式如下所示:
其中:wstart為初始慣性權(quán)重,wend為迭代至最大次數(shù)時的慣性權(quán)重,k為當(dāng)前迭代次數(shù),Tmax為最大迭代代數(shù)。
利用MOPSO算法實現(xiàn)機械臂軌跡規(guī)劃多目標(biāo)優(yōu)化的主要流程為:1)初始化種群(種群大小、速度限定、位置限定、迭代次數(shù)等);2)計算粒子適應(yīng)度函數(shù);3)粒子最優(yōu)更新;4)非劣解集更新;5)粒子速度與位置更新;6)判斷是否達到最大迭代次數(shù),若達到,則輸出支配解集,否則,轉(zhuǎn)到2)。
使用MATLAB 機器人工具箱對試教機械臂PUMA560建立仿真模型,從而進行算法的驗證分析,得到滿足實際約束條件下的多目標(biāo)優(yōu)化結(jié)果。
依據(jù)Craig法建立PUMA560型機器人連桿坐標(biāo)系,如圖2所示。對應(yīng)的PUMA560型機器人的D-H參數(shù)如表1所示。
圖2 PUMA560型機器人的連桿坐標(biāo)系
表1 PUMA560型機器人的D-H參數(shù)表
表1中,αi表示繞X軸扭轉(zhuǎn)角;ai表示連桿長度;θi表示繞Z軸扭轉(zhuǎn)角;di表示Z軸偏置距離。
在MATLAB仿真軟件中,利用D-H參數(shù)結(jié)合機器人仿真工具箱創(chuàng)建PUMA560型機器人模型如圖3所示。
圖3 PUMA560型機器人仿真模型圖
以PUMA560型機器人為仿真對象,各關(guān)節(jié)位置序列,如表2所示。得到仿真運動軌跡圖如圖4所示。運動學(xué)約束條件如表3所示,各關(guān)節(jié)采用五次多項式插值的方法構(gòu)建運行軌跡,依據(jù)實際,設(shè)置初始與末了速度:v0=vf=0和加速度:α0=αf=0。
MOPSO算法初始參數(shù)設(shè)置為:
初始化種群數(shù):m=100;
最大迭代次數(shù):Tmax=50;
學(xué)習(xí)因子:C1、C2=1.4995;
隨機數(shù):R1、R2=0~1;
ω慣性權(quán)重:采用線性遞減慣性權(quán)重,由0.9線性遞減至0.4;
外部檔案存儲數(shù)量:50。
表2 各關(guān)節(jié)位置序列
圖4 PUMA560型機器人仿真運動軌跡圖
表3 運動學(xué)約束
通過MOPSO算法,得到關(guān)節(jié)二運行時間、能量消耗和軌跡脈動綜合優(yōu)化的Pareto前沿面(最優(yōu)解集),如圖5所示。由圖可知,脈動沖擊與能量消耗成正相關(guān)關(guān)系,共同制約著時間最優(yōu)性能。
圖5 PUMA560型機器人關(guān)節(jié)2軌跡優(yōu)化的Pareto最優(yōu)解
對于關(guān)節(jié)二在原始設(shè)定由qz運行到qr過程中,尋求時間、能量消耗、軌跡脈動綜合最優(yōu)軌跡,可以得到數(shù)量充足,分布廣且均勻的Pareto前沿。依據(jù)實際,兼顧能耗與沖擊,取點A為最終迭代結(jié)果可以得到:S1=1.1485s、S2=1.5816rad/s2、S3=5.667rad/s3,相較于優(yōu)化前的結(jié)果,可以實現(xiàn)在時間上優(yōu)化提升40%左右,能量消耗上優(yōu)化提升9%,減少脈動沖擊方面提升3%左右。由五次多項式插值軌跡曲線方程,求解出關(guān)節(jié)二優(yōu)化前后位移q,速度v,加速度α,加加速度j如圖6所示。
圖6 關(guān)節(jié)二位移、速度、加速度、加加速度曲線
可以看出基于五次多項式曲線插值軌跡,可得高階連續(xù)、平滑且啟停速度、加速度均可指定為0的運動軌跡;利用MOPSO優(yōu)化算法可以在滿足運動學(xué)約束條件下,實現(xiàn)多目標(biāo)的優(yōu)化。
利用5次多項式插值構(gòu)造機械手的運動軌跡,保證了各個關(guān)節(jié)的速度,加速度和脈動的連續(xù)性且平滑性;相對單目標(biāo)優(yōu)化問題,多目標(biāo)優(yōu)化問題(MO)顯著的特點是使優(yōu)化的各個目標(biāo),同時達到綜合的最優(yōu)值(得到有效解,即Pareto最優(yōu)解),在依據(jù)實際要求可以選取出所需要的值;MOPSO優(yōu)化算法在機器人軌跡中,有一定的適應(yīng)性,可以實現(xiàn)多目標(biāo)優(yōu)化;本文在研究中未考慮各關(guān)節(jié)的協(xié)同作用及相應(yīng)的慣性力的作用,有待進一步的研究。