日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机器人正反运动学方程,机器人运动学方程

發(fā)布時間:2023/12/14 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机器人正反运动学方程,机器人运动学方程 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2.8機器人正運動學方程的D-H表示法

在1955年,Denavit和Hartenberg在“ASME Journal of Applied Mechanics”發(fā)表了一篇論文,后來利用那個這篇論文來對機器人進行表示和建模,并導出了它們的運動方程,這已成為表示機器人和對機器人運動進行建模的標準方法,所以必須學習這部分內(nèi)容。Denavit-Hartenberg(D_H)模型表示了對機器人連桿和關(guān)節(jié)進行建模的一種非常簡單的方法,可用于任何機器人構(gòu)型,而不管機器人的結(jié)構(gòu)順序和復雜程度如何。它也可用于表示已經(jīng)討論過的在任何坐標中的變換,例如直角坐標、圓柱坐標、球坐標、歐拉角坐標及RPY坐標等。另外,它也可以用于表示全旋轉(zhuǎn)的鏈式機器人、SCARA機器人或任何可能的關(guān)節(jié)和連桿組合。盡管采用前面的方法對機器人直接建模會更快、更直接,但D-H表示法有其附加的好處,使用它已經(jīng)開發(fā)了許多技術(shù),例如,雅克比矩陣的計算和力分析等。

假設(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é)(一個坐標系到下一個坐標系)來進行變換的步驟。如果將從基座到第一個關(guān)節(jié),再從第一個關(guān)節(jié)到第二個關(guān)節(jié)直至到最后一個關(guān)節(jié)的所有變換結(jié)合起來,就得到了機器人的總變換矩陣。在下一節(jié),將根據(jù)D-H表示法確定一個一般步驟來為每個關(guān)節(jié)指定參考坐標系,然后確定如何實現(xiàn)任意兩個相鄰坐標系之間的變換,最后寫出機器人的總變換矩陣。

圖2.25??? 通用關(guān)節(jié)—連桿組合的D-H表示

假設(shè)一個機器人由任意多的連桿和關(guān)節(jié)以任意形式構(gòu)成。圖2.25表示了三個順序的關(guān)節(jié)和兩個連桿。雖然這些關(guān)節(jié)和連桿并不一定與任何實際機器人的關(guān)節(jié)或連桿相似,但是他們非常常見,且能很容易地表示實際機器人的任何關(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與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-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é)數(shù)n+1的z軸是

。這些簡單規(guī)則可使我們很快地定義出所有關(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軸。所以如果

表示

之間的公垂線,則

的方向?qū)⒀?/p>

。同樣,在

之間的公垂線為

的方向?qū)⒀?/p>

。注意相鄰關(guān)節(jié)之間的公垂線不一定相交或共線,因此,兩個相鄰坐標系原點的位置也可能不在同一個位置。根據(jù)上面介紹的知識并考慮下面例外的特殊情況,可以為所有的關(guān)節(jié)定義坐標系。

如果兩個關(guān)節(jié)的z軸平行,那么它們之間就有無數(shù)條公垂線。這時可挑選與前一關(guān)節(jié)的公垂線共線的一條公垂線,這樣做就可以簡化模型。

入股兩個相鄰關(guān)節(jié)的z軸是相交的,那么它們之間就沒有公垂線(或者說公垂線距離為零)。這時可將垂直于兩條軸線構(gòu)成的平面的直線定義為x軸。也就是說,其公垂線是垂直于包含了兩條z軸的平面的直線,它也相當于選取兩條z軸的叉積方向作為x軸。這也會使模型得以簡化。

在圖2.25(a)中,

角表示繞z軸的旋轉(zhuǎn)角,d表示在z軸上兩條相鄰的公垂線之間的距離,a表示每一條公垂線的長度(也叫關(guān)節(jié)偏移量),角

表示兩個相鄰的z軸之間的角度 (也叫關(guān)節(jié)扭轉(zhuǎn))。通常,只有

和d是關(guān)節(jié)變量。

下一步來完成幾個必要的運動,即將一個參考坐標系變換到下一個參考坐標系。假設(shè)現(xiàn)在位于本地坐標系

,那么通過以下四步標準運動即可到達下一個本地坐標系

(1)繞

軸旋轉(zhuǎn)

(如圖2.25(a)與(b)所示),它使得

互相平行,因為

都是垂直于

軸的,因此繞

軸旋轉(zhuǎn)

使它們平行(并且共面)。

(2)沿

軸平移

距離,使得

共線(如圖2.25(c)所示)。因為

已經(jīng)平行并且垂直于

,沿著

移動則可使它們互相重疊在一起。

(3)沿

軸平移

的距離,使得

的原點重合(如圖2.25(d)和(e)所示)。這是兩個參考坐標系的原點處在同一位置。

(4)將

軸繞

軸旋轉(zhuǎn)

,使得

軸與

軸對準(如圖2.25(f)所示)。這時坐標系n和n+1完全相同(如圖2.25(g)所示)。至此,我們成功地從一個坐標系變換到了下一個坐標系。

在n+1和n+2坐標系間嚴格地按照同樣的四個運動順序可以將一個坐標變換到下一個坐標系。如有必要,可以重復以上步驟,就可以實現(xiàn)一系列相鄰坐標系之間的變換。從參考坐標系開始,我們可以將其轉(zhuǎn)換到機器人的基座,然后到第一個關(guān)節(jié),第二個關(guān)節(jié)……,直至末端執(zhí)行器。這里比較好的一點是,在任何兩個坐標系之間的變換均可采用與前面相同的運動步驟。

通過右乘表示四個運動的四個矩陣就可以得到變換矩陣A,矩陣A表示了四個依次的運動。由于所有的變換都是相對于當前坐標系的(即他們都是相對于當前的本地坐標系來測量與執(zhí)行),因此所有的矩陣都是右乘。從而得到結(jié)果如下:

?????????? (2.51)

????? ?(2.52)

比如,一般機器人的關(guān)節(jié)2與關(guān)節(jié)3之間的變換可以簡化為:

???????????(2.53)

在機器人的基座上,可以從第一個關(guān)節(jié)開始變換到第二個關(guān)節(jié),然后到第三個……,再到機器人的手,最終到末端執(zhí)行器。若把每個變換定義為,則可以得到許多表示變換的矩陣。在機器人的基座與手之間的總變換則為:

??????????????????(2.54)

其中n是關(guān)節(jié)數(shù)。對于一個具有六個自由度的機器人而言,有6個A矩陣。

為了簡化A矩陣的計算,可以制作一張關(guān)節(jié)和連桿參數(shù)的表格,其中每個連桿和關(guān)節(jié)的參數(shù)值可從機器人的原理示意圖上確定,并且可將這些參數(shù)代入A矩陣。表2.1可用于這個目的。

在以下幾個例子中,我們將建立必要的坐標系,填寫參數(shù)表,并將這些數(shù)值代入A矩陣。首先從簡單的機器人開始,以后再考慮復雜的機器人。

表2.1???? D-H參數(shù)表

#

d

a

1

2

3

4

5

6

對于如圖2.26所示的簡單機器人,根據(jù)D-H表示法,建立必要的坐標系,并填寫相應(yīng)的參數(shù)表。

解:

為方便起見,在此例中,假設(shè)關(guān)節(jié)2,3和4在同一平面內(nèi),即它們的

值為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的簡化線圖。應(yīng)注意每個坐標系原點3在它所在位置的原因。

圖2.26??? 具有六個自由度的簡單鏈式機器人

圖2.27??? 簡單六個自由度鏈式機器人的參考坐標系

圖2.28??? 簡單六個自由度鏈式機器人的參考坐標系線圖

從關(guān)節(jié)1開始,

表示第一個關(guān)節(jié),它是一個旋轉(zhuǎn)關(guān)節(jié)。選擇

與參考坐標系的x軸平行,這樣做僅僅是為了方便,

是一個固定的坐標軸,表示機器人的基座,它是不動的。第一個關(guān)節(jié)的運動是圍繞著

-

軸進行的,但這兩個軸并不運動。接下來,在關(guān)節(jié)2處設(shè)定

,因為坐標軸

是相交的,所以

垂直于

之間的公垂線方向上,

之間的公垂線方向上,類似地,

之間的公垂線方向上。最后,

是平行且共線的。

表示關(guān)節(jié)6的運動,而

表示末端執(zhí)行的運動。通常在運動方程中不包含末端執(zhí)行器,但應(yīng)包含末端執(zhí)行器的坐標系,這是因為它可以容許進行從坐標系

出發(fā)的變換。同時也要注意第一個和最后一個坐標系的原點的位置,它們將決定機器人的總編換方程。可以在第一個和最后的坐標系之間建立其他的(或不同的)中間坐標系,但只要第一個和最后的坐標系沒有改變,機器人的總變換便是不變的。應(yīng)注意的是,第一個關(guān)節(jié)的原點并不在關(guān)節(jié)的實際位置,但證明這樣做是沒有問題的,因為無論實際關(guān)節(jié)是高一點還是低一點,機器人的運動并不會有任何差異。因此,考慮原點位置時可不用考慮基座上關(guān)節(jié)的實際位置。

接下來,我們將根據(jù)已建立的坐標系來填寫表2.2中的參數(shù)。參考前一節(jié)中任意兩個坐標系之間的四個運動的順序。從

開始,有一個旋轉(zhuǎn)運動將

轉(zhuǎn)到了

,為使得

軸重合,需要沿

和沿

的平移均為零,還需要一個旋轉(zhuǎn)將

轉(zhuǎn)到

,注意旋轉(zhuǎn)是根據(jù)右手規(guī)則進行的,即將右手手指按旋轉(zhuǎn)的方向彎曲,大拇指的方向則為旋轉(zhuǎn)坐標軸的方向。到了這時,

就變換到了

接下來,繞

旋轉(zhuǎn)

,將

轉(zhuǎn)到了

,然后沿

軸移動距離

,使坐標系原點重合。由于前后兩個z軸是平行的,所以沒有必要繞x軸旋轉(zhuǎn)。按照這樣的步驟繼續(xù)做下去,就能得到所需要的結(jié)果。

必須要認識到,與其他機械類似,機器人也不會保持原理圖中所示的一種構(gòu)型不變。盡管機器人的原理圖是二維的,但必須要想象出機器人的運動,也就是說,機器人的不同連桿和關(guān)節(jié)在運動時,與之相連的坐標系也隨之運動。如果這時原理圖所示機器人構(gòu)型的坐標軸處于特殊的位姿狀態(tài),當機器人移動時它們又會處于其他的點和姿態(tài)上。比如,

總是沿著關(guān)節(jié)3與關(guān)節(jié)4之間連線

的方向。當機器人的下臂繞關(guān)節(jié)2旋轉(zhuǎn)而運動。在確定參數(shù)時,必須記住這一點。

表2.2???? 例2.19機器人的參數(shù)

#

d

a

1

0

0

90

2

0

0

3

0

0

4

0

-90

5

0

0

90

6

0

0

0

表示旋轉(zhuǎn)關(guān)節(jié)的關(guān)節(jié)變量,d表示滑動關(guān)節(jié)的關(guān)節(jié)變量。因為這個機器人的關(guān)節(jié)全是旋轉(zhuǎn)的,因此所有關(guān)節(jié)變量都是角度。

通過簡單地從參數(shù)表中選取參數(shù)代入A矩陣,便可寫出每兩個相鄰關(guān)節(jié)之間的變換。例如,在坐標系0和1之間的變換矩陣

可通過將

(sin

=1,cos

=0,

=

)以及指定

等代入A矩陣得到,對其他關(guān)節(jié)的

~

矩陣也是這樣,最后得:

???????

???

????????(2.55)

????????

特別注意:為簡化最后的解,將用到下列三角函數(shù)關(guān)系式:

??????????????? (2.56)

在機器人的基座和手之間的總變換為:

?????????????????????????????????????????????????? (2.57)

斯坦福機械手臂。在斯坦福機械手臂上指定坐標系(如圖2.29所示),并填寫參數(shù)表。斯坦福機械手臂是一個球坐標手臂,即開始的兩個關(guān)節(jié)是旋轉(zhuǎn)的,第三個關(guān)節(jié)是滑動的,最后三個腕關(guān)節(jié)全是旋轉(zhuǎn)關(guān)節(jié)。

圖2.29??? 斯坦福機械手臂示意圖

解:

在看本題解答之前,現(xiàn)根據(jù)自己的理解來做,問題的答案在本章的最后。建議在看解答中建立的坐標系和機械手臂的解之前,先試著自己做。

機器手臂最后的正運動學解是相鄰關(guān)節(jié)之間的6個變換矩陣的乘積:

其中

??????? ?????????????????????(2.58)

總結(jié)

以上是生活随笔為你收集整理的计算机器人正反运动学方程,机器人运动学方程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。