葉泉,王建華
(1. 南京機電職業技術學院 自動化工程系,江蘇 南京 211306;2. 江蘇省特種設備安全監督檢驗研究院 起重機檢驗中心,江蘇 南京 210000)
ABB IRB2600機器人為典型的6R工業機器人,該款機器人在搬運、上下料、弧焊等行業應用廣泛,最高載荷達到了20 kg。對該款機器人進行運動學分析與仿真對于研究6R或者ABB品牌的工業機器人的運動學問題有重要的參考意義[1]。
正運動學和逆運動學組成了機器人的運動學問題,對這些問題的解決方法一般有D-H參數法和旋量法[2]。DENAVIT J等提出了D-H參數法,在此方法中機器人相鄰坐標系i和i-1的關系可以用齊次變換矩陣的方法來描述[3]。目前對機器人逆運動學常見的解決方法有解析法、幾何法、迭代法、幾何解析組合算法以及符號與數值算法等[4]。
現以ABB公司的 IRB2600型機器人作為本文的研究對象,通過該型機器人的結構圖樣建立了基于D-H參數的變換坐標系和運動學矩陣[5]。運用編程建立IRB2600型機器人的運動學模型[6],并計算正、逆運動學模型結果,所建立的模型符合應用要求,可以對同型號機器人的研究起到支撐作用。
IRB2600機器人的結構尺寸如圖1所示。根據D-H參數法分析機器人結構,找出各關節軸,將機械臂簡化成連桿機構,并在每個連桿上定義一個固連坐標系,可得IRB2600機器人連桿坐標系,如圖2所示。

圖1 IRB2600機器人的基本結構和裝配圖

圖2 IRB2600機器人連桿坐標系
用以下4個參數來描述IRB2600型機器人:ai為沿xi軸從zi移動到zi+1的距離;αi為繞xi軸從zi旋轉到zi+1的角度;di為沿zi軸從xi-1移動到xi的距離;θi為繞zi軸從xi-1旋轉到xi的角度。由此得到IRB2600機器人D-H參數如表1所示。

表1 IRB2600機器人D-H參數

(1)
為表達簡潔,以下將sinθi和cosθi分別記作sθi和cθi,將sin(θm+θn)和cos(θm+θn)分別記作sθmn和cθmn。根據表1中的D-H參數,機器人各連桿坐標系之間的變換矩陣如下所示。
(2)
(3)
(4)
(5)
(6)
(7)
將IRB2600機器人各個連桿坐標系相乘,可以得出一個新的變換矩陣。如下所示,為第6坐標系相對于第0坐標系的變換矩陣[8]:
(8)
式中:
nx=cθ1cθ23(cθ4cθ5cθ6-sθ4sθ6)-sθ1(sθ4cθ5cθ6+cθ4sθ6)-cθ1sθ23sθ5sθ6
(9)
ny=sθ1cθ23(cθ4cθ5cθ6-sθ4sθ6)-cθ1(sθ4cθ5cθ6+cθ4sθ6)-sθ1sθ23sθ5sθ6
(10)
nz=sθ23(sθ4sθ6-cθ4cθ5cθ6)-cθ23sθ5cθ6
(11)
ox=-cθ1cθ23(cθ4cθ5cθ6+sθ4cθ6)+sθ1(sθ4cθ5sθ6-cθ4cθ6)+cθ1sθ23sθ5sθ6
(12)
oy=-sθ1cθ23(cθ4cθ5sθ6+sθ4cθ6)+cθ1(sθ4cθ5sθ6-cθ4cθ6)+sθ1sθ23sθ5sθ6
(13)
oz=sθ23(cθ4cθ5sθ6+sθ4cθ6)+cθ23sθ5sθ6
(14)
ax=-cθ1cθ23cθ4sθ5+sθ1sθ4sθ5-cθ1sθ23cθ5
(15)
ay=-sθ1cθ23cθ4sθ5+cθ1sθ4sθ5-sθ1sθ23cθ5
(16)
az=sθ23cθ4sθ5-cθ23cθ5
(17)
px=-85cθ1cθ23cθ4sθ5+85sθ1sθ4sθ5-cθ1sθ23(85cθ5+795)+115cθ1cθ23+700cθ1cθ2+150cθ1
(18)
py=-85sθ1cθ23cθ4sθ5+85cθ1sθ4sθ5-sθ1sθ23(85cθ5+795)+115sθ1cθ23+700sθ1cθ2+150sθ1
(19)
pz=85sθ23cθ4sθ5-cθ23(85cθ5+795)-115sθ23-700sθ2+445
(20)
為了驗證所得D-H參數及運動學方程的正確性,利用RobotStudio對機器人進行正運動學仿真,在RobotStudio中創建的機器人工作站[9],設定任意給定theta1-theta4的4組關節角度,每設定一組角度,都在虛擬示教器中新建一個“robtarget”類型的數據,通過查看數據數值可以得知每組角度下機器人末端點的坐標。
運用MATLAB環境下的RoboticsToolbox工具箱,使用其中的Link和SerialLink函數建立IRB2600機器人的運動學模型。這里使用了SerialLink.fkine函數,在編程中該函數的調用方式:T=R.fkine(q)。其中R代表需要建立的機器人對象模型,q是關節角度向量,T是4×4的位姿矩陣。將上述4組關節角度向量代入正運動學fkine( )函數中,得到位姿矩陣T1-T4,進而得到機器人末端點的位置坐標。
由正運動學方程計算和利用RobotStudio控制系統中的數據得到機器人末端點位置坐標如表2所示,4組關節角度下的機器人數學模型如圖3所示。由表2可知,計算和仿真得到的結果是一致的。由此可知機器人建模是正確的,且機器人正運動學分析正確。

表2 不同取值方式得到的機器人末端點位置

圖3 4組關節角度下的機器人數學模型
逆運動學仿真應用到函數SerialLink.ikine,反求各個關節的轉動角度,調用格式:q=R.ikine(T)。其中R代表機器人對象,q是關節角度向量,T是4×4的位姿矩陣。將上述4組關節角度解出位姿矩陣T1-T4代入逆運動學ikine()函數中,得到關節角度向量q1-q4。
由逆運動學方程計算得到的機器人關節角度向量見表3。由表3可知,計算得到的結果經過換算和原設定關節角度是一致的。再次證實機器人建模是正確的,機器人逆運動學分析正確。

表3 逆運動學計算結果
在機器人運動期間,機器人控制器能獲取關于目標位置和跟蹤速度的穩定輸入流。這種以時間函數形式對機器人位置進行的指定被稱為軌跡[10]。關節空間規劃、笛卡兒空間軌跡規劃為機器人一般軌跡規劃方法[11]。
選取IRB2600機器人可達空間中的兩點,使用jtraj函數編程,并計算得到了該型號機器人的軌跡。選取的兩點的關節角度為theta1=[0,-90,0,0,90,-180],theta2=[90,-100,40,10,60,-120] ,均勻采樣50個點。
IRB2600機器人6個關節的運動曲線如角位移、角速度、角加速度等的變化可以使用軟件繪制出來[12],如圖4所示。通過繪制的圖形可以看出,IRB2600機器人在運動過程中沒有突然變速、停滯等現象,可知該型號機器人在生產應用中較少產生振動,磨損量小,設計是可以滿足實際要求的。

圖4 IRB2600機器人軸1至軸6的關節運動曲線
ABB公司的 IRB2600機器人為本文的研究對象,通過ABB公司的官方結構圖建立了本型號機器人的連桿坐標系和D-H參數表,建立坐標系i相對于坐標系i-1的齊次變換矩陣。并利用MATLAB對該型號機器人的正、逆運動學問題進行了分析和運算,同時在RobotStudio中新建相應的工作站,并提取相同位姿下機器人角度和末端點位置坐標數據。通過對比,表明通過D-H參數在MATLAB中計算出的正、逆解數據和RobotStudio中仿真數據是一致的,證實本文的機器人連桿坐標系和D-H參數構建正確。通過MATLAB對IRB2600機器人進行軌跡的分析和仿真,驗證了本文建立的IRB2600機器人的參數和矩陣的正確性,此理論基礎可以為同類型機器人的研究提供重要的支撐。