机器人学导论二
機器人學導論二
- 連桿描述
- 連桿連接的描述
- 連桿鏈中的中間連桿
- 連桿的首尾端
- D-H參數
- 連桿坐標系
- 連桿鏈中的中間連桿
- 連桿鏈中的首尾連桿
- 建立連桿坐標系的步驟
- 動力學
- 連桿變換的推導
- 連續的連桿變換
連桿描述
三維空間中的任意兩個軸之間的距離均為一個確定值,兩個軸之間的距離即為兩軸之間公垂線的長度。兩軸之間的公垂線總是存在的,當兩軸不平行時,兩軸之間的公垂線只有一條。當兩關節軸平行時,則存在無數條長度相等的公垂線。關節軸i-1和關節軸i之間公垂線的長度為ai?1a_{i-1}ai?1?,ai?1a_{i-1}ai?1?即為連桿長度。也可以用另一種方法來描述連桿參數ai?1a_{i-1}ai?1?以關節軸i-1為軸線作一個圓柱,并且把該圓柱的半徑向外擴大,直到該圓柱與關節軸i相交時,這時圓柱的半徑即等等于ai?1a_{i-1}ai?1?。
用來定義兩關節軸相對位置的第二個參數為連桿轉角。假設作一個平面,并使該平面與兩關節軸之間的公垂線垂直,然后把關節軸i-1和關節軸i投影到該平面上,在平面內軸i-1按照右手法則繞ai?1a_{i-1}ai?1?轉向軸i測量兩軸線之間的夾角θ,用轉角αi?1α_{i-1}αi?1?定義連桿i-1的扭轉角。
連桿連接的描述
連桿鏈中的中間連桿
相鄰兩個連桿之間有一個公共的關節軸。沿兩個相鄰連桿公共軸線方向的距離可以用一個參數描述,該參數稱為連桿偏距。在關節軸i上的連桿偏距記為did_idi?。用另一個參數描述兩相鄰連桿繞公共軸線旋轉的夾角,該參數稱為關節角,記為θiθ_iθi?。
圖中表示相互聯結的連桿i-1和連桿i。根據前面的定義可知ai?1a_{i-1}ai?1?;表示連接連桿i-1兩端關節軸的公垂線長度。同樣,aia_iai?表示連接連桿i兩端關節軸的公垂線長度。描述相鄰兩連桿連接關系的第一個參數是從公垂線ai?1a_{i-1}ai?1?,與關節軸i的交點到公垂線aia_iai?與關節軸i的交點的有向距離,即連桿偏距did_idi?。連桿偏距did_idi?的表示方法如圖所示。當關節i為移動關節時,連桿偏距did_idi?是一個變量。描述相鄰兩連桿連接關系的第二個參數是ai?1a_{i-1}ai?1?的延長線和aia_iai?之間繞關節軸i旋轉所形成的夾角,即關節角θiθ_iθi?如圖所示。圖中,標有雙斜線的直線為平行線。當關節i為轉動關節時, 關節角θiθ_iθi?是一個變量。
連桿的首尾端
對于運動鏈中的末端連桿,其參數習慣設定為0,即a0a_0a0?=ana_nan?=0,α0α_0α0?=αnα_nαn?=0。在本節中,按照上面的規定對關節2到關節n-1的連桿偏距did_idi?和關節角θiθ_iθi?,進行了定義。
如果關節1為轉動關節,則θiθ_iθi?的零位可以任意選取,并且規定did_idi?=0。同樣,如果關節1為移動關節,則did_idi?的零位可以任意選取,井且規定θiθ_iθi?=0。這種規定完全適用于關節n。
之所以采用這樣規定,是因為當一個參數可以任意選取時,把另一個參數設定為0,可以使以后的計算盡可能地簡單。
D-H參數
連桿坐標系
連桿鏈中的中間連桿
通常按照下面的方法確定連桿上的固連坐標系:坐標系{i}的Z^\hat{Z}Z^軸稱為Z^i\hat{Z}_iZ^i? , 并與關節軸i重合,坐標系{i}的原點位于公垂線aia_iai?與關節軸i的交點處。X^i\hat{X}_iX^i? 沿aia_iai?方向由關節i指向關節i+1。
當aia_iai?=0時,X^i\hat{X}_iX^i?垂直于Z^\hat{Z}Z^和Z^i\hat{Z}_iZ^i? 所在的平面。 按右手定則繞X^i\hat{X}_iX^i?軸的轉角定義為αiα_{i}αi?由于X^i\hat{X}_iX^i?軸的方向可以有兩種選擇,因此αiα_{i}αi?的符號也有兩種選擇。Y^\hat{Y}Y^軸由右手定則確定,從而完成了對坐標系{i}的定義。 圖所示為一般操作臂上坐標系{i-1}和{i}的位置。
關節軸相交
連桿鏈中的首尾連桿
固連于機器人基座(即連桿0) 上的坐標系為坐標系{0}。這個坐標系是一個固定不動的坐標系,因此在研究操作臂運動學問題時,可以把該坐標系作為參考坐標系。 可以在這個參考坐標系中描述操作臂所有其他連桿坐標系的位置。
參考坐標系{0}可以任意設定,但是為了使問題簡化,通常設定么軸沿關節軸1的方向, 并且當關節變量1為0時, 設定參考坐標系{0}與坐標系{l}重合。 按照這個規定,總有a0a_0a0?=0和α0α_0α0?=0。 另外,當關節1為轉動關節時,d1d_1d1?=0,當關節1為移動關節時,θ1θ_1θ1?=0。
建立連桿坐標系的步驟
對于一個新機構,可以按照下面的步驟正確地建立連杅坐標系。
動力學
連桿變換的推導
一般這個變換是由四個連桿參數構成的函數。對任意給定的機器人,這個變換是只有一個變量的函數,另外三個參數是由機械系統確定的。 通過對每個連桿逐一建立坐標系, 我們把運動學問題分解成n個子問題。 為了求解每個子問題, 即ii?1T^{i-1}_iTii?1?T我們將每個子問題再分解成四個次子問題。 四個變換中的每一個變換都是僅有一個連桿參數的函數, 通過觀察能夠很容易寫出它的形式。 首先我們為每個連桿定義三個中間坐標系——{P}, {Q}和{R}。
圖中定義了坐標系{P}、{Q}和{R}。 注意, 為了表示簡潔起見, 在每一個坐標系中僅給出了X^i\hat{X}_iX^i?軸Z^i\hat{Z}_iZ^i?軸。 由于旋轉αi?1α_{i-1}αi?1?,因此坐標系{R}與坐標系{i-1}不同;由于位移ai?1a_{i-1}ai?1?因此坐標系{Q}與坐標系{R}不同;由于轉角θiθ_{i}θi?, 因此坐標系{P}與坐標系{Q}不同;由于位移did_idi? , 因此坐標系{i}與坐標系{P}不同。 如果想把在坐標系{i}中定義的矢量變換成在坐標系{i-1}中的描述, 這個變換矩陣可以寫成i?1P=Ri?1TQRTPQTiPTiP^{i-1}P=^{i-1}_RT ^R_QT^Q_PT^P_iT^iPi?1P=Ri?1?TQR?TPQ?TiP?TiP即i?1P=ii?1TiP^{i-1}P=^{i-1}_iT^iPi?1P=ii?1?TiP這里i?1T=Ri?1TQRTPQTiPT^{i-1}T=^{i-1}_RT ^R_QT^Q_PT^P_iTi?1T=Ri?1?TQR?TPQ?TiP?T可以寫成i?1T=Screwx(ai?1,αi?1)Screwz(di,θi)^{i-1}T=Screw_x(a_{i-1},α_{i-1})Screw_z(d_i,θ_i)i?1T=Screwx?(ai?1?,αi?1?)Screwz?(di?,θi?)
連續的連桿變換
把這些連桿變換矩陣連乘就能得到一個坐標 系{N}相對千坐標系{O}的變換矩陣:N0T=10T21T32T...NN?1T^0_NT=^0_1T^1_2T^2_3T...^{N-1}_NTN0?T=10?T21?T32?T...NN?1?T
總結
- 上一篇: Matlab的最优化实现方法之线性规划:
- 下一篇: 软件测试理论基础知识