1. 程式人生 > >機器人理論(4)逆向運動學:已知物體位置反推關軸角度

機器人理論(4)逆向運動學:已知物體位置反推關軸角度

引言

我們已經知道如何已知角度去推算機械臂末端的位置,那麼如何由位置反推出機械臂到達需求位需要的角度呢?

逆向運動學

基本過程就是已知手臂末端點的位置{H}(機器手head)或者該座標系相對於世界座標系{W}的向量,求出關軸的角度\large \Theta。根據題目題目難度,有時候可以直接求解出角度\large \Theta,有時候需要藉助\large _{H}^{W}\textrm{T}矩陣算出角度\large \Theta

其中求解方法大致分為如下幾種方法:解析法(幾何法、代數法等)和數值法。

目錄

幾何法

代數法

數值法

綜合例題

幾何法

顧名思義,直接利用幾何關係和定理求解即可。在這裡直接引出經典的PUMA機械臂案例。

【舉例】已知\large x\large y\large \varphi,如何求\large \Theta _{1}\large \Theta _{2}\large \Theta _{3}。( \large x\large y 為座標點、\large \varphi = \large \Theta _{1} + \large \Theta _{2}

+ \large \Theta _{3} )

【求解過程】

上圖表明瞭 \large \Theta _{1} 取決於 \large \Theta _{2} 的正負。當\large \Theta _{2}<0時,\large \psi屬於綠色三角形。當\large \Theta _{2}>0時,\large \psi屬於藍色三角形。

得到如圖關係式後,就可以開始代入求解了。

代數法

【例題】和上面例題一樣

【求解過程】

代數,並使用極座標知識,可以得出:(小聲bb:現在才知道高中數學的重要性....)

數值法

列出每個關節的T矩陣,讓電腦自己往裡面帶入資料,數字一個一個跑,直到求出解為止。

反算出\large \Theta的方法不止一種。由於數值法對電腦算力有要求,解析法(幾何法、代數法)因為不需要舉出大量數字讓計算機去逼近求解,而且求逆矩陣快,所以大部分情況下使用的是解析法求解。然而想要讓機械臂能夠使用解析法求解,機械臂的設計就要滿足一個條件——存在相鄰的三軸相交於同一點,這個也稱為 Pieper's Solution

相關例子

使用經典的符合Pieper條件的PUMA手臂作為例題 ,有\large _{}^{0}\textrm{P}_{6 org}=\large _{}^{0}\textrm{P}_{4 org}

由於前三軸是負責移動的,後三軸負責轉動的,為了方便分兩步走。

(1)求解 \large \Theta _{1}\large \Theta _{2}\large \Theta _{3} (代數法)

由之前講過的T矩陣的特性,可以得出這個:

使用代數法運算,為了方便求解,我們先定義好代數式 f, g

可以知道f 是有關\large \Theta _{3} 的函式,g為有關\large \Theta _{2}\large \Theta _{3} 的函式,展開有:

在這裡先假設代數 K:

然後加入並定義代數 r,就有:

可以知道r是有關\large \Theta _{2}\large \Theta _{3} 的函式。

由於高度Z本身和\large g_{3}有關,所以它也是一個有關\large \Theta _{2}\large \Theta _{3} 的函式。

到這一步我們已經得到兩個不用考慮\large \Theta _{1},且與\large \Theta _{2}\large \Theta _{3} 有關的函數了,聯立起來,有:

即可聯絡已知求解\large \Theta _{3},然後再依次求解出\large \Theta _{1}\large \Theta _{2}

(2)求解 \large \Theta _{4}\large \Theta _{5}\large \Theta _{6} 

由上式已知我們的\large \Theta _{1}\large \Theta _{2}\large \Theta _{3},並且我們的4,5,6關節都符合pieper條件,就可以直接通過下式算出答案:

【這裡的求解過程參考(2)】

綜合例題

【解題過程】

Tips:從多個解中選擇的方法

上傳圖片時瀏覽器突然卡機,發現草稿箱裡沒有儲存,全部都要重寫。煩躁。