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