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

知能システム論1(3)
ベクトルの応用(回
転)
2008.5.13
講義内容
1.はじめに
2.ベクトルの基礎、応用(回転)
3.運動学(Kinematics)
4.動力学(Dynamics)
5.行列の演算と応用(Matrix)
6.軌道計算(Trajectory)
7.ロボットの制御(Control)
8.応用(Application)
ベクトルの回転
v  Av

A: 回転変換行列(3x3)
nx 


n  ny
 
 nz 
:回転方向
単位ベクトル
v
n
v
A
 cos  nx2 (1  cos )

nx n y (1  cos )  nz sin 
nz n x (1  cos )  n y sin 

n x n y (1  cos )  nz sin 
cos  n 2y (1  cos )
n y nz (1  cos )  nx sin 
nz nx (1  cos )  n y sin  

n y nz (1  cos )  n x sin  
cos  nz2 (1  cos ) 
練習問題
10
0
a) v   0 , n  1,   60
 
 
 0 
0
z
としたときの V’を求めよ。
n
n
y
b)
x
v


10

v   0 , n  
 

 0 



1 
3
1 
,   90
3
1 
3 
としたときのV’を求めよ。
回転変換行列を求めるための準備
(ベクトル算の応用)
ベクトルの方向成分: その方向の単位ベクトルとの内積で求まる
射影ベクトル: 単位ベクトルのスカラー(内積)倍
v
v

nv  n 
( v  n )n
v cos 
ベクトルの直交3軸方向への分解:
v  ( v  l )l  ( v  m ) m  ( v  n ) n
n
v
ベクトル算と行列:
l
 0

n  v   nz
 n y
 nz
0
nx
ny 

 nx v
0 
 nx2

(v  n ) n   n x n y
 nx nz

nx n y
n y2
n y nz
nx nz 

n y nz  v
nz2 
m
ベクトルの回転
n
v3
Vをn軸まわりに回転
v  v1l  v2m  v3n
v  v1l   v2m  v3n
l
v
v2
v1
m
l,m,nのn軸まわりの回転
l  cos  l  sin   m
m   sin   l  cos  m
n
n  n
l
cos
l
n

m
sin 
m
v  (v  l )(cos   l  sin   m)
 ( v  m)(  sin   l  cos  m)  (v  n )n
 cos (( v  l )l  (v  m)m)  sin  ( (v  m)l  (v  l )m)  (v  n )n
 cos (v  (v  n )n )  sin  (n  v )  (v  n )n
  ( v  m )l  ( v  l ) m  v  ( m  l )   v  n  n  v
( v  l )l  ( v  m ) m  v  ( v  n ) n
v  cos  v  (1  cos )( v  n )n  sin   n  v
cos
 0

 0
0
cos
0
0 
0 v

cos 
 n x2

(1  cos  ) n x n y
 n x nz

nx n y
n 2y
n y nz
 0

sin   nz
 n y
n x nz 

n y nz  v
nz2 
 nz
0
nx
ny 

 nx v
0 
v 
 cos  nx2 (1  cos )

nx n y (1  cos )  nz sin 
nz n x (1  cos )  n y sin 

v
n x n y (1  cos )  nz sin 
cos  n 2y (1  cos )
n y nz (1  cos )  nx sin 
nz nx (1  cos )  n y sin  

n y nz (1  cos )  n x sin  
cos  nz2 (1  cos ) 
演習問題1
A4の用紙に書いて5月27日までに提出のこと
1 

1
3
1 


v 0 , n
 
3
1 
0

3 
(1)
0
v  1
 
0
のとき、n軸周りの回転で v を vに変換するため
の角度を求めよ(式を用いて示せ)
(2)
0
v  0
 
1
X,Y,Z軸まわりの回転に関する回転変換行列
 cos  nx2 (1  cos )

nx n y (1  cos )  nz sin 
nz n x (1  cos )  n y sin 

X軸まわり
n x n y (1  cos )  nz sin 
cos  n 2y (1  cos )
n y nz (1  cos )  nx sin 
n x  1, n y  0, nz  0
Y軸まわり
n x  0, n y  1, nz  0
Z軸まわり
n x  0, n y  0, nz  1
nz nx (1  cos )  n y sin  

n y nz (1  cos )  n x sin  
cos  nz2 (1  cos ) 
0
1
0 cos

0 sin 
 cos 0
 0
1

 sin  0
cos
 sin 

 0
0 
 sin  

cos 
sin  
0 

cos 
 sin 
cos
0
0
0

1
直交する単位ベクトルのセットの回転
l,m,nのn軸まわりの回転
l  cos  l  sin   m
この形式で展開する
m   sin   l  cos  m
n  n
 c  s 0
l  m n  l m n s c 0
0 0 1
l 
m n  Al
m n
この形式にすると Aは
非常に複雑になる
l
n
cos
l
n

m
sin 
m
l  cos  l  sin   m
m   sin   l  cos  m
n  n 
l x
l  m n  l y
l z
l x
 l y
l z
mx
my
mz
mx
my
mz
nx  cos 
n y   sin 
nz   0
nx   cos   l x  sin   mx
ny   cos   l y  sin   m y
nz   cos  l z  sin   mz
 sin 
cos 
0
0
0  l
1
 sin   l x  cos   mx
 sin   l x  cos   mx
 sin   l x  cos   mx
cos 
m n sin 
 0
l
 sin 
cos 
0
cos
l
0
0
1
nx 
n y 
nz 
n
n

m
sin 
m
回転変換行列導出の別解
 v1 
v  v1l  v2m  v3n  l m nv2 
 
v3 
 v1 
v  v1l   v2m  v3n  l  m nv2 
 
v3 
c  s 0  v1 
v  l m n s c 0 v2 

 
0 0 1 v3 
l 
cos
l m n sin 
 0
 v1 
1
 l m nBl m n l m nv2 
v3 
T
 l
m nBl
m n v
m n 
 sin 
cos
0
0
0

1
 lT 
1 0 0
1
 T



 

m l m n   0 1 0  l m n l m n
 nT 
0 0 1
 
l
ここで、
 lT 
 T
1
m n   m   l
 nT 
 
m n
T
l x 
 mx 
nx 
l  l y , m   m y , n   n y 
 
 
 
 lz 
 mz 
 nz 
l T  lx
ly
lz , mT  mx
my
mz , nT  nx
ny
nz 
回転変換行列
l
l x
l
y
l z
mx
my
mz
m n Al
n x   c  s 0  l x

n y   s c 0 mx
nz  0 0 1  nx
ly
my
ny
m n 
T
l z   cl x  sm x
 
mz   cl y  sm y
nz   nx
 sl x  cmx
 sl y  cm y
ny
nx   l x

n y  mx
nz   nx
ly
my
ny
lz 

mz 
nz 
 l x (cl x  sm x )  mx ( sl x  cmx )  nz2 ・ ・   c(l x2  mx2 )  s (l x mx  l x mx )  nz2
・ ・

 

 l x (cl y  sm y )  mx ( sl y  cm y )  nx n y ・ ・   c(l x l y  mx m y )  s (l x m y  l y mx )  nx n y ・ ・ 

・ ・ 
・
・ ・  
・




・
・ ・   c  nx2 (1  c) ・ ・ 
c(1  nx2 )  nx2
 nx 

 


n   l  m  
・
 c(nx n y )  sn z  nx n y ・ ・   nx n y (1  c)  nz s ・ ・ 


 y

l x m y  l y mx 
 nz 
・ ・ 
・
・ ・  
・



回転変換行列
l
m n Al
 cos  nx2 (1  cos )

nx n y (1  cos )  nz sin 
nz n x (1  cos )  n y sin 

m n 
T
n x n y (1  cos )  nz sin 
cos  n 2y (1  cos )
n y nz (1  cos )  nx sin 
nx 
n  n y 
 
 nz 
nz nx (1  cos )  n y sin  

n y nz (1  cos )  n x sin  
cos  nz2 (1  cos ) 