盧銳 王忠慶
【摘要】以六自由度工業機器人——MOTOMAN-HP6 機器人為研究對象,簡單介紹了機器人運動學的數學基礎。根據機器人的相關參數,建立了機器人運動學模型及相關坐標系,對機器人的正運動學及逆運動學問題進行了研究。采用MATLAB 開發工具建立系統界面,編制了相關程序,結合實例對機器人的直線、圓弧及自由曲線軌跡的生成進行了仿真,完成了系統設計。為后續實習用工業機器人離線編程系統的開發打下了基礎。
【關鍵詞】六自由度;機械臂運動學
Abstract:This thesis takes MOTOMAN-HP6 robot as the research object,introduces the mathematical foundation of the robot kinematics briefly.According to the related parameters of the robot,the kinematics model and the relevant coordinate of the robot are built,the kinematics and inverse kinematics problem is studied.The system interface based on MATLAB is built and the related program is compiled.The straight and curve motion of the robot are simulated with instances and the system design is completed.For the design of the off- line programming system of the practice industrial robot laid the foundation.
Key word:Industrial robots;Inverse kinematics analysis;System simulation;Free curve;MOTOMAN
1.引言
在工業機器人的應用中,系統仿真技術起到了很重要的作用。仿真技術是在近幾十年來基于計算機技術、控制技術等發展起來的一門綜合性技術[9]。隨著計算機技術的發展和普及,系統仿真技術的應用范圍也越來越廣,基本包括了人們生活、生產的各個領域。而在工業機器人的應用中,仿真技術的重要性體現的也相當的明顯。
本文以目前應用較廣泛的六自由度工業機器人——MOTOMAN-HP6 機器人為研究對象,采用MATLAB開發工具建立機器人的運動學模型及相關的坐標系,對機器人的正運動及逆運動學的相關算法進行了研究,并對幾種不同的求解方法進行了對比,接著分析了直線、圓弧及自由曲線軌跡的生成相關算法,特別是對自由曲線的軌跡生成算法的關鍵技術進行了研究。
2.機械臂結構
從圖1中可以看出,機器人各個關節的尺寸關系以及中心點的坐標值及機座坐標原點的位置等。在機器人的各個連桿上固接一個坐標系,研究這些坐標系之間的關系,就可以研究機器人各連桿之間的關系(見表1)。
表1 D-H參數表
i αi-1 a i-1 di θi
1 0 0 460 0
2 -Pi/2 250 0 -Pi/2
3 Pi 700 0 0
4 -Pi/2 150 -800 0
5 Pi/2 0 0 -Pi/2
6 -Pi/2 0 -100 0
機器人坐標系相應的一些連桿參數如所示。其中:αi表示繞Xi-1軸,從Zi-1旋轉到Zi的角度值;ai-1表示沿Xi-1軸,從Zi-1移動到Zi的距離;di表示沿Zi軸,從Xi-1移動到Xi的距離;θi表示繞Zi軸,從Xi-1旋轉到Xi的角度。
3.正運動學求解算法
根據運動學數學基礎理論知識,我們可以采用4 4的齊次變換矩陣描述相鄰兩連桿之間的空間位置關系,以此來建立機器人連桿的運動方程。對圖2所示的連桿坐標系,進行坐標變換,我們可以得出如下的變換矩陣關系:
式中:
4.逆運動學求解算法
已知機器人末端執行器的位姿來確定對應的關節角的問題為機器人的逆運動學問題。也就是給定機器人末端執行器的目標點的坐標(),來求解此時對應的各個關節角度。
對于6自由度的機械臂而言,在某些特殊的情況下,可以得到封閉解:
(1)三個相鄰關節軸相較于一點;
(2)三個相鄰關節軸相互平行。
逆運動學幾何法:
由于連桿坐標系{4}{5}{6}的原點都在腕部三軸的交點上,此時運動學方程可以表示為:;式中,規定三軸交點(稱腕部)的位置;而則規定手腕的方位。因此運動學反解分兩步進行:首先由腕部位置求解出;然后再由手腕的方位解出。
圖2 在坐標系{1}下的機器人連桿幾何關系
5.計算結果分析
(1)增根的問題
通常產生增根的原因有2個:一是解得的目標角度超出機器人關節的運動范圍;二是計算過程中運用的三角函數公式造成的。對于前者,必須通過角度范圍的校驗來剔除;對于后者,由于不可避免要使用三角帶環,因此需要借助幾何方法來分析可能的最大逆解數,以檢測計算過程是否引入增根。
表2 逆運動學求解
1 2 3 4 5 6
1 48.31 -323.78 159.59 -49.41 79.56 11.94
2 48.31 -313.78 159.59 130.59 -79.56 191.94
3 48.31 -73.24 18.50 -117.21 57.11 133.43
4 48.31 -73.24 18.50 62.79 -57.11 313.43
5 -129.95 -106.76 159.59 63.16 59.23 134.68
6 -129.95 -106.76 159.59 243.16 -59.23 314.68
7 -129.95 143.78 18.50 128.58 78.73 13.77
8 -129.95 143.78 18.50 308.58 -78.73 193.77
(2)MATLAB仿真求解驗證
根據上述機械臂運動學逆解算法,通過求解機械臂末端在某一空間位姿時的各關節姿態,來驗證本文所提出的運動學逆解算法的正確性。
取機械臂運動中所能達到的任意坐標x=214.8;y=247.8;z=110,利用MATLAB編寫的求解程序求得8組解。
如表2所示,滿足關節轉角范圍的只有一組解,為第三組解。將這組解帶入機械手運動學正解方程,通過MATLAB運動學正解程序可得機械手末端執行器相對于基坐標系的位姿,與已知位置相同,故該逆解算法是正確的。
6.結束語
在本文涉及的六自由度機械臂逆解研究中才用幾何法求解,計算量小,對于特定構型的機械手來說是一種簡單實用的逆運動學求解方法。
參考文獻
[1]蔡自興.機器人學[M].北京:清華大學出版社,2009.
[2]王雪松,許世范,郝繼飛.MOTOMAN 機械手逆運動方程的推導方法及求解[J].中國礦業大學學報,2001,30(1):73-75.
[3]馬化一,張艾群,張竺英.一種基于優化算法的機械手運動學逆解[J].機器人,2001,23(2):137-141.
[4]羅家佳,胡國清.基于MATLAB 的機器人運動仿真研究[J].廈門大學學報,2005,44(5):640-644.
作者簡介:
盧銳(1988—),男,山西太原人,中北大學碩士研究生,研究方向:控制工程。
王忠慶,男,中北大學副教授,碩士生導師,研究方向:控制理論與控制工程,導航、制導與控制,檢測技術與自動化裝置。