ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Modern Robotics: Mechanics, Planning, and Controlのヤコビアン

教科書から分かったところだけをまとめています。

教科書はこの本です。

www.amazon.co.jp

今回はヤコビアン

Forward Kinematicsのヤコビアン

あるFKの式を考えます。xの座標の次元数をm、θの次元数(ジョイントの数)をnとするときの x(t)=f(\theta(t)), \theta \in \mathbb{R}^n を時間で微分します。

 \dot x = \frac {\partial f(\theta)}{ \partial \theta} \dot \theta = J(\theta)\dot \theta

この  J(\theta) \in \mathbb{R}^{m \times n} をヤコビアンと呼びます。このヤコビアン行列は、ジョイントの速度 \dot \theta が変化したときにエンドエフェクタの座標の速度  \dot xがどれくらい変化するかを表しています。

実際の計算

教科書の図5.1から

f:id:natsutan:20211217233653p:plain
Figure 5.1

この場合xの座標は二次元、ジョイントの数(θの数)は二個なので、ヤコビアンは2x2の行列になります。

FKはこう。

x_1 = L_1 \cos \theta_1 + L_2 \cos(\theta_1 + \theta_2)
x_2 = L_1 \sin \theta_1 + L_2 \sin(\theta_1 + \theta_2)

時間で微分して行列にすると2x2のヤコビアン行列が出来ます。

 \begin{bmatrix} \dot x_1 \\ \dot x_2   \end{bmatrix} =  \begin{bmatrix} -L_1 \sin \theta_1 - L_2 \sin(\theta_1 + \theta_2) & -L_2 \sin(\theta_1 + \theta_2) \\ L_1 \cos \theta_1 + L_2 \cos (\theta_1 + \theta_2) & L_2 \cos (\theta_1 + \theta_2)  \end{bmatrix} \begin{bmatrix} \dot \theta_1 \\ \dot \theta_2   \end{bmatrix} 

v_tipをエンドエフェクタの速度として、ヤコビアンJ(θ)を列に分解すると

v_{tip} = J_1(\theta)\dot \theta_1 + J_2(\theta)\dot \theta_2

このヤコビアンを使う事で、singularities、manipulability ellipsoid, force ellipsoidが分かるけど、今は興味ないので飛ばします。駄目なら戻ってくる。