機械臂——D-H參數標定

最近重新學習機器人方面的知識,想到一年以前在學校選修《機器人學技術基礎》這門課的時候,老師雖然講機器人的各個方面的知識都講到了,但只是浮光綠影的的提到,並沒有真正講到深處,我的理解也沒有更加深入,導致總是知道有這個知識點,但總是用起來不順手,有時候還會完全迷惑。最近重新看了Graig的《機器人學導論》導論的中文版,裏面對D-H參數的講解比較詳細,更重要的是舉出了詳細的案例。

  其實D—H參數是有兩種標定方式的,一種是標準的D-H參數法,還有一種是改進的D—H參數法,大部分書上現在都用到的是改進的D-H法,但也有一些書上用的是標準的D-H法,但是D-H法只是一種對連桿的座標描述,最後的結果往往相同的參數就會有相同的物理含義在裏面。不同的書上使用不同表示方法往往會給看書的人帶來不小的迷惑,我就有一段時間非常迷茫,自己後來乾脆就不管什麼標準的D-H法,就按照大部分書上使用的改進的D-H方法去標定,只要掌握一種方法並清楚裏面參數的含義就能方便地列寫參數表,進而寫出機器人操作臂的運動變換方程。

  首先對連桿做一簡單介紹,在機器人運動學中,所謂連桿就是具有一定運動學功能的剛性杆,這和《機械原理》中的構件有相似的性質,就是它是運動的最小單元,而且由於它本身的形狀和大小會對運動有影響。至於剛性,就是在運動學階段我們認爲連桿受力不會發生變形(事實上機器人在操作臂在運動過程中受力情況複雜,一定會發生變形)。在機器人操作臂中,研究的內容主要是一系列連桿通過關節連接起來而組成的空間開式運動鏈。這是最早的現代機器人的模型,也是在工業中應用最廣泛的機器人,就是我們常說的工業機械臂。另一個重要的概念就是關節,在這裏關節就是將兩個機械臂連接起來的部分,而這個連接不是固定連接,而是兩個連桿之間只能發生有限的相對運動。比如一個連桿繞一個連桿的轉動,或者一個連桿沿着另一個連桿的某一個方向平動,在常見的工業機器人中轉動平動是最基本的也是最常見的運動,基本到基本上沒有其它形式的運動了。

  好了,現在開始來研究我們的第一個研究對象---連桿,描述的連桿參數有兩個,無論形狀多麼複雜的連桿,其實它在運動的能提供的運動學功能是可以用兩個參數確定的,一個是連桿的長度a,另一個是連桿的轉角α,下圖爲我們詳細地解釋了這兩個參數的意義:

圖片來源於《機器人學導論》,如圖中所示,一個連桿兩端連接着有兩個關節,爲了描述起來方便,我們規定連桿i左端的關節是i,這樣做的好處是從基座爲連桿0,而基座和連桿1之間的關節就是關節1,而確實關節1就是機器人的第一個關節,這樣描述起來就會方便很多,一個n自由度的機械臂就有n個關節和n+1個連桿,算上基座0,就像我們在《機械原理》中將大地也作爲一個構件一樣的道理。對於圖中的連桿i-1,其左邊對應的關節軸i-1,右邊對應的是關節軸i,兩個關節軸之間的關係便由這個連桿確定,在三維空間中,描述兩個關節軸線之間的位置關係用他們之間的距離和角度就可以了,圖中ai-1就是兩條空間直線的公垂線,在三維空間中總是可以找到兩條直線之間的公垂線,如果他們平行則有無數條,如果他們異面,則有一條,如果他們相交,則公垂線就是一個點了,總之,關節軸線i-1和關節軸線i的距離是由連桿i-1來確定的。除了描述兩條軸線之間的距離,我們還需要描述這兩條軸線之間的夾角,夾角的定義是關節軸i-1繞着公垂線ai-1轉動到和關節軸i平行是所轉過的角度αi-1按照右手法則轉動,公垂線ai-1方向定義爲從軸i-1指向軸i。注意到在這種描述中,連桿長度a和連桿轉角α都是下標爲i-1的,這是因爲我們連桿也是第i-1根連桿,是一致的。

  上面我使用了兩個參數完全地將一個連桿的運動學特殊性描述出來了,接下來就需要思考如何描述相鄰兩個連桿之間的關係,兩個連桿之間是通過一個關節連接的,我們很容易想到描述連桿之間的關係實際上反映的是這個關節軸的一些特性。繼續看圖說話:

上圖中,連桿i-1和連杆i通過關節軸i相互連接,我們規定,沿着關節軸i的軸向,將連桿i-1的長度ai-1移動到和連桿i的長度ai的距離叫做連桿偏距di ,這個參數反映了兩個連桿沿着軸i的距離。同時,我們從圖中看到連桿i-1和連桿i的長度線並不共線,這說明這兩條線之間存在夾角,我們規定繞軸i將長度線ai-1的延長線轉動到和長度線ai 轉過的角度叫做關節角θi, 關節角反映了兩個連桿在關節軸處的夾角。通過連桿偏距和關節角就可以將兩個相鄰連桿之間的相對位置描述清楚。因此,對於一個連桿,需要有四個參數對其進行描述,兩個參數描述連桿本身的特性,另外兩個參數描述該連桿和上一個連桿之間的關係。其中連桿偏距di關節角θi是由關節決定的,反映關節的運動學特性。如果關節i是一個轉動關節,那麼連桿i-1連桿i之間沿着關節軸線i距離di就是一個定值,在設計好機器人中該值不會再改變,而θi會發生改變,因此θi稱爲關節變量,意思就是機器人在運動過程中它會發生變化。同樣的,如果關節i是一個移動關節,那麼連桿i-1 和連桿i之間的夾角θi就是一個定值,變化的是兩個連桿沿着關節軸線的距離di,此時di被稱爲關節變量

  爲了在引入數學上的描述,我規定們給連桿上附件上座標系,我們規定,在每個連桿上固連一個座標系,對應於連桿i的座標系就是{i},規定座標系{i} 的Zi軸沿着關節軸線i,座標原點在長度線ai和關節軸線的交點處,沿着長度線ai 由關節軸線i指向關節軸線i-1 是Xi的正方向。Yi按照右手螺旋定則確定。連桿座標系表示在圖中如下所示:

  當按照上述的要求定義好座標系之後,四個連桿參數可以有在座標系中的描述:

   ai = 沿着Xi 軸從Zi 移動到Zi+1的距離。

  αi = 繞着Xi軸從Zi轉到Zi+1的角度。

  di = 沿着Zi軸從Xi-1到Xi的距離。

  θi = 繞着Zi軸從Xi-1到Xi的角度。

  現在,我們可以對一個機器人操作臂進行描述了,首先看一個平面三連桿機械臂。

  

                                           

  如上兩圖所示,對於一個平面三連桿機械臂,規定其Z軸垂直於紙面向外,可以得到如圖的座標表示方法。

  下面列寫其D-H參數表:

  

  從上表就可以列寫出機器人的運動學方程,可以說機器人(機械臂)的運動分析很大一部分工作是對機械臂進行參數標定。值得注意的是,參數標定方法不唯一,不同的人有不同的參數標定方式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章