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

知能システム論I(16)
行列の演算と応用(Matrix)
続き
2007.7.17
講義内容
1.はじめに
2.ベクトルの基礎
3.運動学(Kinematics)
4.動力学(Dynamics)
5.ロボットの腕の制御(Control)力制御
6.軌道計算(Trajectory)
7.移動ロボット(Mobile Robot)ナビゲー
ション
8.行列の演算と応用(Matrix)
先端の速度から関節角速度を求める
1 
 P 
 
   J : 
 
6 
 
 p1  ( P  P1 )   
J 
p1


1 

 
1  P 
 :   J  
 
6 
 
p6  ( P  P6 )

p6

マトリックス演算
逆行列の計算
(1)正則行列の逆行列
(2)最短右インバース
(3)最短左側インバース
(4)特異値分解による一般化逆行列
応用:
(1)座標変換
(2)キャリブレーション
(3)一次方程式の解
(4)線形多変数制御系のモデル低次元化
(5)数値計算の誤差分析
逆行列の計算
A : m行n列の行列
(1) m=n(正方行列)の場合


T
1
i j
A 
( 1) M ij
A
1
(2) m<nの場合
y  Ax
ARM
T 1
x  A ( AA ) y
T
M ij : Aのi 行と j 列を省いてできた小行 列式
最短右側インバース
十分条件
y  AAT ( AAT ) 1 y  y
(3) m>n の場合
y  Ax
AT y  AT Ax
1
x  ( A A) A y
T
T
ALM
誤差二乗ノルム Ax  y を最小にする解
最短左側インバース
例題
 x1 
y  1 2 
 x2 
y  x1  2 x 2
1
1  
1  
1 1 0.2
T 1
T
A ( AA )    1 2       
5 2 0.4
 2 
2 
x2
5
2
4
 
0.2
 2
xo    y, 例えば y  10の時、 xo   
0.4
 4
10
x1
例題
 y1  1
 y   2 x
 2  
1

1  
T
1 T
( A A) A  1 2  1 2  0.2 0.4
2 

 y1 
10
10
xo  0.2 0.4 , 例えば y   の時、 xo  0.2 0.4   3.6
4
4
 y2 
y2
 3 .6 
 7 .2 
 
4
3.6
10
y1
固有値と固有ベクトル
行列A(n  n)の固有ベクトルと固有
固有ベクトル:
値
Aの作用により方向が変 化しないベクトル
Ab  b (1) b:固有ベクトル
, :固有値
bが0以外の解を持つために は  A-I =0
(2)
n次代数方程式の解: 1~n
(2)式より i を求め、 (1)式より iに対応する biを求める。
1 0 0 
Ab1   bn   b1   bn  0  0 
 0 0 n 
AB  B B は直交行列(bi  b j  1(i  j ),0(i  j ))だから
A  BB T
行列の固有値による分解
A1  B1 B T
固有値による逆行列表現
固有値分解の幾何学
y  Ax  BBT x
b3
 1 (b1  x) 
y  b1b2 ...2 (b2  x)  1 (b1  x)b1  2 (b2  x)b2  ...


:
x
b3T x
3 (b3T x)b3
b2T x
2 (b2T x)b2
b2
y
b1T x
1 (b1T x)b1
b1
固有値による逆行列表現
・正方行列にしか適用できない
・零となる固有値が存在すると適用できない


1
 



1
1
0
0
0
1
2
0
0

0

.

(4)特異値分解による一般化逆行列の求め方
任意の m行n列行列Aは次のように分解でき
A  UV
AT A  VTU TUV T  V 2V T
る。
 i2はAT Aの固有値、
T
VはAT Aの固有ベクトルを
ここで U , Vは直交行列、 は次の対角行列である 。
並べた行列
1 0 
=
1  diag ( 1 ,  2 ,...,  r )  1   2  ... r  0

0 0 
ここで r は行列 Aのランク、  12 ,  22 ,...,  r2は AT A(n  n)の固有値である。
V  v1 ... vn とすると、
( AT A)vi   i2 vi
vi は次のように求められ
(i  1 ~ r )
る。
viはn次元ベクトル
vi (i  r  1 ~ n)は互いに直交し、かつ 、 vi (i  1 ~ r )と直交する条件の下
自由に決められる。
また U  u1 ... un とすると、
ui  Avi /  i
(i  1 ~ r )
AV  Uから uiは次のように求められ
uiはm次元ベクトル
ui (i  r  1 ~ n)は互いに直交し、かつ 、 ui (i  1 ~ r )に直交する条件の下
自由に求められる。
る。
(4)特異値分解による一般化逆行列の求め方(続き)
行列Aを以上のように特異値 分解する時、
Aの一般化逆行列 Aは次の式で求められる 。


A  V U
T
y  Axの時、
11 0
1
1
1
 
 1  diag ( ,..., )
1
r
 0 0

Moore Penrose型一般化逆行列
xo  A yは上の式の最小ノルム 最小誤差二乗解である 。
特異値分解の幾何学
y  Ax  UV T x
u3
v3
  1 (b1  x) 
y  u1u2 ... 2 (b2  x)   1 (v1  x)u1   2 (v2  x)u2  ...


:
 3 (v3T x)u3
x
v2T x
 1 (v1T x)u1
y
v3T x
v2
v1T x
u1
 2 (v2T x)u2
u2
v1
練習問題
図のようなy1,y2面内を動く、3自由度のマニピュレータがあるものとし、
直交座標系での速度 y1 , y 2 , y 3を実現するための関節速度 1 ,2 ,3
の最小ノルム、誤差最小二乗の解を求めよ。
y3は紙面に垂直な方向の座標である。
y2
3
1
1
2
1
1
y1
1 1 1 
1 1
 y1   0
0


 y    1  1 0 
A    1  1 0
2
2


  






0 0  3 
0 0
 y 3   0
 0
1 
1
0
AT A  I  0
1
2
1 0
0
1
1 1 1 1 0
 0  1 0  0
AT A  1  1 0   1  1 0  1 2 1


 

0 0 0 1 1
1 0 0  0
1 
(1   )( 2   )(1   )  (1   )  (1   )  3  42  5  2  2  2   (   3)(   1)  0
1  3, 2  1, 3  0
 1  3, 2  1,  3  0
1
0   v11 
(1  3)
 1
( 2  3)
1  v12   0

 
1
(1  3)  v13 
 0


 v11  
v1  v12   
  
v13  


1 
6
2 

6
1 
6 
1
0   v21 
(1  1)
 1
( 2  1)
1  v22   0

 
1
(1  1) v23 
 0
 1 
 v21   2 
v2  v22    0 
   1 
v23   

2


 1 
 1 
 
 2 
1 1  6 
0
 1 
2


 u2 
u1  Av1 /  1   1  1 0   / 3  

 6 
2

0 0  1 
 0
 0 
 6




 
1 
 1
 1

 6
1
 1
  3
2  1

0 

 2

1
0
2
 2
A  
0  3


 6
  0 1    1  1 0  3

 1
1 
  2
2
2


 6
 3
2 

2
 1



0
1   3
3   y1 
 
1
  1
 2    3  3 0  y 2 
  y 
3   2
1
 3
  
0
 3

3
 1 
 1 
 2 
1 1  2 
0
 1 





Av2 /  2   1  1 0
0 / 1  

 1 
2

0 0 
 0

 0 
2 





2

0
3

1

0
3 
1
0

3

一次方程式の解
y  Ax
A  u1 ... ur
ur 1
特解(最短最小二乗解)
xo  A y
( A  V U T )
 1 0 0
 0 ... 0
... un 
 0 0 r

0 0 0
 1 0 0 1
Av1  u1 ... 0 .. 0 0   1u1

 
 0 0 .. 0
 1 0 0  0 
Avr 1  u1 ... 0  r 0 1r 1   0

 
 0 0 0  0 
一般解
x  xo  k r 1vr 1  ...  kn vn
ここで k r 1 ~ kn : 任意の係数
vr 1 ~ vn : Ax  0 の解
写像A
ur
x
値域
零空間と値域
y
 v1T 
 
0  : 
0  vrT 
 
0 vrT1 

0  : 
 T
 vn 
u1
vr1
写像A
零空間
vn
vr
v1
練習問題
図の3点支持によるFx,Fyの制御と握力について論ぜよ。
F3
釣合い方程式
Fy  F1 2  F2 2  F3





3
3
Fx 
F1 
F2
2
2
1
3 

 1
2
2


1
3  2
AT A  


2
2  3
 1
0  2




AT A  I  0
1
2
1

2

1
2

3
2

 1  F1 
   Fy 
  F2    
F
0   F3   x 

1
2
3

2

1
 
 1 
1
  
2
0  1
 
 2

1
2
1 

1
2
1
2
1
 0
2

1 

1
2
1

1
2
1
 
2
1
 
2
1 

Fy
Fx
60 60
A
固有値: 
1 
1
2
3
2
F1
F2
1 1 1
1
1
(1   )3    (1   )  (1   )  (1   )  0
8 8 4
4
4
3
 (  ) 2  0
2
3
3
3
3
1  , 2  , 3  0
1 
,2 
, 3  0
2
2
2
2
固有ベクトル:
v1
Av1  1v1
v11  v12  v13  0 一意に決まらな
v1  1
v112  v122  v132  1
固有ベクトル:
Av2  2v2
v2  1
v11  v12 
1
2
, v13  
6
6
v2
1
v21  v22  v23  0 v21 
2
2
2
2
v21
 v22
 v23
1
v22  
1
1
2
v21 
v22 
v23  0
6
6
6
固有ベクトル : v3
v1  v2  0
 1   1    1
 6   2   3
 1    1    1
    
v3  v1  v2  
 6   2   3
 2   0    1
 6     3 

    
いので v11  v12とおく。
1
,
2
v23  0
値域のベクトル:
u1 , u2
 1 
1
 1
 6 
 1 

 2
1
2

/
u1  Av1 /  1  

 3  3 0  6 
2
 2
  2 

6 

 1 
1
 1
 2 
 1  
 2
1
2

/
u2  Av2 /  2  

 3  3 0  2 
2
 2
 0 
 
 
u3は算出の必要なし。
3 1
 
2  0
3  0
 
2 1 
F3
Fy
u1
u2
Fx
60 60
F1
F2



1 0 * 
A 

0 1 * 


 1
 6
 1

A 
 6
 2
 6

3
2
0
0
1
2
1
2
0
0
3
2
0
 1 

3 
 1 

3 
 1 


3  
 1
0

 6
1
0 
 2
0   1

  3
2
3
0
0
0
2
3
0
1
6
1
2
1
3
2 
6

0 

1 
3 


 1
0

 1 0  3
1
0  0 1   

  3
0 * *  2

 3


この場合最短右側イン バース
AT ( AAT ) 1でも同じ結果を得る。
1 
3 
1 


3

0 

釣合い方程式の解
 1
 3
 F1 
 
 F   A  Fy   k   1 
F  3
 2
 3
 x
 F3 
 1
 3
 
内力(握力)
固有ベクトル:
v1
Av1  1v1
v11  v12  v13  0 一意に決まらな
v1  1
v112  v122  v132  1
固有ベクトル:
v12 
1
1
, v13  
2
2
v2
2
Av2  2v2
v21  v22  v23  0 v21  
6
1
2
2
2
v2  1
v21
 v22
 v23
1
v22 
,
6
1
1
1
v1  v2  0
v22 
v23  0
v23  
2
2
6
固有ベクトル : v3

  2  
 0   6  
 1   1  


v3  v1  v2  
 2   6  
 1   1  
 2   6  

 
 
1 
3
1 

3
1 
3 
いので v11  0とおく。
値域のベクトル:
u1 , u2


1
 1
 0 
 1 

 2
1
2

/
u1  Av1 /  1  

 3  3 0  2 
2
 2
  1 

2 

 2 



1
 1

6
 1 
 2
1 
2

/
u2  Av2 /  2  

 3  3 0  6 
2
 2
 1 
 6 


u3は算出の必要なし。
 3
3  2 
 
2  1

 2
 1 

3  2 

3 
2 

 2 
u2
F1
u1
Fy
F3
Fx
60 60
F2
 3

A  2
 1
 2



1

*

2

3 

* 
 
2


 0
 1

A 
 2
 1
 2

2

6
1
6
1
6
3
2
0
0
1 

3 
1 

3 
1 


3  
0
3
2
0
2
3
0
0

0 0


2
0  

6

0  1

  3
0
2
3
0
1
2
1
6
1
3
 3
0 
 2
1
0 
 2
0  *

 

1 
2
1  この場合最短右側イン バース

6  AT ( AAT )1でも同じ結果を得る。
1 
3 
1   1

2   3
3  1



2
 3
*   2
 
  3

釣合い方程式の解


 F1 

 F   A  Fy   k 
F  3
 2

 x
 F3 



1 
3
1 

3
1 
3 
内力(握力)
1 
3 
1 


3

0 

知能システム論1 レ
xとyに関して、
ポート課題2
xi , yi (i  1 ~ n)の測定値を得た時、
二乗誤差が最小となる 近似式
y  ax  b
の係数 a, bを求めよ。 但し最短左側インバー スを用いて求めよ。
提出期日: 8月20日
提出先: P棟 4階事務室