Probabilistic Robotics - Chap.5 Robot Motion
5.1 Introduction
モーションモデルはベイズフィルタの予測ステップにおいて肝となる状態遷移確率を構成する。本章では、ロボットの運動はある平面上での移動のみを取り上げる。
5.2 Preliminaries
5.2.1 Kinematic Configuration
ロボットの姿勢は下記の式で表せるものとする。
ロボットの向きはよく、やと呼ばれる。また姿勢から向きを取ったものはと呼ぶ。
5.2.2 Probabilistic Kinematics
状態遷移確率はとして表される。はそれぞれ、時刻でのロボット状態を、は時刻でのモーションコマンドを、それぞれ表すものとする。モーションモデルにおいて、はオドメトリを指す場合もある。
本章では、下記2種類の確率的モーションモデルを取り上げる。
- 速度モーションモデル
なモデル。ただし速度を指令値通り制御することは、ノイズ等の都合上難しいことため、精度は良くないことが多い。
- オドメトリモーションモデル
なモデル。速度モデルよりも精度が高いことが多い。
ただしオドメトリは動いた結果わかる情報である。そのため、動作の予測には使えない。そのため、速度モデルはモーションプランニングに、オドメトリモデルは状態推定に、それぞれ使うことが一般的である。以降ではそれぞれについて詳細を述べる。
5.3 Velocity Motion Model
本モデルは、ロボットの速度は並行運動と回転運動の2種類で構成されると過程する。なおとは、それぞれ1次元のスカラ値である。
5.3.1 Closed Form Calculation
速度モデルは、下記のアルゴリズムで表現される。
ここでからは、ロボット固有の誤差パラメータでる。または、モーションエラーをモデル化した関数を表す。この固有パラメータの決定方法について、特に本書には記載がないです。恐らく指令値と実測値の組み合わせを記録していき、その結果が良い感じにの結果とフィットするようにパラメータチューンが必要と思われます。
5.3.2 Sampling Algorithm
5.3.1では計算で求めていましたが、本節ではパーティクルフィルタの様にサンプリングを介して解析に状態遷移確率を求める手法を紹介します。サンプル点から求める際の下記の手法を使う。
2~4行目は、速度パラメータにノイズを加えます。その結果を使い、5~7行目で姿勢を計算しています。サンプリング手法を使う場合、運動方程式等の物理モデルを考慮せず、サンプル点の位置からのみ姿勢が求まるという利点がある。そのため実装の観点からすると、サンプリング手法を利用ことが楽である。
5.4 Odometry Motion Model
オドメトリは、ドリフトやスリップによってエラーは生じるものの、速度に比べて計測誤差が小さい。また実際に動いた後でないと計測できないため、モーションプランニングには使えない。
5.4.1 Closed Form Calculation
オドメトリをベースとしたモーションモデルは、今日の確率ロボティクスベースのシステムで中心的な役割を果たしている。
オドメトリは、ロボット内部の情報量である。そのため、実世界とリンクするためには座標変換が必要である。ただしドリフトやスリップが生じるため、変換行列は一定ではない。なおこの変換行列を求めることは、自己位置推定を行うことと等価である。
オドメトリモデルは相対動作情報を使用する。相対動作情報とは、時刻からの間で、どの程度動いたかを表す情報である。ロボットの時刻との時の姿勢のペアをとすると、
となる。
この動作情報から相対動作情報を取り出すと、回転・直進・回転の3ステップに分割できる。つまり
と表せる。この情報が分かれば、ある時刻からの間の移動を再現できる。
確率的モーションモデルでは、上記3パラメータはノイズが加わっているものと仮定する。
以上を踏まえた、オドメトリモデルでの状態遷移確率を求めるアルゴリズムは下記の通りである。
なおは、平均で分散の誤差分布におけるの発生確率を返す関数とする。また、からは、ロボットの動作を特定するロボット固有のパラメータである。
上記アルゴリズムにおいて、各行が行っている内容は下記の通り
- 2~4行目:オドメトリ情報から相対動作情報を抽出。
- 5~7行目:入力した姿勢とから理想とする相対動作情報を算出。
- 8~10行目:相対動作情報の各要素に対するエラーを確率的に計算
- 11行目:相対動作情報の各要素に対するエラー発生確率をかけ合わせ、目的姿勢であるからのずれを返す。
5.5 Motion And Maps
今まで扱っていた状態遷移確率では、周囲環境を考慮していなかった。そこで状態遷移確率のパラメータとして、新たに地図を導入する。地図を知ることで、壁などの到達不可能な場所にいるのか、そうでない到達可能な場所にいるのかが判別できる。これにより、ロボットの姿勢をより精度良く求める事が可能となる。
地図の導入により、状態遷移確率はとなる。地図を知ることによって、今まで議論してきた状態遷移確率では「遷移可能」としてきた場所に遷移出来なくなるので、
となる。よって新規なモデルとなることから、マップベースモーションモデルと呼ぶことにする。
マープベースモデルを閉形式で計算することは難しい。一方で、都合の良いことに計算効率のよい近似方法がある。近似式は下記の通り。
ここでは正規化係数である。通常は一様分布で表される。なお周囲環境は動的に変化しないことから、は定数として考える。もしもの時は、ロボットは地図上に存在する障害物上に存在することを意味する。
なお上記近似には問題がある。モデルでは地図を考慮しているため、ロボットが存在できる姿勢は全て遷移対象となる。しかし、例えば壁の向こう側に一瞬で行くのは難しいが、そうした物理的に遷移が可能かは考慮していない。そのため、遷移先の姿勢への移動コスト加味するなどの工夫が必要である。