連續(xù)體機器人的正逆向運動學模型-(4)雅可比矩陣解決逆向運動

詳細看: https://zhuanlan.zhihu.com/p/639160526
章節(jié)分布
本節(jié):利用jacobian的偽逆迭代解決機器人的逆向運動學
參考資料
《Robot Modeling and Control》 by Mark W. Spong
Design and Kinematic Modeling of Constant Curvature Continuum Robots: A Review
注:還會發(fā)布其他機器人運動學知識,歡迎關注
回顧雅可比矩陣 jacobian
1.意義:干嘛的

廣義上的雅克比矩陣,其實就是一個偏導數(shù)組成的矩陣
而在機器人領域,可以看上面的公式,公式的右側q就是關節(jié)的速度,公式的左側就是末端執(zhí)行器的速度,
而雅克比矩陣在這個過程中就是起一個作用,給定一個關節(jié)的速度,我就可以得到末端執(zhí)行器的速度,那么這個雅可比矩陣,我們也可以聯(lián)想到是跟機器人的位姿有關系的,就是這個機器人是怎么擺放的。
而這個機器人怎么擺放決定了我們安放的坐標系,以及我們得到的DH參數(shù)表,這些我們在第三節(jié)已經(jīng)得到
而不論是傳統(tǒng)的機器人還是連續(xù)體機器人,只要你得到了DH參數(shù)表,接下來的步驟就是一樣的
2.怎么得到
對于旋轉(zhuǎn)關節(jié)
對于移動關節(jié)
第二篇文章有對應的例子和答案,很簡潔可以檢查一下自己是否理解
逆向運動的迭代公式

1.公式解讀
來源:這個公式很明顯是由第1個公式進行離散化得到的
q就是機器人的關節(jié)角度,通過不斷的迭代,就可以得到新的關節(jié)角度
J?1?就是雅可比矩陣的逆矩陣,對應于 tk?時候的形態(tài),當然這里有一點講究,下面會說
Δt就是步長了
v 是末端操縱器的速度,包括線速度和角速度,涉及兩個公式

2.遇到自由度不為6的時候(冗余/驅(qū)動不足)
剛剛提到在這個迭代公式里面,雅可比矩陣是需要求逆的,雅可比矩陣一定是六行的,但是它的列數(shù)取決于關節(jié)的數(shù)量,如果關節(jié)恰好等于6,那么是可以求逆的,如果在不等于6的情況下,應該怎么辦呢?
如果關節(jié)數(shù)n小于6 雅可比就是 6 X n 就需要看雅可比矩陣的秩

????????此時就有一個解
如果關節(jié)數(shù)n大于6 ,就有可能出現(xiàn)多解的情況,使用它的偽逆矩陣
需要一些線代方面的知識
對于 J?∈R m×n,如果m<n且秩 J?=m,則?(JJT)?1?存在。
可以看到 偽逆矩陣
對應MATLAB中的
這樣可以得到接下來兩個公式

這個b是任意的,通過下面的公式可以看到并不影響,b會消失
展示逆向運動
給定一個目標位置姿態(tài)進行迭代
