陳 桂,王建紅,湯玉東
(南京工程學院 自動化學院,南京 211167)
機器人的運動仿真是機器人技術的一個重要組成部分。通過建立機器人的運動學模型,進行機器人的運動學分析,逆運動學解算和軌跡規劃,從而分析機器人的運動性能,是機器人研究與應用的一個重要手段和工具。利用計算機可視化和面向對象的手段,通過仿真來模擬機器人的動態特性,幫助研究人員了解機器人工作空間的形態及極限,驗證控制方案和算法的合理性,及時找出缺點和不足,進行改進,避免了直接操作實體可能造成的事故和不必要的損失,這必將使得機器人的研究、生產和研究進入一個可預知的新時代。
對于機器人運動學的研究,國內外相關的文獻[1-3]中,大多停留在仿真研究階段。本文則選用目前在工業機器人中最常用的KUKA 六軸機器人作為模型對象,在MATLAB 環境下進行仿真,不僅以圖形和曲線直觀展示機器人各關節軸的運動狀態,而且將仿真結果應用于KUKA KR6-2 機器人實際的運動控制,從而驗證控制方案和算法的有效性。
為了描述機器人相鄰桿件之間的旋轉和移動關系,Denvit 和Hartenberg 于1955 年提出了一種為關節鏈中的每一個桿件建立附體坐標系的矩陣方法― D-H方法。該方法是為每個關節處的桿件坐標系建立4 ×4 的齊次變換矩陣,以表示它與前一桿件坐標系的關系[4]。對于剛性桿件,其D-H 表示法取決于桿件的以下4 個參數:繞Zi-1軸(按右手規則)由Xi-1軸轉向Xi軸的關節角θi;從Xi-1軸到Xi軸沿Zi-1軸的偏置距離di;從Zi-1軸到Zi軸沿Xi軸的偏置距離(連桿的長度)ai;以及繞Xi軸(按右手規則)由Zi-1軸轉向Zi軸的偏角(連桿的扭轉角)αi。
KUKA KR 6-2 機器人是德國庫卡公司生產的一種六軸工業機器人,由于它的靈活性,可以廣泛應用于搬運、組裝、機加工等多種領域。其結構簡圖和相關參數如圖1。根據圖1 所示的結構簡圖,依據機器人后置坐標的D-H 參數表示法,可得出該機器人的D-H 參數見表1。

圖1 KUKA KR6-2 機器人結構簡圖及參數

表1 KUKA KR 6-2 機器人D-H 參數

根據表1 中的D-H 參數,首先分別建立6 個旋轉關節模型:然后組合成含有此6 個旋轉關節的機器人,并命名為’kr6’。設定初始位置為(0,pi/2,0,0,pi,0),可以畫出表示該機器人位置的三維圖,如圖2。

圖2 KUKA KR6-2 機器人三維結構圖
MATLAB 作為一種仿真工具,其強大的數值分析、矩陣計算能力和豐富的圖形界面功能,為在眾多科學領域進行科學研究、工程設計提供了全面的解決方案。同時Peter Corke 開發的基于MATLAB 環境的Robotics Toolbox 工具箱更為機器人的建模分析和仿真研究提供了更為便利的手段[6]。
根據機器人后置坐標變換法定義,相鄰兩個坐標系的變換可以分解成下列4 個子變換:
(1)繞Zi軸轉動θi;
(2)沿Zi軸移動di;
(3)沿Xi-1軸移動ai;
(4)繞Xi-1軸轉動αi;
運用矩陣變換的公式則可以表示為:

根據表1 中的ai,αi,di,θi四個參數,由于該機器人關節均為旋轉關節,因此θi為關節變量,ai,αi,di,為常量,由具體的機器人參數確定。從而,可以推導出相鄰兩個坐標系的齊次變換矩陣:

對于具有6 個旋轉關節的KUKA KR6-2 機器人而言,其末端執行器的位置可以通過如下的變化得到:

如果已知機器人各個關節的運動參數(θ1,θ2,θ3,θ4,θ5,θ6),代入式(2)和(3)中,得到如式(4)所示的齊次矩陣,即可得出機器人的末端執行器所在的姿態R(nx,ny,nz,ox,oy,oz,ax,ay,az)和位置P(px,py,pz),從而可以進行機器人運動的分析,這是機器人的運動學正解問題。
在MATLAB 中,給定關節角度,運行運動學正解函數fkine(),可得機器人的空間位姿。如設關節角度為(pi/4,pi/2,pi/8,pi/2,7*pi/6,pi/2),則求得空間位姿矩陣T2 如下:

表示機器人的位置為(0.6365,0.7178,1.6818),姿 態 是(- 0.2706,- 0.2706,0.9239,0.9390,-0.2857,0.1913,0.2122,0.9193,0.3314)。
從上面分析可知,機器人的運動學逆解問題就是已知機器人末端執行器的位姿(nx,ny,nz,ox,oy,oz,ax,ay,az,px,py,pz),求出機器人各關節的關節變量(θ1,θ2,θ3,θ4,θ5,θ6)。也就是由笛卡爾空間到關節空間的非線性映射問題。求解運動學逆解問題的方法有幾何法、反變換法、數值迭代法以及神經網絡算法等。在運動學逆解的求取過程中,要考慮到機器人關節運動的奇異位形問題。
對于機器人位姿矩陣,運行MATLAB 運動學逆解函數ikine(),可以得到在該位姿下機器人的各關節角度。如設機器人的空間位姿如圖2 所示,則其位姿齊次變換矩陣T 為:

運動學逆解后求得的關節角度為(以弧度為單位):

這個結果與圖2 設定的初始位置的關節角度(0,pi/2,0,0,pi,0)是一致的。
由于在運動學逆解的求取過程中,用到矩陣的逆運算和反三角函數運算,因此運動學逆解可能不唯一。同時,因為Robotics Toolbox 運用數值迭代法求解運動學逆問題,會出現迭代不收斂的情況,從而無法得出某一位姿下的機器人關節角度。運用神經網絡和遺傳算法等智能算法進行機器人運動學逆解的求取也是近年來的研究趨勢[7-8]。
機器人的軌跡規劃是根據機器人要完成的任務,根據一定的約束條件,設計機器人在起點和終點之間各關節的運動規律,包括位姿、速度和加速度等,它是運動學反解(位姿反解、速度、加速度反解)的實際應用[4]。機器人的軌跡優化是用樣條函數來擬合機器人的軌跡運動策略,也是研究的熱門領域[9-10]。
軌跡規劃主要有兩種形式:點到點運動(PTP)的軌跡規劃和連續點運動(CP)的軌跡規劃。軌跡規劃既可在關節變量空間中進行,也可在笛卡爾空間進行[11]。對于關節變量空間的規劃,要規劃關節變量的時間函數及其一階、二階時間導數,以便描述末端執行器的預定運動。在笛卡爾空間規劃中,要規劃機器人末端執行器的位置、速度和加速度的時間函數,而相應的關節位置、速度和加速度可根據末端執行器的信息導出。
本仿真以點到點運動(PTP)的軌跡規劃為例,選用機器人的初始位姿A點為軌跡起始點,位姿矩陣為TA,B點為終點,位姿矩陣為TB。機器人在起始點的各關節角度如圖2 所示。在軌跡規劃時,需要得出機器人從A點運動到B點的過程中,各關節的角度、速度、加速度的變化情況以及機器人末端執行器的運動軌跡。選取軌跡起點的初始位姿如圖2 所示,其位姿矩陣TA=T,軌跡終點的位姿矩陣TB=T2。
首先根據機器人的初始位姿TA運用運動學逆解算法,得出初始關節角度q0,再根據終點位姿TB得到終點關節角度qf,然后綜合考慮機器人運動中的一系列約束條件進行插值計算,可以得出機器人各關節的角度變化軌跡,分別進行一階和二階導數運算可以得出各關節的速度和加速度變化曲線。假設機器人自q0 到qf的時間為4.5s,插值步長取50ms。各關節角度、速度和加速度變化曲線分別如圖3,圖4 和圖5 所示。同理,若要在笛卡爾空間進行軌跡規劃,則用節點間的最簡單路徑法即在空間的一個直線移動和繞某定軸的轉動表示,從而得出機器人末端執行器的位置變化軌跡如圖6。

圖3 各關節角度變化曲線
圖3 中的各關節角度變化曲線只有5 條,表明在該點到點的軌跡運動中,有兩個關節的角度變化相同,根據初始位姿和終點位置的運動學逆解可知,關節4和關節6 的角度變化相同。

圖4 各關節速度變化曲線

圖5 各關節加速度變化曲線

圖6 末端執行器的運動軌跡
圖4 的各關節速度變化曲線和圖5 的加速度變化曲線都是連續的,表明機器人在從A點到B點的運動過程中,速度和加速度沒有突變,在整個軌跡運動過程中不存在奇異點。
在實驗室設置KUKA KR6-2 機器人按照上述仿真的初始點和終點進行實際的運動控制。將機器人的位置信息保存在‘. dat’文件中,在MATLAB 中讀取該文件,將實際機器人進行點到點運動的空間位置變化情況用曲線表現出來,并與MATLAB 中建立的模型軌跡運動進行比較。如圖7,黑色曲線表示仿真規劃中的運動軌跡,該規劃算法采用最短路徑規劃。紅色曲線則表示機器人實際運動軌跡。

圖7 模型與實際機器人的運動軌跡
由圖7 可知,機器人末端執行器在初始位置和終點位置時刻仿真結果和實際機器人的位置完全一致,從而也驗證了機器人點到點的軌跡跟蹤運動只是在給定的路徑點上能夠保證機器人末端到達期望位姿,而在各個路徑點之間不能保證機器人末端到達期望位姿。
機器人運動學的研究與仿真技術一直是機器人領域研究的熱點問題,本文在MATLAB 環境下,運用Robotics Toolbox 工具箱構建KUKA 機器人模型,進行運動學仿真、逆運動學求解和軌跡規劃,并且以圖形方式顯示機器人在笛卡爾空間和關節空間的運動規律,能夠在計算機上驗證機器人是否準確按照期望軌跡運動。通過實驗證明,所建立的機器人運動學方程正確,采用仿真分析的方法對減少機器人產品開發成本,縮短開發周期,具有非常高的現實意義。
[1]林立俊,柳和生,饒錫新,等. 基于MATLAB 的ARB-120型機器人運動學仿真研究[J]. 組合機床與自動化加工技術,2013(3):67 -69.
[2]臧慶凱,李春貴,閆向磊. 基于MATLAB 的PUMA560 機器人運動仿真研究[J]. 廣西科學院學報,2010,26(4):397 -400.
[3]蘇學滿,孫麗麗,楊明,等. 基于MATLAB 的六自由度機器人運動特性分析[J]. 機械設計與制造,2013(1):78 -80.
[4]蔡自興. 機器人學[M]. 北京:清華大學出版社,2009.
[5]Serdar Kucuk ,Zafer Bingul. Robot Kinematics:Forward and Inverse Kinematics,Industrial Robotics Theory Modelling Control[C]. ISBN 3 - 86611 - 285 - 8,Germany,2006(12):117 -149.
[6]P.I. Corke. Robotics,Vision & Control:Fundamental Algorithms in MATLAB[M]. Springer,2011. ISBN 978 -3-642 -20143 -1.
[7]Thiang,Handry K.,Rendy P.. Artificial Neural Network with Steepest Descent Backpropagation Training Algorithm for Modeling Inverse Kinematics of Manipulator[C]. World Academy of Science,Engineering and Technology,2009,36:672 -675.
[8]吳振宇,姚明江,馮林,等. 基于遺傳粒子群的PUMA 機器人逆運動求解[J]. 計算機仿真,2011,28 (10):173 -176.
[9]張傳壘,葛為民,宋博. 機械手軌跡規劃中的BP 神經網絡方法及仿真[J]. 組合機床與自動化加工技術,2007(10):22 -24.
[10]劉能廣,任天然,柴蒼修,等.基于遺傳算法的噴漆機器人軌跡的二層規劃[J]. 機械設計與制造,2008(6):173 -175.
[11]勾治踐,牛永康,王成.基于B 樣條的6R 機器人軌跡規劃及仿真[J].煤礦機械,2013,34(2):49 -50.