Simultaneous Localization and Mapping
The simultaneous localization and mapping (SLAM) problem asks if it is possible for a mobile robot to be placed at unknown location in an unknown environment and for the robot to incrementally build a consistent map of this environment while simultaneously determining its location within this map.
Formulation and Structure of the SLAM Problem1
Preliminaries
Consider a mobile robot moving through an environment taking relative observation of a number of unknown landmarks using a sensor located on the robot. At a time instant k, the following quantities are defined.
\(x_k\) | the state vector describing the location and orientation of the vehicle | \(u_k\) | the control vector, applied at time \(k-1\) to drive the vehicle to a state \(x_k\) at time \(k\) |
\(m_i\) | a vector describing the location of the \(i\)th landmark whose true location is assumed time invariant |
\(z_{ik}\) | an observation taken from the vehicle of the location of \(i\)th landmark at time \(k\) |
\(\textbf{X}_{0:k}=\{x_0, x_1,\dots,x_k\}\) | the history of vehicle locations |
\(\textbf{U}_{0:k}=\{u_0, u_1,\dots,u_k\}\) | the history of control inputs |
\(\textbf{m}=\{m_1, m_2,\dots,m_n\}\) | the set of all landmarks |
\(\textbf{Z}_{0:k}=\{z_1, z_2,\dots,z_k\}\) | the set of all landmark observations |
In probabilistic form, this simultaneous localization and mapping (SLAM) problem requires that the probability distribution
The observation model describes the probablity of making an observations \(z_k\) when the vehicle location and landmark locations are known and is generally described in the form
The motion model for the vehicle can be described in terms of probablity distribution on state transitions in the form
The SLAM algorithm is now implemented in a standard two-step recursive prediction (time-update) correction (measurement-update) form:
Time-updateRao-Blackwellized Filter
The joint SLAM state may be factored into a vehicle component and a conditional map component:The general form of R-B particle filter form SLAM is as follows. We assume that, at time \(k-1\), the joint state is represented by \({\{{w^{(i)}_{k-1}}, {\textbf{X}^{(i)}}_{0:k-1},P(m|{\textbf{X}^{(i)}_{0:k-1}},\textbf{Z}_{0:k-1}})\}^N_{i}\).
Durrant-Whyte, Hugh, and Tim Bailey, Simultaneous localization and mapping: part I. Robotics & Automation Magazine, IEEE 13.2 (2006): 99-110.. ↩1)
For each particle conditioned on specific particle history, and draw a sample from it
2)
Weight samples according to the importance function
3)
If necessary, perform resampling.
4)
For each particle, perform an EKF update on the observed landmarks as a simple mapping operation with known vehicle pose.
References