next up previous
Next: 1.4 関節角の計算:逆運動学 Up: 1 ロボットアーム Previous: 1.2 座標系の設定

1.3 ハンドの位置と姿勢の計算:順運動学計算

図 6: マニピュレータの座標系
\includegraphics[width=8cm]{/home/inaba/text/iwanami/inaba/chap4/sumitomo-coords.eps}
関節角度列 $\theta{_i}(i=1〜6)$からハンドの位置と姿勢$H$を計算する ことは順運動学計算と呼ばれる. 図6において,ハンドに固定された座標系は, $\Sigma{_6}$となる. ハンドの位置は,基準座標系$\Sigma{_0}$における$\Sigma{_6}$の 原点の座標で表される. ハンドの姿勢は,座標系$\Sigma{_6}$$\Sigma{_0}$ に対する回転変位によって表される. 6つの関節角$\theta{_1}$から$\theta{_6}$が与えられた時に, ハンドの位置と姿勢を求める順運動学計算は行列$A_i$を用いて 簡単に表現できる. 座標系$\Sigma_i$から $\Sigma{_{i-1}}$への座標変換は, ${\rm (X_i,Y_i,Zi,1)^T}= x_i$とおけば,

\begin{displaymath}
x_{i-1} = A_i x_i
\end{displaymath}

であり,$\Sigma{_6}$から$\Sigma{_0}$への座標変換は

\begin{displaymath}
x_0 =A_1A_2A_3A_4A_5A_6 x_6
\end{displaymath}

となる.ここで, ${\rm _6U} = A_1A_2A_3A_4A_5A_6$ とおけば, ${\rm _6U}$はハンド座標系 $\Sigma_6$から基準座標系$\Sigma_0$への座標変換を表す行列となる.
$\displaystyle x_0 = {\rm _6U} x_6 =
\left[
\begin{array}{cccc}
& & & \\
& {\rm _6R} & & {\rm _6P} \\
& & & \\
& 0 & & 1 \\
\end{array}\right]
x_6$     (2)

${\rm _6R}$${\rm _6P}$の要素は,
$\displaystyle {\rm _6R}
=\left[
\begin{array}{ccc}
{\rm _6X} & {\rm _6Y} & {\rm...
... {\rm _6Z_y} \\
{\rm _6X_z} & {\rm _6Y_z} & {\rm _6Z_z} \\
\end{array}\right]$     (3)
$\displaystyle {\rm _6P} =\left[
\begin{array}{c}
{\rm _6P_x} \\
{\rm _6P_y} \\
{\rm _6P_z}
\end{array}\right]$     (4)

3次行列${\rm _6R}$は,座標系の回転を表す行列であり,ハンドの姿勢を表 す.${_6X}$, ${_6Y}$, ${_6Z}$は,ハンドの座標系のX, Y, Z軸の 単位方向ベクトルであり,その要素は座標系$\Sigma_0$ で表した方向余弦の値となる. 3次元ベクトル${\rm _6P}$は,ハンド座標系$\Sigma{_6}$の原点の $\Sigma{_0}$における位置を表し,ハンドの位置を表すことになる. ${\rm _6U}$は,座標変換行列であるが,マニピュレータの基準座標系における ハンドの位置と姿勢を表す一般形式となっている. ハンドだけでなく,アームを構成する各リンクの位置と姿勢を求める場合も同 様である.リンク$i$の位置と姿勢は, $_i{\rm U}=A_1A_2 \cdots A_i$ で表 すことができる. マニピュレータの立体形状を描画で表示する場合には,各リンクの外形 代表点を基準座標系$\Sigma{_0}$の座標として求めておく必要がある. まず,リンク$i$の外形を代表する点を$\Sigma{_i}$の座標 $\mbox{\boldmath$x$}_i$として 求めておく.関節角に対する$_i{\rm U}$を求め, $\mbox{\boldmath$x$}_0 = _i{\rm U}$ $\mbox{\boldmath$x$}_i$の座標変換を 行うことによって外形代表点の基準座標系$\Sigma{_0}$における座標が 求まる. 近年の三次元描画システムでは,表示するライブラリ側に各リンクを 表す立体形状の外形代表点をあらかじめ登録しておき,その立体の 位置と姿勢を変更するだけで自動的に座標計算を行って表示を行う 形になっている.その計算をハードウェアで行うことも可能で,高速な 三次元描画が可能となっている.三次元グラフィックス用のプロセッサ はロボットに必要な座標変換計算と同様の計算機能を持っているものは 多く,汎用のプロセッサにおいても行列とベクトルの掛け算で必要 となる要素ごとの積をとり,その総和をとるといういわゆる積和 演算用の命令をもつものが増えてきている. 計算機言語が行列の計算表現を表す構文を持つ場合には, その積和演算を呼び出すコンパイラを作ることができるが, 通常は,行列計算用のライブラリ関数を定義し, そのライブラリ関数の内部でその拡張された命令を呼び出している 例が多い.

generated through LaTeX2HTML. M.Inaba 平成18年5月7日