機(jī)械臂運(yùn)動(dòng)學(xué)基礎(chǔ)
《機(jī)械臂運(yùn)動(dòng)學(xué)基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《機(jī)械臂運(yùn)動(dòng)學(xué)基礎(chǔ)(30頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 機(jī)械臂運(yùn)動(dòng)學(xué)基礎(chǔ) 1 、機(jī)械臂的運(yùn)動(dòng)學(xué)模型 機(jī)械臂運(yùn)動(dòng)學(xué)研究的是機(jī)械臂運(yùn)動(dòng), 而不考慮產(chǎn)生運(yùn)動(dòng)的力。 運(yùn)動(dòng)學(xué)研究機(jī)械臂的位置, 速 度和加速度。 機(jī)械臂的運(yùn)動(dòng)學(xué)的研究涉及到的幾何和基于時(shí)間的內(nèi)容, 特別是各個(gè)關(guān)節(jié)彼此 之間的關(guān)系以及隨時(shí)間變化規(guī)律。 典型的機(jī)械臂由一些串行連接的關(guān)節(jié)和連桿組成。每個(gè)關(guān)節(jié)具有一個(gè)自由度,平移或旋轉(zhuǎn)。 對(duì)于具有 n 個(gè)關(guān)節(jié)的機(jī)械臂,關(guān)節(jié)的編號(hào)從 1 到 n ,有 n +1 個(gè)連桿,編號(hào)從 0 到 n。連桿 0 是機(jī)械臂的基礎(chǔ), 一般是
2、固定的, 連桿 n 上帶有末端執(zhí)行器。 關(guān)節(jié) i 連接連桿 i 和連桿 i-1 。 一個(gè)連桿可以被視為一個(gè)剛體, 確定與它相鄰的兩個(gè)關(guān)節(jié)的坐標(biāo)軸之間的相對(duì)位置。 一個(gè)連 桿可以用兩個(gè)參數(shù)描述, 連桿長(zhǎng)度和連桿扭轉(zhuǎn), 這兩個(gè)量定義了與它相關(guān)的兩個(gè)坐標(biāo)軸在空 間的相對(duì)位置。而第一連桿和最后一個(gè)連桿的參數(shù)沒(méi)有意義,一般選擇為 0 。一個(gè)關(guān)節(jié)用兩 個(gè)參數(shù)描述, 一是連桿的偏移, 是指從一個(gè)連桿到下一個(gè)連桿沿的關(guān)節(jié)軸線的距離。 二是關(guān) 節(jié)角度,指一個(gè)關(guān)節(jié)相對(duì)于下一個(gè)關(guān)節(jié)軸的旋轉(zhuǎn)角度。 為了便于描述的每一個(gè)關(guān)節(jié)的位置, 我們?cè)诿恳粋€(gè)關(guān)節(jié)設(shè)置一個(gè)坐
3、標(biāo)系, 對(duì)于一個(gè)關(guān)節(jié)鏈, Denavit 和 Hartenberg 提出了一種用矩陣表示各個(gè)關(guān)節(jié)之間關(guān)系的系統(tǒng)方法。 對(duì)于轉(zhuǎn)動(dòng)關(guān) 節(jié) i,規(guī)定它的轉(zhuǎn)動(dòng)平行于坐標(biāo)軸 zi-1 ,坐標(biāo)軸 xi-1 對(duì)準(zhǔn)從 zi-1 到 zi 的法線方向,如果 zi-1 與 z 相交,則 x i-1 取 z i-1 z的方向。連桿,關(guān)節(jié)參數(shù)概括如下: i i 連桿長(zhǎng)度 a i 沿著 xi 軸從 zi-1 和 zi 軸之間的距離 ; 連桿扭轉(zhuǎn) αi 從 zi-1 軸到 zi 軸相對(duì) xi-
4、1 軸夾角 ; 連桿偏移 d i 從坐標(biāo)系 i-1 的原點(diǎn)沿著 zi-1 軸到 xi 軸的距離 ; 關(guān)節(jié)角度 θi xi-1 軸和 xi 軸之間關(guān)于 zi-1 軸的夾角。 1 對(duì)于一個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié) θi 是關(guān)節(jié)變量, d i 是常數(shù)。而移動(dòng)關(guān)節(jié) d i 是可變的, θi 是恒定的。為了 統(tǒng)一,表示為 qi i 轉(zhuǎn)動(dòng)關(guān)節(jié) di 移動(dòng)關(guān)節(jié) 運(yùn)用 Denavit-Hartenberg ( DH
5、 )方法,可以將相鄰的兩個(gè)坐標(biāo)系之間的變換關(guān)系表示為 一個(gè) 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 上式表示出了坐標(biāo)系 i 相對(duì)于坐標(biāo)系 i-1 的關(guān)系。即 0Ti 0Ti 1 i 1 Ai 其中 0Ti 表示坐標(biāo)系 i 相對(duì)于世界
6、坐標(biāo)系 0 的位置與姿態(tài),簡(jiǎn)稱位姿。 2 、正向和反向運(yùn)動(dòng)學(xué) 對(duì)于一個(gè) n- 軸剛性連接的機(jī)械臂,正向運(yùn)動(dòng)學(xué)的解給出的是最后一個(gè)連桿坐標(biāo)系的位置和 姿態(tài)。重復(fù)利用上式 ,得到 0Tn 0 A1 1 A2 n 1 An K (q) 機(jī)械臂末端位姿在笛卡爾坐標(biāo)系中有 6 個(gè)自由度, 3 個(gè)平移, 3 個(gè)旋轉(zhuǎn)。所以,一般來(lái)說(shuō)具 有 6 個(gè)自由度的機(jī)械臂可以使末端實(shí)現(xiàn)任意的位姿。 總的機(jī)械臂變換 0Tn 一般簡(jiǎn)寫為 Tn ,對(duì) 6 個(gè)自由度的機(jī)械臂簡(jiǎn)寫為 T6 。對(duì)于任意的機(jī)械臂, 無(wú)論其它有多少個(gè)關(guān)節(jié),
7、具有什么結(jié)構(gòu),正向運(yùn)動(dòng)學(xué)解都是可以得到的。 在機(jī)械臂的路徑規(guī)劃中,用到的是反向運(yùn)動(dòng)學(xué)的解 q K 1( 0Tn ) ,它給出了特定的末端位 姿對(duì)應(yīng)的機(jī)械臂的關(guān)節(jié)角度。 一般來(lái)說(shuō), 反向運(yùn)動(dòng)學(xué)的解不是唯一的, 對(duì)具有某種結(jié)構(gòu)的機(jī) 械臂,封閉解可能不存在。 2 對(duì)于 6 自由度的機(jī)器人而言,運(yùn)動(dòng)學(xué)逆解非常復(fù)雜,一般沒(méi)有封閉解。只有在某些特殊情 況下才可能得到封閉解。 不過(guò),大多數(shù)工業(yè)機(jī)器人都滿足封閉解的兩個(gè)充分條件之一 ( Pieper 準(zhǔn)則)
8、( 1 )三個(gè)相鄰關(guān)節(jié)軸交于一點(diǎn) ( 2 )三個(gè)相鄰關(guān)節(jié)軸相互平行 如果機(jī)械臂多于 6 個(gè)關(guān)節(jié),稱關(guān)節(jié)為冗余的,這時(shí)解是欠定的。如果對(duì)于機(jī)械臂某個(gè)特別 的位姿, 解不存在, 稱這個(gè)位姿為奇異位姿。 機(jī)械臂的奇異性可能是由于機(jī)械臂中某些坐標(biāo) 軸的重合,或位置不能達(dá)到引起的。 機(jī)械臂的奇異位姿分為兩類: (1) 邊界奇異位姿,當(dāng)機(jī)械臂的關(guān)節(jié)全部展開(kāi)或折起時(shí),使得末端處于操作空間的邊界或邊 界附近, 雅克比矩陣奇異, 機(jī)械臂的運(yùn)動(dòng)受到物理結(jié)構(gòu)的約束, 這時(shí)機(jī)械臂的奇異位姿稱為 邊界奇異位
9、姿。 (2) 內(nèi)部奇異位姿,兩個(gè)或兩個(gè)以上的關(guān)節(jié)軸線重合時(shí),機(jī)械臂各個(gè)關(guān)節(jié)的運(yùn)動(dòng)相互抵消,不產(chǎn)生操作運(yùn)動(dòng),這時(shí)機(jī)械臂的奇異位姿稱為內(nèi)部奇異位姿。 機(jī)械臂運(yùn)動(dòng)學(xué)逆解的方法可以分為兩類: 封閉解和數(shù)值解、 在進(jìn)行逆解時(shí)總是力求得到封閉解。因?yàn)榉忾]解的計(jì)算速度快,效率高,便于實(shí)時(shí)控制。而數(shù)值解法不具有這些特點(diǎn)。機(jī)械 臂運(yùn)動(dòng)學(xué)的封閉逆解可通過(guò)兩種途徑得到:代數(shù)法和幾何法。 一般而言,非零連桿參數(shù)越多,到達(dá)某一目標(biāo)的方式也越多,即運(yùn)動(dòng)學(xué)逆解的數(shù)目也越多。 在從多重解中選擇解時(shí), 應(yīng)根據(jù)具體情況, 在避免碰撞的前提下通常按“ 最短行程
10、”準(zhǔn)則來(lái)選擇。同時(shí)還應(yīng)當(dāng)兼顧“ 多移動(dòng)小關(guān)節(jié),少移動(dòng)大關(guān)節(jié) ”的原則。 n 個(gè)自由度的機(jī)械臂的末端位姿由 n 個(gè)關(guān)節(jié)變量所決定,這 n 個(gè)關(guān)節(jié)變量統(tǒng)稱為 n 維關(guān)節(jié) 3 矢量, 記為 q 。所有的關(guān)節(jié)矢量構(gòu)成的空間稱為 關(guān)節(jié)空間 。機(jī)械臂末端的位姿用 6 個(gè)變量描 述, 3 個(gè)平移 (x,y,z) 和 3 個(gè)旋轉(zhuǎn) ( x, y, z) ,記 x= (x,y,z, x, y, z), x 是機(jī)械臂末端在基 坐標(biāo)空間中的坐標(biāo),所有的矢量 x 構(gòu)成的空間稱為 操作空間或作業(yè)定向空間 。工作空間是
11、 操作臂的末端能夠到達(dá)的空間范圍, 即末端能夠到達(dá)的目標(biāo)點(diǎn)集合。 值得指出的是, 工作空 間應(yīng)該嚴(yán)格地區(qū)分為兩類: (1) 靈活(工作)空間 指機(jī)械臂末端能夠以任意方位到達(dá)的目標(biāo)點(diǎn)集合。因此,在靈活空 間的每個(gè)點(diǎn)上,手爪的指向可任意規(guī)定。 (2) 可達(dá)(工作)空間 指機(jī)械臂末端至少在一個(gè)方位上能夠到達(dá)的目標(biāo)點(diǎn)集合。 機(jī)械臂各關(guān)節(jié)驅(qū)動(dòng)器的位置組成的矢量稱為驅(qū)動(dòng)矢量 s,由這些矢量構(gòu)成的空間稱為 驅(qū)動(dòng)空 間。 正向運(yùn)動(dòng)學(xué) 驅(qū)動(dòng)空間 關(guān)節(jié)空間 工作空間 運(yùn)動(dòng)學(xué)
12、逆解 3 、 Jacobian 矩陣 機(jī)械臂的 Jacobian 矩陣表示機(jī)械臂的操作空間與關(guān)節(jié)空間之間速度的線性映射關(guān)系,對(duì)于 一個(gè) n 軸的機(jī)械臂,機(jī)械臂末端在基坐標(biāo)系中的速度是 x Jq 其中 x 是 6 個(gè)元素的向量。 對(duì)于 6 個(gè)關(guān)節(jié)機(jī)械臂 Jacobian 矩陣是方陣,如果它是可逆的,則可以由機(jī)械臂的末端速度 求出各個(gè)關(guān)節(jié)的速度。 Jacobian 矩陣在機(jī)械臂的奇異位姿上是不可逆的。在實(shí)際應(yīng)用中, 當(dāng)機(jī)械臂的末端位置接近奇異位置時(shí), Jacobian 矩陣是病態(tài)的,可能導(dǎo)致關(guān)
13、節(jié)速度不能正 確地得到。 上式解決的是正速度問(wèn)題, 即已知 q 和 q 求末端執(zhí)行器的速度 x 。對(duì)于逆速度解問(wèn)題, 由上 4 式可以得到速度逆解公式為 q J 1x ,注意到此時(shí)需要求雅可比矩陣的逆,由線性方程組 理論知上式對(duì)任意的 x , q 都有解的必要條件是雅可比矩陣的秩 rank(J)=6 ,這意味著機(jī)械 臂的自由度數(shù) n ≥6 。 這也說(shuō)明了具有冗余自由度的機(jī)械臂, 在末端位姿固定的條件下, 能使關(guān)節(jié)在一個(gè)較大的關(guān) 節(jié)空間的子空間中運(yùn)動(dòng), 有效地避開(kāi)障礙或奇異位
14、姿, 并把關(guān)節(jié)位移限制在允許范圍內(nèi), 從 而具有更大的運(yùn)動(dòng)靈活性。 雅可比矩陣可以看成是從關(guān)節(jié)空間到操作空間運(yùn)動(dòng)速度的傳動(dòng)比, 同時(shí)也可用來(lái)表示兩空間 之間力的傳遞關(guān)系。 對(duì)于冗余自由度機(jī)械臂, 其雅可比矩陣是長(zhǎng)方矩陣, 因 J 滿秩且方程個(gè) 數(shù)少于未知數(shù)個(gè)數(shù), 所以有無(wú)窮多個(gè)解, 這時(shí),一般是求其中的最小范數(shù)解,或采用加權(quán)最 小范數(shù)解也就是說(shuō)使 qT Dq 最小的解, 其中 D 是對(duì)稱正定加權(quán)矩陣。 此時(shí)的解是使機(jī)械臂 在能量消耗最小的情況下的解。 這時(shí),逆速度問(wèn)題便轉(zhuǎn)為:求 q 滿足 q J 1x 且使
15、L 1 qT Dq 最小。實(shí)際上等同于求性能 2 指標(biāo) L 在約束條件 q J 1 x下的極值。應(yīng)用 Lagrange 乘子法,以上極值為題的解是 q D 1J T (JD 1 J T ) 1 x ,當(dāng) D= I 時(shí),雅可比矩陣是 J J T ( JJ T ) 1 ,稱為雅可比矩陣的 偽逆。 下面通過(guò)一個(gè)兩自由度的平面機(jī)械臂說(shuō)明雅可比矩 陣的特性,根據(jù)右圖中的幾何關(guān)系容易求得 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 簡(jiǎn)寫成 dx=Jd θ, 式中 J 就稱為機(jī)械臂的雅可比( Jacobian )矩陣,它由函數(shù) x,y
17、的偏微 分組成, 反映了關(guān)節(jié)微小位移 d θ與機(jī)械臂末端微小運(yùn)動(dòng) dx 之間的關(guān)系。 將兩邊同除以 dt dt 得到:dx/dt=Jd θ/dt, 因此機(jī)械臂的雅可比矩陣也可以看做是操作空間中的速度與關(guān) 節(jié)空間中速度的線性變換。 dx/dt 稱為末端在操作空間中的廣義速度,簡(jiǎn)稱操作速度, d θ /dt 為關(guān)節(jié)速度。 可以看出, 雅可比矩陣的每一列表示其它關(guān)節(jié)不動(dòng)而某一關(guān)節(jié)以單位速度 運(yùn)動(dòng)產(chǎn)生的末端速度。 由 J l1 s1 l2 s12 l2 s12 可以看出, J 陣的值隨末端位置的不同而不同,即 θ1 和θ2
18、 的 l1 c1 l 2 c12 l2 c12 改變會(huì)導(dǎo)致 J 的變化。 對(duì)于關(guān)節(jié)空間的某些位姿, 機(jī)械臂的雅可比矩陣的秩減少,這些位姿 稱為機(jī)械臂的奇異位姿。 上例機(jī)械臂雅可比矩陣的行列式為: det(J ) 2 =0 l1l2 sin( 2 ) ,當(dāng) θ 或θ =180 時(shí),機(jī)械臂的雅可比行列式為 0 ,矩陣的秩為 1 ,這時(shí)機(jī)械臂處于奇異位姿。機(jī) 2 械臂在操作空間的自由度將減少。 如果機(jī)械臂的雅可比 J 是滿秩的方陣,相應(yīng)的關(guān)節(jié)速度即可求出,
19、即 J 1 x ,上例平面 2R 機(jī)械臂的逆雅可比矩陣 J 11 l2 c12 l 2 s12 l1c1 l 2c12 ,顯然,當(dāng) θ2 趨于 0 (或 l1l 2 s2 l1s1 l 2s12 180 )時(shí),機(jī)械臂接近奇異位姿,相應(yīng)的關(guān)節(jié)速度將趨于無(wú)窮大。 為了補(bǔ)償機(jī)器人末端執(zhí)行器位姿與目標(biāo)物體之間的誤差, 以及解決兩個(gè)不同坐標(biāo)系之間的微位移關(guān)系問(wèn)題,需要討論機(jī)器人連桿在作微小運(yùn)動(dòng)時(shí)的位姿變化。 假設(shè)一變換的元素是某個(gè)變量的函數(shù), 對(duì)該變換的微分就是該變換矩陣各元素對(duì)該變量的偏
20、導(dǎo)數(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 下面討論機(jī)械臂的微分運(yùn)動(dòng), 設(shè)機(jī)械臂某一連桿相對(duì)于基坐標(biāo)系的位姿為 T ,經(jīng)過(guò)微運(yùn)動(dòng)后 該連桿相對(duì)基坐標(biāo)系的位姿變?yōu)? T+dT ,若這個(gè)微運(yùn)動(dòng)是相對(duì)于基坐標(biāo)系 (靜系) 進(jìn)行的 (左 乘) ,總可以用微小的平移和旋轉(zhuǎn)來(lái)表示,即 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 根據(jù)齊次變換的對(duì)稱性, 若微運(yùn)動(dòng)是相對(duì)某個(gè)連桿坐標(biāo)系 i(動(dòng)系) 進(jìn)行的 ( 右乘 ),則 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 為微分算子,則相對(duì)基系有 dT= 0T ,相對(duì) i 系 有 dT=T i 。 這里 的下標(biāo)不同是由于微運(yùn)動(dòng)相對(duì)不同坐標(biāo)系進(jìn)行的。在機(jī)械臂運(yùn)動(dòng)學(xué)中微分變換分為微分平移和微分旋轉(zhuǎn)兩類。 微分平移變換與一般平移變換一樣,其變換矩陣為 : 1 0 0 dx 0 1 0 dy Trans (dx, dy, dz) 0 0 1 dz 0 0 0 1 7 由于微分旋轉(zhuǎn)時(shí) θ→ 0 ,所以 sin θ→dθ, cos θ→1將它們代入旋轉(zhuǎn)變換通式中得微分旋轉(zhuǎn) 表達(dá)式
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 微分旋轉(zhuǎn)與有限旋轉(zhuǎn)相比,有一些特殊的性質(zhì),下面分別說(shuō)明。
25、 (1 )微分旋轉(zhuǎn)的無(wú)序性,當(dāng) θ→ 0 時(shí),有 sin θ→dθ, cos θ→ 1 .若令 δx=d θx,δy=d θy , δz=d θz,則繞三個(gè)坐標(biāo)軸的微分旋轉(zhuǎn)矩陣分別為 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 次項(xiàng),得到 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、 兩者結(jié)果相同, 可見(jiàn)這里左乘與右乘等效。結(jié)論: 微分旋轉(zhuǎn)其結(jié)果與轉(zhuǎn)動(dòng)次序無(wú)關(guān),這是與 有限轉(zhuǎn)動(dòng)(一般旋轉(zhuǎn))的一個(gè)重要區(qū)別。 (2 )微分旋轉(zhuǎn)的可加性,考慮兩個(gè)微分旋轉(zhuǎn)復(fù)合后的效果 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’) 表示兩個(gè)不同的微分旋轉(zhuǎn),則兩次 連
28、續(xù)轉(zhuǎn)動(dòng)的結(jié)果為: 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 上式表明:任意兩個(gè)微分旋轉(zhuǎn)的結(jié)果為繞每個(gè)軸轉(zhuǎn)動(dòng)的元素的代數(shù)和, 即微分旋轉(zhuǎn)是可加的。 由等效轉(zhuǎn)軸和等效轉(zhuǎn)角與 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 可見(jiàn),微分變換由兩個(gè)
30、部分組成 δ微分轉(zhuǎn)動(dòng)矢量 ,d 微分平移矢量 , 合稱為微分運(yùn)動(dòng)矢量, 可表示為 D (d x, dy , dz , x, y , z )T 0 0 1 10 1 0 0 5 例:已知一個(gè)坐標(biāo)系 A ,相對(duì)固定系的微分平移矢量 d= [1 0 0.5] , 0 1 0 0 0 0 0 1 微分旋轉(zhuǎn)矢量 δ=[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 下面討論兩坐標(biāo)系之間的微分關(guān)系,設(shè)第一個(gè)坐標(biāo)系為 i 系,第二個(gè)坐標(biāo)系為 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 因?yàn)? 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 對(duì)于任何三維矢量 p = [p x, p y, p z],其反對(duì)稱矩陣 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 上式簡(jiǎn)寫成 di 0RT 0RT s( 0 p ) i i i 0 i 0 0i RT 類似地,任意兩坐標(biāo)系 {A} 和 {B}之間廣義速度的坐標(biāo)變換為: 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] , 例:已知一個(gè)坐標(biāo)系 A 1 0 ,相對(duì)固定系的微分平移矢量d= [1 0 0 0 0 0 1 微分旋轉(zhuǎn)矢量 δ=[0 0.1 0 ] ,求 A 系中等價(jià)的微分平移矢量 d A 和微分旋轉(zhuǎn)矢量 δ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 、機(jī)械臂軌跡規(guī)劃 機(jī)械臂的軌跡規(guī)劃可以在關(guān)節(jié)空間也可以在笛卡爾空間中進(jìn)行, 或者說(shuō)機(jī)械臂軌跡規(guī)劃是指 在關(guān)節(jié)空間或者笛卡爾空間中
39、研究機(jī)械臂軌跡生成方法。 簡(jiǎn)言之, 機(jī)械臂軌跡規(guī)劃是運(yùn)動(dòng)學(xué) 逆解的實(shí)際應(yīng)用,它描述了機(jī)械臂在多維空間中的運(yùn)動(dòng)路線 。 在知道末端位姿的前提下, 通過(guò)運(yùn)動(dòng)學(xué)逆解得到各個(gè)關(guān)節(jié)在相應(yīng)時(shí)刻的轉(zhuǎn)動(dòng)量或者平移量, 合理的規(guī)劃指的是規(guī)劃出的 角位移曲線、 角速度曲線以及角加速度曲線, 可以有效地減少了機(jī)械臂在運(yùn)動(dòng)過(guò)程中的沖擊 和振動(dòng),使機(jī)械臂的工作壽命得以延長(zhǎng)。 11 械臂可以分為點(diǎn)到點(diǎn)作業(yè) (Point-to-Point Motion ) 和連續(xù)路徑作業(yè) (Continuous-Path Mo
40、tion ) 。點(diǎn)到點(diǎn)的運(yùn)動(dòng)指的是機(jī)械臂在運(yùn)動(dòng)過(guò)程中,只要求在某些點(diǎn)上有準(zhǔn)確的位置和 姿態(tài),相鄰的點(diǎn)不做要求。連續(xù)運(yùn)動(dòng)要求機(jī)械臂嚴(yán)格的沿特定的曲線運(yùn)動(dòng)。 機(jī)械臂的關(guān)節(jié)角位移變化率比較小, 能夠有效地防止了機(jī)械臂工作時(shí)的振動(dòng)和沖擊。 機(jī)械臂 關(guān)節(jié)角速度和角加速度變化均平順連續(xù), 從而有效避免了機(jī)械部件的磨損,能夠保證整個(gè) 機(jī)械臂系統(tǒng)的長(zhǎng)期、穩(wěn)定的運(yùn)行,滿足機(jī)械臂的工作要求。 5 、 robotics 工具箱中的相關(guān)函數(shù) link 建立一個(gè)連桿對(duì)象 ,例如對(duì)于本次競(jìng)賽的機(jī)械臂,根據(jù)連桿參數(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 建立一個(gè)機(jī)械臂對(duì)象 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 用滑塊控制的機(jī)械臂圖形 drivebot(R,ones(1,7)*pi) plot 機(jī)械臂的圖形顯示 plot(R,[pi/2 pi/2 0 0 0 0 0]) 12 fkine 串聯(lián)機(jī)械臂正向運(yùn)動(dòng)學(xué)計(jì)算 tr =fkine (ROBOT, Q) ROBOT 表示機(jī)械臂對(duì)象, Q 機(jī)械臂關(guān)節(jié)坐標(biāo)值。 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)機(jī)械臂逆向運(yùn)動(dòng)學(xué)計(jì)算 q = ikine(ROBOT, T) q = ikine(ROBOT, T, Q) q = ikine(ROBOT, T, Q, M) 輸入變量 ROBOT 表示機(jī)械臂對(duì)象, T 機(jī)械臂末端變換矩陣。 輸出變量 q 機(jī)械臂關(guān)節(jié)的角度 (單位是弧度 ),一般來(lái)說(shuō)逆運(yùn)動(dòng)學(xué)的解不是唯一
45、的, 取決于初 始值 Q ,缺省時(shí)是 0 向量。如果機(jī)械臂的自由度 (DOF) 小于 6 ,由于解空間的維數(shù)大于機(jī)械 臂的自由度,這時(shí)需要第 4 個(gè)輸入量 M 來(lái)確定笛卡爾坐標(biāo) (手腕對(duì)應(yīng)的坐標(biāo)系 )中的哪些量 在求解中被忽略。 M 中有 6 個(gè)元素,分別表示沿著 x,y,z 方向的平移和相對(duì)于 x 軸, y 軸, z 軸的旋轉(zhuǎn),值是 0( 忽略 )或 1 。非零元素的個(gè)數(shù)應(yīng)該等于機(jī)械臂的自由度。例如,對(duì)典型 的有 5 個(gè)自由度的機(jī)械臂,一般是忽略相對(duì)手腕坐標(biāo)的轉(zhuǎn)動(dòng),這時(shí) 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 表示機(jī)械臂對(duì)象, TG 是 4x4xN 機(jī)械臂末端變換矩陣。 輸出變量 qt 是一組 (N 個(gè) )TG 對(duì)應(yīng)的關(guān)節(jié)坐標(biāo)。一行對(duì)應(yīng)一個(gè)輸入變換,每一步的初始值取上一步的 值。求解使用機(jī)械臂 Jacobian 矩陣的偽逆,這是數(shù)值求解方法,對(duì)于特
47、定機(jī)械臂逆運(yùn)動(dòng)學(xué) 解( 如果可能 )應(yīng)該盡量使用解析解。但是這種方法可以得到奇異點(diǎn)上的解,零空間中的關(guān)節(jié) 角度可以任取。 q=ikine(R,tr) q = 0.0000 0.0000 0.0000 0.7854 -0.0000 -0.7854 0.0000 注意:對(duì)于機(jī)械臂末端的一個(gè)位置與姿態(tài),逆運(yùn)動(dòng)學(xué)計(jì)算不是唯一的,驗(yàn)證 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 計(jì)算平移變換 tr= transl (X, Y, Z) 返回機(jī)械臂末端坐標(biāo) X, Y, Z 對(duì)應(yīng)的齊次表?yè)Q矩陣 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) 返回齊次表?yè)Q表示中的平移值,作為一
49、個(gè) 3 元素的列向量 xyz=transl(tr) 14 xyz = 129.6000 0 20.8000 ctraj 計(jì)算工作空間中兩點(diǎn) T0,T1 之間的軌跡 tc= ctraj(T0, T1, N) tc = ctraj(T0, T1, R) 返回從 T0 到 T1 笛卡爾坐標(biāo)系的軌跡 TC N 表示軌跡中的點(diǎn)數(shù)。在第 1 中情況下,軌跡 中的點(diǎn)在 T0 到 T1 中等距離分配。在第 2 中情況下,向量 R 給出軌跡中每個(gè)點(diǎn)的距離, R 中的元素取
50、值為 [0 1] 。一個(gè)軌跡是 4x4xN 矩陣,最后一個(gè)下標(biāo)表示點(diǎn)索引。旋轉(zhuǎn)插值使用 四元球形線性插值。 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 計(jì)算關(guān)節(jié)中兩點(diǎn) 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) 軌跡中的點(diǎn)數(shù)是 N ,或者是一個(gè)時(shí)間向量 T。插值使用 7 次多項(xiàng)式, 邊界速度由 QD0, QD1 指定,缺省時(shí)邊界速度和加速度為 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 計(jì)算機(jī)械臂在基坐標(biāo)系中 Jacobian 矩陣 J = jacob0(ROBOT,
56、 Q) tr2jac 計(jì)算機(jī)械臂在基坐標(biāo)系中 Jacobian 矩陣 J = TR2JAC(T) 16 diff2tr 微分表示轉(zhuǎn)換為齊次變換 tr = diff2tr(D) 返回表示微分平移與旋轉(zhuǎn)的齊次變換矩陣 ,矩陣中包含一個(gè)反對(duì)稱的旋轉(zhuǎn)子矩陣。 tr2diff 轉(zhuǎn)換為齊次變換轉(zhuǎn)換為微分表示 D =tr2diff(T) D = tr2diff(T1, T2) 第一種形式將齊次表?yè)Q矩陣表示轉(zhuǎn)換為 6- 元素向量微分表示
57、。 第二種形式返回 6- 元素向量,表示從 T1 到 T2 的在基坐標(biāo)系中需要的微分移動(dòng)。 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 % 這是計(jì)算工作空間軌跡和求逆解的另外一種方法。但是,如果 Jacobian 矩陣奇異時(shí) % 會(huì)失效。如果機(jī)械臂的自由度大于6,即是冗余的,采用 Jacobian 矩陣偽逆計(jì)算,或 % 對(duì) Jacobian 矩陣進(jìn)行奇異值分解。 17 附錄 rpy 角與 euler 角 ( 1 )rpy 角 rpy 角是描述船舶航行時(shí)的姿態(tài)的一種方法,
61、 滾動(dòng)( Roll )角 α,將繞 Y 軸 (與海面平行 面垂直方向,將繞 X 軸的旋轉(zhuǎn)稱為偏轉(zhuǎn)( 將船的行駛方向作為 Z 軸,則繞 Z 軸旋轉(zhuǎn)稱為 )方向的旋轉(zhuǎn)稱為俯仰( Pitch )角 β,取 X 軸與海 Yaw )角 γ。機(jī)械臂末端的定義類似,故習(xí)慣上稱 為 rpy 角。 描述運(yùn)動(dòng)坐標(biāo)系的規(guī)則是: 首先使運(yùn)動(dòng)坐標(biāo)系的初始方位與固定坐標(biāo)系重合, 將運(yùn)動(dòng)坐標(biāo)系 繞固定坐標(biāo)系 X 軸轉(zhuǎn)動(dòng) γ,再將運(yùn)動(dòng)坐標(biāo)系繞固定坐標(biāo)系 Y 軸轉(zhuǎn)動(dòng) β,最后將運(yùn)動(dòng)坐標(biāo)系繞
62、 固定坐標(biāo)系 Z 軸轉(zhuǎn)動(dòng) α。因?yàn)槿无D(zhuǎn)動(dòng)都是相對(duì)固定坐標(biāo)系的,所以相應(yīng)的旋轉(zhuǎn)矩陣 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 將三個(gè)矩陣相乘得到 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 它表示繞固定坐標(biāo)系的三個(gè)軸依次旋轉(zhuǎn)得到的旋轉(zhuǎn)矩陣,稱為繞固定軸 XYZ 旋轉(zhuǎn)的 rpy 方 法。下面討論逆問(wèn)題:從給定的旋轉(zhuǎn)矩陣得到繞固定軸 XYZ 旋轉(zhuǎn)的 rpy 角γβα。令 nx ox ax 0 rpy( , , ny oy ay 0 ) oz az 0
64、 nz 0 0 0 1 上式中有 3 個(gè)未知數(shù), 9 個(gè)方程,其中 6 個(gè)不獨(dú)立,因此可利用其中 3 個(gè)解出未知數(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 )繞運(yùn)動(dòng)系 ZYX 轉(zhuǎn)動(dòng)的
65、 euler 角 描述運(yùn)動(dòng)坐標(biāo)系的規(guī)則是: 運(yùn)動(dòng)坐標(biāo)系的初始方位與參考坐標(biāo)系重合, 首先將運(yùn)動(dòng)坐標(biāo)系繞 Z 軸轉(zhuǎn)動(dòng) α,再將運(yùn)動(dòng)坐標(biāo)系繞 Y 軸轉(zhuǎn)動(dòng) β,最后將運(yùn)動(dòng)坐標(biāo)系繞 X 軸轉(zhuǎn)動(dòng) γ。這種描述方法 中各次的轉(zhuǎn)動(dòng)都是相對(duì)運(yùn)動(dòng)系的,而不是相對(duì)固定坐標(biāo)系的。相應(yīng)的旋轉(zhuǎn)矩陣為 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 將三個(gè)矩陣相乘得到 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 結(jié)果與繞固定軸 XYZ 旋轉(zhuǎn)相同, 這是因?yàn)槔@固定軸旋轉(zhuǎn)的順序與繞運(yùn)動(dòng)軸旋轉(zhuǎn)的順序相反, 且旋轉(zhuǎn)角度對(duì)應(yīng)相等。因此,用 ZYX euler 角與 XYZ rpy 角的描述方法是等價(jià)的 。 另外一種常用的 euler 角方法是 ZYZ 方法,首先使運(yùn)動(dòng)坐標(biāo)系與參考坐標(biāo)系重合,將運(yùn)動(dòng) 坐標(biāo)系繞 Z 軸轉(zhuǎn)動(dòng) α,再將運(yùn)動(dòng)坐標(biāo)系繞 Y 軸轉(zhuǎn)動(dòng) β,最后將運(yùn)動(dòng)坐標(biāo)系繞 Z 軸轉(zhuǎn)動(dòng) γ。 euler( , , ) rot (
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售技巧培訓(xùn)課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見(jiàn)問(wèn)題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說(shuō)話方式
- 汽車銷售績(jī)效管理規(guī)范
- 銷售技巧培訓(xùn)課件:絕對(duì)成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營(yíng)銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩
- 銷售資料:銷售10大黃金觀念
- 銷售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>