機器人正運動學方程的DH表示法_第1頁
機器人正運動學方程的DH表示法_第2頁
機器人正運動學方程的DH表示法_第3頁
機器人正運動學方程的DH表示法_第4頁
機器人正運動學方程的DH表示法_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2.8機器人正運動學方程的D-H表示法在1955年,Denavit和Hartenberg在“ASMEJournalofAppliedMechanics”發(fā)表了一篇論文,后來利用這篇論文來對機器人進行表示和建模,并導出了它們的運動方程,這已成為表示機器人和對機器人運動進行建模的標準方法,所以必須學習這部分內(nèi)容。Denavit-Hartenberg(D-H)模型表示了對機器人連桿和關(guān)節(jié)進行建模的一種非常簡單的方法,可用于任何機器人構(gòu)型,而不管機器人的結(jié)構(gòu)順序和復雜程度如何。它也可用于表示已經(jīng)討論過的在任何坐標中的變換,例如直角坐標、圓柱坐標、球坐標、歐拉角坐標及RPY坐標等。另外,它也可以用于表示

2、全旋轉(zhuǎn)的鏈式機器人、SCARA機器人或任何可能的關(guān)節(jié)和連桿組合。盡管采用前面的方法對機器人直接建模會更快、更直接,但D-H表示法有其附加的好處,使用它已經(jīng)開發(fā)了許多技術(shù),例如,雅克比矩陣的計算和力分析等。假設機器人由一系列關(guān)節(jié)和連桿組成。這些關(guān)節(jié)可能是滑動(線性)的或旋轉(zhuǎn)(轉(zhuǎn)動)的,它們可以按任意的順序放置并處于任意的平面。連桿也可以是任意的長度(包括零),它可能被彎曲或扭曲,也可能位于任意平面上。所以任何一組關(guān)節(jié)和連桿都可以構(gòu)成一個我們想要建模和表示的機器人。為此,需要給每個關(guān)節(jié)指定一個參考坐標系,然后,確定從一個關(guān)節(jié)到下一個關(guān)節(jié)(一個坐標系到下一個坐標系)來進行變換的步驟。如果將從基座到第

3、一個關(guān)節(jié),再從第一個關(guān)節(jié)到第二個關(guān)節(jié)直至到最后一個關(guān)節(jié)的所有變換結(jié)合起來就得到了機器人的總變換矩陣。在下一節(jié),將根據(jù)D-H表示法確定一個一般步驟來為每個關(guān)節(jié)指定參考坐標系,然后確定如何實現(xiàn)任意兩個相鄰坐標系之間的變換,最后寫出機器人的總變換矩陣。關(guān)2兒nd3)(c)但)i2)(/)(g)關(guān)節(jié)川+關(guān)2兒nd3)(c)但)i2)(/)(g)關(guān)節(jié)川+2/J關(guān)節(jié)+1昭L圖2.25通用關(guān)節(jié)連桿組合的D-H表示假設一個機器人由任意多的連桿和關(guān)節(jié)以任意形式構(gòu)成。圖2.25表示了三個順序的關(guān)節(jié)和兩個連桿。雖然這些關(guān)節(jié)和連桿并不一定與任何實際機器人的關(guān)節(jié)或連桿相似,但是他們非常常見,且能很容易地表示實際機器人的

4、任何關(guān)節(jié)。這些關(guān)節(jié)可能是旋轉(zhuǎn)的、滑動的、或兩者都有。盡管在實際情況下,機器人的關(guān)節(jié)通常只有一個自由度,但圖2.25中的關(guān)節(jié)可以表示一個或兩個自由度。圖2.25(a)表示了三個關(guān)節(jié),每個關(guān)節(jié)都是可以轉(zhuǎn)動或平移的。第一個關(guān)節(jié)指定為關(guān)節(jié)n第二個關(guān)節(jié)為關(guān)節(jié)n+1,第三個關(guān)節(jié)為關(guān)節(jié)n+2。在這些關(guān)節(jié)的前后可能還有其他關(guān)節(jié)。連桿也是如此表示,連桿n位于關(guān)節(jié)n-1與n+1之間,連桿n+1位于關(guān)節(jié)n+1與n+2之間。為了用D-H表示法對機器人建模,所要做的第一件事是為每個關(guān)節(jié)指定一個本地的參考坐標系。因此,對于每個關(guān)節(jié),都必須指定一個z軸和x軸,通常并不需要指定y軸,因為y軸總是垂直于x軸和z軸的。此外,D-

5、H表示法根本就不用y軸。以下是給每個關(guān)節(jié)指定本地參考坐標系的步驟:所有關(guān)節(jié),無一例外的用z軸表示。如果關(guān)節(jié)是旋轉(zhuǎn)的,z軸位于按右手規(guī)則旋轉(zhuǎn)的方向。如果關(guān)節(jié)是滑動的,z軸為沿直線運動的方向。在每一種情況下,關(guān)節(jié)n處的z軸(以及該關(guān)節(jié)的本地參考坐標系)的下標為n-1。例如,表示關(guān)節(jié)n+1的z軸是z。這些簡單規(guī)則可使我們很n快地定義出所有關(guān)節(jié)的z軸。對于旋轉(zhuǎn)關(guān)節(jié),繞z軸的旋轉(zhuǎn)(角)是關(guān)節(jié)變量。對于滑動關(guān)節(jié),沿z軸的連桿長度d是關(guān)節(jié)變量。如圖2.25(a)所示,通常關(guān)節(jié)不一定平行或相交。因此,通常z軸是斜線,但總有一條距離最短的公垂線,它正交于任意兩條斜線。通常在公垂線方向上定義本地參考坐標系的x軸。

6、所以如果a表示z與z之間TOC o 1-5 h znn-1n的公垂線,則x的方向?qū)⒀豠。同樣,在z與z之間的公垂線為a,nnnn,1n,1x的方向?qū)⒀豠。注意相鄰關(guān)節(jié)之間的公垂線不一定相交或共線,因n,1n,1此,兩個相鄰坐標系原點的位置也可能不在同一個位置。根據(jù)上面介紹的知識并考慮下面例外的特殊情況,可以為所有的關(guān)節(jié)定義坐標系。如果兩個關(guān)節(jié)的z軸平行,那么它們之間就有無數(shù)條公垂線。這時可挑選與前一關(guān)節(jié)的公垂線共線的一條公垂線,這樣做就可以簡化模型。如果兩個相鄰關(guān)節(jié)的z軸是相交的,那么它們之間就沒有公垂線(或者說公垂線距離為零)。這時可將垂直于兩條軸線構(gòu)成的平面的直線定義為x軸。也就是說,其公

7、垂線是垂直于包含了兩條z軸的平面的直線,它也相當于選取兩條z軸的叉積方向作為x軸。這也會使模型得以簡化。在圖2.25(a)中,角表示繞z軸的旋轉(zhuǎn)角,d表示在z軸上兩條相鄰的公垂線之間的距離,a表示每一條公垂線的長度(也叫關(guān)節(jié)偏移量),角a表示兩個相鄰的z軸之間的角度(也叫關(guān)節(jié)扭轉(zhuǎn))。通常,只有和d是關(guān)節(jié)變量。下一步來完成幾個必要的運動,即將一個參考坐標系變換到下一個參考坐標系。假設現(xiàn)在位于本地坐標系x-z,那么通過以下四步標準運動即可到達下一nn個本地坐標系x-z。n,1n,1(1)繞z軸旋轉(zhuǎn)(如圖2.25(a)與(b)所示),它使得x和x互相nn,1nn,1TOC o 1-5 h z平行,因

8、為a和a都是垂直于z軸的,因此繞z軸旋轉(zhuǎn)使它們平nn+nnn+1行(并且共面)。(2)沿z軸平移d距離,使得x和x共線(如圖2.25(c)所示)。因為nn+1nn+1x和x已經(jīng)平行并且垂直于z,沿著z移動則可使它們互相重疊在nn+1nn起。(3)沿x軸平移a的距離,使得x和x的原點重合(如圖2.25(d)和nn+1nn+1(e)所示)。這是兩個參考坐標系的原點處在同一位置。(4)將z軸繞x軸旋轉(zhuǎn),,使得z軸與z軸對準(如圖2.25(f)所示)。nn+1n+1nn+1這時坐標系n和n+1完全相同(如圖2.25(g)所示)。至此,我們成功的從一個坐標系變換到了下一個坐標系。在n+1和n+2坐標系間

9、嚴格地按照同樣的四個運動順序可以將一個坐標變換到下一個坐標系。如有必要,可以重復以上步驟,就可以實現(xiàn)一系列相鄰坐標系之間的變換。從參考坐標系開始,我們可以將其轉(zhuǎn)換到機器人的基座,然后到第一個關(guān)節(jié),第二個關(guān)節(jié),直至末端執(zhí)行器。這里比較好的一點是,在任何兩個坐標系之間的變換均可采用與前面相同的運動步驟。通過右乘表示四個運動的四個矩陣就可以得到變換矩陣A,矩陣A表示了四個依次的運動。由于所有的變換都是相對于當前坐標系的(即他們都是相對于當前的本地坐標系來測量與執(zhí)行),因此所有的矩陣都是右乘。從而得到結(jié)果如下:nT=An+1n+nT=An+1n+1=Rot(z,)xTran(0,0,d)xTran(a

10、,0,0)xRot(x,an+1_Cn+1-Sn+1001000_Sn+1Cn+10001000010001dn+100010001n+1n+1n+1100an+11000_01000C,-s,0n+1n+100100S,C,0n+1n+1000100012.51)C-SC,SS,aCn+1n+1n+1n+1n+1n+1n+1A=SCC,-CS,aS(2.52)n+1n+1n+1n+1n+1n+1n+1n+10S,C,dn+1n+1n+10001比如,一般機器人的關(guān)節(jié)2與關(guān)節(jié)3之間的變換可以簡化為:33CO3SO33CO3SO30-SOCa33COCa33Sa30SOSa33-COSa33Ca

11、30aCO33aSO33d312.53)在機器人的基座上,可以從第一個關(guān)節(jié)開始變換到第二個關(guān)節(jié),然后到第三個,再到機器人的手,最終到末端執(zhí)行器。若把每個變換定義為,則可以得到許多表示變換的矩陣。在機器人的基座與手之間的總變換則為:rT=rTiT2T-iT=AAAA(2.54)H123n123n其中n是關(guān)節(jié)數(shù)。對于一個具有六個自由度的機器人而言,有6個A矩陣。為了簡化A矩陣的計算,可以制作一張關(guān)節(jié)和連桿參數(shù)的表格,其中每個連桿和關(guān)節(jié)的參數(shù)值可從機器人的原理示意圖上確定,并且可將這些參數(shù)代入A矩陣。表2.1可用于這個目的。在以下幾個例子中,我們將建立必要的坐標系,填寫參數(shù)表,并將這些數(shù)值代入A矩陣

12、。首先從簡單的機器人開始,以后再考慮復雜的機器人。表2.1D-H表2.1D-H參數(shù)表例218對于如圖2.26所示的簡單機器人,根據(jù)D-H表示法,建立必要的坐標系,并填寫相應的參數(shù)表。解:為方便起見,在此例中,假設關(guān)節(jié)2,3和4在同一平面內(nèi),即它們的d值n為0。為建立機器人的坐標系,首先尋找關(guān)節(jié)(如圖2.26所示)。該機器人有六個自由度,在這個簡單機器人中,所有的關(guān)節(jié)都是旋轉(zhuǎn)的。第一個關(guān)節(jié)(關(guān)節(jié)1)在連桿0(固定基座)和連桿1之間,關(guān)節(jié)2在連桿1和連桿2之間,等等。首先,如前面已經(jīng)討論過的那樣,對每個關(guān)節(jié)建立z軸,接著建立z軸。觀察圖2.27和圖2.28所示的坐標可以發(fā)現(xiàn),圖2.28是圖2.27

13、的簡化線圖。應注意每個坐標系原點3在它所在位置的原因。圖2.26具有六個自由度的簡單鏈式機器人圖2.26具有六個自由度的簡單鏈式機器人圖2.27簡單六個自由度鏈式機器人的參考坐標系圖2.28簡單六個自由度鏈式機器人的參考坐標系線圖從關(guān)節(jié)1開始,z表示第一個關(guān)節(jié),它是一個旋轉(zhuǎn)關(guān)節(jié)。選擇x與參考坐00標系的x軸平行,這樣做僅僅是為了方便,x是一個固定的坐標軸,表示機器人0的基座,它是不動的。第一個關(guān)節(jié)的運動是圍繞著z-x軸進行的,但這兩個軸00并不運動。接下來,在關(guān)節(jié)2處設定z,因為坐標軸z和z是相交的,所以x垂1011直于z和z。x在z和z之間的公垂線方向上,x在z和z之間的公垂線方向01212

14、323上,類似地,x在z和z之間的公垂線方向上。最后,z和z是平行且共線的。43456z表示關(guān)節(jié)6的運動,而z表示末端執(zhí)行的運動。通常在運動方程中不包含末56端執(zhí)行器,但應包含末端執(zhí)行器的坐標系,這是因為它可以容許進行從坐標系zx出發(fā)的變換。同時也要注意第一個和最后一個坐標系的原點的位置,它們55將決定機器人的總變換方程。可以在第一個和最后的坐標系之間建立其他的(或不同的)中間坐標系,但只要第一個和最后的坐標系沒有改變,機器人的總變換便是不變的。應注意的是,第一個關(guān)節(jié)的原點并不在關(guān)節(jié)的實際位置,但證明這樣做是沒有問題的,因為無論實際關(guān)節(jié)是高一點還是低一點,機器人的運動并不會有任何差異。因此,考

15、慮原點位置時可不用考慮基座上關(guān)節(jié)的實際位置。接下來,我們將根據(jù)已建立的坐標系來填寫表2.2中的參數(shù)。參考前一節(jié)中任意兩個坐標系之間的四個運動的順序。從z-x開始,有一個旋轉(zhuǎn)運動將x轉(zhuǎn)000到了X,為使得x與x軸重合,需要沿z和沿x的平移均為零,還需要一個旋轉(zhuǎn)10111將z轉(zhuǎn)到z,注意旋轉(zhuǎn)是根據(jù)右手規(guī)則進行的,即將右手手指按旋轉(zhuǎn)的方向彎曲,01大拇指的方向則為旋轉(zhuǎn)坐標軸的方向。到了這時,zx就變換到了zx。0011接下來,繞z旋轉(zhuǎn)0,將x轉(zhuǎn)到了x,然后沿x軸移動距離a,使坐標系121222原點重合。由于前后兩個z軸是平行的,所以沒有必要繞x軸旋轉(zhuǎn)。按照這樣的步驟繼續(xù)做下去,就能得到所需要的結(jié)果。

16、必須要認識到,與其他機械類似,機器人也不會保持原理圖中所示的一種構(gòu)型不變。盡管機器人的原理圖是二維的,但必須要想象出機器人的運動,也就是說,機器人的不同連桿和關(guān)節(jié)在運動時,與之相連的坐標系也隨之運動。如果這時原理圖所示機器人構(gòu)型的坐標軸處于特殊的位姿狀態(tài),當機器人移動時它們又會處于其他的點和姿態(tài)上。比如,x總是沿著關(guān)節(jié)3與關(guān)節(jié)4之間連線a的方33向。當機器人的下臂繞關(guān)節(jié)2旋轉(zhuǎn)而運動。在確定參數(shù)時,必須記住這一點。表2.2例2.19機器人的參數(shù)#0da10100902020a203030a304040a4-9050500906060000表示旋轉(zhuǎn)關(guān)節(jié)的關(guān)節(jié)變量,d表示滑動關(guān)節(jié)的關(guān)節(jié)變量。因為這個

17、機器人的關(guān)節(jié)全是旋轉(zhuǎn)的,因此所有關(guān)節(jié)變量都是角度。通過簡單地從參數(shù)表中選取參數(shù)代入A矩陣,便可寫出每兩個相鄰關(guān)節(jié)之間的變換。例如,在坐標系0和1之間的變換矩陣A可通過將,(sin90。=l,cos90。1=0,,=90。)以及指定C為0等代入A矩陣得到,對其他關(guān)節(jié)的AA矩陣也1126是這樣,最后得:C0S0,C-S0Ca,112222S0-C0SC0SaA=11A=2222101002001000010001C-C-S0Ca,C0-SCa,33334444SC0SaS0CSaA=3333A=44443001040-100000100012.55)C0S0,C-S00,5566S0-C0SC00

18、A=55A=66501006001000010001特別注意:為簡化最后的解,將用到下列三角函數(shù)關(guān)系式:TOC o 1-5 h zSOCO+COSO二S(0+0)二S/、12121212(2.56)COCO-SOSO二C(0+0)二C.12121212在機器人的基座和手之間的總變換為:rT=AAAAAAH123456(2.57)C(CCC-SS)1234562346-SSCS(1C5C6C(CCC-SS)1234562346-SSCS(1C5C6C-SS)1234562346+CSS5S6CC23456C(-CCC-SC)1234562346+SSSS(1-C56CC-SC)1234562346-CSS-1S5C6C+CC2345623460C(CS)12345+SCS(1C5S)12345-CCS15S23450C(Ca+12344Ca+Ca)S2(3C3a2+212344Ca+

溫馨提示

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

評論

0/150

提交評論