靜網PWA視頻評論

差分粒子群算法在PUMA機器人逆運動學求解中的應用

2023年10月29日

- txt下載

汪院林 袁銳波 袁安華
摘要:傳統逆運動學求解主要從逆運動學方程出發,基於一定的數學理論推導,不能完全實現電腦程式化,且精度與計算效率較低:為改善這一缺陷,基於機器人正向運動學方程,藉助MATLAB工具,使用蒙特卡洛法仿真分析出PUMA560機器人的工作空間,任取一點末端執行器位姿作為逆運動學求解的已知位姿矩陣T,結合差分粒子群仿生智能算法作為逆運動學求解的主要理論算法。將計算出的旋轉關節變量θ1-θ6代入正運動學方程,得出末端位姿矩陣於;通過計算分析T與於相關角度誤差,兩矩陣所對應的位置向量與姿態向量誤差精度為0.001數量級,完全滿足目前機器人定位要求。基於差分粒子群理論的機器人逆運動學求解方法計算收斂速度更快,能高度實現電腦程式化,誤差精度高,提高計算效率。
關鍵詞:正運動學;差分粒子群算法;收斂速度;位姿矩陣;逆運動學解
DOI: 10. 11907/rjdk.191724
開放科學(資源服務)標識碼(OSID):
中圖分類號:TP319
文獻標識碼:A
文章編號:1672-7800(2020)004-0203-05
0 引言
近年來,機器人技術發展迅速,在工業等領域占據重要地位,機器人運動學研究也日益增多。機器人運動學主要由正運動學與逆運動學兩部分組成:機器人正運動學主要以基坐標為基礎,根據各關節旋轉角度確定末端執行器的位姿;逆運動學與其相反,以末端關節為出發點最終回到基坐標。正運動學由多個關節的位姿矩陣進行連乘運算,最終確定末端執行器唯一的位姿矩陣,而逆運動學末端位姿可以對應機器人系統關節的多個解[1]。機器人逆運動學問題隨著運動關節的增多而更加複雜,它實質上是解一個非線性方程問題。實際應用中,機器人所要執行的任務通常用其基坐標系描述[2]。因此,機器人逆運動學求解在控制領域顯得尤為重要。
目前,機器人逆運動方程求解方法主要有解析法、幾何法、疊代法、幾何一解析法[3]等。Paul等[4]對PUMA機器人提出了當d6=0時逆運動的解析解;Lee等[5]提出應用幾何學方法求解各關節變量;王奇志等[6]提出當d6≠0時的一種解析解法;戴齊等[2]對PUMA機器人逆運動解利用幾何一解析法進行研究。基於傳統理論方法雖然模型建立簡單,但計算效率低下,難於析出機器人逆運動學的所有解,且電腦程式的可移植性較差;吳振宇等[7]利用遺傳粒子群算法在解決非線性問題時的優勢,對PUMA機器人的逆運動解提出遺傳粒子群算法理論,但該方法需要大量的樣本數據進行訓練,且對目標函數進行最優搜索時收斂速度較慢,會陷入局部最優狀態,存在一定不足。
本文提出一種新的逆運動求解方法:基於差分進化算法( Differential Evolution Algorithm.DE),該方法結構簡單,收斂速度快,魯棒性較強,是與粒子群優化算法( ParticleSwarm Optimization,PSO)同時考慮位置與速度兩個參數相結合的一種混合智能算法[8]。從正向運動學方程出發,在各關節角變量範圍內取出相應角度值,建立PUMA機器人工作空間範圍模型。通過圖像方式驗證三維空間尺寸是否與機器人結構尺寸一致,圖形各投影平面中有沒有明顯的空洞現象。基於所有末端執行器位姿點,取其中某一點位姿,將差分粒子群混合算法作為PUMA機器人逆運動求解主要理論,彌補了傳統逆運動求解方法的不足,提高了計算效率和精度。
1 正運動學模型
1.1 D-H法坐標系及幾何參數
PUMA型機器人有6個自由度,且6個關節均為旋轉類型,可採用標準D-H法建立杆件坐標系描述各關節之間的特徵參數和運動關係。該矩陣為4x4的齊次變換矩陣,通過該矩陣可得出與PUMA560機器人幾何尺寸相關的運動學方程。標準D-H法得到的相鄰杆件之間的齊次變換矩陣如下:
各連杆幾何參數如表1所示。
1.2 運動學方程
PUMA560機器人由多個旋轉關節組成,其中包含旋轉基座、大小臂、手腕等幾部分[9]。前3個關節用於對末端執行器進行定位,後3個關節主要用於保證末端執行器的姿態。PUMA機器人運動學正解方程如下:
若給出關節旋轉角及各連杆幾何參數,通過式(2)可求出PUMA機器人末端執行器位姿;若僅已知末端關節位姿,則需要確定中間各關節旋轉角,這需要進行大量計算方可求出。
2 PUMA機器人工作空間仿真
2.1 蒙特卡洛法工作空間分析
目前,確定機器人工作空間的方法主要有數值法、解析法及圖解法。圖解法方法較簡單,但受關節數目限制,對多自由度機器人進行工作空間分析時需採用分組處理[10];解析法主要採用微分幾何學原理,通過繪製函數解析式的多次包絡曲線確定工作空間,表示複雜,多用於三自由度以下機器人的工作空間分析[11];數值法多建立在極值理論及相關優化理論之上,通常計算量龐大,用於圖形邊界為曲面且凹陷時,計算可靠性低[12]。本文提出一種建立於數值法基礎上且引進隨機分布方法的蒙特卡洛法,它主要依託隨機抽樣的數學理論將工程問題轉化為數學模型,應用範圍較廣。在工程中,主要用於一些隨機無規律性的物理問題,而在機器人領域多用來進行誤差分析。然而,機器人工作空間的仿真計算也能通過蒙特卡洛法理論完成,可利用計算機輔助計算[13]。
蒙特卡洛法求解機器人工作空間,主要是在機器人各關節的旋轉變量範圍內按一定步長隨機取值,然後把各旋轉關節的取值代入方程式(2)中,最終計算出自由端執行器的空間坐標值,而末端關節所有隨機值的集合則構成機器人工作空間。將末端執行器得到的坐標點輸出到圖形設備上,可得出機器人工作空間的三維仿真圖形。
蒙特卡洛法主要步驟如下[14]:
(5)設定所需要輸出的點集數,通過循環方式重複步驟(3)、步驟(4),直到滿足條件為止。
上述算法可藉助MATLAB軟體程序化完成,最終將末端位置空間點通過三維繪圖函數plot3輸出。利用蒙特卡洛法進行機器人工作空間仿真步驟如圖2所示。
2.2 PUMA560機器人工作空間仿真分析
根據機器人運動學正解方程及蒙特卡洛法理論,將該算法編寫成MATLAB程序進行仿真分析。PUMA560機器人各關節角度取值點為50 000個,最終輸出50 000個點作為三維工作空間,仿真結果如圖3-圖6所示。
從以上三維工作空間仿真圖及各平面投影圖分析可得出:仿真分析出的工作空間均未超出各關節變量旋轉範圍,且各圖形尺寸範圍與PUMA560機器人結構尺寸相一致。從圖中看出各點集均勻,未出現空洞等現象。因此,該仿真結果與實際相符。
3 逆運動學求解
粒子群優化算法(PSO)是來源於觀察鳥群覓食而誕生的一種仿生算法,廣泛應用於非線性問題、多極值和不可微等場合的優化,需要設置的參數較少[16]。PSO算法在搜索空間範圍內尋找最優解,主要與粒子適應度和群體兩個參數有關,而粒子群的每一個體可表示某優化問題的一個機率解。每個粒子主要由速度和位置兩大屬性決定。粒子適應度是將粒子位置代入目標函數得到的數值,粒子適應度是判斷粒子優劣的標準。在對問題進行搜索疊代時,粒子主要依據兩個參數作出變換:①粒子受自身經驗影響而得到的最優解,即個體歷史極值pBest;②粒子受全局影響而尋到的最優解,即全局歷史極值gBest。用以下公式對粒子位置及速度進行更新。
式中,v(t+1)、x(t+1)分別為下一時刻粒子的速度與位置;C1、c2為學習因子,代表個體經驗與群體經驗對粒子速度影響所占權重;rand()為隨機數,範圍為[0,1];ω為慣性權重,是與時間有關的動態調整參數。ω取值對算法影響至關重要,ω較大能提高全局搜索能力,但收斂速度很慢,較小則易陷入局部搜索。本文對ω的取值隨疊代次數從0.9線性遞減為0.4[17],變化公式如下:
差分進化算法(DE)是一種並行求解的進化算法,與遺傳算法類似,用相同的算術操作(如:變異、交叉和選擇運算元)對初始群體或父代群體進行更新。DE首先進行變異操作,在搜索範圍內任意選取一個體作為基準父代個體,並在父代個體外隨機選取兩個向量進行差值計算,加權後與父代個體求和;然後經交叉運算元在父代個體與變異個體間進行選擇,產生實驗個體;最終結合目標函數對父代個體和實驗個體作選擇,生成新的子代個體[18]。
其中,F(x)為對應問題的目標函數值。
本文根據PUMA560機器人逆運動學方程建立數學模型(目標函數):機器人末端執行器位姿矩陣為T,利用差分粒子群算法優化得出第t次搜索時各關節變量所對應的矩陣T,數學模型可表達為兩矩陣T與T之間的空間距離,使其為極小佰,計算如下:
本文結合DE與PSO各自的優點,提出一種差分粒子群算法(DEPSO),用於解決PUMA560機器人運動學問題。該算法以PSO流程為主,通過DE算法增強了粒子群體的多樣性,可避免PSO算法陷入局部最優解。DEPSO算法步驟如下:①在粒子群體範圍內,初始化粒子位置與速度,設計數器t=0;②計算粒子適應度,用於DE算法選擇粒子,計數器t=t+1;③粒子根據式(8)進行DE變異操作並作選擇;④更新局部最優解pBest與全局最優解,根據式(5).式(6)計算粒子位置與速度;⑤粒子根據式(9)進行DE交叉計算;⑥計算粒子適應度;⑦選擇新一代粒子;⑧更新局部最優解和全局最優解;⑨若計數器大於給定循環次數,則退出計算,否則,調至步驟②。
DEPSO算法基本流程如圖7所示。
4 實驗結果與分析
PUMA560機器人各杆件參數如表1所示。根據蒙特卡洛法機器人正運動學求出所有末端關節位姿矩陣,任取其中一點作為逆運動學求解的末端位姿矩陣T,如下所示:
根據矩陣T與於,可從位置與姿態矩陣分析求解精度。實驗末端關節矩陣T對應的位置坐標為[ 600.227,622.914,164.221];關節變量θ1-θ6所對應矩陣T的位置坐標為[600.2283,622.9124,164.2217],計算得出T與於之間的誤差精度為0.001mm數量級。
姿態矩陣所對應角度為T和於各自的反餘弦值[20]。對T與於進行分析可得出:PUMA560機器人指定末端位姿矩陣法向向量各自的方向角[106.5334°,76.3895°,21.6705°],所求關節角對應位姿矩陣的法向向量方向角為[106.5313°,76.3855°,21.6714°];機器人指定末端位姿矩陣滑動向量方向角為[61.0559°,143.2778°,69.4417°],所求關節角對應的位姿矩陣滑動向量方向角為[61.0585°,143.2788°,69.4397°];PUMA560機器人指定末端位姿矩陣所對應的接近向量方向角各自為[34.1543°,56.6547°,83.4417°],所求關節角對應位姿矩陣的接近向量方向角各自為[34.1507°,56.6577°,83.4445°】。通過以上計算可看出,利用差分粒子群算法計算PUMA560機器人得出的關節變量所對應的末端姿態矩陣與指定末端姿態矩陣的誤差精度在0.001°數量級,由此可知,將本文的差分粒子群算法用於求解PUMA560機器人逆運動學求解完全滿足定位精度要求。
5 結語
本文從正運動學方程出發,根據蒙特卡洛法求解出PUMA560機器人工作空間的末端關節位姿矩陣,任取一點用於逆運動學求解過程。結合差分優化算法與粒子群算法優點,提出一種差分粒子群混合智能算法,將其作為逆運動學求解方法。該方法與其它傳統逆運動學求解方法相比較,更適合於計算機計算,具有定位精度高、收斂速度快、計算高效等優點。通過實例驗證可知,該方法用於機器人逆運動求解問題滿足當前機器人定位誤差要求,是智能算法與逆運動數值法相結合的新理論。
參考文獻:
[1]JOHN J,CRAIG.機器人學導論[M].以,貟超,譯.北京:機械工業出版社.2006.
[2] 戴齊,姚先啟.一種求解PUMA機械手運動學逆問題的分解法[J].西南交通大學學報,1989(4):30-35.
[3] 陳寧,焦恩璋.PUMA機械手逆運動方程求解新方法[J].南京林業大學學報(自然科學版),2003,27(4):23-26.
[4]PAUL R P.Robot manipulators: mathematics, programming and con-trol: the computer control of robot manipulators[M].Cambridge: MITPress.1981.
[5] FU K S,CONZALEZ R C,LEE C S G.Robotics: control, sensing,vision and intelligence [J]. Me Graw-Hill. 1987(6):78-82.
[6] 王奇志,徐心和,尹朝萬.PUMA機械手逆運動方程新的推導方法及求解[J].機器人,1998,20(2):81-87.
[7]吳振宇,姚明江,馮林,等.基於遺傳粒子群的PUMA機器人逆運動求解[J].計算機仿真,2011,28( 10):173-176.
[8]池元成,方傑,蔡國飆.基於差分進化和粒子群優化算法的混合優化算法[J].計算機工程與設計,2009.30( 12):641-647.
[9] 布魯諾·西西里安諾.機器人學:建模、規劃與控制[M].張國良,譯.西安:西安交通大學出版社,2013.
[10]蔡蒂,謝存禧,張鐵,等.基於蒙特卡洛法的噴塗機器人工作空間分析及仿真[J].機械設計與製造,2009(3):161-162.
[11] KOHLI D. HSU M S.The jacobian analysis of workspaces of mechan-ical manipulators[J]. Mechanism& Machine Theory, 1987, 22(3):265-275.
[12]趙燕江,張永德,姜金剛.基於Matlah的機器人工作空間求解方法[J].機械科學與技術,2009,28(12):1657-1661.
[13] RASTEGAR J,PEREL D.Ceneration of manipulator workspaceboundary geometry using the monte carlo method and interactive com-puter graphics[J]. Journal of mechanical design, 1990, 112 (3):452-454.
[14] 郭明,周國斌.多關節機器人工作空間的分析與評價方法[J].機器人,1988,10 (4):7-12.
[15] 沙漠,鄧子龍.基於MATLAB對於PUMA560機器人的運動空間分析研究[J].機械製造與自動化,2016,45(2):156-159.
[16] KAO Y T,ZAHARA E.A hybrid genetic algorithm and particleswarm optimization for multimodal functions[J]. Applied Soft Com-puting Journal, 2008.8 (2): 849-857.
[17] 王志,胡小兵,何雪海.一種新的差分與粒子群算法的混合算法[J].計算機工程與應用,2012,48(6):46-48.
[18] 欒麗君,譚立靜,牛奔.一種基於粒子群優化算法和差分進化算法的新型混合全局優化算法[J].信息與控制,2007,36(6): 708-714.
[19]謝宏,禹文科,楊鵬,等,多子群分層差分粒子群算法的逆運動求解方法[J].電子測量與儀器學報,2015,29(10):95-99.
[20] 芮梃.PUMA機器人逆運動模擬退火粒子群求解方法[J].計算機工程與應用,2010,46(3):27-29.
(責任編輯:杜能鋼)
作者簡介:汪院林(1994-),男,昆明理工大學機電工程學院碩士研究生,研究方向為流體傳動與控制;袁銳波(1968-),男,博士,昆明理工大學機電工程學院教授,研究方向為電液比例伺服控制、複雜機電系統集成與控制;袁安華(1991-),男,昆明理工大學機電工程學院碩士研究生,研究方向為流體傳動與控制。本文通訊作者:袁銳波。

收藏

相關推薦

清純唯美圖片大全

字典網 - 試題庫 - 元問答 - 简体 - 頂部

Copyright © cnj8 All Rights Reserved.