機器人球關節的DH參數中d是怎麼定義的?

書上說的是zi和zi-1平行,d = 0;

d的計算是: xi與zi-1的交點,沿zi-1到oi-1的距離。

網上說d表示xi與xi-1的距離。

但是遇到一個問題想不清楚。

問題描述:

1.為什麼d可以是零?

2.為什麼三個坐標系的原點會重合?

3.我自己建的坐標系,每個原點都在關機的中心。關節3、關節4和關節5之間明明有距離,這樣移動坐標系不就不能表示它們之間的位置信息了嗎?聽說是距離可以累積到最後一個關節,那具體又是怎麼操作呢?希望各位前輩能給個例子,謝謝啦。


如圖,各參數定義如下:

a_{i} 是沿著x_{i} 方向,從z_{i} z_{i+1} 平移的距離;

alpha _{i} 是繞著x_{i} 方向,從z_{i} z_{i+1} 轉過的角度;

d_{i} 是沿著z_{i} 方向,從x_{i-1} x_{i} 平移的距離;

	heta _{i} 是繞著z_{i} 方向,從x_{i-1} x_{i} 轉過的角度。

DH參數就是這樣定義的,跟是否球關節無關。清楚了定義,其他問題就好回答了。

所以,題主的問題分段回答如下:

1.為什麼d可以是零?

x_{i-1} x_{i} 位於過原點o_{i} 且垂直於z_{i} 的平面內時,d_{i} =0。可以參考如下某經典構型機械臂DH坐標圖,

根據定義,d_{2} 是沿著z_{2} 方向,從x_{1} x_{2} 平移的距離。可以發現,它就是為0。

2.為什麼三個坐標系的原點會重合?

球關節有三個自由度,而每個DH坐標系只對應一個自由度,因此我們在定義DH坐標系的時候就需要為一個球關節定義三個坐標系。因為三個旋轉自由度的旋轉中心重合在一點,所以這三個坐標系的原點往往可以定義在同一點上,具體可以看你發的圖片,left{ oxyz 
ight} _{3}, left{ oxyz 
ight} _{4}, left{ oxyz 
ight} _{5}三個坐標系就是這三個原點重合的坐標系。

簡而言之,這三個坐標系是人定的,定坐標系的時候剛好發現可以放在同個原點處。

3.我自己建的坐標系,每個原點都在關機的中心。關節3、關節4和關節5之間明明有距離,這樣移動坐標系不就不能表示它們之間的位置信息了嗎?聽說是距離可以累積到最後一個關節,那具體又是怎麼操作呢?

對題主的問題理解可能不一定對,但我猜題主說的應該是下面這個情況:

題主把坐標系5建在關節5的「中心」,如圖中第一種情況,而非第二種(原點對齊的情況)。

首先關節5的中心並不好確定,其次,兩種方法計算結果相同

上圖機構DH參數如下(連桿6是指末端執行器end effector)

代入DH矩陣公式,可以得到如下結果:

_{6}^{4}T=_{5}^{4}Tcdot _{6}^{5}T=egin{bmatrix}
cos(	heta_4+	heta_5)  -sin(	heta_4+	heta_5)  0  0\ 
0  0  -1  -(d_5+d_6)\ 
sin(	heta_4+	heta_5)  cos(	heta_4+	heta_5)  0  0\ 
0  0  0  1
end{bmatrix}

也即建立坐標系時產生的d_{5} d_{6} 大小並不會影響末端計算結果,只有它們的和(固定不變)會產生影響。希望說明地清楚。


希望題主可以找一本機器人學的書,看一看裡面的運動學部分一章。所有的問題都會迎刃而解,還能搞懂前因後果。


推薦閱讀:

機器人運動學反解怎麼開發?
強化學習 Reinforcement Learning 在控制系統中的應用現狀與前景展望如何?
Jimu 機器人,米兔機器人,wedo,mindstorm,makeblock,針對兒童,該選擇哪個?
現代機器人及自動化技術還原鉛字印刷可行嗎?
如何看待大疆(DJI)或因黑飛導致的監管放棄中國市場?

TAG:機器人 | 機器人控制 |