ロボットのデータ構造と順運動学

ロボットの構造はリンクと関節から構成されていると考えることが出来るが, ロボットを関節とリンクに分割する方法として

が考えられる.コンピュータのデータ構造を考慮し, (a)が利用されている.その理由は胴体以外のすべてのリンクにおいて, 必ず関節を一つ含んだ構造となり,すべてのリンクを同一のアルゴリズムで扱う ことが出きるためである.

この様に分割されたリンクを計算機上で表現するためにはツリー構造を利用する ことが出来る.一般的にはツリー構造を作るときに二分木にすることでデータ構 造を簡略化することが多い.

ロボットのリンクにおける同次変換行列の求め方としては,関節回転座標系上に 原点をもつ$ \Sigma_j$を設定し,親リンク座標系からみた回転軸ベクトルが $ a_j$, $ \Sigma_j$の原点が$ b_j$であり,回転の関節角度を$ q_j$とする.

このとき$ \Sigma_j$の親リンク相対の同次変換行列は

$\displaystyle {}^iT_j =
\left[
\begin{array}{cc}
e^{\hat{a}_jq_j} & b_j \\
0~0~0 & 1
\end{array} \right]
$

と書くことが出来る.

ここで, $ e^{\hat{a}_jq_j}$は,一定速度の角速度ベクトルによって生ずる回 転行列を与える以下のRodriguesの式を用いている.これを回転軸$ a$周りに $ wt[rad]$だけ回転する回転行列を与えるものとして利用している.

$\displaystyle e^{\hat{\omega}t} = E + \hat{a} sin (wt) + \hat{a}^2 (1 - cos(wt))
$

親リンクの位置姿勢$ p_i, R_i$が既知だとすると,$ \Sigma_i$の同次変換行列を

$\displaystyle T_i =
\left[
\begin{array}{cc}
R_i & p_i \\
0~0~0 & 1
\end{array} \right]
$

と作ることができ,ここから

$\displaystyle T_j = T_i ~ {}^iT_j
$

として計算できる.これをロボットのルートリンクから初めてすべてのリンクに 順次適用することでロボットの全身の関節角度情報から姿勢情報を算出すること ができ,これを順運動学と呼ぶ.



2016-04-05