ロボティクスーその来し方行く末

知能システム学1(5)
逆運動学(Inverse Kinematics)
2008.5.20
講義内容
1.はじめに
2.ベクトルの基礎
3.運動学(Kinematics):逆運動学
4.動力学(Dynamics)
5.行列の演算と応用(Matrix)
6.軌道計算(Trajectory)
7.ロボットの制御(Control)
8.応用(Application)
ロボットマニピュレータの運動学(Kinematics)
ロボットの自由度(関節)の動きを表す変数と、ロボットを
構成する位置姿勢、またはそれらの変化速度、
加速度間の関係式を求める。
自由度変数ー>リンクの位置姿勢
順運動学 (Forward Kinematics)
リンクの位置姿勢ー>自由度変数
逆運動学 (Inverse Kinematics)
講義では基準座標系からみた3次元ベクトルによる
表現を基本とする。
姿勢の算出
x1  cos1  x0  sin 1  y0
y1   sin 1  x0  cos  yo
A1
x1
y1
z1   x0
y0
z1  z0
x2  c2 x1  s2 z1
y2  y1
z2  s2 x1  c2 z1
x2
z2   x1
y2
y1
x3  c3 x2  s3 z2
y3  y 2
z3  s3 x2  c3 z2
x3
y3
z3   A1 A2 A3
x3
xi
z3   x2
y3
yi
y2
c1  s1 0
z0  s1 c1 0


0 1
 0
A2
 c2
z1  0

 s2
0 s2 
1 0

0 c2 
A3  c3
0 s3 
1 0

0 c3 
z2  0

 s3
zi   A1    Ai
逆運動学(Inverse Kinematics)
Pが与えられθ1,θ2,θ3を求める。
P  F (1 , 2 , 3 ) を解く。
θ3
P3
P  l1z1  l2 z2  l3 z3
リンク3
リンク2
l3
l2
P
1 : P  x0  (l1z1  l2 z2  l3 z3 )  x0
 l2 s2c1  l3 ( s2c3  s3c2 )c1
 (l2 s2  l3s2c3  l3s3c2 )c1
P  y0  (l2 s2  l3s2c3  l3s3c2 ) s1
θ2
Z2
P2
l1
Y2
Z0,Z1 リンク1
Y1
P1
X2
L
X0
θ1
X1
Y0
s1 P  y0
1 P  y0
tan 1  
 1  tan (
)
c1 P  x0
P  x0
3 : P  l1z1  l2 z2  l3 z3
(l2 s2  l3s2c3  l3s3c2 )  0 のとき
P  l1 z1  (l2 z2  l3 z3 )  (l2 z2  l3 z3 )  l22  l32  2l2l3 ( z2  z3 )
2
1
2
 3  cos (
{ P  l1 z1  l22  l32 })
2l3l2
1
c3
 2 : P  z0  (l1z1  l2 z2  l3 z3 )  z0  l1  (l2 z2  l3 ( s3 x2  c3 z2 ))  z0
 l1  {l3s3 (c2 x1  s2 z1 )  (l2  l3c3 )( s2 x1  c2 z1 )}  z0
P  z0  l1  {( l3s3c2  (l2  l3c3 ) s2 ) x1  ( l3s3s2  (l2  l3c3 )c2 ) z1}  z0
 l3s3s2  (l3c3  l2 )c2  A sin(    2 )
但し
A  (l3s3 )2  (l3c3  l2 )2 , tan   (l3c3  l2 ) (l3s3 )
 2   sin 1 (( P  z0  l1 ) A)  tan 1 (l3c3  l2 ) (l3s3 )
 180   2  180 の範囲で妥当な解を求める。
練習問題
1
l1  0, l2  1, l3  1, P  1 のときの  , , を求めよ。 1
 
1
2
3
0
1  tan 1 (
P  y0
)  tan 1 ( 1 )  45
1
P  x0
1
2
 3  cos (
{ P  l1 z1  l22  l32 })
2l3l2
1
1
1
1
 cos1 ( ( 2  1  1))  90
2
 2   sin 1 (( P  z0  l1 ) A)  tan 1 (l3c3  l2 ) (l3s3 )
  sin( 0)  tan 1 ( 1 )  45 or  135
1
1
練習問題(続き)
3  90 の場合の解を考える。
1
2  45 のとき、
L  (l2 s2  l3s2c3  l3s3c2 )  1
1  45
1
2
0 1
2
 2 0
2  135 のとき、
L  (l2 s2  l3s2c3  l3s3c2 )   1
1  tan 1 (
1
2
0 1
L ( P  y0 )
)  tan 1 (  1 )  135
1
L( P  x0 )
2
 2 0
1
逆運動学の式が2次の代数方程式になるケース1
Θ1
θ2、θ3の回転軸が平行な場合
Θ2
P2
Θ3
P
θ2、θ3の回転軸方向に垂直で
先端の点Pが乗る平面がPの与えら
れた座標を含むための拘束条件は
θ1の余弦(正弦)の2次の代数
方程式となる。
P-P2の長さがθ3のみの関数
になりθ3も2次の代数方程式で
求められる。
Pの座標はθ2のみの関数になり
Θ2も2次の代数方程式で求め
られる。
逆運動学の式が2次の代数方程式になるケース2
Θ1
θ1、θ2の回転軸が平行な場合
P1
Θ2
P2
Θ3
P
先端の点Pの与えられた座標の
θ1、θ2の回転軸方向成分はθ3
のみの関数となり、θ3は2次の
代数方程式で求められる。
P-P1の長さがθ2のみの関数
になりθ2も2次の代数方程式で
求められる。
Pの座標はθ1のみの関数になり
θ1も2次の代数方程式で求め
られる。
逆運動学の式が2次の代数方程式になるケース3
θ1、θ2の回転軸が交差する場合
P1
Θ1
P2
Θ2
Θ3
P
P-P1の長さがθ3のみの関数
になりθ3は2次の代数方程式で
求められる。
Pの座標のθ1軸方向成分は
θ2のみの関数になりθ2も2次の
代数方程式で求め
られる。
先端の点Pの座標はθ1のみの
関数となり、θ1は2次の代数方程
式で求められる。
逆運動学の式が2次の代数方程式になるケース4
Θ1
P1
θ1とθ2の回転軸が直交、かつ、
θ2とθ3の回転軸が直交な場合
Θ2
P2
Pの座標のθ1の回転軸方向成分
は、θ2、θ3の関数になる。 P-P1
の長さもθ2、θ3の関数になる。
これを整理すると、θ2の余弦(正弦)
に関する2次の代数方程式が得られる。
以下同様。
Θ3
P