?

基于改進海洋捕食者算法的機械臂逆解求解*

2024-03-01 00:39巫啟源熊瑞平何智東胡英達周程勝
組合機床與自動化加工技術 2024年2期
關鍵詞:測試函數捕食者位姿

巫啟源,熊瑞平,何智東,胡英達,李 靜,周程勝

(1.四川大學機械工程學院,成都 610065;2.新達泵閥股份有限公司,達州 635000)

0 引言

機械臂逆解求解[1]是指給定機械臂末端的位置和姿態求出機械臂各關節角度,是機器人學領域的基礎問題,對其合理求解才能更好地實現機械臂軌跡規劃、運動控制等關鍵性工作[2],因此研究機械臂逆解求解問題具有重要意義。

傳統的逆運動學求解方法有解析法和數值法[3]等。解析法可求得逆運動學封閉解,但只適用于滿足Pieper準則的機械臂,冗余機械臂不滿足Pieper準則[4],因此對其不適宜采用解析法求解。數值法[5]是指將逆解求解轉化為數學迭代過程,經過一步步迭代逼近最終結果,但迭代過程中存在累積誤差,影響求解精度。

冗余機械臂逆解求解是一個非線性、高耦合的復雜問題[6],傳統的求解方法有時可能無法滿足求解精度和速度要求。近年來,很多學者將智能優化算法應用于逆解求解問題,將問題轉化為目標函數極值優化問題,實現了高效和精確的求解。叢明等[7]提出一種基于經驗進化的珊瑚礁優化算法,并將其應用于逆運動學求解,獲得了比基礎珊瑚礁算法更快的收斂速度和更好的求解精度。邵長春等[8]將反向學習策略、柯西變異機制、余弦指引機制引入蝴蝶優化算法中,實現了逆運動學求解的高精度。石建平等[9]采用混合學習果蠅優化算法進行逆運動學求解,降低了機械臂末端的位置和姿態誤差。于權偉等[10]提出的自適應混沌麻雀搜索算法具有精度高、收斂速度快的特點,在逆解求解問題上有良好效果。李志敏[11]在機械臂末端位姿精度約束下,以減小關節角變化量為目標,提出了基于帶修復策略自適應差分進化算法的逆運動學求解方法。

海洋捕食者算法是由FARAMARZI等[12]提出的一種智能優化算法,由于其全局搜索能力強、收斂速度快的特點,將其應用于逆運動學求解問題。但其存在易陷入局部最優、后期收斂精度不高等問題,因此有必要加以改進。本文將精英反向學習、高斯變異機制、非線性收斂因子引入MPA,將其應用于逆運動學求解問題,達到了提高求解精度的目的。

1 冗余機械臂逆運動學求解模型

1.1 機械臂運動學分析

本文以KUKA LBR iiwa7 R800七自由度機械臂為研究對象,對其進行逆運動學求解。該機械臂簡易模型如圖1所示,D-H參數及關節角度上下限如表1所示。表1中,θi、αi、di、ai、li和ui分別表示關節角、連桿扭轉角、連桿偏距、連桿長度、關節角下限和關節角上限。

表1 機械臂D-H參數

圖1 機械臂簡易模型

(1)

將7軸機械臂的7個齊次變換矩陣依次相乘得到機械臂末端坐標系相對于基坐標系的齊次變換矩陣為:

(2)

由上述分析可知,該型7自由度機械臂的正運動學方程是以7個關節變量為自變量的復雜函數。給定關節變量,通過上述位姿矩陣即可求得機械臂末端相對于基坐標系的位姿,且結果唯一。

1.2 逆運動學求解目標函數

本文求解逆運動學問題的思路是將問題轉化為最小優化問題,再應用改進海洋捕食者算法求解問題。因此,需構造優化目標函數。設機械臂末端期望位姿Tdes和當前實際求得的位姿矩陣Tcur分別為:

Tdes=[px,py,pz,rx,ry,rz]

(3)

(4)

式中:px、py、pz為末端位置坐標,rx、ry、rz為繞X、Y、Z三軸旋轉的角度,即表示末端姿態。

為使末端實際位姿和期望位姿誤差最小,初步構造目標函數為:

(5)

(6)

F=αf1+f2

(7)

式中:f1為位置誤差,采用歐式距離計算;f2為姿態誤差,為對應旋轉角度差值的絕對值之和;α為調整因子,位置誤差與姿態誤差間存在數量級上的差距,引入α均衡兩種誤差的收斂,本文取α=0.02。

由于冗余機械臂在關節空間內的可行解有無窮多個,采用“最柔順”準則,即關節角變化量最小,消耗能量最少,對目標函數進行修正為:

(8)

(9)

2 改進海洋捕食者算法

2.1 海洋捕食者算法(MPA)

MPA其靈感來源于海洋適者生存理論,模擬了海洋捕食者的覓食行為。在初始化階段,MPA通過式(10)在搜索空間中隨機產生一組解構成初始種群X0:

X0=Xmin+rand·(Xmax-Xmin)

(10)

式中:Xmax和Xmin分別是搜索空間的上下限,rand是[0,1]間的隨機數。

MPA優化過程分為3個階段。在迭代初期,當獵物速度比捕食者速度快時,基于勘探策略的MPA優化過程數學描述為:

Si(t)=RB?(Ei(t)-RB?Pi(t))

(11)

Pi(t+1)=Pi(t)+p·R?Si(t)

(12)

式中:RB表示基于布朗運動的隨機向量,?為逐項乘法運算符,i=1,2,…,N,N為種群規模,E為由頂級捕食者構造的精英矩陣,P為與精英矩陣具有相同維數的獵物矩陣,p=0.5是一個常數,R是[0,1]間的隨機向量,t為當前迭代次數,Si為移動步長。

在迭代中期,捕食者和獵物以相同的速度移動,探索和開發能力同等重要。因此,一半種群以布朗運動規則移動負責全局探索,另一半種群以萊維(Lévy)飛行方式移動致力于局部開發。具體數學模型為:

(13)

(14)

(15)

式中:RL為基于Lévy飛行的隨機向量,CF是用來控制捕食者步長的參數,T為最大迭代次數。

在迭代終期,捕食者的轉移速度要遠快于獵物,為了避免被捕食,獵物以Lévy飛行進行運動,其數學模型為:

Si(t)=RL?(RL?Ei(t)-Pi(t))

(16)

Pi(t+1)=Ei(t)+p·CF?Si(t)

(17)

MPA中還考慮到了渦流形成和魚類聚集裝置對捕食者的影響,此階段的數學模型為:

Pi(t+1)=

(18)

式中:FADs=0.2表示優化過程中受FADs影響的概率,R是[0,1]間的隨機向量,U為包括0和1的二進制向量,r為[0,1]間的隨機數,Pr1和Pr2分別是從種群中隨機選擇的個體。

作為教師,首先要有作為一個人的修養,當我們不斷割掉自己特別主觀的部分時,會對外界有越來越敏銳的感知,接近真相,捕捉到他人真實的情緒、情感,更好地做出回應。一個生命和生命相互聯結、相互激發、充滿活力的課堂,需要去除那些表面的、有形的迷惑,進入一種生命的真相。因為生命不能夠說謊,它可以披上一些外衣迷惑我們,但生命本身只能也只會訴說真相。

2.2 混沌初始化

研究表明,初始種群的多樣性有助于提高算法的收斂速度和求解精度。采用混沌映射代替隨機方式能夠在搜索空間中生成具有良好多樣性的初始種群。由于Tent映射可以生成遍歷性較高的混沌序列,本文采用Tent映射初始化種群,其表達式為:

(19)

式中:α是介于[0,1]的常數,本文取α=0.7;i=1,2,…,N表示種群規模,j=1,2,…,d表示混沌變量序號。

Tent映射對初值的選取具有較高的敏感性,式中選用多種不同的初始值,可得到其對應的混沌序列,再將混沌序列映射到算法的搜索空間,混沌初始解生成的數學公式為:

(20)

2.3 精英反向學習策略

(21)

式中:α為[0,1]內的隨機數,Xij∈[lbj,ubj],lbj=min(Xi,j),ubj=max(Xi,j),ubj和lbj表示個體第j維分量的動態上、下邊界。

(22)

2.4 自適應t分布變異

針對基本海洋捕食者算法易陷入局部最優的特點,引入自適應t分布變異策略。t分布又稱為學生分布,它的曲線形態和自由度參數n有關,標準高斯分布和柯西分布是t分布的兩個邊界特例分布。若算法迭代過程中陷入局部最優,以算法第iter次迭代和第iter-3次迭代的最優適應度值大小關系來判斷,若兩者相等,則判斷其陷入局部最優,收斂停滯,此時隨機選取種群中的一半個體采用自適應t分布變異以跳出局部最優,具體描述為:

(23)

式中:Xi為種群中隨機選擇的一半個體中的第i個個體,iter為當前迭代次數,Bestfit為最優適應度值,t(iter)為以iter為參數自由度的t分布。

2.5 IMPA流程步驟

IMPA的具體步驟為:

步驟1:設定算法相關參數,采用Tent映射初始化種群;

步驟2:計算適應度值,記錄最優位置;

步驟3:根據迭代階段,從式(12)、式(14)和式(17)中選擇對應的更新方式,更新獵物位置;

步驟4:采用精英反向學習策略變異并更新獵物位置;

步驟5:計算適應度值,更新最優位置;

步驟6:根據式(18)應用FADs效應,更新獵物位置;

步驟7:判斷收斂是否停滯,若是,則根據式(23)隨機選取一半個體進行自適應t分布變異;

步驟8:判斷是否滿足停止條件,如果不滿足則重復步驟2~步驟8,否則輸出最優結果。

3 仿真實驗與結果分析

3.1 典型函數測試

通過幾種典型測試函數對IMPA、MSMPA[13]和MPA的求解性能進行對比分析。測試函數的相關信息如表2所示,其中F1、F2為單峰基準測試函數,F3、F4為多峰基準測試函數。對這4種函數依次采用3種算法進行50次的獨立計算,設定3種算法的相關參數為:種群大小為50,最大迭代次數為500。求解結果如表3所示。

表2 測試函數相關信息

表3 典型函數測試結果

通過表3數據可以看出,IMPA在F1和F3測試函數上取得了最優解,最優值、最差值、平均值和標準差均為0,尋優成功率達100%,且結果穩定,而MPA和MSMPA沒有取得這種求解效果。對于F2測試函數,IMPA的求解精度比MSMPA和MPA高200多個數量級,且具有穩定的求解性能。對于F4測試函數,IMPA的求解結果穩定,求解平均值比MSMPA高3個數量級,比MPA高5個數量級。以上結果表明本文提出的IMPA的求解精度和求解穩定性均更佳。

3.2 冗余機械臂逆運動學求解

為驗證IMPA逆運動學求解的可行性和有效性,建立仿真實驗將IMPA、MSMPA和MPA分別應用于機械臂點到點運動和連續軌跡運動兩種運動情況進行對比驗證。

設定3種算法的相關參數為:種群大小為50,最大迭代次數為500。給定機械臂末端的期望終點位姿為:Tdes=[21.84,72.69,125.34,0.88,0.26,1.6],初始關節角θini=[0,0,0,0,0,0,0,],以上文提出的式(8)為目標函數,采用3種算法分別進行50次獨立的計算,得到如表4所示的計算結果、如表5所示的50次求解所得平均位置、姿態誤差和如圖2所示的某次求解所得適應度迭代曲線。

表4 3種算法最優適應度統計

表5 位置、姿態誤差

圖2 適應度迭代曲線圖

由表4可知,在最優值、最差值、平均值和標準差4個評價指標上,本文IMPA的結果均比其余兩種算法的結果要好,同時,從表5可知,IMPA的求解精度更高,實際求得位姿和期望位姿的誤差更小,表明其進行逆運動學求解更加精確。從圖2可知,IMPA的收斂速度和收斂精度較另外兩種方法具有明顯優勢。

為進一步驗證IMPA逆運動學求解時具有精度高、速度快、魯棒性好的特性,給定空間中一段連續軌跡,以螺旋曲線為例來進行逆運動學求解,螺旋曲線方程為:

(24)

式中:-2π≤t≤2π,在該曲線上等步長均勻選取100個點作為軌跡點,每一個軌跡點的姿態均設為相同,僅考慮位置誤差。設定初始關節角θini=[0,0,0,0,0,0,0],以上文提出的式(8)為目標函數,求解這100個軌跡點的逆解,采用IMPA求解出的實際點和理論軌跡如圖3所示,位置誤差用軌跡實際點與理論點的歐式距離表示,采用上文提到的3種算法求解出的結果如表6所示。

表6 軌跡實際點與理論點位置誤差

從圖3可知,IMPA求解出的實際軌跡點與理論軌跡大致重合。表6表明,在對空間連續軌跡求解時,在位置誤差的最大值、最小值、平均值和標準差4個指標上,IMPA均優于MSMPA和MPA,充分驗證了IMPA進行空間連續軌跡逆運動學求解時具有求解精度高和穩定性好的優勢。

4 結論

本文針對冗余機械臂逆運動學求解問題,提出了改進海洋捕食者算法(IMPA)這一求解新方法。將IMPA應用到逆運動學求解實例中,對于點到點運動情況,仿真實驗結果表明,IMPA的求解精度和穩定性均優于MPA和MSMPA,三軸位置誤差可達1~2 mm,姿態誤差可達10-2rad。對于連續軌跡運動情況,IMPA求解所得實際點與理論點位置誤差最小可達10-1mm,求解精度明顯優于MSMPA和MPA。實驗驗證了IMPA在冗余機械臂逆運動學求解問題的可行性和有效性,能夠有效降低機械臂末端的位姿誤差,具有一定優勢。

猜你喜歡
測試函數捕食者位姿
交錯擴散對具有Ivlev型功能反應的捕食模型共存解存在性的作用
具有Allee效應隨機追捕模型的滅絕性
一類隨機食餌-捕食者模型的參數估計
具有收縮因子的自適應鴿群算法用于函數優化問題
基于共面直線迭代加權最小二乘的相機位姿估計
基于CAD模型的單目六自由度位姿測量
瘋狂的捕食者
帶勢函數的雙調和不等式組的整體解的不存在性
小型四旋翼飛行器位姿建模及其仿真
約束二進制二次規劃測試函數的一個構造方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合