0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

論文まとめ:Simultaneous Localisation and Mapping (SLAM): Part I The Essential Algorithms

Posted at

はじめに

以下の論文
[1] H. Durrant-Whyte, et. al "Simultaneous Localisation and Mapping (SLAM): Part I The Essential Algorithms"

いくつかのヴァージョンが出回ってるみたいだが、こちら
https://ieeexplore.ieee.org/abstract/document/1638022
はgoogle scholarで被引用が5721と圧倒的な数。

chat GPTで「What are the key papers in SLAM (Simultaneous Localization and Mapping)?」と問い合わせたところ、1つ目に出てきた。

ここでは III. Formulation and Structure of the SLAM problem を中心にまとめ。

概要

  • 本論文はSLAMのイントロダクション的な内容である
  • SLAMはロボットが周囲環境のマッピングと自己位置の推定を同時に行うしくみである

設定

以下のような状況を考える。

スクリーンショット 2023-06-12 16.03.50.png

${\bf x}_k$ :k時におけるロボットの位置
${\bf u}_k$ :k-1時からk時にむけてのロボットの遷移ベクトル(control vector)
${\bf m}_i$ :i 番目のランドマークの位置
${\bf z}_{ik}$ :k時におけるロボットが i 番目のランドマークを観測したときの観測ベクトル

これらのセットの表記が以下。

${\bf X}_{0:k} = { {\bf x}_0, {\bf x}_1, \cdots {\bf x}_k }$ : ロボットの位置の系列
${\bf U}_{0:k} = { {\bf u}_0, {\bf u}_1, \cdots {\bf u}_k }$ : control vectorの系列
${\bf m} = { {\bf m}_0, {\bf m}_1, \cdots {\bf m}_n }$ : 全てのランドマーク
${\bf Z}_{0:k} = { {\bf z}_0, {\bf z}_1, \cdots {\bf z}_k }$ : あるランドマークに対する全ての観測ベクトル

SLAMの定式化

0時のロボットの位置(${\bf x}_0$)、control vectorの系列(${\bf u}_k$)、観測の系列(${\bf z}_k$)が与えら得た場合に、現在 k 時のロボットの位置(${\bf x}_k$)と全てのランドマークの3次元位置(${\bf m}$)を推定する。

P \left( {\bf x}_{k}, {\bf m} \mid {\bf Z}_{0:k}, {\bf U}_{0:k}, {\bf x}_{0} \right)

observation model

k時にロボットからランドマークを観測した観測ベクトル(${\bf z}_{k}$)は k 時のロボット位置(${\bf x}_k$)とランドマークの3次元位置(${\bf m}$)から決まるはずなので、

P \left( {\bf z}_{k} \mid {\bf x}_k, {\bf m} \right) \tag{2}

とかける。

motion model

マルコフ性を仮定すると、k時のロボット位置(${\bf x}_k$)は k-1 時のロボット位置(${\bf x}_{k-1}$)と、そこから k 時位置までの遷移ベクトル(control vector:${\bf u}_k$)で決まるはずなので、

P \left( {\bf x}_{k} \mid {\bf x}_{k-1}, {\bf u}_k \right) \tag{3}

とかける。

Time-update

\begin{eqnarray}
&P& \left( {\bf x}_{k}, {\bf m} \mid {\bf Z}_{0:k-1}, {\bf U}_{0:k}, {\bf x}_{0}  \right) \\

&=& \int P \left( {\bf x}_{k} \mid {\bf x}_{k-1}, {\bf u}_k \right) \\

&\times& P \left( {\bf x}_{k-1}, {\bf m} \mid {\bf Z}_{0:k-1}, {\bf U}_{0:k-1}, {\bf x}_{0}  \right) {\rm d}{\bf x}_{k-1} \tag{4}


\end{eqnarray}

これをSLAM問題(1)式と比較すると、条件に k 時の観測ベクトル ${\bf z}_k$ が入ってない。つまりここまでは IMU・オドメトリなどの情報は用いるが、一方でランドマークの観測を用いずに推定している。

Measurement Update

time-updateで求めた x, m は観測ベクトル ${\bf z}_k$ が入ってないので、事前確率と考える。 ${\bf z}_k$ を入れた事後確率を求めるとすると、ベイズの公式から

\begin{eqnarray}
&P& \left( {\bf x}_{k}, {\bf m} \mid {\bf Z}_{0:k}, {\bf U}_{0:k}, {\bf x}_{0}  \right) 

= \frac{P \left( {\bf z}_{k} \mid {\bf x}_k, {\bf m} \right) P \left( {\bf x}_{k}, {\bf m} \mid {\bf Z}_{0:k-1}, {\bf U}_{0:k}, {\bf x}_{0}  \right)}
{P \left( {\bf z}_{k} \mid {\bf Z}_{0:k-1}, {\bf U}_{0:k} \right)} \tag{5}

\end{eqnarray}

となる。右辺分子第1項目は観測モデルを尤度として用いている。

右辺分母に関しては?

SLAMの例1 EKF-SLAM

motion model

P \left( {\bf x}_{k} \mid  {\bf x}_{k-1} ,  {\bf u}_{k}\right)  \leftrightarrow {\bf x}_{k} = {\bf f} ({\bf x}_{k-1}, {\bf m}) + {\bf w}_k \tag{6}

observation model

P \left( {\bf z}_{k} \mid  {\bf x}_{k} ,  {\bf m} \right)  \leftrightarrow {\bf z}(k) = {\bf h} ({\bf x}_{k}, {\bf m}) + {\bf v}_k \tag{7}

書きかけ

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?