摘要:【目的】機(jī)器人逆運(yùn)動(dòng)學(xué)求解在軌跡規(guī)劃與控制中起到至關(guān)重要的作用。傳統(tǒng)的機(jī)器人逆運(yùn)動(dòng)學(xué)根據(jù)運(yùn)動(dòng)學(xué)方程和數(shù)學(xué)理論進(jìn)行求解,計(jì)算效率較低,對(duì)控制精度也會(huì)產(chǎn)生一定的影響。為了克服這些問(wèn)題,采用一種改進(jìn)的鯨魚(yú)優(yōu)化算法進(jìn)行機(jī)器人逆運(yùn)動(dòng)學(xué)求解?!痉椒ā扛倪M(jìn)的鯨魚(yú)優(yōu)化算法是將差分進(jìn)化算法的變異和選擇操作融合到鯨魚(yú)優(yōu)化算法中提出的,改進(jìn)后的算法具有較好的全局搜索性能和快速收斂特性。以一款6 自由度串聯(lián)機(jī)器人為研究對(duì)象,運(yùn)用改進(jìn)的鯨魚(yú)優(yōu)化算法求其逆運(yùn)動(dòng)學(xué)解?!窘Y(jié)果】結(jié)果表明,運(yùn)用改進(jìn)的鯨魚(yú)優(yōu)化算法進(jìn)行機(jī)器人逆運(yùn)動(dòng)學(xué)求解,可以簡(jiǎn)化求解步驟,同時(shí)保證求解精度。
關(guān)鍵詞:優(yōu)化算法;機(jī)器人;逆運(yùn)動(dòng)學(xué)
中圖分類(lèi)號(hào):TP241 DOI:10. 16578/j. issn. 1004. 2539. 2025. 02. 011
0 引言
機(jī)器人工作中,需要進(jìn)行逆運(yùn)動(dòng)學(xué)實(shí)時(shí)計(jì)算,計(jì)算速度和精度將直接影響機(jī)器人的控制性能。所以,機(jī)器人逆運(yùn)動(dòng)學(xué)研究對(duì)于整個(gè)機(jī)器人系統(tǒng)而言具有舉足輕重的地位。常用的6自由度機(jī)器人逆運(yùn)動(dòng)學(xué)求解方法有代數(shù)法、幾何法和數(shù)值迭代法等[1-3]。
孟凡剛等[4]通過(guò)反變換法求得6R 機(jī)器人逆解,提出以“最短行程+關(guān)節(jié)運(yùn)動(dòng)同向”為原則確定機(jī)器人最優(yōu)逆解的方法,提高了機(jī)器人運(yùn)行穩(wěn)定性和可靠性。汪院林等[5]提出一種混合智能算法,并將其應(yīng)用于PUMA機(jī)器人逆運(yùn)動(dòng)學(xué)求解中。吳強(qiáng)等[6]將徑向基(Radial Basis Function, RBF)神經(jīng)網(wǎng)絡(luò)與代數(shù)法相結(jié)合,對(duì)6R機(jī)器人轉(zhuǎn)角進(jìn)行了求解。白文峰等[7]提出一種微分進(jìn)化優(yōu)化神經(jīng)網(wǎng)絡(luò),并對(duì)KUKA機(jī)器人進(jìn)行了逆運(yùn)動(dòng)學(xué)求解。王淑青等[8]將改進(jìn)的粒子群算法應(yīng)用于機(jī)器人位置逆解。趙建強(qiáng)等[9]運(yùn)用粒子群(Particle Swarm Optimization, PSO)算法對(duì)反向傳播(Back Propagation, BP)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,實(shí)現(xiàn)了機(jī)器人逆運(yùn)動(dòng)學(xué)求解。林陽(yáng)等[10]基于多種群遺傳算法完成了機(jī)器人逆運(yùn)動(dòng)學(xué)求解。
本文介紹了改進(jìn)鯨魚(yú)優(yōu)化算法(Improved WhaleOptimization Algorithm, IWOA)的求解原理,并分別采用PSO 算法、鯨魚(yú)優(yōu)化算法(Whale OptimizationAlgorithm, WOA)、IWOA對(duì)5個(gè)常用的基本函數(shù)進(jìn)行了求解。結(jié)果表明,IWOA優(yōu)化能力最強(qiáng)。最后,以6自由度串聯(lián)機(jī)器人為研究對(duì)象,采用IWOA進(jìn)行逆運(yùn)動(dòng)學(xué)求解,以簡(jiǎn)化求解步驟。
1 一種改進(jìn)鯨魚(yú)優(yōu)化算法
澳大利亞學(xué)者M(jìn)IRJALILI等[11]通過(guò)研究座頭鯨的覓食行為,提出一種啟發(fā)式群體智能優(yōu)化算法,即鯨魚(yú)優(yōu)化算法。鯨魚(yú)優(yōu)化算法具有求解速度快的特點(diǎn),但是有時(shí)會(huì)陷入局部最優(yōu)??紤]到差分進(jìn)化算法具有較強(qiáng)的全局尋優(yōu)能力,本文將其變異和選擇操作有機(jī)地結(jié)合到鯨魚(yú)優(yōu)化算法中,提出一種改進(jìn)鯨魚(yú)優(yōu)化算法。具體執(zhí)行步驟如下:
步驟1:種群初始化。
步驟2:模擬變異操作擴(kuò)大種群多樣性。
變異操作: 新的個(gè)體Vi,G + 1 可基于原有個(gè)體Xi,G(i = 1,2,…,N)通過(guò)式(1)產(chǎn)生。
Vi,G + 1 = Xr1,G + F*(Xr2,G - Xr3,G) (1)
式中,r1、r2 和r3 是從區(qū)間[1,N]上隨機(jī)選取的互不相同的整數(shù),且不同于下標(biāo)指數(shù)i;F 為變異因子,屬于區(qū)間[0,2]。
步驟3:計(jì)算當(dāng)前搜索代理的適應(yīng)度值,選取當(dāng)前最優(yōu)解。
假設(shè)當(dāng)前解為目標(biāo)獵物,首先,定義最優(yōu)搜索代理;然后,其他搜索代理將朝向此位置,更新它們當(dāng)前位置。即
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 為當(dāng)前迭代代數(shù);A 和D 均為矢量因子;X*為當(dāng)前最優(yōu)解的位置;X 為位置矢量;a 從2到0線性下降;r 為[0,1]間的隨機(jī)矢量。
步驟4:選擇收縮策略與螺旋上升機(jī)制。
根據(jù)區(qū)間[0,1]的隨機(jī)數(shù)p,若p lt; 0. 5,選取環(huán)形收縮機(jī)制進(jìn)行位置更新,即
X (t + 1) = X* (t) - A?D (6)
若p ≥ 0. 5,則采用螺旋上升機(jī)制,即
X (t + 1) = D'?ebl?cos (2πl(wèi)) + X* (t) (7)
式中, D' 為第i 條鯨魚(yú)到獵物之間的距離, D' =|X*(t) - X (t)|;b為定義對(duì)數(shù)螺旋線形狀的常數(shù);l為[-1,1]間的隨機(jī)數(shù)。
步驟5:檢查是否有搜索代理超出搜索范圍,計(jì)算每個(gè)代理的適應(yīng)度值,模擬選擇操作,更新最優(yōu)位置。
若| A | gt; 1:
D = | C?Xrand - D | (8)
X (t + 1) = Xrand - A?D (9)
式中,Xrand 為從當(dāng)前代選擇的隨機(jī)位置矢量。
選擇操作:為了決定向量Ui,G + 1 是否能成為第G + 1代種群中的個(gè)體,將Ui,G + 1 與Xi,G 進(jìn)行比較。若前者的適應(yīng)度值優(yōu)于后者,則在第G + 1 代中用Ui,G + 1 代替Xi,G;否則,保留Xi,G。
步驟6:達(dá)到最大迭代代數(shù),得到最優(yōu)解。
2 利用基本函數(shù)進(jìn)行算法優(yōu)化能力驗(yàn)證
分別采用粒子群算法、鯨魚(yú)優(yōu)化算法、改進(jìn)鯨魚(yú)優(yōu)化算法對(duì)sphere函數(shù)、rosenbrock函數(shù)、rastrigin函數(shù)、ackley函數(shù)、griewank函數(shù)共5個(gè)基本函數(shù)進(jìn)行求解,求解結(jié)果對(duì)比如表1所示。采用IWOA求解的函數(shù)圖像如圖1所示。
min F (t) = ||60T1 - 60T2|| (17)
5 分析驗(yàn)證
機(jī)器人空載時(shí),在工作空間內(nèi)任取一點(diǎn)(505. 438,183. 900,-1 155. 796),此時(shí)各關(guān)節(jié)轉(zhuǎn)角分別為:θ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。
計(jì)算得其位姿矩陣為
根據(jù)任務(wù)要求,定義θ4、θ5、θ6 的取值范圍均為0. 3~0. 4。采用本文所提方法,通過(guò)10次計(jì)算并在結(jié)果中取平均值得到:θ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。
此時(shí),
通過(guò)對(duì)比矩陣60T1與60T2可以看出,利用改進(jìn)的鯨魚(yú)優(yōu)化算法計(jì)算得出的關(guān)節(jié)變量所對(duì)應(yīng)的末端姿態(tài)矩陣與指定末端姿態(tài)矩陣誤差精度在0. 01°范圍內(nèi),該方法避免了煩瑣的三角函數(shù)變換過(guò)程。所以,本文所提出的改進(jìn)鯨魚(yú)優(yōu)化算法在機(jī)器人逆運(yùn)動(dòng)學(xué)求解中可行。
6 結(jié)論
模擬差分進(jìn)化算法的變異和選擇操作,對(duì)鯨魚(yú)優(yōu)化算法進(jìn)行了改進(jìn),并將改進(jìn)鯨魚(yú)優(yōu)化算法應(yīng)用于機(jī)器人逆運(yùn)動(dòng)學(xué)求解。改進(jìn)后的算法具有全局收斂、快速尋優(yōu)的特點(diǎn)。機(jī)器人前3個(gè)關(guān)節(jié)角通過(guò)矩陣變換直接求解,后3個(gè)關(guān)節(jié)角由算法優(yōu)化得到。通過(guò)計(jì)算,驗(yàn)證了本方法可行。但是,由于求逆的多解性,本文所提出的計(jì)算方法需要一定的前期準(zhǔn)備工作來(lái)確定關(guān)節(jié)角的大致取值范圍,這使得工作量增加?;诒疚乃岢龅臋C(jī)器人逆運(yùn)動(dòng)學(xué)求解方法,最優(yōu)解的選取方式是進(jìn)一步研究的內(nèi)容。
參考文獻(xiàn)
[1] 蔡自興,謝斌. 機(jī)器人學(xué)[M]. 3 版. 北京:清華大學(xué)出版社,2015:65-80.
CAI Zixing,XIE Bin. Robotics[M]. 3rd ed. Beijing:Tsinghua UniversityPress,2015:65-80.
[2] 邱寧佳,隋振,李明哲,等. 六自由度機(jī)器人空間劃線軌跡規(guī)劃算法[J]. 吉林大學(xué)學(xué)報(bào)(工學(xué)版),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ī)器人逆運(yùn)動(dòng)學(xué)求解分析[J]. 河北省科學(xué)院學(xué)報(bào),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ī)器人逆運(yùn)動(dòng)學(xué)求解中的應(yīng)用[J]. 軟件導(dǎo)刊,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] 吳強(qiáng),鄧慶文,胡澤啟,等. 基于RBF 神經(jīng)網(wǎng)絡(luò)與代數(shù)法的6R機(jī)器人逆運(yùn)動(dòng)求解[J]. 數(shù)字制造科學(xué),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] 白文峰,劉紀(jì)陽(yáng),雷宇欣. 微分進(jìn)化優(yōu)化神經(jīng)網(wǎng)絡(luò)KUKA機(jī)器人逆運(yùn)動(dòng)學(xué)求解[J]. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào),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ìn)粒子群算法在機(jī)器人位置逆解上的應(yīng)用[J]. 湖北工業(yè)大學(xué)學(xué)報(bào),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] 趙建強(qiáng),劉滿(mǎn)祿,王姮. 基于PSO優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的逆運(yùn)動(dòng)學(xué)求解研究[J]. 自動(dòng)化與儀表,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] 林陽(yáng),趙歡,丁漢. 基于多種群遺傳算法的一般機(jī)器人逆運(yùn)動(dòng)學(xué)求解[J]. 機(jī)械工程學(xué)報(bào),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] 勾治踐,解艷超,牛永康,等. 六自由度點(diǎn)焊機(jī)器人平順軌跡仿真研究[J]. 計(jì)算機(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.
基金項(xiàng)目:濰坊學(xué)院博士基金項(xiàng)目(44122027)