gggggraziegrazie

graizegrazieさんのやったこと、学んだことを記録する雑記帳です

Probabilistic Robotics - Chap.10 Simultaneous Localization and Mapping

10.1 Introduction

SLAM問題は、環境地図へのアクセスが出来ない且つ自分の位置もわからない時に発生する
ただしこの時、全ての観測ベクトル{z_{1:t}}と制御ベクトル{u_{1:t}}は既知とする。

SLAM問題にはオンラインSLAMとフルSLAMの2種類ある。

  • オンラインSLAM:ロボットのある瞬間の姿勢についての事後分布を求める

 事後分布
{p(x_t, m | z_{1:t}, u_{1:t}) \tag{10.1}}
の推定には、時刻{t}のみ考慮する。多くの場合、オンラインSLAMのアルゴリズムはインクリメンタルである。

  • フルSLAM:ロボットの移動経路ついての事後分布を求める

 SLAM開始時点から現時点までの姿勢全てを考慮した事後分布を求める。SLAM開始時点から現時点までの姿勢の列は、ロボットが現在地に到達するまでにとった姿勢の集合を意味する。つまり、事後分布
{p(x_{1:t}, m | z_{1:t}, u_{1:t}) \tag{10.2}}
は、ロボットの移動経路の事後分布を意味する。

SLAMの重要な特徴の2つ目は、推定問題の本質の部分
 地図上の物体の位置やロボット自身の姿勢変数を維持する必要がある

EKF Localizationと同様に、SLAMを連続で行うには一致変数を使うとよい。一致変数を導入することで、{式(10.1)、(10.2)}は、下記のようになる。
{(10.1) \rightarrow p(x_t, m, c_t | z_{1:t}, u_{1:t}) \tag{10.4}}
{(10.2) \rightarrow p(x_{1:t}, m , c_{1:t}| z_{1:t}, u_{1:t}) \tag{10.5}}

ただしフルSLAMを続けるのは下記2点のため、演算量・メモリ使用量が膨大になり難しい。
1)変数(Ex. {x_{1:t}})の次元が高次になる
2)一致変数の次元が膨大になる(時間と共に指数的に大きくなるので、実際には近似を用いる必要がある)

10.2 SLAM with Extended Kalman Filters

10.2.1 Setup and Assumptions

本章では、ランドマークと特徴量の一致がわかっていると仮定。
EKF SLAMはオンラインSLMAの一種で、最尤データの関連付けを行う。
EKF SLAMはfeature mapを使用しており、map中のランドマーク数は少ない(1000以下)ことが多い。
EKFを使う場合、対象(ランドマーク)の特徴がハッキリしているほど良い結果を残す。
EKF SLAMでは、ロボットの運動・知覚にガウスノイズを仮定する。

10.2.2 SLAM with Known Correspondence

一致がわかった状態のSLAMは、SLAMの連続的な部分しか言わない
EKF Localizationとの重要な違いの1つは、EKF SLAMは経路上の全てのランドマークの座標を推定する点
結合状態ベクトル{y_t = \left( \begin{matrix} x_t \\ m \end{matrix} \right) \\
= ( x \  y \  \theta \  m_{1, x} \  m_{1, y} \  s_1 \  ... \  m_{N,x} \  m_{N,y} \  s_N )^T
}
ここで、{s_i}はランドマークのIDである。
EKF SLAMは、オンライン事後分布{p(y_t | z_{1:t}, u_{1:t}}を求める

SLAMで求める事後分布の重要な特徴は、ロボットの姿勢に関する情報を得ると、その情報は以前に観測したランドマークへも波及することである。
つまりロボットの姿勢推定結果が改善されると、以前観測したランドマークの位置の確からしさも改善される。

10.3 EKF SLAM with Unknown Correspondences

10.3.1 The General EKF SLAM Algorithm

前章ではランドマークと特徴量の一致がわかっていると仮定したが、本章ではその仮定を取り去った一般EKF SLAMを取り上げる。
一般EKF SLAMでは、インクリメンタルな最尤推定器が一致を決める。
一般EKF SLAMでは、一致が未知のため、入力から一致変数{c_t}が消える
その代わり、その時のランドマーク数{N_{t-1}}を入力する
運動モデルの更新手順は10.2と同じだが、観測モデルの更新手順は異なる
新規ランドマークは、既知のランドマークとのマハラノビス距離が閾値を超えた場合に生成する
最終的に一般EKF SLAMは、新しいランドマーク数{N_t}と、その時の平均{\mu_t}、共分散{\Sigma_t}を出力する

10.3.3 Feature Selection and Map Management

実際にEKF SLAMをロバストにするには、地図管理のための技術が追加で必要になる。
それらの技術はガウスノイズは非現実的であり、ノイズ分布の最後は嘘の観測結果が求まることに関係する。
嘘の観測結果により、嘘のランドマークが求まる。
そうした外れ値の除外する上で最も簡単な方法は、仮のランドマークリストを作ることである。
検出したランドマークは、まずは仮のリストに登録する。
このリスト中のランドマークは、ロボットの姿勢のadjustには使わない。
リスト中のランドマークが継続的に観測され、不確かさが小さくなると、通常の地図に組み込む。
この手法は、物理的に存在するランドマークは残しつつも、地図中のランドマーク数を減らす傾向がある。

問題の救済には、下記2つの手法を用いることが多い。

  • 空間整理

ランドマーク間の距離が遠ざかると、ランドマークを取り違える可能性が減る。
またランドマークが増えすぎると、取り違える可能性が高まる。
一方ランドマークが少なすぎると、取り違える可能性が高まるだけでなく、ロボットの自己位置推定が困難になる。

  • 記号

物体は固有の色や寸法などを持っている。これらを使って識別すると便利。

EKF SLAMの重要な制限事項は、正確なランドマークを選択する必要がある点である。
EKF SLAMは、通常大量のセンサ情報を破棄する(使わずに垂れ流す)ため、情報の欠除を招く。
これにより、地図上の特徴量が{10^6}個以上でないと、EKF SLAMは使えない。
比較的低次元のマップは、データの関連付けが困難な傾向がある。
インクリメンタルな最尤データ関連付けは、大量の特徴量を持った密な地図で動作するが、特徴量が少ない地図では不安定化する傾向がある。
しかしEKFは、密な地図では地図更新が複雑になるため、疎な地図を求めている。