機械臂運動學基礎
《機械臂運動學基礎》由會員分享,可在線閱讀,更多相關《機械臂運動學基礎(30頁珍藏版)》請在裝配圖網上搜索。
1、 機械臂運動學基礎 1 、機械臂的運動學模型 機械臂運動學研究的是機械臂運動, 而不考慮產生運動的力。 運動學研究機械臂的位置, 速 度和加速度。 機械臂的運動學的研究涉及到的幾何和基于時間的內容, 特別是各個關節(jié)彼此 之間的關系以及隨時間變化規(guī)律。 典型的機械臂由一些串行連接的關節(jié)和連桿組成。每個關節(jié)具有一個自由度,平移或旋轉。 對于具有 n 個關節(jié)的機械臂,關節(jié)的編號從 1 到 n ,有 n +1 個連桿,編號從 0 到 n。連桿 0 是機械臂的基礎, 一般是
2、固定的, 連桿 n 上帶有末端執(zhí)行器。 關節(jié) i 連接連桿 i 和連桿 i-1 。 一個連桿可以被視為一個剛體, 確定與它相鄰的兩個關節(jié)的坐標軸之間的相對位置。 一個連 桿可以用兩個參數(shù)描述, 連桿長度和連桿扭轉, 這兩個量定義了與它相關的兩個坐標軸在空 間的相對位置。而第一連桿和最后一個連桿的參數(shù)沒有意義,一般選擇為 0 。一個關節(jié)用兩 個參數(shù)描述, 一是連桿的偏移, 是指從一個連桿到下一個連桿沿的關節(jié)軸線的距離。 二是關 節(jié)角度,指一個關節(jié)相對于下一個關節(jié)軸的旋轉角度。 為了便于描述的每一個關節(jié)的位置, 我們在每一個關節(jié)設置一個坐
3、標系, 對于一個關節(jié)鏈, Denavit 和 Hartenberg 提出了一種用矩陣表示各個關節(jié)之間關系的系統(tǒng)方法。 對于轉動關 節(jié) i,規(guī)定它的轉動平行于坐標軸 zi-1 ,坐標軸 xi-1 對準從 zi-1 到 zi 的法線方向,如果 zi-1 與 z 相交,則 x i-1 取 z i-1 z的方向。連桿,關節(jié)參數(shù)概括如下: i i 連桿長度 a i 沿著 xi 軸從 zi-1 和 zi 軸之間的距離 ; 連桿扭轉 αi 從 zi-1 軸到 zi 軸相對 xi-
4、1 軸夾角 ; 連桿偏移 d i 從坐標系 i-1 的原點沿著 zi-1 軸到 xi 軸的距離 ; 關節(jié)角度 θi xi-1 軸和 xi 軸之間關于 zi-1 軸的夾角。 1 對于一個轉動關節(jié) θi 是關節(jié)變量, d i 是常數(shù)。而移動關節(jié) d i 是可變的, θi 是恒定的。為了 統(tǒng)一,表示為 qi i 轉動關節(jié) di 移動關節(jié) 運用 Denavit-Hartenberg ( DH
5、 )方法,可以將相鄰的兩個坐標系之間的變換關系表示為 一個 4x4 的齊次變換矩陣 cos i sin i cos i sin i sin i ai cos i i 1 A sin i cos i cos i cos i sin i ai sin i i 0 sin i cos di i 0 0 0 1 上式表示出了坐標系 i 相對于坐標系 i-1 的關系。即 0Ti 0Ti 1 i 1 Ai 其中 0Ti 表示坐標系 i 相對于世界
6、坐標系 0 的位置與姿態(tài),簡稱位姿。 2 、正向和反向運動學 對于一個 n- 軸剛性連接的機械臂,正向運動學的解給出的是最后一個連桿坐標系的位置和 姿態(tài)。重復利用上式 ,得到 0Tn 0 A1 1 A2 n 1 An K (q) 機械臂末端位姿在笛卡爾坐標系中有 6 個自由度, 3 個平移, 3 個旋轉。所以,一般來說具 有 6 個自由度的機械臂可以使末端實現(xiàn)任意的位姿。 總的機械臂變換 0Tn 一般簡寫為 Tn ,對 6 個自由度的機械臂簡寫為 T6 。對于任意的機械臂, 無論其它有多少個關節(jié),
7、具有什么結構,正向運動學解都是可以得到的。 在機械臂的路徑規(guī)劃中,用到的是反向運動學的解 q K 1( 0Tn ) ,它給出了特定的末端位 姿對應的機械臂的關節(jié)角度。 一般來說, 反向運動學的解不是唯一的, 對具有某種結構的機 械臂,封閉解可能不存在。 2 對于 6 自由度的機器人而言,運動學逆解非常復雜,一般沒有封閉解。只有在某些特殊情 況下才可能得到封閉解。 不過,大多數(shù)工業(yè)機器人都滿足封閉解的兩個充分條件之一 ( Pieper 準則)
8、( 1 )三個相鄰關節(jié)軸交于一點 ( 2 )三個相鄰關節(jié)軸相互平行 如果機械臂多于 6 個關節(jié),稱關節(jié)為冗余的,這時解是欠定的。如果對于機械臂某個特別 的位姿, 解不存在, 稱這個位姿為奇異位姿。 機械臂的奇異性可能是由于機械臂中某些坐標 軸的重合,或位置不能達到引起的。 機械臂的奇異位姿分為兩類: (1) 邊界奇異位姿,當機械臂的關節(jié)全部展開或折起時,使得末端處于操作空間的邊界或邊 界附近, 雅克比矩陣奇異, 機械臂的運動受到物理結構的約束, 這時機械臂的奇異位姿稱為 邊界奇異位
9、姿。 (2) 內部奇異位姿,兩個或兩個以上的關節(jié)軸線重合時,機械臂各個關節(jié)的運動相互抵消,不產生操作運動,這時機械臂的奇異位姿稱為內部奇異位姿。 機械臂運動學逆解的方法可以分為兩類: 封閉解和數(shù)值解、 在進行逆解時總是力求得到封閉解。因為封閉解的計算速度快,效率高,便于實時控制。而數(shù)值解法不具有這些特點。機械 臂運動學的封閉逆解可通過兩種途徑得到:代數(shù)法和幾何法。 一般而言,非零連桿參數(shù)越多,到達某一目標的方式也越多,即運動學逆解的數(shù)目也越多。 在從多重解中選擇解時, 應根據具體情況, 在避免碰撞的前提下通常按“ 最短行程
10、”準則來選擇。同時還應當兼顧“ 多移動小關節(jié),少移動大關節(jié) ”的原則。 n 個自由度的機械臂的末端位姿由 n 個關節(jié)變量所決定,這 n 個關節(jié)變量統(tǒng)稱為 n 維關節(jié) 3 矢量, 記為 q 。所有的關節(jié)矢量構成的空間稱為 關節(jié)空間 。機械臂末端的位姿用 6 個變量描 述, 3 個平移 (x,y,z) 和 3 個旋轉 ( x, y, z) ,記 x= (x,y,z, x, y, z), x 是機械臂末端在基 坐標空間中的坐標,所有的矢量 x 構成的空間稱為 操作空間或作業(yè)定向空間 。工作空間是
11、 操作臂的末端能夠到達的空間范圍, 即末端能夠到達的目標點集合。 值得指出的是, 工作空 間應該嚴格地區(qū)分為兩類: (1) 靈活(工作)空間 指機械臂末端能夠以任意方位到達的目標點集合。因此,在靈活空 間的每個點上,手爪的指向可任意規(guī)定。 (2) 可達(工作)空間 指機械臂末端至少在一個方位上能夠到達的目標點集合。 機械臂各關節(jié)驅動器的位置組成的矢量稱為驅動矢量 s,由這些矢量構成的空間稱為 驅動空 間。 正向運動學 驅動空間 關節(jié)空間 工作空間 運動學
12、逆解 3 、 Jacobian 矩陣 機械臂的 Jacobian 矩陣表示機械臂的操作空間與關節(jié)空間之間速度的線性映射關系,對于 一個 n 軸的機械臂,機械臂末端在基坐標系中的速度是 x Jq 其中 x 是 6 個元素的向量。 對于 6 個關節(jié)機械臂 Jacobian 矩陣是方陣,如果它是可逆的,則可以由機械臂的末端速度 求出各個關節(jié)的速度。 Jacobian 矩陣在機械臂的奇異位姿上是不可逆的。在實際應用中, 當機械臂的末端位置接近奇異位置時, Jacobian 矩陣是病態(tài)的,可能導致關
13、節(jié)速度不能正 確地得到。 上式解決的是正速度問題, 即已知 q 和 q 求末端執(zhí)行器的速度 x 。對于逆速度解問題, 由上 4 式可以得到速度逆解公式為 q J 1x ,注意到此時需要求雅可比矩陣的逆,由線性方程組 理論知上式對任意的 x , q 都有解的必要條件是雅可比矩陣的秩 rank(J)=6 ,這意味著機械 臂的自由度數(shù) n ≥6 。 這也說明了具有冗余自由度的機械臂, 在末端位姿固定的條件下, 能使關節(jié)在一個較大的關 節(jié)空間的子空間中運動, 有效地避開障礙或奇異位
14、姿, 并把關節(jié)位移限制在允許范圍內, 從 而具有更大的運動靈活性。 雅可比矩陣可以看成是從關節(jié)空間到操作空間運動速度的傳動比, 同時也可用來表示兩空間 之間力的傳遞關系。 對于冗余自由度機械臂, 其雅可比矩陣是長方矩陣, 因 J 滿秩且方程個 數(shù)少于未知數(shù)個數(shù), 所以有無窮多個解, 這時,一般是求其中的最小范數(shù)解,或采用加權最 小范數(shù)解也就是說使 qT Dq 最小的解, 其中 D 是對稱正定加權矩陣。 此時的解是使機械臂 在能量消耗最小的情況下的解。 這時,逆速度問題便轉為:求 q 滿足 q J 1x 且使
15、L 1 qT Dq 最小。實際上等同于求性能 2 指標 L 在約束條件 q J 1 x下的極值。應用 Lagrange 乘子法,以上極值為題的解是 q D 1J T (JD 1 J T ) 1 x ,當 D= I 時,雅可比矩陣是 J J T ( JJ T ) 1 ,稱為雅可比矩陣的 偽逆。 下面通過一個兩自由度的平面機械臂說明雅可比矩 陣的特性,根據右圖中的幾何關系容易求得 x l1 c1 l2 c12 c1 cos( 1), c12 cos( y l1 s1 l 2 s12 s1 sin( 1 ),
16、s12 sin( 1 2 ) 12 ) 兩邊微分后寫成矩陣形式 x x dx 1 2 d dy y y d 1 dx l1 s1 l2 s12 l2 s12 d 即 l1 c1 l 2 c12 l2 c12 d 2 dy 1 2 1 2 5 簡寫成 dx=Jd θ, 式中 J 就稱為機械臂的雅可比( Jacobian )矩陣,它由函數(shù) x,y
17、的偏微 分組成, 反映了關節(jié)微小位移 d θ與機械臂末端微小運動 dx 之間的關系。 將兩邊同除以 dt dt 得到:dx/dt=Jd θ/dt, 因此機械臂的雅可比矩陣也可以看做是操作空間中的速度與關 節(jié)空間中速度的線性變換。 dx/dt 稱為末端在操作空間中的廣義速度,簡稱操作速度, d θ /dt 為關節(jié)速度。 可以看出, 雅可比矩陣的每一列表示其它關節(jié)不動而某一關節(jié)以單位速度 運動產生的末端速度。 由 J l1 s1 l2 s12 l2 s12 可以看出, J 陣的值隨末端位置的不同而不同,即 θ1 和θ2
18、 的 l1 c1 l 2 c12 l2 c12 改變會導致 J 的變化。 對于關節(jié)空間的某些位姿, 機械臂的雅可比矩陣的秩減少,這些位姿 稱為機械臂的奇異位姿。 上例機械臂雅可比矩陣的行列式為: det(J ) 2 =0 l1l2 sin( 2 ) ,當 θ 或θ =180 時,機械臂的雅可比行列式為 0 ,矩陣的秩為 1 ,這時機械臂處于奇異位姿。機 2 械臂在操作空間的自由度將減少。 如果機械臂的雅可比 J 是滿秩的方陣,相應的關節(jié)速度即可求出,
19、即 J 1 x ,上例平面 2R 機械臂的逆雅可比矩陣 J 11 l2 c12 l 2 s12 l1c1 l 2c12 ,顯然,當 θ2 趨于 0 (或 l1l 2 s2 l1s1 l 2s12 180 )時,機械臂接近奇異位姿,相應的關節(jié)速度將趨于無窮大。 為了補償機器人末端執(zhí)行器位姿與目標物體之間的誤差, 以及解決兩個不同坐標系之間的微位移關系問題,需要討論機器人連桿在作微小運動時的位姿變化。 假設一變換的元素是某個變量的函數(shù), 對該變換的微分就是該變換矩陣各元素對該變量的偏
20、導數(shù)所組成的變換矩陣乘以該變量的微分。例如給定變換 T 為: t11 t12 t13 t14 t21 t 22 t23 t24 T t32 t33 t34 t31 t41 t 42 t43 t44 若它的元素是變量 x 的函數(shù),則變換 T 的微分為 : 6 t11 t12 t13 t14 x x x x t21 t22 t23 t 24 dT x x x x dx t31
21、 t32 t33 t34 x x x x t41 t42 t43 t 44 x x x x 下面討論機械臂的微分運動, 設機械臂某一連桿相對于基坐標系的位姿為 T ,經過微運動后 該連桿相對基坐標系的位姿變?yōu)? T+dT ,若這個微運動是相對于基坐標系 (靜系) 進行的 (左 乘) ,總可以用微小的平移和旋轉來表示,即 T dT Trans(dx , dy , dz ) Rot(k ,d )T 所以有
22、 dT Trans(d x, d y , dz ) Rot(k , d ) I 4 4 T 根據齊次變換的對稱性, 若微運動是相對某個連桿坐標系 i(動系) 進行的 ( 右乘 ),則 T+dT 可以表示為 T dT T Trans( dx , d y ,d z) Rot(k , d ) 所以有 dT T Trans( dx ,d y , dz) Rot(k , d ) I 4 4 令Trans(dx, d y , d z)Rot( k , d )
23、 I 4 4 為微分算子,則相對基系有 dT= 0T ,相對 i 系 有 dT=T i 。 這里 的下標不同是由于微運動相對不同坐標系進行的。在機械臂運動學中微分變換分為微分平移和微分旋轉兩類。 微分平移變換與一般平移變換一樣,其變換矩陣為 : 1 0 0 dx 0 1 0 dy Trans (dx, dy, dz) 0 0 1 dz 0 0 0 1 7 由于微分旋轉時 θ→ 0 ,所以 sin θ→dθ, cos θ→1將它們代入旋轉變換通式中得微分旋轉 表達式
24、: 1 kzd ky d 0 Rot(k , d ) kzd 1 kxd 0 kyd kxd 1 0 0 0 0 1 于是得到微分算子 Trans(dx ,d y , dz)Rot( k , d ) I 4 4 ,即 0 kzd kyd dx kzd 0 kxd dy kyd kx d 0 dz 0 0 0 0 微分旋轉與有限旋轉相比,有一些特殊的性質,下面分別說明。
25、 (1 )微分旋轉的無序性,當 θ→ 0 時,有 sin θ→dθ, cos θ→ 1 .若令 δx=d θx,δy=d θy , δz=d θz,則繞三個坐標軸的微分旋轉矩陣分別為 1 0 0 0 1 0 y 0 1 z 0 0 0 1 x 0 0 1 0 0 z 1 0 0 Rot(x, x) x 1 0 Rot( y, y) y 0 1 0 Rot(z, z) 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1
26、 略去 2 次項,得到 1 0 y 0 1 0 y 0 Rot(x, x y 1 x 0 0 1 x 0 x)Rot( y, y) x 1 0 y x 1 0 y 0 0 0 1 0 0 0 1 1 x y y 0 1 0 y 0 Rot ( y, 0 1 x 0 0 1 x 0 y) Rot(x, x) x 1 0 y x 1 0 y 0 0 0 1 0 0 0 1
27、 兩者結果相同, 可見這里左乘與右乘等效。結論: 微分旋轉其結果與轉動次序無關,這是與 有限轉動(一般旋轉)的一個重要區(qū)別。 (2 )微分旋轉的可加性,考慮兩個微分旋轉復合后的效果 8 1 z y 0 z 1 x 0 Rot( x, x) Rot( y, y)Rot( z, z) x 1 0 y 0 0 0 1 若 Rot ( δx,δy ,δz) 和 Rot (δx’, δy ’, δz’) 表示兩個不同的微分旋轉,則兩次 連
28、續(xù)轉動的結果為: 1 ( z z) y y 0 z z 1 ( x x ) 0 Rot( x, y, z) Rot( x , y , z ) y ) x x 1 0 ( y 0 0 0 1 上式表明:任意兩個微分旋轉的結果為繞每個軸轉動的元素的代數(shù)和, 即微分旋轉是可加的。 由等效轉軸和等效轉角與 Rot( x, x) Rot( y, y)Rot( z, z) 等效,有 Rot(k , d ) Rot( x, x
29、) Rot( y, y)Rot( z, z) 1 kzd ky d 0 1 z y 0 kz d 1 kxd 0 z 1 x 0 k yd kxd 1 0 y x 1 0 0 0 0 1 0 0 0 1 所以有 kxd θ= δx, kyd θ= δy , kzd θ= δz, 將它們代入 得 0 z y dx z 0 x d y y x 0 d z 0 0 0 0 可見,微分變換由兩個
30、部分組成 δ微分轉動矢量 ,d 微分平移矢量 , 合稱為微分運動矢量, 可表示為 D (d x, dy , dz , x, y , z )T 0 0 1 10 1 0 0 5 例:已知一個坐標系 A ,相對固定系的微分平移矢量 d= [1 0 0.5] , 0 1 0 0 0 0 0 1 微分旋轉矢量 δ=[0 0.1 0 ] ,求微分變換 dA 。 9 0 z y dx 0 0
31、 0.1 1 z 0 x dy 0 0 0 0 y x 0 dz 0.1 0 0 0.5 0 0 0 0 0 0 0 0 0 0 0.1 1 0 0 1 10 0 0.1 0 1 dA A 0 0 0 0 1 0 0 5 0 0 0 0 0.1 0 0 0.5 0 1 0
32、 0 0 0 0.1 0.5 0 0 0 0 0 0 0 1 0 0 0 0 下面討論兩坐標系之間的微分關系,設第一個坐標系為 i 系,第二個坐標系為 j 系不失一般 性,假定 j 系就是固定的 0 系。 nx ox ax px 0 ny oy ay py
33、 iT nz oz az pz 0 0 0 1 0 z y dx 0 zi yi dxi 因為 z 0 x dy , i zi 0 xi dyi 0 y x 0 dz yi xi 0 dzi 0 0 0
34、 0 0 0 0 0 所以 0 0iT 0iT i , i 0iT 1 0 0iT ,整理得到 dix n (( p) d ) diy o (( p) d ) diz a (( p) d ) ix iy iz n o a dxi nx ny nz ( p n)x ( p n) y ( p n) z dx0 dyi ox oy oz ( p o)x ( p o ) y
35、( p o) z dy0 dzi ax ay az ( p a)x ( p a) y ( p a) z dz0 xi 0 0 0 nx ny nz x0 y i 0 0 0 ox oy oz y 0 z 0 0 0 ax ay az z i 0 對于任何三維矢量 p = [p x, p y, p z],其反對稱矩陣 s(p) 定義為: 0 pz py s( p) pz 0 px py px
36、0 10 記 nx ox ax 0i R ny oy ay nz oz az 上式簡寫成 di 0RT 0RT s( 0 p ) i i i 0 i 0 0i RT 類似地,任意兩坐標系 {A} 和 {B}之間廣義速度的坐標變換為: BV AB R AB RS( A PBO ) AV , AV BAR BA RS( B PA
37、O ) BV B 0 ABR A A 0 BA R B 0 0 1 10 1 0 0 5 0 0.5] , 例:已知一個坐標系 A 1 0 ,相對固定系的微分平移矢量d= [1 0 0 0 0 0 1 微分旋轉矢量 δ=[0 0.1 0 ] ,求 A 系中等價的微分平移矢量 d A 和微分旋轉矢量 δA 。
38、 解:將 d= [1 0 0.5] 和 δ=[0 0.1 0 ] 代入 dix n (( p) d ) ix diy o (( p) d ) iy diz a (( p) d ) iz 得到 dA 0 0 5.1 T T A 0.1 0 0 。 n o a 4 、機械臂軌跡規(guī)劃 機械臂的軌跡規(guī)劃可以在關節(jié)空間也可以在笛卡爾空間中進行, 或者說機械臂軌跡規(guī)劃是指 在關節(jié)空間或者笛卡爾空間中
39、研究機械臂軌跡生成方法。 簡言之, 機械臂軌跡規(guī)劃是運動學 逆解的實際應用,它描述了機械臂在多維空間中的運動路線 。 在知道末端位姿的前提下, 通過運動學逆解得到各個關節(jié)在相應時刻的轉動量或者平移量, 合理的規(guī)劃指的是規(guī)劃出的 角位移曲線、 角速度曲線以及角加速度曲線, 可以有效地減少了機械臂在運動過程中的沖擊 和振動,使機械臂的工作壽命得以延長。 11 械臂可以分為點到點作業(yè) (Point-to-Point Motion ) 和連續(xù)路徑作業(yè) (Continuous-Path Mo
40、tion ) 。點到點的運動指的是機械臂在運動過程中,只要求在某些點上有準確的位置和 姿態(tài),相鄰的點不做要求。連續(xù)運動要求機械臂嚴格的沿特定的曲線運動。 機械臂的關節(jié)角位移變化率比較小, 能夠有效地防止了機械臂工作時的振動和沖擊。 機械臂 關節(jié)角速度和角加速度變化均平順連續(xù), 從而有效避免了機械部件的磨損,能夠保證整個 機械臂系統(tǒng)的長期、穩(wěn)定的運行,滿足機械臂的工作要求。 5 、 robotics 工具箱中的相關函數(shù) link 建立一個連桿對象 ,例如對于本次競賽的機械臂,根據連桿參數(shù)得到 L{1}=link
41、([pi/2 0 0 120 0 0]); L{2}=link([pi/2 0 0 0 0 0]); L{3}=link([-pi/2 0 0 140.8 0 pi]); L{4}=link([-pi/2 71.8 0 0 0 pi/2 ]); L{5}=link([+pi/2 71.8 0 0 0 pi]); L{6}=link([-pi/2 0 0 0 0 pi/2]); L{7}=link([0 0 0 129.6 0 0]); robot 建立一個機械臂對象 R= robot(L)
42、 noname (7 axis, RRRRRRR) grav = [0.00 0.00 9.81] standard D&H parameters alpha A theta D R/P 1.5708 0 120 R (std) 1.5708. 0 0 R (std) -1.5708 0 140.8 R (std) -1.5708 71.8 0 R (std) 1.5708 71.8 0 R (std) -1.5708 0 0 R (std) 0 0 129.6 R (std) driv
43、ebot 用滑塊控制的機械臂圖形 drivebot(R,ones(1,7)*pi) plot 機械臂的圖形顯示 plot(R,[pi/2 pi/2 0 0 0 0 0]) 12 fkine 串聯(lián)機械臂正向運動學計算 tr =fkine (ROBOT, Q) ROBOT 表示機械臂對象, Q 機械臂關節(jié)坐標值。 tr =fkine (R, [0 0 0 pi/2 0 0 0]) tr = 0.0000 -0.0000 1.0000 129.6000
44、-0.0000 1.0000 0.0000 -0.0000 -1.0000 -0.0000 0.0000 -20.8000 0 0 0 1.0000 ikine 串聯(lián)機械臂逆向運動學計算 q = ikine(ROBOT, T) q = ikine(ROBOT, T, Q) q = ikine(ROBOT, T, Q, M) 輸入變量 ROBOT 表示機械臂對象, T 機械臂末端變換矩陣。 輸出變量 q 機械臂關節(jié)的角度 (單位是弧度 ),一般來說逆運動學的解不是唯一
45、的, 取決于初 始值 Q ,缺省時是 0 向量。如果機械臂的自由度 (DOF) 小于 6 ,由于解空間的維數(shù)大于機械 臂的自由度,這時需要第 4 個輸入量 M 來確定笛卡爾坐標 (手腕對應的坐標系 )中的哪些量 在求解中被忽略。 M 中有 6 個元素,分別表示沿著 x,y,z 方向的平移和相對于 x 軸, y 軸, z 軸的旋轉,值是 0( 忽略 )或 1 。非零元素的個數(shù)應該等于機械臂的自由度。例如,對典型 的有 5 個自由度的機械臂,一般是忽略相對手腕坐標的轉動,這時 M = [1 1 1 1 1 0] 。
46、 另外一種用法是 qt = ikine(ROBOT, TG) qt = ikine (ROBOT, TG, Q) qt = ikine (ROBOT, TG, Q, M) 13 輸入變量 ROBOT 表示機械臂對象, TG 是 4x4xN 機械臂末端變換矩陣。 輸出變量 qt 是一組 (N 個 )TG 對應的關節(jié)坐標。一行對應一個輸入變換,每一步的初始值取上一步的 值。求解使用機械臂 Jacobian 矩陣的偽逆,這是數(shù)值求解方法,對于特
47、定機械臂逆運動學 解( 如果可能 )應該盡量使用解析解。但是這種方法可以得到奇異點上的解,零空間中的關節(jié) 角度可以任取。 q=ikine(R,tr) q = 0.0000 0.0000 0.0000 0.7854 -0.0000 -0.7854 0.0000 注意:對于機械臂末端的一個位置與姿態(tài),逆運動學計算不是唯一的,驗證 tr=fkine(R,q) tr = 0.0000 -0.0000 1.0000 129.6000 -0.0000 1.0000 0.0000 -0.0000 -1.00
48、00 -0.0000 0.0000 -20.8000 0 0 0 1.0000 transl 計算平移變換 tr= transl (X, Y, Z) 返回機械臂末端坐標 X, Y, Z 對應的齊次表換矩陣 tr=transl(129.6,0,20.8) tr = 1.0000 0 0 129.6000 0 1.0000 0 0 0 0 1.0000 20.8000 0 0 0 1.0000 [X Y Z] = transl(T) 返回齊次表換表示中的平移值,作為一
49、個 3 元素的列向量 xyz=transl(tr) 14 xyz = 129.6000 0 20.8000 ctraj 計算工作空間中兩點 T0,T1 之間的軌跡 tc= ctraj(T0, T1, N) tc = ctraj(T0, T1, R) 返回從 T0 到 T1 笛卡爾坐標系的軌跡 TC N 表示軌跡中的點數(shù)。在第 1 中情況下,軌跡 中的點在 T0 到 T1 中等距離分配。在第 2 中情況下,向量 R 給出軌跡中每個點的距離, R 中的元素取
50、值為 [0 1] 。一個軌跡是 4x4xN 矩陣,最后一個下標表示點索引。旋轉插值使用 四元球形線性插值。 tr0=fkine(R,[0 0 0 0 0 0 0]) tr0 = 1.0000 -0.0000 -0.0000 -0.0000 0.0000 1.0000 0.0000 0.0000 -0.0000 -0.0000 1.0000 108.8000 0 0 0 1.0000 tr1=fkine(R,[pi/4 pi/6
51、 0 pi/3 0 0 0]) tr1 = 0.6124 -0.7071 0.3536 95.6008 0.6124 0.7071 0.3536 95.6008 -0.5000 -0.0000 0.8660 110.3005 0 0 0 1.0000 tc(:,:,1) = 1.0000 0 0 -0.0000 0 1.0000 0 0.0000 0 0 1.0000 108.8000 0 0
52、 0 1.0000 tc(:,:,2) = 0.8976 -0.3822 0.2198 47.8004 0.3571 0.9226 0.1458 47.8004 -0.2585 -0.0523 0.9646 109.5503 0 0 0 1.0000 tc(:,:,3) = 0.6124 -0.7071 0.3536 95.6008 0.6124 0.7071 0.3536 95.6008 15
53、 -0.5000 -0.0000 0.8660 110.3005 0 0 0 1.0000 transl(tc) ans = -0.0000 0.0000 108.8000 47.8004 47.8004 109.5503 95.6008 95.6008 110.3005 jtraj 計算關節(jié)中兩點 Q0,Q1 之間的軌跡 [Q QD QDD] = jtraj(Q0, Q1, N) [Q QD QDD] = jtraj (Q0, Q1, N, QD0, QD1) [Q QD QDD]
54、= jtraj (Q0, Q1, T) [Q QD QDD] = jtraj (Q0, Q1, T, QD0, QD1) 軌跡中的點數(shù)是 N ,或者是一個時間向量 T。插值使用 7 次多項式, 邊界速度由 QD0, QD1 指定,缺省時邊界速度和加速度為 0。 q0=[pi pi pi pi pi pi pi]; q1=[pi pi/2 0 0 0 pi/2 0]; tr0=fkine(R,[pi pi pi pi pi pi pi]); tr1=fkine(R,[pi pi/2 0 0 0 pi/2 0]); [QT
55、,QD,QDD]=jtraj(q0,q1,30); figure subplot(2,2,1),plot(R,QT) subplot(2,2,2),plot(QT),grid on, legend(q1,q2,q3,q4,q5,q6,q7,Location, NorthWest) subplot(2,2,3),plot(QD),grid on subplot(2,2,4),plot(QDD),grid on % 注意:其中有一些曲線重合 jacob0 計算機械臂在基坐標系中 Jacobian 矩陣 J = jacob0(ROBOT,
56、 Q) tr2jac 計算機械臂在基坐標系中 Jacobian 矩陣 J = TR2JAC(T) 16 diff2tr 微分表示轉換為齊次變換 tr = diff2tr(D) 返回表示微分平移與旋轉的齊次變換矩陣 ,矩陣中包含一個反對稱的旋轉子矩陣。 tr2diff 轉換為齊次變換轉換為微分表示 D =tr2diff(T) D = tr2diff(T1, T2) 第一種形式將齊次表換矩陣表示轉換為 6- 元素向量微分表示
57、。 第二種形式返回 6- 元素向量,表示從 T1 到 T2 的在基坐標系中需要的微分移動。 J = jacob0(R, q1) % Jacobian and differential motion demonstration % A differential motion can be represented by a 6-element vector with elements % [dx dy dz drx dry drz] % where the first 3 elements are a differential translatio
58、n, and the last 3 % are a differential rotation. When dealing with infinitisimal rotations, % the order becomes unimportant. The differential motion could be written % in terms of compounded transforms % transl(dx,dy,dz) * trotx(drx) * troty(dry) * trotz(drz) % but a more direct appro
59、ach is to use the function diff2tr() D = [.1 .2 0 -.2 .1 .1] diff2tr(D) T=fkine(R,q1) % then the differential motion in the second frame would be given by DT = tr2jac(T) * D; DQ= pinv(J) * DT; vel = [1 0 0 0 0 0]; % translational motion in the X direction qvel = pinv(J) * vel; ans
60、= -0.0000 0.0000 -0.0000 0.0039 -0.0000 -0.0039 0.0000 % 這是計算工作空間軌跡和求逆解的另外一種方法。但是,如果 Jacobian 矩陣奇異時 % 會失效。如果機械臂的自由度大于6,即是冗余的,采用 Jacobian 矩陣偽逆計算,或 % 對 Jacobian 矩陣進行奇異值分解。 17 附錄 rpy 角與 euler 角 ( 1 )rpy 角 rpy 角是描述船舶航行時的姿態(tài)的一種方法,
61、 滾動( Roll )角 α,將繞 Y 軸 (與海面平行 面垂直方向,將繞 X 軸的旋轉稱為偏轉( 將船的行駛方向作為 Z 軸,則繞 Z 軸旋轉稱為 )方向的旋轉稱為俯仰( Pitch )角 β,取 X 軸與海 Yaw )角 γ。機械臂末端的定義類似,故習慣上稱 為 rpy 角。 描述運動坐標系的規(guī)則是: 首先使運動坐標系的初始方位與固定坐標系重合, 將運動坐標系 繞固定坐標系 X 軸轉動 γ,再將運動坐標系繞固定坐標系 Y 軸轉動 β,最后將運動坐標系繞
62、 固定坐標系 Z 軸轉動 α。因為三次轉動都是相對固定坐標系的,所以相應的旋轉矩陣 rpy ( , , ) rot ( z, ) rot ( y, )rot ( x, ) c s 0 0 c 0 s 0 1 0 0 0 s c 0 0 0 1 0 0 0 c s 0 0 0 1 0 s 0 c 0 0 s c 0 0 0 0 1 0 0 0 1 0 0 0 1 將三個矩陣相乘得到 c c c s s s c c
63、 s c 0 s c s s s c c s s c 0 rpy ( , , ) c s c c 0 s 0 0 0 1 它表示繞固定坐標系的三個軸依次旋轉得到的旋轉矩陣,稱為繞固定軸 XYZ 旋轉的 rpy 方 法。下面討論逆問題:從給定的旋轉矩陣得到繞固定軸 XYZ 旋轉的 rpy 角γβα。令 nx ox ax 0 rpy( , , ny oy ay 0 ) oz az 0
64、 nz 0 0 0 1 上式中有 3 個未知數(shù), 9 個方程,其中 6 個不獨立,因此可利用其中 3 個解出未知數(shù)。 cos( ) nx2 ny2 ,如果 cos( β)不為零,則可以得到 18 a tan 2( n , n2 n 2 ), a tan 2(o x , n x ), a tan 2(a y , a ) z x y z ( 2 )繞運動系 ZYX 轉動的
65、 euler 角 描述運動坐標系的規(guī)則是: 運動坐標系的初始方位與參考坐標系重合, 首先將運動坐標系繞 Z 軸轉動 α,再將運動坐標系繞 Y 軸轉動 β,最后將運動坐標系繞 X 軸轉動 γ。這種描述方法 中各次的轉動都是相對運動系的,而不是相對固定坐標系的。相應的旋轉矩陣為 euler( , , ) rot ( x, )rot ( y, )rot (z, ) c s 0 0 c 0 s 0 1 0 0 0 s c 0 0 0 1 0 0 0 c s 0 0
66、 0 1 0 s 0 c 0 0 s c 0 0 0 0 1 0 0 0 1 0 0 0 1 將三個矩陣相乘得到 c c c s s s c c s c 0 s c s s s c c s s c 0 euler ( , , ) c s c c 0 s 0 0 0 1 結果與繞固定軸 XYZ 旋轉相同, 這是因為繞固定軸旋轉的順序與繞運動軸旋轉的順序相反, 且旋轉角度對應相等。因此,用 ZYX euler 角與 XYZ rpy 角的描述方法是等價的 。 另外一種常用的 euler 角方法是 ZYZ 方法,首先使運動坐標系與參考坐標系重合,將運動 坐標系繞 Z 軸轉動 α,再將運動坐標系繞 Y 軸轉動 β,最后將運動坐標系繞 Z 軸轉動 γ。 euler( , , ) rot (
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工重大危險源安全管理制度
- 安全培訓資料:典型建筑火災的防治基本原則與救援技術
- 企業(yè)雙重預防體系應知應會知識問答
- 8 各種煤礦安全考試試題
- 9 危險化學品經營單位安全生產管理人員模擬考試題庫試卷附答案
- 加壓過濾機司機技術操作規(guī)程
- 樹脂砂混砂工藝知識總結
- XXXXX現(xiàn)場安全應急處置預案
- 某公司消防安全檢查制度總結
- 1 煤礦安全檢查工(中級)職業(yè)技能理論知識考核試題含答案
- 4.燃氣安全生產企業(yè)主要負責人模擬考試題庫試卷含答案
- 工段(班組)級安全檢查表
- D 氯化工藝作業(yè)模擬考試題庫試卷含答案-4
- 建筑起重司索信號工安全操作要點
- 實驗室計量常見的30個問問答題含解析