おべんきょうwiki
カルマンフィルタ
最終更新:
yahirohumpty
-
view
カルマンフィルタ
誤差が正規分布であると考えられるときに現在の状態と誤差分布を求めることができる.
ここでは構成法にのみ注目する.
詳しい解説についてはWikipediaか関連書籍を読むとよい.
ここでは構成法にのみ注目する.
詳しい解説についてはWikipediaか関連書籍を読むとよい.
カルマンフィルター - Wikipedia
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%9E%E3%83%B3%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%9E%E3%83%B3%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E3%83%BC
利用するために必要な定式化
とりあえず決めなければならないことは,
状態ベクトル
と計測ベクトル
の構成である.
状態ベクトル
それができたら,状態方程式を構成する.
は入力ベクトル,
は誤差ベクトルである.
だが,ここで注目すべきは
は誤差項なので計算に直接は関わらないこと.
決めなければいけないのは
の共分散行列
である.
i.e.
は
の誤差共分散行列.
だが,ここで注目すべきは
決めなければいけないのは
i.e.
次に計測方程式を構成する.
現在の状態から計測値を求めるということに注意.単なる推定の逆になっている.
ここでも
は誤差項なので決めなくてよい.
の共分散行列
を決める.
i.e.
は
の誤差共分散行列.
現在の状態から計測値を求めるということに注意.単なる推定の逆になっている.
ここでも
i.e.
まとめると,カルマンフィルタでするべきことは,
-
と
を決める.ついでに
も決める.
-
と
の関係から
を決める.
-
と
の関係から
を決める.
-
と
の関係から
を決める.
-
の構成要素から
を決める.
-
の構成要素から
を決める.
肝は
と
をどう決めるかである.
適当な値を入れても計算はできるが簡単に発散する.
むやみに小さな値を入れても発散する.
うまいこと調整するといい.
適当な値を入れても計算はできるが簡単に発散する.
むやみに小さな値を入れても発散する.
うまいこと調整するといい.
アルゴリズム
一時刻前の状態を
,共分散を
とすると,
拡張カルマンフィルタ
カルマンフィルタはすべてが線形でないと構成できない.
拡張カルマンフィルタは線形化を施すことで非線形に拡張したもの.
拡張カルマンフィルタは線形化を施すことで非線形に拡張したもの.
利用するために必要な定式化
まずは状態方程式と計測方程式を立てる.カルマンが非線形なだけだから問題ないはず.
すなわち状態方程式と計測方程式はそれぞれ次のようになる.
すなわち状態方程式と計測方程式はそれぞれ次のようになる.
ここで問題なのは状態関数
と計測関数
のヤコビアン
を求める必要があること.
場合によっては超難しいが高校数学を駆使すればできなくもない.
あとはMathematicaを使おう.ただし最初から使うと泥沼化しかねないので注意.
場合によっては超難しいが高校数学を駆使すればできなくもない.
あとはMathematicaを使おう.ただし最初から使うと泥沼化しかねないので注意.
拡張カルマンフィルタですべきことは,
- 基本的にはカルマンのときと一緒だが,
-
の代わりに
を決める.
-
の代わりに
を決める.
-
の
に関するヤコビアン
を求める.
-
の
に関するヤコビアン
を求める.
アルゴリズム
カルマンフィルタの一部を
に直しただけ.
補足
カルマンフィルタ,拡張カルマンフィルタは長いのでKF,EKFと略されることが多い.
誤差が正規分布にのっとらない場合は素直にパーティクルフィルタ使おう.
誤差が正規分布にのっとらない場合は素直にパーティクルフィルタ使おう.
参考文献
Thrun et. al.: "確率ロボティクス" , 毎日コミュニケーションズ , 2007.
Amazon.co.jp: 確率ロボティクス (ROBOT books): Sebastian Thrun, Wolfram Burgard, Dieter Fox, 上田 隆一: 本
http://www.amazon.co.jp/%E7%A2%BA%E7%8E%87%E3%83%AD%E3%83%9C%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9-ROBOT-books-Sebastian-Thrun/dp/4839924015/ref=sr_1_1?ie=UTF8&s=books&qid=1222852098&sr=8-1
Amazon.co.jp: 確率ロボティクス (ROBOT books): Sebastian Thrun, Wolfram Burgard, Dieter Fox, 上田 隆一: 本
http://www.amazon.co.jp/%E7%A2%BA%E7%8E%87%E3%83%AD%E3%83%9C%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9-ROBOT-books-Sebastian-Thrun/dp/4839924015/ref=sr_1_1?ie=UTF8&s=books&qid=1222852098&sr=8-1