





摘要:【目的】機器人逆運動學求解在軌跡規劃與控制中起到至關重要的作用。傳統的機器人逆運動學根據運動學方程和數學理論進行求解,計算效率較低,對控制精度也會產生一定的影響。為了克服這些問題,采用一種改進的鯨魚優化算法進行機器人逆運動學求解。【方法】改進的鯨魚優化算法是將差分進化算法的變異和選擇操作融合到鯨魚優化算法中提出的,改進后的算法具有較好的全局搜索性能和快速收斂特性。以一款6 自由度串聯機器人為研究對象,運用改進的鯨魚優化算法求其逆運動學解。【結果】結果表明,運用改進的鯨魚優化算法進行機器人逆運動學求解,可以簡化求解步驟,同時保證求解精度。
關鍵詞:優化算法;機器人;逆運動學
中圖分類號:TP241 DOI:10. 16578/j. issn. 1004. 2539. 2025. 02. 011
0 引言
機器人工作中,需要進行逆運動學實時計算,計算速度和精度將直接影響機器人的控制性能。所以,機器人逆運動學研究對于整個機器人系統而言具有舉足輕重的地位。常用的6自由度機器人逆運動學求解方法有代數法、幾何法和數值迭代法等[1-3]。
孟凡剛等[4]通過反變換法求得6R 機器人逆解,提出以“最短行程+關節運動同向”為原則確定機器人最優逆解的方法,提高了機器人運行穩定性和可靠性。汪院林等[5]提出一種混合智能算法,并將其應用于PUMA機器人逆運動學求解中。吳強等[6]將徑向基(Radial Basis Function, RBF)神經網絡與代數法相結合,對6R機器人轉角進行了求解。白文峰等[7]提出一種微分進化優化神經網絡,并對KUKA機器人進行了逆運動學求解。王淑青等[8]將改進的粒子群算法應用于機器人位置逆解。趙建強等[9]運用粒子群(Particle Swarm Optimization, PSO)算法對反向傳播(Back Propagation, BP)神經網絡進行優化,實現了機器人逆運動學求解。林陽等[10]基于多種群遺傳算法完成了機器人逆運動學求解。
本文介紹了改進鯨魚優化算法(Improved WhaleOptimization Algorithm, IWOA)的求解原理,并分別采用PSO 算法、鯨魚優化算法(Whale OptimizationAlgorithm, WOA)、IWOA對5個常用的基本函數進行了求解。結果表明,IWOA優化能力最強。最后,以6自由度串聯機器人為研究對象,采用IWOA進行逆運動學求解,以簡化求解步驟。
1 一種改進鯨魚優化算法
澳大利亞學者MIRJALILI等[11]通過研究座頭鯨的覓食行為,提出一種啟發式群體智能優化算法,即鯨魚優化算法。鯨魚優化算法具有求解速度快的特點,但是有時會陷入局部最優。考慮到差分進化算法具有較強的全局尋優能力,本文將其變異和選擇操作有機地結合到鯨魚優化算法中,提出一種改進鯨魚優化算法。具體執行步驟如下:
步驟1:種群初始化。
步驟2:模擬變異操作擴大種群多樣性。
變異操作: 新的個體Vi,G + 1 可基于原有個體Xi,G(i = 1,2,…,N)通過式(1)產生。
Vi,G + 1 = Xr1,G + F*(Xr2,G - Xr3,G) (1)
式中,r1、r2 和r3 是從區間[1,N]上隨機選取的互不相同的整數,且不同于下標指數i;F 為變異因子,屬于區間[0,2]。
步驟3:計算當前搜索代理的適應度值,選取當前最優解。
假設當前解為目標獵物,首先,定義最優搜索代理;然后,其他搜索代理將朝向此位置,更新它們當前位置。即
D = | C?X* (t) - X (t) | (2)
X (t + 1) = X* (t) - A?D (3)
其中,
A = 2a?r - a (4)
C = 2?r (5)
式中,t 為當前迭代代數;A 和D 均為矢量因子;X*為當前最優解的位置;X 為位置矢量;a 從2到0線性下降;r 為[0,1]間的隨機矢量。
步驟4:選擇收縮策略與螺旋上升機制。
根據區間[0,1]的隨機數p,若p lt; 0. 5,選取環形收縮機制進行位置更新,即
X (t + 1) = X* (t) - A?D (6)
若p ≥ 0. 5,則采用螺旋上升機制,即
X (t + 1) = D'?ebl?cos (2πl) + X* (t) (7)
式中, D' 為第i 條鯨魚到獵物之間的距離, D' =|X*(t) - X (t)|;b為定義對數螺旋線形狀的常數;l為[-1,1]間的隨機數。
步驟5:檢查是否有搜索代理超出搜索范圍,計算每個代理的適應度值,模擬選擇操作,更新最優位置。
若| A | gt; 1:
D = | C?Xrand - D | (8)
X (t + 1) = Xrand - A?D (9)
式中,Xrand 為從當前代選擇的隨機位置矢量。
選擇操作:為了決定向量Ui,G + 1 是否能成為第G + 1代種群中的個體,將Ui,G + 1 與Xi,G 進行比較。若前者的適應度值優于后者,則在第G + 1 代中用Ui,G + 1 代替Xi,G;否則,保留Xi,G。
步驟6:達到最大迭代代數,得到最優解。
2 利用基本函數進行算法優化能力驗證
分別采用粒子群算法、鯨魚優化算法、改進鯨魚優化算法對sphere函數、rosenbrock函數、rastrigin函數、ackley函數、griewank函數共5個基本函數進行求解,求解結果對比如表1所示。采用IWOA求解的函數圖像如圖1所示。
min F (t) = ||60T1 - 60T2|| (17)
5 分析驗證
機器人空載時,在工作空間內任取一點(505. 438,183. 900,-1 155. 796),此時各關節轉角分別為:θ1 =0. 349 0 rad,θ2 = 0. 349 1 rad,θ3 = 0. 348 7 rad,θ4 =0. 348 25 rad,θ5 = 0. 346 78 rad,θ6 = 0. 35 rad。
計算得其位姿矩陣為
根據任務要求,定義θ4、θ5、θ6 的取值范圍均為0. 3~0. 4。采用本文所提方法,通過10次計算并在結果中取平均值得到:θ1 = 0. 349 0 rad,θ2 = 0.349 1 rad,θ3 = 0.348 7 rad,θ4 = 0.347 52 rad,θ5 = 0.346 67 rad,θ6 = 0.347 95 rad。
此時,
通過對比矩陣60T1與60T2可以看出,利用改進的鯨魚優化算法計算得出的關節變量所對應的末端姿態矩陣與指定末端姿態矩陣誤差精度在0. 01°范圍內,該方法避免了煩瑣的三角函數變換過程。所以,本文所提出的改進鯨魚優化算法在機器人逆運動學求解中可行。
6 結論
模擬差分進化算法的變異和選擇操作,對鯨魚優化算法進行了改進,并將改進鯨魚優化算法應用于機器人逆運動學求解。改進后的算法具有全局收斂、快速尋優的特點。機器人前3個關節角通過矩陣變換直接求解,后3個關節角由算法優化得到。通過計算,驗證了本方法可行。但是,由于求逆的多解性,本文所提出的計算方法需要一定的前期準備工作來確定關節角的大致取值范圍,這使得工作量增加。基于本文所提出的機器人逆運動學求解方法,最優解的選取方式是進一步研究的內容。
參考文獻
[1] 蔡自興,謝斌. 機器人學[M]. 3 版. 北京:清華大學出版社,2015:65-80.
CAI Zixing,XIE Bin. Robotics[M]. 3rd ed. Beijing:Tsinghua UniversityPress,2015:65-80.
[2] 邱寧佳,隋振,李明哲,等. 六自由度機器人空間劃線軌跡規劃算法[J]. 吉林大學學報(工學版),2013,43(5):1307-1313.
QIU Ningjia,SUI Zhen,LI Mingzhe,et al. Algorithm of 6-DOF robottrajectory planning applied to special marking[J]. Journal of JilinUniversity(Engineering and Technology Edition),2013,43(5):1307-1313.
[3] KUCUK S,BINGUL Z. Inverse kinematics solutions for industrialrobot manipulators with offset wrists[J]. Applied MathematicalModelling,2014,38(7/8):1983-1999.
[4] 孟凡剛,曹東江,尚江華. 基于MATLAB 的6R 機器人逆運動學求解分析[J]. 河北省科學院學報,2020,37(1):22-29.
MENG Fangang,CAO Dongjiang,SHANG Jianghua. Inverse kinematicsanalysis of 6R robot based on MATLAB[J]. Journal ofthe Hebei Academy of Sciences,2020,37(1):22-29.
[5] 汪院林,袁銳波,袁安華. 差分粒子群算法在PUMA機器人逆運動學求解中的應用[J]. 軟件導刊,2020,19(4):203-207.
WANG Yuanlin,YUAN Ruibo,YUAN Anhua. Application of particleswarm optimization with differential evolution algorithm insolving inverse kinematics of PUMA robot[J]. Software Guide,2020,19(4):203-207.
[6] 吳強,鄧慶文,胡澤啟,等. 基于RBF 神經網絡與代數法的6R機器人逆運動求解[J]. 數字制造科學,2019,17(3):201-206.
WU Qiang,DENG Qingwen,HU Zeqi,et al. Solution of inversekinematics for 6R robot based on RBF neural network and algebraicmethod[J]. Digital Manufacture Science,2019,17(3):201-206.
[7] 白文峰,劉紀陽,雷宇欣. 微分進化優化神經網絡KUKA機器人逆運動學求解[J]. 長春工業大學學報,2017,38(2):162-166.
BAI Wenfeng,LIU Jiyang,LEI Yuxin. Inverse kinematics solutionof KUKA robot based on improved differential evolution-neuralnetwork[J]. Journal of Changchun University of Technology,2017,38(2):162-166.
[8] 王淑青,王亞洲,許琛,等. 改進粒子群算法在機器人位置逆解上的應用[J]. 湖北工業大學學報,2017,32(1):46-50.
WANG Shuqing,WANG Yazhou,XU Chen,et al. Robot positioninverse kinematics based on improved PSO[J]. Journal of HubeiUniversity of Technology,2017,32(1):46-50.
[9] 趙建強,劉滿祿,王姮. 基于PSO優化BP 神經網絡的逆運動學求解研究[J]. 自動化與儀表,2016,31(11):1-6.
ZHAO Jianqiang,LIU Manlu,WANG Heng. Research on inversekinematics solution of BP neural network based on PSO optimization[J]. Automation amp; Instrumentation,2016,31(11):1-6.
[10] 林陽,趙歡,丁漢. 基于多種群遺傳算法的一般機器人逆運動學求解[J]. 機械工程學報,2017,53(3):1-8.
LIN Yang,ZHAO Huan,DING Han. Solution of inverse kinematicsfor general robot manipulators based on multiple population geneticalgorithm[J]. Journal of Mechanical Engineering,2017,53(3):1-8.
[11] MIRJALILI S,LEWIS A. The whale optimization algorithm[J].Advances in Engineering Software,2016,95:51-67.
[12] 勾治踐,解艷超,牛永康,等. 六自由度點焊機器人平順軌跡仿真研究[J]. 計算機仿真,2013,30(4):295-298.
GOU Zhijian,XIE Yanchao,NIU Yongkang,et al. Smooth trajectorysimulation research for six-DOF spot-welding robot[J]. ComputerSimulation,2013,30(4):295-298.
基金項目:濰坊學院博士基金項目(44122027)