楊煜俊 陳洵凜
摘 要:針對六自由度工業機器人運動學分析和軌跡規劃過程中的計算煩瑣問題,以通用型六自由度工業機器人為研究對象,在Matlab環境下,利用Robotics Toolbox工具箱對該機器人進行運動學建模,并建立該機器人的D-H模型,對其進行運動學求解和軌跡規劃與仿真。實驗表明,Robotics Toolbox工具箱極大地簡化了通用型六自由度工業機器人運動學分析的正、逆解的求解過程,并且能直觀地顯示機器人的運動特性、參數和軌跡。對通用型這類六自由度工業機器人的研究與應用具有重要的價值。
關鍵詞:工業機器人 Robotics Toolbox 運動學求解 軌跡規劃 仿真
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1672-3791(2017)01(c)-0097-04
機器人是當代新科技的代表產物,是高新技術的代表。隨著計算機技術的發展,機器人科學與技術也得到了迅速發展。在工業機器人的研究中,由于其價格昂貴,對用實物機器人進行實踐學習的普及難度較大,因此機器人的軟件仿真實驗變得非常重要。對機器人進行軟件仿真實驗,可以模擬出機器人的運動情況圖像,更加直觀地顯示了機器人的運動參數與軌跡特征,從而有利于分析很多重要的信息。
在機器人的運動仿真這塊,很多學者都進行了相關的研究。例如:文獻[1]以一個五自由度護理機器人為例,利用Robotics Toolbox工具箱對其進行運動學建模與求解;文獻[2]以一個SCARA機器人為例,利用Robotics Toolbox工具箱來討論標準D-H參數和改進D-H參數建模方法的區別,并對其軌跡規劃仿真;文獻[3]以Cincinnati T3-746機器人為例,對其運動學軌跡規劃進行了分析與仿真,但以上所建立的機器人模型只能適用于相應的機器人運動學研究。一種通用的、能通過簡單修改便可適用于任何一種通用型六自由度工業機器人的仿真方法顯得尤其重要。
1 運動學分析
1.1 六自由度工業機器人D-H模型建立
目前,各大工業機器人廠商提供的通用型六自由度工業機器人的機械結構、外觀上大同小異,相差不大。從本質上講,關節布置和機身、臂部、手腕結構基本一致。如圖1所示為通用型六自由度工業機器人的三維模型。
要用計算機對機器人運動進行仿真,首先需要構建相應的機器人對象。在機器人學的教學中通常把機器手看作是由一系列關節連接起來的連桿構成。為描述相鄰桿件間平移和轉動的關系,Denavit和Hartenberg提出了一種為關節鏈中的每一桿件建立附屬坐標系的矩陣方法,通常稱為D-H參數法[4]。根據D-H參數法確立準則,構建六自由度工業機器人的關節坐標系,如圖2所示。
由建立的關節坐標系所推出來的連桿間D-H運動學參數如表1所示。其中參數為連桿轉角、為連桿距離、為連桿長度、為連桿扭角。
各通用型六自由度工業機器人的區別主要在于D-H參數中的連桿距離和連桿長度的不同。因此只需要根據不同機器人來改變與的數值,便可對其進行運動學分析和軌跡規劃,從而可以得到通過簡單修改便可適用于任何一種通用型六自由度工業機器人的仿真方法。
根據一種通用型六自由度工業機器人(如MOTOMAN MH24機器人)的D-H參數可得其=150,=760,=200,=505,=795,=100。在Matlab環境下,利用Robotics Toolbox工具箱,根據表1和以上確立的D-H參數,以圖1所示的位姿為初始位置([0-pi/2000-pi/2]),運用Link函數建立機器人模型:
L1=Link([0 505 150 -pi/2 0],standard);
L2=Link([-pi/2 0 760 0 0],standard);
L3=Link([0 0 200 -pi/2 0],standard);
L4=Link([0 795 0 pi/2 0],standard);
L5=Link([0 0 0 -pi/2 0],standard);
L6=Link([-pi/2 100 0 0 0],standard);
r=SerialLink([L1 L2 L3 L4 L5 L6]);
r.name=MH24;
theta=[0 0 0 0 0 0];
r.plot(theta);
上述Matlab程序生成的通用型六自由度工業機器人的模型如圖3所示。
1.2 運動學求解
機器人運動學主要是研究關節變量空間和機器人末端執行器位置和姿態之間的關系。常見的機器人運動學問題可歸納為2類:(1)運動學正問題:對給定的六自由度機器人,已知各桿件的幾何參數和各關節角矢量,求機器人末端執行器相對于參考坐標系的位置與姿態;(2)運動學逆問題:已知機器人各桿件的幾何參數,給定機器人末端執行器相對于參考坐標系的位置與姿態,求機器人能否使其末端執行器達到這個預期位姿。對于六自由度工業機器人的運動學求解,手工計算是非常煩瑣甚至無法得到最終的結果。因此,運用Robotics Toolbox工具箱對其進行正運動學和逆運動學求解,有利于簡化煩瑣的計算過程。以圖3中機器人的運動學模型為例,假設機器人各關節運動到=0、=-pi/4、=-pi/4、=0、=pi/2、=0的狀態,其相應的正運動學求解即為求解末端執行器位姿矩陣。則可以在Matlab環境下通過fkine函數直接求得末端執行器位姿矩陣:
=[0 -pi/4 -pi/4 0 pi/2 0]
=
0 -0.785 4 -0.785 4 0 1.570 8 0
T=fkine(MH24,)
T =
1.000 0 -0.000 0 -0.000 0 1 482.4
0.000 0 -1.000 0 0.000 0 0.000 0
-0.000 0 -0.000 0 -1.000 0 1 142.4
0.000 0 0.000 0 0.000 0 1.000 0
得到的T即為末端執行器位姿矩陣。
逆運動求解即為給定末端執行器位姿矩陣,求解對應的關節變量。如:在已知上述末端執行器位姿矩陣T的情況下,通過ikine函數求解其對應的關節變量為:
=ikine(MH24,T)
=
0 -0.785 4 -0.785 4 0 1.570 8 0
可以看到得到的關節變量的值與原始關節變量的值相等,證明了正、逆運動學求解的正確性。
2 運動仿真與軌跡規劃
為了研究多關節機器人運動學軌跡的連續性和平滑性,可以利用Robotics Toolbox中一種規劃函數對機器人的多個關節運動同時進行仿真,其中包括各關節轉角的運動規律、關節角速度、關節角加速度。然后通過繪圖函數plot來進行繪圖,增加仿真效果的直觀性。軌跡規劃通常用樣曲線來擬合機器人的運動軌跡,主要有2種形式:點到點的運動軌跡規劃和連續點的運動軌跡規劃。以下仿真以點到點軌跡規劃為例,分別在笛卡爾空間和關節空間中進行軌跡規劃。已知末端執行器的起始點和目標點的位姿后,可通過逆運動學求解得到2點的關節變量。假設起始點和目標點的關節變量分別為=[0 0 0 0 0 0]、=[pi/3 -pi/4 -pi/8 0 pi/2 0],設置末端執行器從起始點到目標點的時間為2 s,則通過Robotics Toolbox工具箱在笛卡爾空間中進行軌跡規劃的程序如下:
=[0 0 0 0 0 0];
=[pi/3 -pi/4 -pi/8 0 pi/2 0];
t=0:0.01:2;
T=fkine(r,);
T1=fkine(r,);
traj_1=ctraj(T,T1,length(t));
JTA=transl(traj_1);
plot2(JTA,b)
在笛卡爾空間中進行軌跡規劃的結果如圖4所示。
在關節空間中進行軌跡規劃的程序如下:
=[0 0 0 0 0 0];
=[pi/3 -pi/4 -pi/8 0 pi/2 0];
t=0:0.01:2;
traj_2=jtraj(,,t);
JTA=transl(r.fkine(traj_2));
plot2(JTA,b)
在關節空間中進行軌跡規劃的結果如圖5所示。
其中,各關節在仿真過程中角位移、角速度、角加速度的變化情況如圖6所示。
從上述圖4到圖6中,能夠直觀地看到通用型六自由度工業機器人的運動軌跡、運動特性和各關節的參數變化情況。
如果要執行多個點的軌跡規劃,則每段末端求解出來的邊界速度和位置都可用來作為下一段的初始條件,每段軌跡都可以用這種方法進行規劃和處理。
3 結語
該文對通用型這類六自由度工業機器人的研究中,尋求一種通過簡單修改便可適用于任何一種通用型六自由度工業機器人的仿真方法。即只需要改變D-H參數中連桿距離與連桿長度的數值,就得到不同的通用型六自由度工業機器人的D-H參數。通過Robotics Toolbox工具箱利用D-H參數法對通用型六自由度工業機器人進行運動學建模,就可對其進行正運動學和逆運動學的求解,并驗證其結果的正確性,并且對其進行運動仿真與軌跡規劃,從而可得到其末端執行器的軌跡曲線和其各個關節轉角的運動規律、關節角速度、關節角加速度。因此極大地簡化了通用型六自由度工業機器人的正、逆運動學求解過程,并且能夠直觀地顯示機器人的運動特性、參數和軌跡,對通用型這類六自由度工業機器人的研究與應用提供了重要的理論依據。
參考文獻
[1] 王強,刁燕,羅華,等.基于MATLAB的五自由度護理機器人運動學分析[J].機械制造,2016(4):12-14,28.
[2] 左富勇,胡小平,謝珂,等.基于MATLAB Robotics工具箱的SCARA機器人軌跡規劃與仿真[J].湖南科技大學學報:自然科學版,2012(2):41-44.
[3] 于天宇,李達,宋寶玉.基于MATLAB-Robotics工具箱的工業機器人軌跡規劃及仿真研究[J].機械工程師,2011(7):81-83.
[4] 謝斌,蔡自興.基于MATLAB Robotics Toolbox的機器人學仿真實驗教學[J].計算機教育,2010(19):140-143.
[5] 高巖,韓衛光,趙啟杰.基于840D的工業機器人軌跡規劃[J].組合機床與自動化加工技術,2014(10):76-79.