next up previous
Next: 1.5 ヤコビ行列 Up: 1 ロボットアーム Previous: 1.3 ハンドの位置と姿勢の計算:順運動学計算

1.4 関節角の計算:逆運動学

ハンドの位置と姿勢を表す行列${\rm _6U}$が与えられたとき,その位置と姿勢を実現するための6つの関節角を求めることを考える.この計算は逆運動学と呼ばれる.
$\displaystyle {\rm _6U} = A_1(\theta{_1})A_2(\theta{_2})A_3(\theta{_3})A_4(\theta{_4})
A_5(\theta{_5})A_6(\theta{_6})$     (5)

を満足する$\theta{_0}$から$\theta{_6}$をこの方程式から直接求めることは 困難なので,アームの幾何学的構造を考慮に入れてジョイント角を求める. ここで,アームの関節4,5,6の3軸が手首の点Wで交わる場合には, W点の座標は$\theta{_1}$から$\theta{_3}$だけで決定される.
図 7: 逆運動学
\includegraphics[width=8cm]{/home/inaba/text/iwanami/inaba/chap4/sumitomo-inverse.eps}
${\rm _6U}$の値が与えられたとき,基準座標系$\Sigma_0$におけるW点の座標は次式により求められる.
$\displaystyle \left[
\begin{array}{c}
{\rm W_x} \\
{\rm W_y} \\
{\rm W_z} \\ ...
...array}\right]
\left[
\begin{array}{c}
0 \\
0 \\
-l_3 \\
0
\end{array}\right]$     (6)

7に示すように,本アームでは,点S,点E,点Wは, 一つの平面上にある. $\overline{\rm SW}=d$は,$\varphi{_3}$だけの関数であり, 関節3の可動範囲( $30^\circ \leq \varphi{_3} \leq 120^\circ$)を考慮に入れると,
$\displaystyle \varphi{_3} = \cos^{-1}\frac{d^2-(l_1^2 + l_2^2)}{2l_1l_2}$     (7)
       
$\displaystyle ただし,
d^2=W_x^2 + W_y^2 + (W_z - l_0)^2$     (8)

である.$x + {\rm i}y$ の偏角を $\arg{(x,y)}$と表せば, W点の座標と$\varphi{_3}$から $\varphi{_1}$$\varphi{_2}$$\psi{_2}$は次のように定まる.
$\displaystyle \psi{_2} = \arg(l_1 + l_2 \cos{\varphi{_3}}, l_2\sin{\varphi{_3}})$     (9)
$\displaystyle \varphi{_2} = \arg(\sqrt[]{W_x^2 + W_y^2}, W_z - l_0)$     (10)
$\displaystyle \varphi{_1} = \arg(W_x, W_y)$     (11)

一般に,関節1,2,3の可動範囲に制限が無ければ,この解は4組存在しうる. しかし,可動範囲がうまく選ばれていると解は1つになり, $\theta{_1}$$\theta{_2}$$\theta{_3}$は次のように定まる.
$\displaystyle \theta{_1} = \varphi{_1}$     (12)
$\displaystyle \theta{_2} = -(\psi{_2} + \varphi{_2})$     (13)
$\displaystyle \theta{_3} = \varphi{_3} - \frac{\pi}{2}$     (14)

$\theta{_1}$$\theta{_2}$$\theta{_3}$が定まれば, ${\rm _3U}=A_1(\theta{_1})A_2(\theta{_2})A_3(\theta{_3})$を計算することによ り,座標系$\Sigma_3$が設定されているリンク3の位置と姿勢がわかる.
$\displaystyle {\rm _3U}
=\left[
\begin{array}{cccc}
& & & \\
& {\rm _3R} & & {\rm _3P} \\
& & & \\
0 & 0 & 0 & 1 \\
\end{array}\right]$     (15)
$\displaystyle =\left[
\begin{array}{cccc}
& & & \\
{\rm _3X} & {\rm _3Y} & {\rm _3Z} & {\rm _3P} \\
& & & \\
0 & 0 & 0 & 1
\end{array}\right]$      

ここで, ${\rm _3U^{-1}}$は,
$\displaystyle {\rm _3U^{-1}}
=\left[
\begin{array}{cccc}
& & & \\
& {\rm _3R^{-1}} & & -{\rm _3R^{-1}}{\rm _3P} \\
& & & \\
0 & 0 & 0 & 1
\end{array}\right]$     (16)
$\displaystyle =\left[
\begin{array}{cccc}
& {\rm _3X^T} & & -{\rm _3X^T} {\rm _...
...{\rm _3Z^T} & & -{\rm _3Z^T} {\rm _3P} \\
0 & 0 & 0 & 1 \\
\end{array}\right]$      

である.
$\displaystyle {\rm _3U}^{-1} {\rm _6U} = A_4(\theta{_4})A_5(\theta{_5})A_6(\theta{_6})$     (17)

である. eq-u3-u6の回転部分に着目して成分を比較すると, ${\rm c_i=\cos{_i}}$ ${\rm s_i=\sin{_i}}$と表すとして,
$\displaystyle {\rm _4R_5R_6R}$      
$\displaystyle =\left[
\begin{array}{ccc}
{\rm c_4c_5c_6 - s_4s_6} & {\rm -c_4c_...
...s_4c_5s_6 - s_4c_6} & -s_4s_5 \\
s_5c_6 & -s_5s_6 & c_5 \\
\end{array}\right]$      

となり,
$\displaystyle {\rm _3Z^T} {\rm _6Z} = \cos \theta{_5}$     (18)
$\displaystyle {\rm _3X^T} {\rm _6Z} = - \cos \theta{_4} \sin \theta{_5}$     (19)
$\displaystyle {\rm _3Y^T} {\rm _6Z} = - \sin \theta{_4} \sin \theta{_5}$     (20)
$\displaystyle {\rm _3Z^T} {\rm _6X} = \sin \theta{_5} \sin \theta{_6}$     (21)
$\displaystyle {\rm _3Z^T} {\rm _6Y} = - \sin \theta{_5} \sin \theta{_6}$     (22)

となる.ここで, $- 90^\circ \leq \theta{_5} \leq 90^\circ$ であれば,
$\displaystyle \theta{_5} = \cos^{-1}({\rm _3Z^T} {\rm _6Z})$     (23)

となるが,$\theta{_5}$には正負つの解があり,それに対応して,$\theta{_4}$$\theta{_6}$は以下の二通りの解がある.
(1) $0 < \theta{_5} \leq 90^\circ$のとき $\sin \theta{_5} > 0$より
$\displaystyle \theta{_4} = \arg({\rm -_3X^T} {\rm _6Z} , {\rm - _3Y^T} {\rm _6Z})$     (24)
$\displaystyle \theta{_6} = \arg({\rm _3Z^T} {\rm _6X} , {\rm - _3Z^T} {\rm _6Y})$     (25)

(2) $-90^\circ \leq \theta{_5} < 0^\circ$ のとき $\sin \theta{_5} < 0$より
$\displaystyle \theta{_4} = \arg({\rm _3X^T} {\rm _6Z} , {\rm _3Y^T} {\rm _6Z})$     (26)
$\displaystyle \theta{_6} = \arg({\rm - _3Z^T} {\rm _6X} , {\rm _3Z^T} {\rm _6Y})$     (27)

もし, $\theta{_5} = 0$のときには,$\theta{_4}$$\theta{_6}$は不定である. また,図6の幾何学的な構造から,座標系${\rm O_2}$${\rm O_5}$の座標軸の関係から求めることもできる.$\theta{_5}$は,${\rm _2Y}$${\rm _5Z}$のなす角であり, $\theta{_5}=\cos^{-1}{\rm (_2Y^T_5Z)}$ となる.${\rm _5X}$${\rm _2Y}$の為す角が $90^\circ$以内であれば,$\theta{_5}$は正 であり,$90^\circ$以上であれば,負である.$\theta{_5}$が正であれば, $\theta{_4}={\rm\arg(-{\rm _2X_5Z,_2Z^T_5Z})}$ $\theta{_6}={\rm\arg({\rm _2Y^T_5X,-_2Y^T_5Y})}$となり,そうでなければ, $\theta{_4}={\rm\arg({\rm _2X^T_5Z,-_2Z^T_5Z})}$ $\theta{_6}=\arg({\rm -_2Y^T_5X,_2Y^T_5Y})$とな る.
next up previous
Next: 1.5 ヤコビ行列 Up: 1 ロボットアーム Previous: 1.3 ハンドの位置と姿勢の計算:順運動学計算
generated through LaTeX2HTML. M.Inaba 平成18年5月7日