ぱたへね

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

Modern Robotics: Mechanics, Planning, and ControlのM

Modern Robotics: Mechanics, Planning, and Control

この本が教科書です。

www.amazon.co.jp

教科書には行列Mが何度も出てきます。

Mは教科書に始めて登場するのは117ページ目で、ロボットがzero positionにいる時の手の先の場所と向きを表す行列です。

簡単な例

f:id:natsutan:20211206214307p:plain
簡単な例

上の図がZero positionだとすると、Mはこうなります。

M =  \begin{bmatrix} 1 & 0 & 0 & L_1+L_2+L_3 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1  \end{bmatrix} 

まず左上の3x3は座標軸の回転を表します。この図では回転していません。 画像処理で言うところの座標同士が歪まないので、一番下の段は(0, 0, 0, 1)で固定。numpy等でMを定義するとき右下の1を忘れがちなので注意。 一番右列が基準となる点からの(x,y,z)の座標。この組み合わせで上記のMになります。

難しい例

f:id:natsutan:20211206215531p:plain
Fig 4.3
教科書p121の図4.3から。

M =  \begin{bmatrix} 0 & 0 & 1 & L_1 \\ 0 & 1 & 0 & 0 \\ -1 & 0 & 0 & -L_2 \\ 0 & 0 & 0 & 1  \end{bmatrix} 

一番右の列は、基準となる座標系(\hat x_0,\hat  y_0, \hat  z_0)から見たエンドエフェクタの位置(座標)

(L_1, 0, -L_2)^T

を入れます。

ややこしいのは左上の3x3の部分です。 ここは基準となる座標系と、手の先の座標系のこの関係から持ってきます。

\begin{bmatrix}\hat  x_3  \\ \hat y_3  \\ \hat z_3   \end{bmatrix} =  \begin{bmatrix} 0 & 0 & 1  \\ 0 & 1 & 0  \\ -1 & 0 & 0   \end{bmatrix}\begin{bmatrix} \hat x_0 \\ \hat y_0  \\ \hat z_0   \end{bmatrix} 

下の段は(0,0,0,1)なので、合わせると上の行列Mになります。