各位同學我們在這第三個部份呢
要教同學如何利用這個Jacobian矩陣
來求解這個反向運動學
那我們來看一下
順向運動學它的速度關係式呢
就是下面這一個式子
r dot就是手端的速度
那J呢 就是我們前面講的Jacobian矩陣
θ dot呢 就是關節的角速度
那反向運動學的速度關係式是什麼呢
就是我們把上面的Jacobian矩陣加以inverse乘到左邊
那可以得到下面這個式子
就是θ dot等於Jacobian的inverse乘以r dot
就是手端的速度
那在這個地方 J的inverse呢
它有一個正號 這個指的是pseudoinverse
這個我們稱做廣義的一個逆轉換
那這個廣義逆轉換的部份呢
我們在後面多餘自由度的機械臂還會再加以解釋
那在這邊呢
我們先假設關節的角速度跟手端的速度具有相同維度
那這個時候呢
也就是Jacobian矩陣 它是一個方陣
那這時候的廣義逆轉換就是我們傳統的反矩陣
可以由旁邊這個式子來求得
就是等於它的伴隨矩陣去除上矩陣的行列式
那我們用一個例子來說明
如何來求解這個關節的角速度
那同樣的我們利用一個平面的二連桿
假設已知關節的角度分別是30 30
那我們希望呢 手端的速度呢 是等於1J
J的意思是y方向
就是我們希望手端沿著y方向移動 速度為1
那我們要來求如何讓關節運動
可以達成手端沿著y方向速度為1
那也就是右邊這個圖所畫的這個箭頭方向
那我們要怎麼來求解呢
那由前面的例題4我們已經先算出在角度30 30下
它的Jacobian矩陣
那我們已知它的關節的速度的話
那我們利用剛剛反向運動學的關係
就可以來求解我們手端的速度
像y的方向 速度為1 那怎麼求呢
首先我們要先將Jacobian矩陣加以inverse
那就可以得到旁邊這個矩陣
那再利用前面的反向運動學的速度關係
帶到下面這個式子
那我們就可以求出關節的角速度
讓手臂它的手端沿著y方向向上 速度為1
那也就是這個下面所求出來的這個向量
那接著呢 上面介紹的是如何利用這個手端的速度
去求解關節的角速度
那接著我們要利用疊代法
由手端的軌跡呢 來求出關節角度的軌跡
那首先我們可以利用反向運動學它的速度關係式
那將這個速度關係式呢 利用微分關係加以
然後將取樣時間消去化簡後
就可以得到這個差分關係式
這個式子裡面告訴我們什麼訊息呢
就是你的手端的位置的勞動量乘上Jacobian的inverse
就可以得到我們關節的反向的一個勞動量
那這上面這個式子呢
就是我們一般所謂的反向運動學它的差分關係式
那有了這個式子
我們利用疊代關係就可以來求解你的關節的軌跡
所以呢 我們假設現在已知手端位移的變化量為Δr
那有了這個Δr之後呢
我們利用Jacobian的inverse
可以來求出關節的角度變量
也就是右邊這個式子
那再根據離散數學可以知道角度的疊代式
θ t加1會等於θ t 加上Δ θ
那我們就可以利用這個疊代關係式
由手端的軌跡去求出關節的軌跡
也就是我們所謂的反向運動學
接著呢 我們用一個例子來加以說明
考慮一個平面手臂設定如例題五
我們希望手臂沿著負y方向
以速度負1J往下移動一個單位長度
若起始關節角度為30跟負20
那我們希望來求出我們手臂的關節的軌跡
讓我們的手端可以達到我們上述的目的
這個要怎麼來做呢
這個可以根據反向運動學它的差分關係式
也就是下面這個式子
先由手端的變量乘上Jacobian的inverse
來算出關節角度的變量
所以第一步我們必須先規劃手端的軌跡變化序列Δ r
接著呢 計算每一個取樣時間的inverse Jacobian
以及呢 帶到上面這個式子
就可以算出它的Δθ
接著由疊代關係式θ t加1會等於θ t加上Δθ
t加1指的是下一個取樣時間
t指的是目前的取樣時間 那我們就可以求出解答
接著我們利用matlab程式來加以實現
那首先呢 我們把手端移動的軌跡分割為一百個取樣點
那也就是說我們希望它往y的負方向移動
分成一百個點來執行
也就是說它的Δ r會等於負的0.01j
接著呢 由起始的角度可以求出目前的Jacobian矩陣
並求出它的反矩陣
那透過反向運動學的速度關係式
可以來求出目前的Δθ
那有了Δθ之後再代到它的疊代式
可以求到下一個取樣時間的θ
以此類推我們可以求出所有取樣時間的θ
也就是我們所要求的反向運動學
那我們以matlab來說明這個疊代方法要如何來撰寫
首先要先宣告通械手臂它的起始角度與連桿參數如下
接著呢 將移動路徑分成一百個取樣點
也就是這邊的dr
接著我們撰寫程式迴圈執行一百次疊代求解
也就是這邊for迴路裡面的部份
在for迴路的第一個式子呢
先求出目前的Jacobian矩陣
接著呢 由反向的Jacobian矩陣乘上dr可以得到dq
那最後一個式子呢
就是q等於q加dq就是疊代關係式
最後再把求出來的解疊代回去
那我們就可以求出下面這兩個圖
第一個圖是我們求出來的關節軌跡
就是要達成這個任務的關節軌跡
那我們把這個關節軌跡代到順向運動式
那可以得到真實可以照著我們希望的軌跡去做移動
各位同學 我們在這個部份
介紹如何利用Jacobian矩陣來求解反向運動學
但是這邊舉的例子都比較簡單
是平面的機械臂
那接下來我們會進入空間機械臂
要如何利用Jacobian來加以求解