方 波,高立新,黃 練
(廣東機電職業(yè)技術(shù)學院,廣州 510515)
隨著工業(yè)自動化時代的開啟,智能工業(yè)機器人在生產(chǎn)制造領(lǐng)域中發(fā)揮的作用越來越大。使用智能工業(yè)機器人需保證控制的精準性及穩(wěn)定性,本研究設(shè)計的機械臂為7自由度冗余機械臂,相較于6自由度機械臂,冗余機械臂與人體手臂的形狀更為接近,具備避障、奇異位形回避及優(yōu)化關(guān)節(jié)力矩等性能[1-3]。但冗余機械臂具備7自由度,對其進行逆運動學求解時,由于關(guān)節(jié)角數(shù)量過多導致求解過程更加復雜,目前能進行逆運動學問題求解的方法主要有數(shù)值法、解析法及智能優(yōu)化算法[4-6]。解析法主要通過幾何形式或代數(shù)形式對機械臂的關(guān)節(jié)角進行直接求解,但該方法主要應用于滿足于Pieper準則的機械臂結(jié)構(gòu)中[7-8],不適用于本次逆運動學求解。數(shù)值法通過雅可比矩陣、梯度投影法等方法進行求解,通過不斷求導形式對機械臂進行逆運動學求解,用于自由度數(shù)較少的機械臂求解過程中[9-11]。針對數(shù)值法與解析法對冗余機械臂逆運動學求解誤差較大的問題,研究人員利用智能優(yōu)化算法對冗余機械臂進行逆運動學求解,將機械臂的運動學問題轉(zhuǎn)換成尋求最優(yōu)解問題,提高尋求最優(yōu)解的精度[12-13]。目前主要的智能化算法有鯨魚算法、蜂群-BP算法、粒子群算法及麻雀算法等。相較于其他求解方式,算法結(jié)構(gòu)簡單,求解過程更快,求解精確性更高[14-15]。
本研究從4個方面對標準粒子群算法進行改進,包括種群初始化、慣性權(quán)重參數(shù)調(diào)整、差分變異及局部深度搜索等,形成的改進粒子群算法(IPSO2)具備粒子群進化及差分變異進化兩種性質(zhì)。使用該算法對7自由度冗余機械臂進行逆運動學求解,使用Matlab軟件進行仿真分析,對比改進粒子群算法與其他算法的計算精度,為相關(guān)研究提供參考。
研究對象為7自由度冗余機械臂,根據(jù)該冗余機械臂建立的連桿坐標系如圖1所示:
圖1 7-DOF機械臂運動Fig.1 7-DOF mechanical arm movement
設(shè)計的7自由度冗余機械臂具備的自由度包括3個自由度肩位置、1個自由度肘關(guān)節(jié)及3個自由度腕關(guān)節(jié)。建立參數(shù)表,其中ai/mm表示機械臂的連桿長度,ai/rad表示機械臂連桿轉(zhuǎn)角度數(shù)di/mm表示連桿偏距距離,θi/rad表示機械臂關(guān)節(jié)角活動范圍,具體參數(shù)如表1所示。
表1 7-DOF機械臂運動參數(shù)
通過上述D-H參數(shù),利用歐拉角法對坐標軸進行轉(zhuǎn)換矩陣,對坐標軸進行旋轉(zhuǎn),使坐標軸旋轉(zhuǎn)前后呈正交狀態(tài)。冗余機械臂關(guān)節(jié)角與連桿間的變化矩陣計算公式為:
(1)
將式(1)得出的轉(zhuǎn)換矩陣變換成齊次轉(zhuǎn)換矩陣:
(2)
式中,(px,py,pz)—冗余機械臂末端關(guān)節(jié)質(zhì)心在基座坐標系的實際位置。
(3)
式中,f(θ)—當逆解值為θ時冗余機械臂各個關(guān)節(jié)的目標適應值。λ—調(diào)節(jié)因子,主要用于位置誤差及位姿誤差的平衡。min(·)—最小逆解值函數(shù)。
粒子群算法主要通過觀察鳥類捕食過程而制成,并將群鳥的捕食過程設(shè)計成優(yōu)化算法。主要過程為使用探尋粒子進入到某區(qū)域發(fā)現(xiàn)目標后,通過信息傳遞換來更多的粒子對該區(qū)域進行搜索,最終經(jīng)過迭代完成該區(qū)域的最優(yōu)解搜索,搜索過程中主要考慮粒子的速度及位置變化關(guān)系,計算式為:
Vij(t+1)=ωVij(t)+c1·r1·[Pij(t)-Xij(t)]+c2·r2·[gij(t)-Xij(t)]
(4)
式中,Vij(t)—經(jīng)過迭代搜索后粒子達到的速度,ω—慣性權(quán)重,Pij—經(jīng)過迭代搜索后粒子到達空間最佳位置,gij—經(jīng)過迭代搜索后種群到達空間最佳位置,c1—粒子的學習因子,c2—種群的學習因子,r1—粒子隨機搜索系數(shù),取值范圍為(0,1),r2—種群隨機搜索系數(shù),取值范圍為(0,1)。
Xij(t+1)=Vij(t+1)+Xij(t)
(5)
式中,Xij(t)—經(jīng)過迭代計算后粒子所達到的位置。
對標準粒子群算法進行分析及優(yōu)化改進,主要包括種群初始化、慣性權(quán)重參數(shù)調(diào)節(jié)、粒子轉(zhuǎn)變、粒子位置及速度、局部深度搜索等,將改進優(yōu)化后的粒子群算法稱為IPSO2,相較于IPSO1,IPSO2算法具備的慣性權(quán)重參數(shù)調(diào)整及局部深度搜索能力更加優(yōu)秀,精確度更高,更適用于冗余機械臂的逆運動學求解問題。
2.2.1 種群初始化
為增加初始分布多樣性,避免種群初始化階段出現(xiàn)粒子分布搜索不均勻的現(xiàn)象,IPSO2算法使用混沌技術(shù)對粒子搜索速度及位置進行初始化設(shè)計:
(6)
式(6)中,混沌技術(shù)的變量參數(shù)變化函數(shù)為:
(7)
2.2.2 粒子群算法優(yōu)化
改進粒子群算法IPSO2對慣性權(quán)重參數(shù)進行調(diào)整,采用隨機變量參數(shù)r使粒子在搜索中具備不同的慣性權(quán)重,增加種群粒子多樣性。粒子群優(yōu)化算法IPSO函數(shù)如下:
Vij(t+1)=ωiVij(t)+c1·r1·[Pij(t)-Xij(t)]+c2·r2·[gij(t)-Xij(t)]
(8)
θij(t+1)=θij(t)+vij(t)
(9)
(10)
式中,r—隨機變量參數(shù),取值范圍(0,1);wi—種群初始化后粒子的慣性權(quán)重。
2.2.3 局部深度搜索優(yōu)化
IPSO2算法的局部深度搜索功能更強,采用差分變異理論減少無效空間的搜索,增強局部空間的深度搜素,其構(gòu)造函數(shù)為:
(11)
式中,Pi(t)、Pr1(t)—搜索粒子經(jīng)過迭代后所到達的最佳位置,G(t)—搜索種群經(jīng)過迭代后到達的最佳位置。
式(11)對粒子與種群迭代后的位置Xi(t)及G(t)進行優(yōu)化改進,通過引進[Xr1(t)-Xi(t)](1-wi)及[Pr1(t)-Pi(t)](1-wi)增加了種群多樣性,使計算精度及收斂精度更好,計算更加簡潔高效。
使用IPSO2算法對冗余機械臂進行逆運動學問題求解的過程步驟為:
步驟1:種群搜索初始化設(shè)計,對搜索范圍、種群數(shù)量、迭代次數(shù)等參數(shù)進行確定。明確冗余機械臂末端執(zhí)行機構(gòu)的設(shè)定位置,對搜索種群采用混沌技術(shù)。明確搜索粒子的位置及飛行速度。
步驟2:將隨機搜索系數(shù)r取值為1,進行搜索模式。按照公式(8)~(10)進行粒子群搜索,確定粒子搜索的邊界范圍,確定搜索粒子i的適應值f(Xi)。若f(Xi)≤f(pi),則搜索粒子i到達最佳位置;若f(Xi)≤f(G),則搜索種群到達最佳位置。若i=m則進行步驟3,若i=i+1,則進行步驟1。
步驟3:將隨機搜索系數(shù)r取值為1,使用差分變異方法進行搜索模式。按照公式(11)進行粒子群搜索,確定粒子搜索的邊界范圍,確定搜索粒子i的適應值f(Xi)。若f(Xi)≤f(pi),則搜索粒子i到達最佳位置;若f(Xi)≤f(G),則搜索種群到達最佳位置。若i=m則進行步驟4,若i=i+1,則進行步驟1。
步驟4:達到迭代搜索次數(shù)的最大值,其逆運動學問題最優(yōu)解滿足設(shè)計要求即可,若無則返回步驟2繼續(xù)搜索。
3.1.1 參數(shù)設(shè)定
對冗余機械臂逆運動學問題求解采用IPSO2算法,將最優(yōu)解與傳統(tǒng)PSO、IPSO1、PSOTD及PSOd算法進行比較。其中設(shè)計的連桿長度ai取值為1,i=(1,2,…,7);冗余機械臂的關(guān)節(jié)角θi取值范圍為[-π,π],i=(1,2,…,7)。群數(shù)量為30,迭代次數(shù)為300次,設(shè)計的調(diào)節(jié)因子λ=1,粒子最快飛行速度為vmax(j)=0.2θmax(j),最慢飛行速度為vmin(j)=0.2θmin(j)。
仿真試驗使用的算法均在Matlab 2018a進行編程模擬,試驗使用的電腦配置為:Inetel Creoi7-11800H、2.3 GHz、16 G內(nèi)存、Win10操作系統(tǒng)。
3.1.2 不同算法的最優(yōu)解比較
冗余機械臂末端執(zhí)行器設(shè)計的理論位置位姿矩陣為:
(12)
表2 不同算法的性能指標參數(shù)
表3 不同算法逆解值對應的關(guān)節(jié)角適應值
表4 不同算法逆解值對應的位姿誤差
圖2 不同算法的適應度收斂曲線Fig.2 Convergence curves for the adaptation of different algorithms
通過表2參數(shù)可知,IPSO2算法的最優(yōu)、最差及平 均適應值、標準差、最優(yōu)解成功率數(shù)據(jù)均優(yōu)于傳統(tǒng)PSO、IPSO1、PSOTD及PSOd算法。在最優(yōu)解成功率參數(shù)模擬中,IPSO2達到87%,IPSO1達到32%,其余算法0%,因此IPSO2在最優(yōu)解的獲得中具有領(lǐng)先優(yōu)勢。IPSO2算法除了最優(yōu)適應值與IPSO1相差不大,其余數(shù)據(jù)均明顯優(yōu)于IPSO1算法。由此可知,算法性能按照優(yōu)劣排序為:IPSO2、IPSO1、PSOd、PSOTD、傳統(tǒng)PSO算法。根據(jù)圖2可知,IPSO算法的收斂精度及收斂速度明顯高于其他算法。
通過表2、表3可知,不同算法在獲得最差適應值時,其冗余機械臂末端執(zhí)行器實際位姿誤差相差較大。其中IPSO2算法在最差適應值的狀態(tài)下冗余機械臂末端執(zhí)行器與設(shè)定位姿誤差相差非常接近。IPSO1算法在最差適應度中的數(shù)據(jù)明顯優(yōu)于傳統(tǒng)PSO、PSOTD及PSOd算法,雖然收斂精度及位姿誤差相較于其他算法更為優(yōu)秀,但實際位置精度相較于IPSO2算法仍有差距。
綜上所述,在逆運動學問題最優(yōu)解的搜索過程中,IPSO2算法整體的收斂速度、收斂精度、位姿誤差優(yōu)于其他算法。
為了驗證IPSO2算法在冗余機械臂逆運動學求解中的準確性及可靠性,將IPSO算法應用于PUMA型機器人,使用IPSO2算法優(yōu)化冗余機械臂末端執(zhí)行機構(gòu)的期望位姿,構(gòu)造的目標函數(shù)為:
(13)
(14)
表5 PUMA型機器人最優(yōu)解對應的位姿誤差
為增強搜索過程中局部的深度搜索,提高收斂精度及收斂速度,采用差分變異思想理念改進PSO算法,形成IPSO2算法,相較于其他粒子群優(yōu)化算法,算法進化流程簡單高效,方便實用。對冗余機械臂進行正運動學D-H參數(shù)構(gòu)造,通過矩陣轉(zhuǎn)換獲得冗余機械臂末端執(zhí)行器的實際坐標位置,構(gòu)造最小位姿誤差及最優(yōu)適應值的優(yōu)化目標函數(shù),使用IPSO2算法進行逆運動學問題求解。以PUMA型機器人為試驗對象,驗證IPDO2算法的可靠性及穩(wěn)定性。通過仿真試驗可知,IPSO2算法在冗余機械臂的逆運動學問題求解過程中具有良好的使用效果,最優(yōu)解的位姿誤差保持在10-15數(shù)量級,收斂精度及收斂速度與設(shè)定位姿相差不大。