程浩田 ,祝錫晶 ,黎相孟 ,趙 晶 ,馮琪淵 ,丁帥帥
(1.中北大學 機械工程學院,太原 030051;2.先進制造技術(shù)山西省重點實驗室,太原 030051)
隨著企業(yè)生產(chǎn)規(guī)模的擴大和自動化水平的提高,人類對機器人的工作效率提出更高的要求,并且要求機器人能夠按照預定的軌跡平穩(wěn)運行,因此機器人軌跡規(guī)劃的好壞對其能否穩(wěn)定高效的運行起著至關(guān)重要的作用。于是,軌跡優(yōu)化應運而生。軌跡優(yōu)化通常可以分為2種:一種是時間優(yōu)化;另一種是能耗優(yōu)化[1]。其中,時間最優(yōu)軌跡規(guī)劃在提高機器人的工作效率和增加產(chǎn)能輸出等方面有著重要的實際意義,一度成為了研究熱點。
國內(nèi)外學者做了大量深入的研究,李國洪等[2]提出一種改進遺傳算法與7次B樣條曲線相結(jié)合的軌跡優(yōu)化算法;李林升[3]運用懲罰函數(shù)法對關(guān)節(jié)運行軌跡進行了時間優(yōu)化;陶慶等[4]提出一種新型煙花算法用于求解不同速度約束條件下機械臂軌跡運行的最短時間;XU等[5]利用神經(jīng)網(wǎng)絡算法和模糊控制算法對軌跡進行了時間優(yōu)化;HE等[6]利用免疫算法同時對時間和能耗進行了優(yōu)化。雖然其中一些方法被證明具有一定的實際應用價值,但是仍然存在諸多問題需要解決,如求解困難、計算量大以及局部最優(yōu)。粒子群算法作為一種新興的群體智能算法[7],因其具有強大的全局搜索能力、較少且易調(diào)整的參數(shù)以及簡單的速度—位移模型等優(yōu)點,被廣泛應用于尋優(yōu)問題。
在對機器人進行軌跡規(guī)劃時,傳統(tǒng)的三次、五次多項式插值函數(shù)已經(jīng)無法滿足要求,所以將其結(jié)合起來組成“3-5-3”混合多項式插值函數(shù),該函數(shù)可以彌補三次多項式插值規(guī)劃時角加速度突變和五次多項式插值規(guī)劃時角速度較大的問題。本文綜合考慮機械臂各關(guān)節(jié)角速度、角加速度以及動力學等約束條件,首先采用動態(tài)變化學習因子策略對粒子群算法進行改進;然后在此基礎上選擇“3-5-3”混合多項式軌跡規(guī)劃的總時間t作為單目標進行優(yōu)化;最后在MATLAB仿真環(huán)境下驗證改進算法的優(yōu)越性和有效性,以達到時間優(yōu)化的預期目標。
本文采用“3-5-3”混合多項式插值函數(shù)進行機器人關(guān)節(jié)空間軌跡規(guī)劃。該方法將預先設置的4個路徑點分成3段,每段均由相鄰的2個路徑點組成,且第1段和第3段采用三次多項式插值函數(shù)進行規(guī)劃,第2段采用五次多項式插值函數(shù)進行規(guī)劃。機器人末端執(zhí)行器在經(jīng)過3個區(qū)間時,所花費時間分別為t1、t2、t3,其函數(shù)表達式:
對式(1)求導,可分別得到各段角速度、角加速度表達式,根據(jù)每段起始點和終止點的約束條件,分別求得混合多項式共14個系數(shù)。
粒子群算法起源于鳥類的捕食行為,其原理:首先將粒子群初始化;然后使粒子通過追蹤2個極值而不斷更新自己,一個是個體極值,它是粒子本身當前所能找到的最優(yōu)解,另一個是群體極值,它是整個粒子群體當前所能找到的最優(yōu)解[8];最后讓粒子群迭代,重復上述過程,直到達到終止條件。其速度和位置更新公式如下:
式中 ω ——慣性權(quán)重;
c1、c2——學習因子;
r1、r2——隨機常數(shù),變化區(qū)間為[0,1];
pid—— 粒子i最優(yōu)位置pi在第d維中的分量[9];
pgd—— 粒子群最優(yōu)位置pg在第d維中的分量。
本文引入動態(tài)學習因子c1、c2,預先設定c1、c2最大值相等,然后使c1值隨著搜索次數(shù)的增加慢慢減小,c2值隨著搜索次數(shù)的增加慢慢變大,保證粒子群算法在運行初期具備較強的全局搜索能力,維持種群的多樣性。而在算法運行后期則強化粒子局部搜索的能力,從而提高搜索精度,并加快粒子的收斂,便于其在短時間內(nèi)找到全局最優(yōu)。其表達式:
式中 n ——當前迭代次數(shù);
N ——總迭代次數(shù)。
因為是針對機器人進行時間最優(yōu)軌跡規(guī)劃,所以在進行軌跡優(yōu)化之前確立時間為優(yōu)化目標,其適應度函數(shù)如下[10]:
規(guī)劃機械臂末端執(zhí)行器從初始點A經(jīng)過中間點B、C到達終止點D的時間最短運行軌跡。各路徑點分別對應各關(guān)節(jié)角度如表1所示。
表1 路徑點A、B、C以及D所對應的各關(guān)節(jié)角度Tab.1 Joint angles corresponding to path points A,B,C and D (單位:rad)
在進行優(yōu)化時,考慮機器人實際工作條件,粒子的速度和加速度不得超過機器人的正常工作范圍,約束條件如式(7)所示[11]:
預先設置粒子種群m為30,初始位置為[0,10],各個關(guān)節(jié)最大轉(zhuǎn)動速度 Vmax分別為 4,4,5,7,6,11 rad/s,最大加速度 amax為 10.0 rad/s2,各個階段時間的迭代初始值為2 s,迭代次數(shù)N為500。分別采用標準粒子群算法與改進粒子群算法進行規(guī)劃[12]。經(jīng)過MATLAB仿真,具體收斂次數(shù)和完成時間如表2所示,改進粒子群算法優(yōu)化后的“3-5-3”混合多項式各個階段時間如表3所示。
表2 不同學習因子下各關(guān)節(jié)收斂次數(shù)、時間對比結(jié)果Tab.2 Comparison of convergence times and convergence time of each joint under different learning factors
表3 改進粒子群算法優(yōu)化后的各個關(guān)節(jié)軌跡分段運行時間Tab.3 The segmented running time of each joint trajectory optimized by improved particle swarm optimization algorithm (單位:s)
由表2可以得出,經(jīng)過改進粒子群算法優(yōu)化后的各關(guān)節(jié)局部收斂時間和全局收斂時間均優(yōu)于標準粒子群算法,局部收斂速度大大提高[13-16],并且在運行初期維持了種群多樣性。由此可以驗證改進粒子群算法良好的優(yōu)越性[17]。
為保證機器人各個關(guān)節(jié)的粒子在優(yōu)化過程中全部完成迭代,達到終止條件,需要選取不同關(guān)節(jié)在3個階段中分別所耗費的最大時間。通過分析表3,可得到各個階段運行時間最大值:t1=1.319 6 s,t2=1.994 0 s,t3=1.164 s,總時間為 4.42 s,與未經(jīng)優(yōu)化單純利用的“3-5-3”混合多項式進行軌跡規(guī)劃的迭代初始值相比,縮短了1.58 s,證明了改進粒子群算法的有效性。
為驗證優(yōu)化后得到的各個階段時間是否滿足機器人軌跡規(guī)劃的基本要求,通過t1、t2、t3對機器人再次進行“3-5-3”混合多項式關(guān)節(jié)空間軌跡規(guī)劃,得到各關(guān)節(jié)角位移、角速度以及角加速度隨時間變化的曲線分別如圖1~3所示,運行過程中角位移、角速度、角加速度最大值如表4所示。
圖1 各關(guān)節(jié)角位移曲線Fig.1 Angular displacement curve of each joint
圖2 各關(guān)節(jié)角速度曲線Fig.2 Angular velocity curve of each joint
圖3 各關(guān)節(jié)角加速度曲線Fig.3 Angular acceleration curve of each joint
表4 運行過程中產(chǎn)生的最大值Tab.4 Maximum value generated during operation
由圖1~3分析得出,機器人各關(guān)節(jié)角位移、角速度以及角加速度曲線平穩(wěn)連續(xù)且無突變,說明優(yōu)化方案可以保證機器人在整個運行過程中維持平穩(wěn)的狀態(tài),能很好地通過每一個路徑點,發(fā)揮其良好的工作性能。由表4可以得出機器人在運行過程中產(chǎn)生的最大值均滿足速度和加速度約束條件,驗證了改進算法的可行性。
本文以六自由度工業(yè)機器人為研究對象,針對其時間最優(yōu)軌跡規(guī)劃問題,提出一種采用動態(tài)學習因子策略的改進算法。仿真結(jié)果表明,改進算法全局收斂速度和局部收斂速度均優(yōu)于標準粒子群算法,且與未優(yōu)化的“3-5-3”混合多項式軌跡運行時間相比縮短了26%,優(yōu)化后的軌跡同時滿足機器人的關(guān)節(jié)位置、速度以及加速度約束,驗證了改進粒子群算法的優(yōu)越性、有效性以及可行性。