基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)_第1頁(yè)
基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)_第2頁(yè)
基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)_第3頁(yè)
基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)_第4頁(yè)
基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于MATLAB Robotics Toolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)第19期1402010年1O月10日計(jì)算機(jī)教育ComputerEducationNo.19Oct.10,2010文章編號(hào):1672.5913(2010)19.014004中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:A基于MATLABRoboticsToolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)謝斌,蔡自興(中南大學(xué)信息科學(xué)與工程學(xué)院智能所,湖南長(zhǎng)沙410083)摘要:簡(jiǎn)要介紹MATLABRoboticsToolbox在機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)中的基本應(yīng)用,具體內(nèi)容包括齊次坐標(biāo)變換,機(jī)器人對(duì)象構(gòu)建,機(jī)器人運(yùn)動(dòng)學(xué)求解以及軌跡規(guī)劃等.該工具箱可以對(duì)機(jī)器人

2、進(jìn)行圖形仿真,并能分析真實(shí)機(jī)器人控制時(shí)的實(shí)驗(yàn)數(shù)據(jù)結(jié)果,因此非常適宜于機(jī)器人學(xué)的教學(xué)和研究.關(guān)鍵詞:機(jī)器人學(xué);仿真實(shí)驗(yàn)教學(xué);MATLAB;RoboticsToolbox機(jī)器人學(xué)是一門高度交叉的前沿學(xué)科方向,也是自動(dòng)化和機(jī)電工程等相關(guān)專業(yè)的一門重要專業(yè)基礎(chǔ)課.在機(jī)器人學(xué)的教學(xué)和培訓(xùn)中,實(shí)驗(yàn)內(nèi)容一直是授課的重點(diǎn)和難點(diǎn).實(shí)物機(jī)器人通常是比較昂貴的設(shè)備,這就決定了在實(shí)驗(yàn)教學(xué)中不可能運(yùn)用許多實(shí)際的機(jī)器人來(lái)作為教學(xué)和培訓(xùn)的試驗(yàn)設(shè)備.由于操作不方便,體積龐大等原因,往往也限制了實(shí)物機(jī)器人在課堂授課時(shí)的應(yīng)用.此外,由于計(jì)算量,空間結(jié)構(gòu)等問題,當(dāng)前大多數(shù)機(jī)器人教材只能以簡(jiǎn)單的兩連桿機(jī)械手為例進(jìn)行講解,而對(duì)于更加實(shí)

3、際的6連桿機(jī)械手通常無(wú)法講解得很清楚.因此,各式各樣的機(jī)器人仿真系統(tǒng)應(yīng)運(yùn)而生.經(jīng)過(guò)反復(fù)的比較,我們選擇了MATLABRoboticsToolboxIJ來(lái)進(jìn)行機(jī)器人學(xué)的仿真實(shí)驗(yàn)教學(xué).MATLABRoboticsToolbox是由澳大利亞科學(xué)家PeterCorke開發(fā)和維護(hù)的一套基于MATLAB的機(jī)器人學(xué)工具箱,當(dāng)前最新版本為第8版,可在該工具箱的主頁(yè)上免費(fèi)下載(RoboticsToolbox提供了機(jī)器人學(xué)研究中的許多重要功能函數(shù),包括機(jī)器人運(yùn)動(dòng)學(xué),動(dòng)力學(xué),軌跡規(guī)劃等.該工具箱可以對(duì)機(jī)器人進(jìn)行圖形仿真,并能分析真實(shí)機(jī)器人控制時(shí)的實(shí)驗(yàn)數(shù)據(jù)結(jié)果,因此非常適宜于機(jī)器人學(xué)的教學(xué)和研究.本文簡(jiǎn)要介紹了Rob

4、oticsToolbox在機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)中的一些應(yīng)用,具體內(nèi)容包括齊次坐標(biāo)變換,機(jī)器人對(duì)象構(gòu)建,機(jī)器人運(yùn)動(dòng)學(xué)求解以及軌跡規(guī)劃等.1坐標(biāo)變換機(jī)器人學(xué)中關(guān)于運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)最常用的描述方法是矩陣法,這種數(shù)學(xué)描述是以四階方陣變換三維空間點(diǎn)的齊次坐標(biāo)為基礎(chǔ)的【.如已知直角坐標(biāo)系fA)中的某點(diǎn)坐標(biāo),那么該點(diǎn)在另一直角坐標(biāo)系fB中的坐標(biāo)可通過(guò)齊次坐標(biāo)變換求得.一般而言,齊次變換矩陣嘗是44的方陣,具有如下形式:J言J一0lJ其中R和p肋分別表示A)B)兩坐標(biāo)系之間的旋轉(zhuǎn)變換和平移變換.矩陣法,齊次變換等概念是機(jī)器人學(xué)研究中最為重要的數(shù)學(xué)基礎(chǔ).由于旋轉(zhuǎn)變換通常會(huì)帶來(lái)大量的正余弦計(jì)算,復(fù)合變換帶來(lái)的多個(gè)矩

5、陣相乘就更加難以手工計(jì)算,因此我們建議在仿真教學(xué)中通過(guò)計(jì)算機(jī)進(jìn)行相應(yīng)的坐標(biāo)變換計(jì)算.利用MATLABRoboticsToolbox工具箱中的transl,rotx,roty和rotz函數(shù)可以非常容易的實(shí)現(xiàn)用齊次變換矩陣表示平移變換和旋轉(zhuǎn)變換.例如機(jī)器人在x軸方向平移了0.5米的齊次坐標(biāo)變換可以表示為:>>T=trans1(0.5,T=1.OO0OO01.00000000作者簡(jiǎn)介:謝斌(1983一),男,講師,博士,研究方向?yàn)閳D像處理,智能機(jī)器人;蔡自興(1938一),男,教授,博導(dǎo),本科,研究方向?yàn)槿斯ぶ悄?智能控制,機(jī)器人學(xué).O0OOOOO50.00.1上)O.O000OO0,0

6、0.1上O19期謝斌,等:基于MATLABR.oboticsToolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)141而繞Y軸旋轉(zhuǎn)90.可以表示為:>>T=roty(pi/2)T=0.000001.00000O1.0OO0OO一1.000000.000000001.0000對(duì)任意種類的機(jī)械手進(jìn)行建模.通過(guò)RoboticsToolbox擴(kuò)展了的plot函數(shù)還可將創(chuàng)建好的機(jī)器人在三維空間中顯示出來(lái):>>plot(r,00)復(fù)合變換可以由若干個(gè)簡(jiǎn)單變換直接相乘得到,例如讓物體繞z軸旋轉(zhuǎn)90.,接著繞Y軸旋轉(zhuǎn)-90.,再沿x軸方向平移4個(gè)單位,則對(duì)應(yīng)的齊次變換可以表示為:>>T=t

7、ransl(4,0,0)roty(一pi/2)rotz(pi/2)丌1一O.0O00一O.OOOO一1.OOOO4.0OO01.0OOO0.O00O0OO.OO0O1.OOOO0.O0OOOOOO1.O0OO2構(gòu)建機(jī)器人對(duì)象要用計(jì)算機(jī)對(duì)機(jī)器人運(yùn)動(dòng)進(jìn)行仿真,首先需要構(gòu)建相應(yīng)的機(jī)器人對(duì)象.在機(jī)器人學(xué)的教學(xué)中通常把機(jī)械手看作是由一系列關(guān)節(jié)連接起來(lái)的連桿構(gòu)成.為描述相鄰桿件間平移和轉(zhuǎn)動(dòng)的關(guān)系,Denavit和Hartenberg提出了一種為關(guān)節(jié)鏈中的每一桿件建立附屬坐標(biāo)系的矩陣方法,通常稱為DH參數(shù)法j.DH參數(shù)法是為每個(gè)連桿坐標(biāo)系建立44的齊次變換矩陣,表示它與前一桿件坐標(biāo)系的關(guān)系.在Robotic

8、sToolbox中,構(gòu)建機(jī)器人對(duì)象主要在于構(gòu)建各個(gè)關(guān)節(jié),而構(gòu)建關(guān)節(jié)時(shí),會(huì)用到LINK函數(shù),其一般形式為:L=LINK(aiphaAthetaDSigma,CONVENTION)參數(shù)CONVENTION可以取standard和modified,其中standard代表采用標(biāo)準(zhǔn)的D-H參數(shù)【4J,modified代表采用改進(jìn)的D.H參數(shù)L5J.參數(shù)alpha代表扭轉(zhuǎn)角,參數(shù)A代表連桿長(zhǎng)度,參數(shù)theta代表關(guān)節(jié)角,參數(shù)D代表偏距,參數(shù)sigma代表關(guān)節(jié)類型:0代表旋轉(zhuǎn)關(guān)節(jié),非0代表平動(dòng)關(guān)節(jié).例如,通過(guò)如下的語(yǔ)句即可構(gòu)建一個(gè)簡(jiǎn)單的兩連桿旋轉(zhuǎn)機(jī)器人(圖1),命名為2R:>>L1=1ink(

9、01000,.Standard);>>L2=1ink(01000,.Standard)>>r=robot(L1L2),2R.)這樣,只需指定相應(yīng)的DH參數(shù),我們便可以,I,j,一,.,.l,:一2圖1兩連桿機(jī)械手的三維模型除了用戶自己構(gòu)建機(jī)器人連桿外,RoboticsToolbox也自帶了一些常見的機(jī)器人對(duì)象,如教學(xué)中最為常見的purna560,standford等.通過(guò)如下的語(yǔ)句即可調(diào)用工具箱已構(gòu)建好的puma560機(jī)器人,并顯示在三維空問中(圖2):>>puma560>>plot(p560,qz)圖2puma560型機(jī)械手的三維模型注意到機(jī)械

10、手的末端附有一個(gè)小的右手坐標(biāo)系,分別用紅,綠,藍(lán)色箭頭代表機(jī)械手腕關(guān)節(jié)處的X,Z軸方向.并且在xY平面用黑色直線表示整個(gè)機(jī)械手的垂直投影.更進(jìn)一步的,我們可以通過(guò)drivebot函數(shù)來(lái)驅(qū)使機(jī)器人運(yùn)動(dòng),就像實(shí)際在操作機(jī)器人一樣.具體驅(qū)動(dòng)一一一_J.j-一_一,r一一一./一.r,0Y142計(jì)算機(jī)教育ComputerEducation2010方式是為機(jī)器人每個(gè)自由度生成一個(gè)變化范圍的滑動(dòng)條,以手動(dòng)的方式來(lái)驅(qū)動(dòng)機(jī)器人的各個(gè)關(guān)節(jié),以達(dá)到驅(qū)動(dòng)機(jī)器人末端執(zhí)行器的目的(圖3).這種方式對(duì)于實(shí)際的多連桿機(jī)械手的運(yùn)動(dòng)演示非常有益,同學(xué)們普遍反映對(duì)于機(jī)械手的關(guān)節(jié),變量等概念有了更深入的理解.圖3puma560型機(jī)

11、械手的滑動(dòng)控制框3機(jī)器人運(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é)問題可歸納為兩類: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ù)期的位姿?與第2節(jié)介紹過(guò)的坐標(biāo)變換的情況類似,手工進(jìn)行機(jī)器人運(yùn)動(dòng)學(xué)的求解非常繁瑣甚至于無(wú)法得到最終的數(shù)值結(jié)果,這對(duì)于實(shí)際機(jī)器人的設(shè)計(jì)非常不利.因此在仿真實(shí)驗(yàn)教學(xué)中,

12、我們希望能通過(guò)計(jì)算機(jī)編程的形式來(lái)進(jìn)行機(jī)器人運(yùn)動(dòng)學(xué)的求解,把學(xué)生從繁瑣的數(shù)值計(jì)算中解脫出來(lái).下面以教學(xué)中最常用的puma560型機(jī)器人為例,演示如何運(yùn)用RoboticsToolbox進(jìn)行正運(yùn)動(dòng)學(xué)與逆運(yùn)動(dòng)學(xué)的求解.如第2節(jié)方法,先定義puma560型機(jī)器人,注意系統(tǒng)同時(shí)還定義了puma560型機(jī)器人兩個(gè)特殊的位姿配置:所有關(guān)節(jié)變量為0的qz狀態(tài),以及表示”READY”狀態(tài)的qr狀態(tài).如我們要求解所有關(guān)節(jié)變量為0時(shí)的末端機(jī)械手狀態(tài),則相應(yīng)的正運(yùn)動(dòng)學(xué)可由下述語(yǔ)句求解:>>puma560>>fkine(p560,qz)anS=1.0OO00O1.O0OOO0000.45210.1

13、50OO.43181.O0OO得到的即為末端機(jī)械手位姿所對(duì)應(yīng)的齊次變換矩陣.逆運(yùn)動(dòng)學(xué)問題則是通過(guò)一個(gè)給定的齊次變換矩陣,求解對(duì)應(yīng)的關(guān)節(jié)變量.例如,假定機(jī)械手需運(yùn)動(dòng)N0,_pi/4,_pi/4,0,pi/8,0】姿態(tài),則此時(shí)末端機(jī)械手位姿所對(duì)應(yīng)的齊次變換矩陣為:>>q=0一pi/4一pi/40pi/80q=O一0.78540.78540O.39270>>T=fkine(P560,q)T=O.3827O.OOOO0.92390.7371一O.OO001.OO0O一0.00000.1501一O.9239一O.0O0O0.38270.32560001.0000現(xiàn)在假定已知上述的

14、齊次變換矩陣T,則可以通過(guò)ikine函數(shù)求解對(duì)應(yīng)的關(guān)節(jié)轉(zhuǎn)角:>>qi:ikine(p560,T)qi:一0.00000.78540.78540.00000.39270.0000發(fā)現(xiàn)與原始的關(guān)節(jié)轉(zhuǎn)角數(shù)值相同.值得指出的是,這樣的逆運(yùn)動(dòng)學(xué)求解在手工計(jì)算中幾乎是無(wú)法完成的.4軌跡規(guī)劃?rùn)C(jī)器人軌跡規(guī)劃的任務(wù)就是根據(jù)機(jī)器人手臂要完成的一定任務(wù),例如要求機(jī)械手從一點(diǎn)運(yùn)動(dòng)到另一點(diǎn)或沿一條連續(xù)軌跡運(yùn)動(dòng),來(lái)設(shè)計(jì)機(jī)器人各關(guān)節(jié)的運(yùn)動(dòng)函數(shù).目前進(jìn)行軌跡規(guī)劃的方案主要有兩種:基于關(guān)節(jié)空間方案和基于直角坐標(biāo)方案.出于實(shí)際運(yùn)用考慮,在教學(xué)中以講解關(guān)節(jié)空間求解為主,本文也只演示關(guān)節(jié)空間的求解方案.假設(shè)puma560

15、型機(jī)器人要在2秒內(nèi)從初始狀態(tài)qz(所有關(guān)節(jié)轉(zhuǎn)角為0)平穩(wěn)地運(yùn)動(dòng)到朝上的“READY”狀態(tài)qr,則在關(guān)節(jié)空間進(jìn)行軌跡規(guī)劃的過(guò)程如下:首先創(chuàng)建一個(gè)運(yùn)動(dòng)時(shí)間向量,假定采樣時(shí)間為0o0OOl第19期謝斌,等:基于MATLABRoboticsToolbox的機(jī)器人學(xué)仿真實(shí)驗(yàn)教學(xué)14356毫秒,則有:>>t=0:.056:2】在關(guān)節(jié)空間中插值可以得到:>>q,qd,qdd=Jtraj(qz,qr,t);q是一個(gè)矩陣,其中每行代表一個(gè)時(shí)間采樣點(diǎn)上各關(guān)節(jié)的轉(zhuǎn)動(dòng)角度,qd和qdd分別是對(duì)應(yīng)的關(guān)節(jié)速度向量以及關(guān)節(jié)加速度向量.itraj函數(shù)采用的是7次多項(xiàng)式插值,默認(rèn)的初始和終止速度為0.對(duì)

16、于上面的運(yùn)動(dòng)軌跡,主要的運(yùn)動(dòng)發(fā)生在第2個(gè)及第3個(gè)關(guān)節(jié),通過(guò)MATLAB標(biāo)準(zhǔn)的繪圖函數(shù)可以清楚的看到這兩個(gè)關(guān)節(jié)隨時(shí)間的變化過(guò)程f圖4).我們還可以通過(guò)RoboticsToolbox擴(kuò)展了的plot函數(shù)以三維動(dòng)畫的形式圖4由jtraj函數(shù)生成的關(guān)節(jié)軌跡演示整個(gè)運(yùn)動(dòng)過(guò)程(文中無(wú)法演示),調(diào)用語(yǔ)句為:>>plot(p560,q)5結(jié)語(yǔ)本文簡(jiǎn)要介紹了MATLABRoboticsToolbox在機(jī)器人學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用.該工具箱提供了機(jī)器人學(xué)中關(guān)于建模與仿真的許多重要的函數(shù),能夠用一種規(guī)范的形式(標(biāo)準(zhǔn)的或改進(jìn)的DH參數(shù)法)對(duì)任意的連桿機(jī)器人進(jìn)行描述,并提供了三維圖像/動(dòng)畫演示及手動(dòng)關(guān)節(jié)變量調(diào)節(jié)

17、等功能.基于MATLABRoboticsToolbox的仿真實(shí)驗(yàn)教學(xué),把學(xué)生從繁瑣的數(shù)值計(jì)算中解脫出來(lái),能夠?qū)W⒂跈C(jī)器人學(xué)本身的重要概念的理解與應(yīng)用,獲得了良好的教學(xué)效果.鑒于學(xué)生的接受能力,在給本科生授課時(shí)主要練習(xí)了坐標(biāo)變換,機(jī)器人對(duì)象構(gòu)建,正運(yùn)動(dòng)學(xué),逆運(yùn)動(dòng)學(xué)求解和軌跡規(guī)劃等方面的內(nèi)容.事實(shí)上,RoboticsToolbox是一個(gè)功能非常強(qiáng)大的工具箱,還可以對(duì)機(jī)器人動(dòng)力學(xué),基于simulink的機(jī)器人動(dòng)態(tài)仿真等許多其他機(jī)器人學(xué)的相關(guān)內(nèi)容進(jìn)行仿真與分析,這些功能可以在給研究生授課或機(jī)器人學(xué)相關(guān)科學(xué)研究中得到充分的應(yīng)用.更多的關(guān)于RoboticsToolbox的使用說(shuō)明可以參見工具箱文件夾中的用

18、戶說(shuō)明文檔(robot.pdt).參考文獻(xiàn):1P.Corke.ARobotiCSToolboxforMATLABJ.IEEERoboticsandhutomationMagazine,1996,3(1):2432.2蔡自興.機(jī)器人學(xué)基礎(chǔ)M.北京:機(jī)械工業(yè)出版社,2009.3J.Denavit,R.S.Hartenberg.AkinematiCnotationforLowerPairMechanismsBasedonMatricesJ.JournalofApp1iedMechanics,1955(22):215-221.4R.P.Pau1.RobotManipulators:Mathematics,Programming,andControlM.Cambridge,Massachusetts:MITPress,1981.5】J.J.Craig.Introd

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論