UKF( unscented kalman filter ) と その応用
DESCRIPTION
UKF( Unscented Kalman Filter ) と その応用. 東京工業大学大学院 機械制御システム専攻 山北 昌毅. 状態推定の必要性. システムの将来の挙動の予測 状態フィードバック パラメータ推定. 状態推推定器(オブザーバ). 状態推定とパラメータ推定. 内容. 最小分散推定値 Kalman Filter 線形カルマンフィルタ 拡張カルマンフィルタ Unscented Kalman Filter (UKF) 例題を用いた状態推定比較 UKF とRHCの併用例 まとめ. 期待値. 分散. 次統計モーメント. - PowerPoint PPT PresentationTRANSCRIPT
状態推推定器(オブザーバ)
3
ˆ ˆ[ 1] [ ] [ ]
ˆ[ ] [ ]
ˆ ˆ ˆ[ 1] [ ] [ ] ( [ ] [ ])
ˆ[ ] [ ]
ˆ[ 1] [ ], [ ] : [ ] [ ]
x k x k u k
y k Cx k
x k x k u k K y k y k
y k Cx k
x k KC x k x k x k x k
オープンループ推定
オブザーバ
エラーシステム
状態推定とパラメータ推定
4
1 1
1
1
1 1
[ 1] [ ] [ ]
[ ] [ ]
{ [ ], [ ], 0,..., } [ ]
[ ] [ 1] [ ] [ 1] [ ]
[ 1] [ ] [ 1] [ ]
[ ]
[ 1] [ ]
[ ]
n n
n
n
T
n n
x k x k u k
y k Cx k
u i y i i k x k
y k a y k a y k n b u k b u k n
a
ay k y k n u k u k n
b
b
x k a a b b
x k Ix k
y k
より を推定する
, 0
[ ] [ 1] [ ] [ 1] [ ][ ] [ ]
I
C k y k y k n u k u k nC k x k
5
内容
• 最小分散推定値• Kalman Filter
– 線形カルマンフィルタ– 拡張カルマンフィルタ– Unscented Kalman Filter (UKF)
• 例題を用いた状態推定比較• UKF とRHCの併用例• まとめ
6
x•期待値
dxxpxXxXE kk )()()(
2x•分散
dxxxpXEx )(
dxxpxxxXEx )()()( 222
• 次統計モーメントk
1次モーメント:平均2次モーメント:分散
3次モーメント:歪度4次モーメント:尖度
7
ガウス分布
2
2
2 2exp
2
1)(
xx
xp
xXE •平均:
22 xXE•分散:
012 nxXE•奇数次モーメント:
nn nxXE 22 1231 •偶数次モーメント:
•1次元
10
Fact正規分布を持つ確率変数の Affine 変換された確率変数の確率分布は正規分布となる。つまり、
xを正規性の確率変数 yとして を次の式で定義する
, , ,n m m n my Ax b x R y R A R b R
yは正規性確率変数となり平均、分散は次の式で計算される
{ }: { }E y y AE x b Ax b
{( )( ) }: { ( )( ) }
{( )( ) }
T T Tyy
T T T
E y y y y E A x x x x A
AE x x x x A A A
11
最小分散推定値
x推定したいパラメータ
y観測量
)( xyp
評価関数 を最小にする推定値
2xxE
条件付き期待値 と等価
yxEx ˆ
( の分布の種類によらず)x
x推定量
推定ルール)(yg
2
2
ˆ ˆ ˆ ˆ ˆ|| || ( ) ( ) ( ) ( )
ˆ ˆ( )( )
ˆ ˆ ˆ{|| || } {( )( ) }
T T
T
T
x x x x x x trace x x x x
trace x x x x
E x x traceE x x x x trace
12
•証明 dxdyyxpyxfYXfE ),(),(),(
dyypdxyxpyxf )()(),(
( , ) , ( , ) : ( , ) ( )E E f X Y Y E f X Y Y f x y p x y dx 2 2
( ) ( )E g Y X E E g Y X Y
2( )E E g Y E X Y E X Y X Y
2 2
2 2
, : { | }
|| || 2 || ||
|| || 2 || ||
T
y y y y y
T
y y y y
T
y y y y
E E g x x X g x x X Y x E X Y
E E g x g x x X x X Y
E E g x Y E E g x x X Y E E x X Y
13
続き
0 0
T T
y y y y
T
y y
T
y
E E g x x X Y E g x E x X Y
E g x x E X Y
E g x
22 2( ) ( ) y yE g Y X E E g Y x Y E E x X Y
これが最小になるのはyxYg )( の時。
YXEYg )( が最小分散推定値となる
つまり、
)(Yg と無関係
15
ガウス分布の条件付期待値
yyAxyxEx 0ˆ
yyxExyxExET yxxx A 0
yxyyA 0
TT
TT
yyyx
xyxx
yyyyExxyyE
yyxxExxxxE
注:ガウス分布でないとき線形最小分散推定値となる bAyx ˆ
10
yyyxA
TTyy
Txy A0 より上の共分散
は
Tyyxx AA 00
16
11 12
12 22
122 11 12 22 12
1 11
1 1 1
111 12 22 12
112 22
22
112 22
[ ]
,
is nonsingular, is nonsingular
1. ( )
:
:
2.det( ) det( )det( )
( )
=0
TT
T
T T
T
n
n
X X Y
X Y Z Y X Y
X
Y
Z
X Z
I
I
補題
証明1
11 12 22 12
12 22
0T
T
証明
17
条件付確率密度関数
1 2
1/ 2 1/ 2
1 2
1 / 2 1/ 2
11, 2
2
1 1 11 12
( ) / 2 1/ 22 2 12 22
1 1( ) ( ( ) ( ))
(2 ) (det( )) 2
:
1( ( ) ( )) (2 ) (det( ))
2
( )
1 1( ( )
(2 ) (det( )) 2
Tn
T
n
T n
TTn n
p X Exp X X
X
Exp d
Xp p X X
X
XExp
X
1
1 1
2 2
1
1 1 11 12 1 1
2 2 12 22 2 2
1 11 1 1 1
1 1 12 2 2 2
11 1 2 2 1 1 2 2
( ))
( ) ( )
( )
( ( )) ( ( ))
TT
T
T T
T
X
X
X X
X X
X XX X Y
X XX Y Z Y X Y
X Y X X X Y X
1
2 2 2 2( ) ( )TX Z X
18
1 2
2
1
12 1 2 1 2 2 2 2( )/2 1/2
11 1 2 2 1 1 2 2 1
12 2 2 2/2 1/2
1 21 2
2
/2
1 1( ) ( , ) ( ( ) ( ))
2(2 ) (det( ))
(( ( )) ( ( ))
1 1( ( ) ( ))
2(2 ) (det( ))
( , )( | )
( )
1
(2 ) (det(
Tn n
T
Tn
n
p X p X d Exp X Z X
Exp X Y X X X Y X d
Exp X Z XZ
p X Xp X X
p X
1 2
1
1 2 2
1
1 1 2 21
2
1 1 2 2/2
1( ( ( )) ( (
{ | } ( )
{ | }
)))2))
T
E X X
Exp
Y X
Var X X X
X Y X X X Y XX
偏差と観測値の‘直交条件’
20
112 22
12 22 12 12
12 22
112 22
ˆ{( ) } ?
ˆ ( ),
{( ( )) } {( ( ))( ) }
0 0 0
0
T
T T
E x x y
x x Y y y Y
E x x Y y y y E x x Y y y y y y
Y Y
Y
Y
Y
逆に を知らなくとも、
より、 が出る
21
線形カルマンフィルタ•対象モデル
nRx k ][ 状態ベクトル
][][][][
][][][]1[
kkkk
kkkk
wxCy
vxAx
観測ベクトル
lRy k ][
状態外乱ベクトル
nRv k ][
観測外乱ベクトル
lRw k ][
0[ ][ ] [ ] [ ]
0[ ]T T k
k
QkE k l k l l
Rk
vv w
w
1k k k
k k k
x Ax v
y Cx w
22
•線形カルマンフィルタ初期推定値 とその予測誤差共分
散1|0ˆ x 1|0 P
1
1|1|
k
Tkkkk
Tkkkk RCPCCPW
)ˆ(ˆˆ 1|1|| kkkkkkkkk xCyWxx
kkkkk xAx ||1 ˆˆ
1.カルマンゲインを計算
2.前回の予測推定値を観測値との誤差で修正
4.推定誤差共分散行列を更新
3.予測推定値を計算
1|1|| kkkkkkkk PCWPP
( )1| | | | 1 | 1T T
A P P W C P A Qk k k k k k k k k k k k k k k k k kP A P A Q
23
•証明[ ]
[ 1] [ ][ ]
[ ] [ ][ ]
0
0
[ 1]
[ ]
kk k
kk k
k
x x k
y y
xx A I
vky C I
w
と考える
1| 1 | 1
| 1 | 1
[ ]
[ ]
ˆ ˆ
ˆ ˆk k k k
k k k k
k
k
x A x
y C x
誤差ベクトルの同時確率密度関数の分散は以下のように計算される
| 1 | 1
| 1
[ 1] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] : [ ] , [ ] : [ ] [ ]
: { [ ] [ ]}
[ ]
k k k kT
k k
k
k k k k
k k k k
x k x k x y k y k C k xx A x v
P E x k x ky C x w
A k A
| 1 | 1
| 1 | 1
[ 1] [ 1] [ 1] [ ]
[ ] [ 1] [ ] [ ]
T TT Tk k k k k k k k
T TT Tk k k k k k k
k k k k
k k k k
A P A Q A P Cx x x yE
C P A C P C Ry x y y
両辺の条件無しの期待値をとる。(k-1時刻までの情報による期待値)
|, [ ]
[ ]
i jP y j
x ii | jxただし、 はそれぞれ まで観測された
ときの の条件付期待値及び条件付分散である
24
| 1
| 1
| 1
| 1
1
1| 1 | 1 | 1
ˆ ˆ
ˆ
ˆ
( [ ] )
ˆ( ( ) ( [ ] ))
k k k
k k k
Tk k k k
Txy k k k k
xy yy
T Tk k k k k k k k k k
A x
y C x
C P C R
A P C
z x y k y
A x P C C P C R y k y
k+1|k
yy
X=x[k+1], Y=y[k]ここで と考える x=xと は
x=
として
1
| 1 | 1 | 1 | 1
1
| 1 | 1 | 1 | 1
| 1 | 1
( )
( )
T T T Tzz k k k k k k k k k k k k k k k
T T Tk k k k k k k k k k k k k k
Tk k k k k k k k k
A P A Q A P C C P C R C P A
A P P C C P C R C P A Q
A P W C P A Q
25
従ってゲインを次のように定義し、
1
1|1|
k
Tkkkk
Tkkkk RCPCCPW
)ˆ(ˆˆ 1|1|| kkkkkkkkk xCyWxx
kkkkk xAx ||1 ˆˆ
最適な推定値は次式で与えられる
1|1|| kkkkkkkk PCWPP
kTkkkkkk QAPAP ||1
| |ˆk k k kx P、 を次の式で定義すると、
26
シミュレーション例•3次の AR モデルのパラメータ推定
kkkkk wyayayay 332211
Tk aaax 321
kk xx
1
1
1
1
kkkkkk wxyyyy 321
•状態空間モデル
28
線形カルマンフィルタ(入力あり)
•対象モデル m
k Ru 入力ベクトル
ほとんど同様に計算できる
1
1|1|
k
Tkkkk
Tkkkk RCPCCPW
)ˆ(ˆˆ 1|1|| kkkkkkkkk xCyWxx
1|1|| kkkkkkkk PCWPP
kTkkkkkk QAPAP ||1
1k k k k k k
k k k k
x A x B u v
y C x w
1| |ˆ ˆk k k k k k kx A x B u (条件なし期待値の計算)
白色化フィルター(イノベーションプロセス)
29
1
| | 1 | 1
1| |
| 1 | 1 | 1 | 1
| 1
ˆ ˆ ˆ( )
ˆ ˆ
ˆ ˆ ˆ ˆ
ˆ:
) )
:
( (
k k k k k k
k k k k
k k k k k k k k k
k k k k k k
k k k
k
k k k k k k k k k k k k k k k k k k k k
k
k
k k
k k
y C x
x A x B u v
y C x w
x x W y C x
x A x B
K A W
u
A x W y C x B u A x B u A W y C x
元のシステム
状態推定器
システムの
1| | 1
| 1
ˆ ˆ
ˆ
, ,
k k k k k k k k k
k k k k k
k k k k
x A x B u K
y C x
A B C v
別表現
が一定の場合、 が白色信号であることが示せる
30
拡張カルマンフィルタ[ 1] [ ] [ ]( , ) [ ]k k kx f x u v k
[ ] [ ] [ ]( )k k ky h x w
[ 1] [ ] [ ] [ ] [ ] [ ]ˆ ˆ( , ) ( ) [ ]k k k k k kx f x u A x x v k
][][][][][][ )ˆ()ˆ( kkkkkk wxxCxhy
][ˆ
)(][
kxxx
xfA k
][ˆ
)(][
kxxx
xhC k
31
•拡張カルマンフィルタの更新式
),ˆ(),ˆ(ˆ ][][][][][][]1[ kkkkkkk uxhyWuxfx
1][][][][][][][][
kkkkkkkk RCPCCPAW TT
][][][][][][][][][]1[ kkkkkkkkkk TTT WRCPCWAPAP
[ 1] [ ] [ ] [ ] [ ] [ ]
[ ] [ ]
ˆ ˆ( , ) ( ) [ ]
ˆ ˆ[ 1] : ( , )
ˆ[ 1] [ ] [ ] [ ], [ ] : [ ] [ ]
k k k k k k
k k
x f x u A x x v k
x k f x u
x k A k x k v k x k x k x k
(UKFの考え方も同じ)
32
と が既知x xxP y yyP と を推定
する)(xgy
: [ 1]
ˆ: [ 1 | ] { [ 1]} { ( [ [ ]], , )
: [ 1 | ]
ˆ ˆ {( [ 1] [ 1 | ])( [ 1] [ 1 | ]) }
xx
T
x x k
x x k k E x k E f x k k
P P k k
E x k x k k x k
v k
x k k
[ 1] ( [ 1], 1, [ 1])
: ( [ 1])
y k wh x k k k
g x k
予測出力を用いた非線形カルマンフィルタ(1)
: [ 1]
ˆ: [ 1 | ] { [ 1]}
ˆ ˆ: {( [ 1] [ 1])( [ 1] [ 1]) }Tyy
y y k
y y k k E y k
P E y k y k y k y k
( , )
[ 1] [
[
]
1]
1
[ ]y y k y
p x y
x x k x x k
y k
の同時分布の考え方で予測出力を用いた場合
今までは
33
予測出力を用いた非線形カルマンフィルタ(2)
[ 1] ( [ ], , [ ])x k f x k k v k [ 1] ( [ 1], 1, [ 1])y k h x k k w k
ˆ ˆ( 1| 1) ( 1| ) ( 1) ( 1)x k k x k k W k v k )1()|1()1()|1()1|1( kWkkPkWkkPkkP T
vv
)|1()|1()1( 1 kkPkkPkW vvxy
システムを逐次線形近似( EKF )
統計モーメントを近似( UKF )
]|1[]1[]1[ kkkk yyv
予測出力を用いた拡張カルマンフィルタ
3434
[ 1] [ ] [ ]( , ) [ ]k k kx f x u v k
]1[]1[]1[ )( kkk wxhy
[ 1] [ ] [ ] [ ] [ ] [ ]ˆ ˆ( , ) ( ) [ ]k k k k k kx f x u A x x v k
ˆ[ 1] [ ], [ ]) ( )( [ ] [ ]
[ ], [ ])) ( ) [ ] [ ] [ 1] ( 1) [ ]
ˆ( ( ) [ ]) [ 1]
ˆ ˆ( ( ( 1) ( )
k k u k A k x k x k
k u k A k k k k C k v k
y h f x v k w k
h f x C k x x w
][ˆ
)(][
kxxx
xfA k
ˆ( [ ], [ ])
[ 1]( )
x f x k u k
kh x
Cx
等価外乱
35
Unscented Kalman Filter ( UKF)
•拡張カルマンフィルタの問題点•線形近似する際にヤコビアンを計算しなければなら
ない
(不連続なシステム、 Hard Nonlinearity )•推定値にバイアスが乗ることがある
システムを近似するより統計量を近似するほうが容易数カ所のサンプル点( Sigma Points )を選び、集合平均的に統計量を近似する
と が既知x xxP y yyP と を推定
する)(xgy
Unscented Transformation
(U変換)
•発散することもある
(平均値の変換は変換後の平均値になると仮定している)
36
Sigma Points の考え方nx R x
xxを平均値 、分散行列 の確率変数ベクトルとする
xに対して、2n+1個の代表点 (i=0,1, ,2n)i を考えて、それぞれの
離散点の生起確率を iWとする。ただし、 i の集合的統計的性質は2次の
モーメントまでは一致させる 2 2n
i i0 i=0
, n
T
i i i xxi
W x x x W
( )
( )i i
y g x
g
1y2y
2 2n
i i0 i=0
ˆˆ ˆ ˆ , n
T
i i yy yy ii
y y W y y W
37
UKF の計算手順
3.予測共分散 、 を計算する
)|1( kkPxy )|1( kkPyy
2. Sigma Points を基に予測値 、 を
)|1(ˆ kkx 計算する
)|1(ˆ kky
4.カルマンゲイン を計算する)1( kW
6 .推定値 と共分散 を更新する
)11(ˆ kkx )11( kkP
1.適切なサンプル点( Sigma Points )を推定値 と
)(ˆ kkx共分散 から選ぶ
)( kkP
5 .観測値 が得られる
)1( ky
38
UKF:Sigma Points
κn
κW
0
]|[]|[ ˆ kkkk x0X
i
kkPnkkxkk ]|[)(]|[ˆ]|[ iX
)(2
1
nWi
i
kkPnkkxkk ]|[)(]|[ˆ]|[ niX
)(2
1
n
W ni
NM とするとTNNM である 番目の列ベク
トルi
ni ,,2,1
Rκ
40
UKF : Sigma Points の性質
][ˆ][2
0
kkxkkWn
ii
iX
平均
分散
Tn
ii kkxkkkkxkkWP ][ˆ][][ˆ][
2
0
ii XX
1
2 ( ) ( ) ( )n T
ii ii
W n P k k P k k
1
( ) ( )n T
i ii
P k k P k k
)( kkP 平均、分散は一致している点の集合
41
補足
1 2 1 2( | )
( )
T
n n
ii
P k k v v v v v v
v P k k
とすると
1
2
1 2 1
1
1
21 2 1
1
1
( | ) ,
T
T
n
n
T
T nT
n j jj
T
n
Tn
Tn
n
n
v
v
P k k v v v
v
v
vv v v
v
v v
v
v
v v
42
1. は新の平均値 を2次の order まで近似
( EKF は1次の order まで近似)
2. は を3次の order まで近似(これは EKF と同じ)
3. はチューニングパラメータ
が Gaussian の場合 と選ぶのが良い
Sigma Points を用いた推定の性質
y y
ˆyy
x
3n
yy
3
CKF(Cubature KF)
n
の時 が負となる フィルターが不安定化しやすい
ベイズ推定の積分近似より導かれた の利用も(代表点の選び方と生起確率が少し異なり2nの点を生成)
43
UKF :共分散行列の更新
),( ][]|[]|1[ kkkkk uf ii XX
]|1[]|1[2
0
ˆ kkkkn
iiWx
iX
n
ii kkkkkk xWP
2
0
]|1[]|1[]|1[ ˆiX Tkkkk x ]|1[]|1[ ˆ iX
1.Sigma Points を状態遷移関数で遷移させる
2.遷移させた Sigma Points の集合平均で予測平均を近似する
3 .遷移させた Sigma Points の集合分散で予測分散を近似する
44
),( ][]|1[]|1[ kkkkk uh ii XY
4 .Sigma Points を観測関数で遷移させる
5 .遷移させた点の集合平均で予測観測値を近似する
6 .遷移させた Sigma Points の集合分散で予測分散を近似する
n
iiyy kkkkkk yWP
2
0
]|1[]|1[]|1[ ˆiY Tkkkk y ]|1[]|1[ ˆ iY
]|1[]|1[2
0
ˆ kkkkn
iiWy
iY
n
iixy kkkkkk xWP
2
0
]|1[]|1[]|1[ ˆiX Tkkkk y ]|1[]|1[ ˆ iY
45
[ 1] [ 1] [ 1 | ] [ 1 | ] [ 1]ˆv k k k k k k w ky y y 7 . イノベーションの予測共分散を計算する
8 . カルマンゲインを計算する
]|1[]1[]|1[ kkkkk yyvv PRP
]|1[]|1[]1[ 1 kkkkk vvxy PPW
9 . 観測値 から推定値を更新する
]1[ ky
]1[]1[]|1[]1|1[ ˆˆ kkkkkk vWxx
10 . 予測誤差共分散を更新する
]1[]|1[]1[]|1[]1|1[ kkkkkkkk Tvv WPWPP
ノイズがアフィンでない場合• 上記の説明では観測ノイズが状態変数と独立で、アフィンな形で加わっていた(ノイズの影響は分散行列の和として計算可能)
• ノイズがアフィンでない場合は状態とノイズの拡大した変数を考えてシグマポイントを生成して同様の計算を行う。(ただし、その分計算量が大きくなる。また、状態と両ノイズに相関がないので、平均の状態にノイズが加わった形での評価となる。)
2
[ 1] ( [ ], [ ]) : ( [ ])
[ 1] ( ( [ ], [ ]), [ 1])) : ( [ ])
[ ]
[ ] : [ ]
[ 1]
ˆ [ | ][ | ]
, [ ]0
[ 1|]0a a
a a
a a
n pa
a x x
x k f x k v k f x k
y k h f x k v k w k h x k
x k
x k Rv k
w k
P k kx k k
x P Q k
R k
不安定化への対処の方法
• 状態外乱の共分散行列を大きめに設定する (真の値を用いずに調整パラメータと考える)
47
CKFアルゴリズム
2
1
1 2
( ) ( ) ( ), (0, )
( 1, , )1,
2 ( 1, , 2 )
n
x i ii
ii i
i n
n n
f x p x dx w f x N I
ne i nw
n ne i n n
I e e e
~ ( , )
( ) ( ) ( 2 ) ( )y x
y N
f y p y dy f x p x dx
~
49
シミュレーション例
• 状態方程式 )()()(
11 tubtxadt
tdx
• 観測方程式 1 1sin(( ) ( ) 4 (( )) )xy t tx t w t
を観測
)(ty
状態 と未知パラメータ 、 を
同時に推定する
)(1 tx a b
:既知
、 :未知パラメータa b
51
逐次最小二乗法
]1[ˆ]1[][]1[]2[]1[
]1[]2[]1[ˆ][ˆ
kkkykkPk
kkPkk T
T
Tkky ]1[][
出力、入力から計算される非線形関数ベクトル
未知パラメータベクトル
出力
]1[]2[]1[1
]2[]1[]1[]2[]2[]1[
kkPk
kPkkkPkPkP
T
T
0]1[ P
55
• バックラッシュ– 多くの機械システムに存在する– 制御性能の悪化、振動現象
• バックラッシュを考慮した制御は実用上非常に重要– 一般には、全ての状態が直接観測されない
• バックラッシュを含むシステムの状態推定• 微分方程式はスムーズでない⇒UKFの適用
– バックラッシュ補償• システマティックに最適制御系を実現したい• バックラッシュ系は非線形系(非線形最適制御フィードバック制
御)⇒非線形モデル予測制御の適用
56
モデル
vx
xy
2
1
)(1
)(1
422
4
311
3
42
31
xDM
x
xDuM
x
xx
xx
c
c
状態方程式
ダンパ要素
バネ要素
伝達トルク
:),(
:)(
,
:),()(
4321
G
F
xxxx
GFc
v:センサノイズ
観測方程式
M1
M2
回転系と直動系の両方を表現可能
58
推定シミュレーション
観測値 ( ノイズ:標準偏差 0.05 の正規外乱 )
(rad)(rad)
駆動部位置被駆動部位置
[Nm] 入力 (±100[Nm] の矩形波 )
モデルパラメータ 1
[kgm2][kgm2]
[Nm/rad][Nms/rad][Nms/rad]
(rad)
モータの慣性モーメントアームの慣性モーメント接触トルクのばね係数接触トルクのダンパ係数
シャフトの摩擦係数バックラッシュ幅
2
1
x
x
2.02
1.0,1.0
0.10
1000
0.2
0.1
21
2
1
B
DD
D
K
M
M
u
シミュレーション条件 ( 回転系 )
59
推定シミュレーション結果• モデル誤差無し
誤差平均 EKF UKF
誤差共分散 EKF UKF
4
3
2
1
x
x
x
x
3
4
4
4
1011.4
1011.1
1001.5
1074.9
3
5
3
3
1001.1
1073.8
1044.4
1072.9
4
3
2
1
x
x
x
x
1
4
4
1018.1
29.1
1012.1
1086.2
2
1
5
4
1001.6
1020.4
1019.8
1093.1
0
0.2
0.4
0.6
0.8
1x1
x2
x3
x4
平均共分散
EKF を 1 とした
誤差平均・共分散の絶対値の比率
60
推定シミュレーション結果• モデルのバックラッシュ幅に誤差が -10%
誤差平均 EKF UKF
誤差共分散 EKF UKF
4
3
2
1
x
x
x
x
3
3
4
4
1096.8
1094.3
1044.1
1044.7
3
3
4
4
1005.4
1012.1
1026.1
1037.7
4
3
2
1
x
x
x
x
1
4
4
1019.1
31.1
1000.1
1090.2
2
1
5
4
1020.7
1033.4
1030.7
1095.1
0
0.2
0.4
0.6
0.8
1x1
x2
x3
x4
平均共分散
EKF を 1 とした
誤差平均・共分散の絶対値の比率
61
制御則• バックラッシュ補償制御
– 駆動部分を動かし、被駆動部分を早く制御– 被駆動部分の振動を抑える
Receding Horizon Control (RHC) を適用– 予測ホライゾン:有限長の評価区間– 予測されるプラントの振る舞いが最良となる入力を選択
C/GMRES法+システムの切り替えを陽に考慮 (速度の不連続性にも対応可)Direct Multiple Shooting (DMS)法
62
制御則• 入力の微分値を制御器より求める
– モデルの状態変数を拡張(新たな入力 v )
– システムの切り替え時にも入力計算を安定化
),(
),(
vxfx
v
uxf
u
x
拡大システム
Tuxxxx ,,,, 4321
63
制御則• 評価関数
–終端コスト関数・コスト関数:参照軌道との二乗誤差( Δτ で離散化したシステムを考える)
1
0
**** ))(),(()(JN
iiiN tvtxLtx
})(){(2
1:
)()(2
1:
RvvxxQxxL
xxSxx
Tr
Tr
rNNfT
rNN
64
制御則
M
k
M
k
k
kiiik
TkN tvtxHtxtx
k1 1
/)1(
/)(
**** ))(),(())(()(J
–ホライゾン上で M 回システムの切り替えが起こる
– 内点拘束として随伴
• システムの拘束、切り替えを含めた評価関数
• Hamiltonian
共状態変数
)f(x,)L(:H vvx,
66
制御則• システムの切り替えを考慮
– 内点拘束で表現
02
))()(( 2221
Bxx kkk
え時刻ホライゾン上の切り替:
)()(
)()()(
k
kk
k
T
k
kkk
HH
x
• 内点拘束による条件
67
シミュレーション• RHC
– 制御周期 10 [ms]– 予測ステップ 20 (200[ms])– 評価関数のパラメータはPSOなどを用いて探索
LQR 制御と比較–ただし、 LQR では2質点は常に接続状態であるとして、フィードバックゲインを求める(RHCの場合の重みとは異なる)
–RHC と同程度の立ち上がり時間の応答で比較
–状態推定にはともに UKF を用いる
–制御周期は1 [ms]
68
制御則
• 駆動側の参照軌道– 被駆動部に対し接触面で相対速度 0
4
222
3
1 )sgn(
x
Bxxx
x
x r
r
r
• 被駆動部の参照軌道– 被駆動部の目標位置をステップ関数で与え
る2
4
1
0r
r
x
x
• 参照軌道– 目標状態までの軌道
Trrrrrr uxxxxx ][ 4321
69
シミュレーション観測値 ( ノイズ : 定常偏差 0.05 の正規外乱 )
(rad)(rad)
駆動部位置被駆動部位置
[Nm] 入力モデルパラメータ 2
[kgm2][kgm2]
[Nm/rad][Nms/rad][Nms/rad]
(rad)
モータの慣性モーメントアームの慣性モーメント接触トルクのばね係数接触トルクのダンパ係数
シャフトの摩擦係数バックラッシュ幅
2
1
x
x
04.02
01.0,01.0
0.10
2000
0.2
0.1
21
2
1
B
DD
D
K
M
M
u
72
モデルパラメータ観測値
モータの位置アームの位置入力トルク
モデルパラメータモータの慣性モーメン
トアームの慣性モーメン
ト接触トルクのばね係数接触トルクのダンパ係数
シャフトの摩擦係数バックラッシュ幅
)(
)(
2
1
radx
radx
)(2.02
]/[01.0,01.0
]/[001.0
]/[100
][025.0
][00625.0
21
22
21
radB
radNmsDD
radNmsD
radNmK
kgmM
kgmM
][Nmu
75
UKF を用いたモデル予測制御の課題
• 状態推定– UKF によって制御に必要な状態量を推定– バックラッシュを含むシステムに対して EKF よりも高い精度
• 制御– C/GMRES法を適用– 素早い応答– 振動抑制
• 課題– 現実のバックラッシュシステムに対する本手法の有効性の検証
76
まとめ( EKF と UKF の比較)
• UKF は EKF が適用できないような不連続 システムにも適用できる• 非線形なシステムにおいてより正確な推
定を 行える• 実装が容易(計算時間は大きい)• 離散 UFK 、連続-離散 UKF(Sarkka) の有
効性の実験的検証
77
参考文献• 片山徹著:新版応用カルマンフィルタ 朝倉書店• A.H.Jazwinski: Stochastic Processes and Filtering Theory, New York:Academic, 1970• G.C.Goodwin and K.S.Sin :ADAPTIVE FILTERING PREDICTION AND CONTROL ,
PRENTICE-HALL (1984)• C.Chui and G.Chen: Kalman Filtering with Real-Time Applications, 4th ed., Springer
(2009)• S.J.Julier and J.K.Uhmann :A New Method for the Nonlinear Transformation of Means and
Covariances in Filters and Estimators」 ,IEEE Trans.Autom.Contr. Vol.45,No.3 (2000)• T.Lefebvre,et.al「Comment on “A New Method for the Nonlinear Transformation of Means
and Covariances in Filters and Estimators」• S.J.Julier and J.K.Uhmann 「 A General Method for Approximating Nonlinear Transformation
of Probability Distributions」 [Online]1996 • E.A.Wan and R. Merwe : The Square-Root Unscented Kalman Filter for State and Parameter
Estimation, Proc. Of Int. Conf. on Acoustics, Speech, and Signal Processing (2001) • S.Julier and J. Uhlmann : Unscented Filtering and Nonlinear Estimation, Proceedings of The
IEEE, Vol. 92, No. 3, (2004)• M.Yamakita et. al. : Comparative Study of Simultaneous Parameter-State Estimations, Proc.
of CCA 2004 (2004)• 山北: UKF って何? ,, システム制御情報学会 (2006) • M.Saito, M.Yamakita: MPC for a Simplified Transmission Model with Backlash Using UKF,
Proc. of CCA2006, pp.527/532 (2006)• S.Sarkka: On Unscented Kalman Filtering for Sate Estimation of Continuous-Time Nonlinear
Systems, IEEE Trans. Autom Contr., Vol.52, No.9 (2007)
種々の手法の推定法の概略
79
F)
F)
( (0))p x
2.
誤差の分布がガウス分布に従うと近似して、解析的に条件付期待値を計算
3. 状態の分布を2
拡張カルマ
次の統計量まで近似して、解析的に条件付期待値を計算
4. 初期状態分布に基づき代表点を生成し、各代
ンフィルター(EK
UKF(無香料カルマンフィルター)
アンサンブルカルマンフィルター点
(EnK表
1.
をガウス分布に従うとして、解析的に条件付カルマンフィルタ
期待値を計算ー(KF)
の値を解析的に更新する。 条件付期待値は各点より集合平均的に数値計算する。
5. 分布を代表点の数の分布で近似し、条件付確率分布を解析的に近似する。 条件付確率分布に従って粒子を再サンプリン
パーティクルフィルター(粒子フィルター
グし、条件付期待値を集合平均で
)
求める。
82
EnKF (アンサンブルカルマンフィルター)The EnKF uses Monte Carlo sampling and the number of sampling points N is not related to the dimension of the augment state.
② Transform each particles as follow
① Generate N particles from
The EnKF can handle any non-Gaussian noises.
The EnKF uses fewer particles than the Particle filter [Gillijns,06] etc.
Advantage of EnKF
⑤ The updated state estimate is computed as the mean of the updated particles.
④ Update each particles as follow,
Use same kalman gain for all particles.
③ Calculate mean and covariance matrix
( ) ( )| 1 | 1 | 1 | 1
( ) ( )| 1 | 1 | 1 | 1
1ˆ ˆ( )( )
11
ˆ ˆ( )( )1
yy i i Tk k k k k k k k k
xy i i Tk k k k k k k k k
P y y y yN
P x x y yN
パーティクルフィルター
83
1 1 1
1
( )0 0
( )1 1
( ) ( ) ( )1 1
( , ), ,
( , ) ( ( , )
1. ( 1, , ) ( 0)
2. (
( )
( ) ( , ) ( 1, ,
,
)
)
1
)
(
,k k k k k
k k k k k k
i
ik k
i i ik
n pk k
k k
R y v R
k
x f x w x w
y h x v v h x y
x x i N k
k
i w w
ii x f x w i N
iii
ただし、 が存在)
の分布に従って を生成
以下を繰り返す
の分布に従って を生成
を計算
( )
1
1 2 1 2
1
1( 1
)
)
(
( , )( : , : )
( , )( ) ( )
( , )( | ) ( ( , )) :
(
( | )
)
k kk k k k k vp k k k vp
k
k kk k k k
i
k
i k kk k k k
k
i
k k
k
k
h x ydv dy dv dv dv d dy dy dy y
y
h x yp v dv p v dy
y
h x yp y x p h x y
y
p y x
iv x
c
を次の式によって計算
1= より
の頻度(確率)は代 (表点 粒子)の数
( )
(( )( ) ( ) ( )
( ) ( ) ( )
1 1
( ) ( )
( )
( )
1
)
1
( | ) ( ) /
( | ) ( )
( | )
( | )/
( | )
( | )
i i ik k k k
N Ni i i
k k k
ik
ki i
i ik k
ik k
ik
k
ik k k
i
i
k N
k
N
p y x p x c N
p y x p x c N
p x y x
p x y
p x
x p x
c
y
cy
で表しているので、1つの粒子の
再サンプリング
確率は全て である。よって は次式で計算される。
この に基づいて を する。
( の分布は の分布となる)
( ) ( ) ikv x条件付期待値は の単純平均
課題1
84
1 0 1 0
1 0 1 0
ARMA ( )
( ) ( 1) ( 2) ( ) ( 2) ( 2), ( 0)
0.4, 0.64, 0.2, 0.9, ( 1) (0) 0 ( )
0.1
y k
y k a y k a y k w k w k w k k
a a y y w k
次の モデルで表されるシステムについて の最小分散予測を行い、ノイズのモデルを無視した場合と予測誤差の統計的分散を比較しなさい。
ただし、 とし、
は平均ゼロで分散 の正規白色ノイズであるとする。 ( )
( 1) ( )
y k
y k y k
また、 の予測とは、 以前のデータとシステムのパラメータのみからを推定することである。
課題 2- ( 1 )
2009/08/24 85
1
1
1 1
2 2
3 1
4 2
x
xx
x
x
y1 1 2 1 2cos( ) cos( )y l l n
平面 2リンクマニピュレータ
課題 2- (2) 運動方程式
1 1
2 2
1
2
21
22
1 2
2
0.5[ ], 1.0[ ]
0.25[ ], 0.5[ ]
10[ ]
5[ ]
5[ ]
0.5[ ]
0[ / ]
9.8[ / ]
l m a m
l m a m
m Kg
m Kg
I Kgm
I Kgm
d d Nms rad
g m s
1 1 1 2 1 1 2 1 2
2 2 1 2
cos( ) ( cos( ) cos( ))
cos( )
m l m a lg
m l
課題 2- (3)
87
1 2 1 2
1
2
21
1 1 2
( ) ( ) ( ( ), ( )) ( ), ( ) : ( ) ( ) , ( ) : ( ) ( )
( )( )( ) : :
( )( )
( )( ) : ( ( ), ( ))
( ( ))( ( ) ( ( ), ( )))
[ ] : ( ), [ ] :
T T
c
cc
c
cc c c c
c c c c
c s
D q q t h q t q t t q t t t u t t t
x tq tx t
x tq t
x tx t f x t u t
D x t u t h x t x t
x k x kT u k
1 1 2 1 2
( ), 0.01[ ]
[ ] : ( )
[ 1] [ ] ( [ ], [ ]) : ( [ ], [ ])
[ ] cos( [ ]) cos( [ ] [ ])
c s s
s
c c
u kT T s
y k y kT
x k x k f x k u k T f x k u k
y k l x k l x k x k n