More Related Content
Similar to 確率的自己位置推定 (20)
確率的自己位置推定
- 13. ベイズの定理理
• Θ
(パラメータ): 隠された真実(状態/⾃自⼰己位置)
• D
(データ) : 観測結果
- 18. 例例
• この場所でこの⽅方向を向いていると、
• こんな景⾊色が⾒見見える
• こんな景⾊色が⾒見見えるなら、
• この場所でこの⽅方向を向いてそう
– この場所+この⽅方向 :Θ パラメータ/原因
– こんな景⾊色 :D データ/結果
尤度度
P(D|Θ)
事後確率率率
P(Θ|D)
- 20. ベイジアンの解答
⾃自分が選んだカーテン:
A
司会者の開けたカーテン:
X
• P(Aが正解|X=B)
=
P(X=B|Aが正解)
P(Aが正解)
/
P(X=B)
=
1/2
1/3
/
P(X=B)
=
1/3
• P(Cが正解|X=B)
=
P(X=B|Cが正解)
P(Cが正解)
/
P(X=B)
=
1
1/3 /
P(X=B)
=
2/3
情報
事前分布 事後分布
- 27. カルマンフィルタ
• カルマンフィルタだと、
– すべての分布を正規分布で考える
– 状態モデルと観測モデルは線形
⼀一番簡単な、
• 状態空間と観測空間が同じで1次元の場合
例例えば、1⽅方向にだけ平⾏行行移動+ポテンショ
確率率率考えないなら、
「 ⾃自⼰己位置 = ポテンショの値 」
確率率率を考えると ・・?
- 28. モデル化
1. 最初は
x
=
0m
の地点にいる
2. 右に5m進むぐらいモータ回した
– ⼊入⼒力力
u1
=
5
3. ポテンショはx
=
2mだと⾔言っている
– 観測値
z1
=
2
ノイズ
(正規分布)
⼊入⼒力力
状態遷移モデル
観測モデル
x0 = 0
x1 = 0 + 5 + (-‐‑‒2)
= 3
こうなってたかも?:
z1 = 3 + (-‐‑‒1)
= 2
- 29. t-‐1での推定値
平均 0
分散 0
tでの推定値
平均 5
分散 2⼊入⼒力力
平均 5
分散 2
予測ステップ
• 状態遷移モデルから導く
– 分散が必ず増⼤大する
平均
分散
- 30. • 観測モデルを尤度度として、ベイズ推定
– 平均は内分点
– 分散は必ず減少
1
-‐
k
:
k
ただし、
予測値
平均 5
分散 2
観測値
平均 2
分散 1
推定値
平均 3
分散 2/3
更更新ステップ
(k
=
2/3
)
- 31. ⼀一般の場合
1. 状態遷移に係数がつく場合
– 前の状態と⼊入⼒力力でどう次が決まるか
2. 状態空間と観測空間が異異なる場合
– ラインセンサで直接位置を⾒見見れるわけではない
3. 多次元の場合
– 直線でなく平⾯面を動く
4. (⾮非線形の場合)
- 33. ⼿手順
1. 状態変数を決める
2. 状態遷移モデルを⽴立立てる
3. 観測モデルを⽴立立てる
4. ⾮非線形ならヤコビ⾏行行列列を求める
5. 測定誤差の分散を決める
6. 式に代⼊入してプログラム書く
7. 実際に動かす・可視化する
- 34. 制御対象
• NHK2016のエコロボット
– 対向2輪輪
– センサ
• ラインセンサ
• 左右エンコーダ
– アクチュエータ
• 前輪輪の向きを変えるサーボモータ
• ⽬目的
フィールドの情報は予め知っているとして、
2つのセンサで、⾃自⼰己位置推定する
→⾃自⼰己位置に基づいて進⾏行行⽅方向を変える
- 44. 誤差楕円
• 収束具合も確認したい
→誤差楕円
「99%の確率率率でこの楕円の中にいる」
• 2次元正規分布(θは無視)の分散共分散⾏行行列列
• 固有値2つ
– ⼤大きい⽅方が⻑⾧長半径、⼩小さいほうが短半径
• 固有ベクトル2つ
– ⻑⾧長軸と短軸⽅方向
可視化のポイント
- 47. 確率率率分布の表し⽅方
1. カルマンフィルタでは
– 正規分布で近似
– 正規分布は2つのパラメータで完全に決まる
2. パーティクルフィルタでは
– ⽬目的の分布からのたくさんのサンプルで近似
– パラメータはサンプルの数だけ必要
• 確率率率の⾼高いところにサンプルが多い
• 確率率率の低いところはサンプル少ない
- 49. パーティクルフィルタ
• モンテカルロ位置推定
• 粒粒⼦子(パーティクル)の集合で確率率率分布を近似
– 状態空間上の点⼀一つ⼀一つが候補を表す
1. 予測
– 状態遷移モデル
2. 重み計算
– 観測モデルで尤度度計算
3. リサンプリング (世代交代)
– 重み付きサンプリング
- 50. モデル化
1. 最初は
x
=
0m
の地点にいる
2. 右に5m進むぐらいモータ回した
– ⼊入⼒力力
u1
=
5
3. ポテンショはx
=
2mだと⾔言っている
– 観測値
z1
=
2
ノイズ
(正規分布)
⼊入⼒力力
状態遷移モデル
観測モデル
x0 = 0
x1 = 0 + 5 + (-‐‑‒2)
= 3
こうなってたかも?:
z1 = 3 + (-‐‑‒1)
= 2
- 53. • 重み付きサンプリング
– 各パーティクルの重みに⽐比例例してサンプリング
– 重みの⼤大きいパーティクルは何回も選ばれる
– 重みの⼩小さいパーティクルは滅多に選ばれない
• 新しいパーティクルで前のパーティクルを置き換える
リサンプリング
本当の分布からサンプリングしたいけど
サンプルからさらにサンプリング
- 55. 特徴
• どんな分布でも表せる
• どんな複雑なモデルでも順⽅方向だけ簡単にできれば良良い
– 状態遷移モデルでサンプリング
– 観測モデルで尤度度計算
• ベイズの定理理との対応が分かりやすい
• ヤコビ⾏行行列列や分散を考えなくていい
• パーティクル数が多く必要 (1000とか)
- 56. V.S.
拡張カルマンフィルタ
• ガウス分布のみ…
• 計算速い!
• 実装が⾯面倒
• (理理解しづらい)
パーティクルフィルタ
• 任意の分布!
• 計算遅い…
• 実装が簡単
• (理理解しやすい)
Ensemble
カルマンフィルタ
Unscented
カルマンフィルタ
⼀一⼈人の気難しい天才
みんなで
⼒力力をあわせてがんばろー!
- 63. まとめ
• 因果を遡り、
• 主観確率率率の変化を計算するベイズ推定
• それを繰り返すベイズフィルタ
• 線形近似・ガウス近似して厳密に解くカルマンフィルタ
• たくさんシミュレーションして数値的に解くパーティク
ルフィルタ
• それらの⾃自⼰己位置推定などへの応⽤用
- 69. 参考
• ベイズ論論vs頻度度論論
hhp://qiita.com/MoriKen/items/09da26466c00500bcd68
• 1次元KF図解
hhp://qiita.com/MoriKen/items/0c80ef75749977767b43
• EnKFについて
hhp://qiita.com/g_rej55/items/618778dbb4bf286a985b
• ベイズ推定とパーティクルフィルタ
hhp://www.ic.is.tohoku.ac.jp/~swk/lecture/ic2010/
kagami_ic20100803.pdf
• 上⽥田隆⼀一(訳)「確率率率ロボティクス」毎⽇日コミュニケーション
ズ
• ⽚片⼭山徹「応⽤用カルマンフィルタ」朝倉書店
• 有本卓「カルマンフィルター」産業図書