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