方 波,高立新,黃 練
(廣東機電職業技術學院,廣州 510515)
隨著工業自動化時代的開啟,智能工業機器人在生產制造領域中發揮的作用越來越大。使用智能工業機器人需保證控制的精準性及穩定性,本研究設計的機械臂為7自由度冗余機械臂,相較于6自由度機械臂,冗余機械臂與人體手臂的形狀更為接近,具備避障、奇異位形回避及優化關節力矩等性能[1-3]。但冗余機械臂具備7自由度,對其進行逆運動學求解時,由于關節角數量過多導致求解過程更加復雜,目前能進行逆運動學問題求解的方法主要有數值法、解析法及智能優化算法[4-6]。解析法主要通過幾何形式或代數形式對機械臂的關節角進行直接求解,但該方法主要應用于滿足于Pieper準則的機械臂結構中[7-8],不適用于本次逆運動學求解。數值法通過雅可比矩陣、梯度投影法等方法進行求解,通過不斷求導形式對機械臂進行逆運動學求解,用于自由度數較少的機械臂求解過程中[9-11]。針對數值法與解析法對冗余機械臂逆運動學求解誤差較大的問題,研究人員利用智能優化算法對冗余機械臂進行逆運動學求解,將機械臂的運動學問題轉換成尋求最優解問題,提高尋求最優解的精度[12-13]。目前主要的智能化算法有鯨魚算法、蜂群-BP算法、粒子群算法及麻雀算法等。相較于其他求解方式,算法結構簡單,求解過程更快,求解精確性更高[14-15]。
本研究從4個方面對標準粒子群算法進行改進,包括種群初始化、慣性權重參數調整、差分變異及局部深度搜索等,形成的改進粒子群算法(IPSO2)具備粒子群進化及差分變異進化兩種性質。使用該算法對7自由度冗余機械臂進行逆運動學求解,使用Matlab軟件進行仿真分析,對比改進粒子群算法與其他算法的計算精度,為相關研究提供參考。
研究對象為7自由度冗余機械臂,根據該冗余機械臂建立的連桿坐標系如圖1所示:

圖1 7-DOF機械臂運動Fig.1 7-DOF mechanical arm movement
設計的7自由度冗余機械臂具備的自由度包括3個自由度肩位置、1個自由度肘關節及3個自由度腕關節。建立參數表,其中ai/mm表示機械臂的連桿長度,ai/rad表示機械臂連桿轉角度數di/mm表示連桿偏距距離,θi/rad表示機械臂關節角活動范圍,具體參數如表1所示。

表1 7-DOF機械臂運動參數
通過上述D-H參數,利用歐拉角法對坐標軸進行轉換矩陣,對坐標軸進行旋轉,使坐標軸旋轉前后呈正交狀態。冗余機械臂關節角與連桿間的變化矩陣計算公式為:
(1)

將式(1)得出的轉換矩陣變換成齊次轉換矩陣:
(2)
式中,(px,py,pz)—冗余機械臂末端關節質心在基座坐標系的實際位置。

(3)
式中,f(θ)—當逆解值為θ時冗余機械臂各個關節的目標適應值。λ—調節因子,主要用于位置誤差及位姿誤差的平衡。min(·)—最小逆解值函數。
粒子群算法主要通過觀察鳥類捕食過程而制成,并將群鳥的捕食過程設計成優化算法。主要過程為使用探尋粒子進入到某區域發現目標后,通過信息傳遞換來更多的粒子對該區域進行搜索,最終經過迭代完成該區域的最優解搜索,搜索過程中主要考慮粒子的速度及位置變化關系,計算式為:
Vij(t+1)=ωVij(t)+c1·r1·[Pij(t)-Xij(t)]+c2·r2·[gij(t)-Xij(t)]
(4)
式中,Vij(t)—經過迭代搜索后粒子達到的速度,ω—慣性權重,Pij—經過迭代搜索后粒子到達空間最佳位置,gij—經過迭代搜索后種群到達空間最佳位置,c1—粒子的學習因子,c2—種群的學習因子,r1—粒子隨機搜索系數,取值范圍為(0,1),r2—種群隨機搜索系數,取值范圍為(0,1)。
Xij(t+1)=Vij(t+1)+Xij(t)
(5)
式中,Xij(t)—經過迭代計算后粒子所達到的位置。
對標準粒子群算法進行分析及優化改進,主要包括種群初始化、慣性權重參數調節、粒子轉變、粒子位置及速度、局部深度搜索等,將改進優化后的粒子群算法稱為IPSO2,相較于IPSO1,IPSO2算法具備的慣性權重參數調整及局部深度搜索能力更加優秀,精確度更高,更適用于冗余機械臂的逆運動學求解問題。
2.2.1 種群初始化
為增加初始分布多樣性,避免種群初始化階段出現粒子分布搜索不均勻的現象,IPSO2算法使用混沌技術對粒子搜索速度及位置進行初始化設計:
(6)

式(6)中,混沌技術的變量參數變化函數為:
(7)
2.2.2 粒子群算法優化
改進粒子群算法IPSO2對慣性權重參數進行調整,采用隨機變量參數r使粒子在搜索中具備不同的慣性權重,增加種群粒子多樣性。粒子群優化算法IPSO函數如下:
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—隨機變量參數,取值范圍(0,1);wi—種群初始化后粒子的慣性權重。
2.2.3 局部深度搜索優化
IPSO2算法的局部深度搜索功能更強,采用差分變異理論減少無效空間的搜索,增強局部空間的深度搜素,其構造函數為:
(11)
式中,Pi(t)、Pr1(t)—搜索粒子經過迭代后所到達的最佳位置,G(t)—搜索種群經過迭代后到達的最佳位置。
式(11)對粒子與種群迭代后的位置Xi(t)及G(t)進行優化改進,通過引進[Xr1(t)-Xi(t)](1-wi)及[Pr1(t)-Pi(t)](1-wi)增加了種群多樣性,使計算精度及收斂精度更好,計算更加簡潔高效。
使用IPSO2算法對冗余機械臂進行逆運動學問題求解的過程步驟為:
步驟1:種群搜索初始化設計,對搜索范圍、種群數量、迭代次數等參數進行確定。明確冗余機械臂末端執行機構的設定位置,對搜索種群采用混沌技術。明確搜索粒子的位置及飛行速度。
步驟2:將隨機搜索系數r取值為1,進行搜索模式。按照公式(8)~(10)進行粒子群搜索,確定粒子搜索的邊界范圍,確定搜索粒子i的適應值f(Xi)。若f(Xi)≤f(pi),則搜索粒子i到達最佳位置;若f(Xi)≤f(G),則搜索種群到達最佳位置。若i=m則進行步驟3,若i=i+1,則進行步驟1。
步驟3:將隨機搜索系數r取值為1,使用差分變異方法進行搜索模式。按照公式(11)進行粒子群搜索,確定粒子搜索的邊界范圍,確定搜索粒子i的適應值f(Xi)。若f(Xi)≤f(pi),則搜索粒子i到達最佳位置;若f(Xi)≤f(G),則搜索種群到達最佳位置。若i=m則進行步驟4,若i=i+1,則進行步驟1。
步驟4:達到迭代搜索次數的最大值,其逆運動學問題最優解滿足設計要求即可,若無則返回步驟2繼續搜索。
3.1.1 參數設定
對冗余機械臂逆運動學問題求解采用IPSO2算法,將最優解與傳統PSO、IPSO1、PSOTD及PSOd算法進行比較。其中設計的連桿長度ai取值為1,i=(1,2,…,7);冗余機械臂的關節角θi取值范圍為[-π,π],i=(1,2,…,7)。群數量為30,迭代次數為300次,設計的調節因子λ=1,粒子最快飛行速度為vmax(j)=0.2θmax(j),最慢飛行速度為vmin(j)=0.2θmin(j)。
仿真試驗使用的算法均在Matlab 2018a進行編程模擬,試驗使用的電腦配置為:Inetel Creoi7-11800H、2.3 GHz、16 G內存、Win10操作系統。
3.1.2 不同算法的最優解比較
冗余機械臂末端執行器設計的理論位置位姿矩陣為:
(12)


表2 不同算法的性能指標參數

表3 不同算法逆解值對應的關節角適應值

表4 不同算法逆解值對應的位姿誤差

圖2 不同算法的適應度收斂曲線Fig.2 Convergence curves for the adaptation of different algorithms
通過表2參數可知,IPSO2算法的最優、最差及平 均適應值、標準差、最優解成功率數據均優于傳統PSO、IPSO1、PSOTD及PSOd算法。在最優解成功率參數模擬中,IPSO2達到87%,IPSO1達到32%,其余算法0%,因此IPSO2在最優解的獲得中具有領先優勢。IPSO2算法除了最優適應值與IPSO1相差不大,其余數據均明顯優于IPSO1算法。由此可知,算法性能按照優劣排序為:IPSO2、IPSO1、PSOd、PSOTD、傳統PSO算法。根據圖2可知,IPSO算法的收斂精度及收斂速度明顯高于其他算法。
通過表2、表3可知,不同算法在獲得最差適應值時,其冗余機械臂末端執行器實際位姿誤差相差較大。其中IPSO2算法在最差適應值的狀態下冗余機械臂末端執行器與設定位姿誤差相差非常接近。IPSO1算法在最差適應度中的數據明顯優于傳統PSO、PSOTD及PSOd算法,雖然收斂精度及位姿誤差相較于其他算法更為優秀,但實際位置精度相較于IPSO2算法仍有差距。
綜上所述,在逆運動學問題最優解的搜索過程中,IPSO2算法整體的收斂速度、收斂精度、位姿誤差優于其他算法。
為了驗證IPSO2算法在冗余機械臂逆運動學求解中的準確性及可靠性,將IPSO算法應用于PUMA型機器人,使用IPSO2算法優化冗余機械臂末端執行機構的期望位姿,構造的目標函數為:
(13)
(14)


表5 PUMA型機器人最優解對應的位姿誤差
為增強搜索過程中局部的深度搜索,提高收斂精度及收斂速度,采用差分變異思想理念改進PSO算法,形成IPSO2算法,相較于其他粒子群優化算法,算法進化流程簡單高效,方便實用。對冗余機械臂進行正運動學D-H參數構造,通過矩陣轉換獲得冗余機械臂末端執行器的實際坐標位置,構造最小位姿誤差及最優適應值的優化目標函數,使用IPSO2算法進行逆運動學問題求解。以PUMA型機器人為試驗對象,驗證IPDO2算法的可靠性及穩定性。通過仿真試驗可知,IPSO2算法在冗余機械臂的逆運動學問題求解過程中具有良好的使用效果,最優解的位姿誤差保持在10-15數量級,收斂精度及收斂速度與設定位姿相差不大。