DP-SLAM aims to achieve truly simultaneous localization and
mapping without landmarks. While DP-SLAM is compatible with
techniques that correct maps when a loop is closed, we have
found that DP-SLAM is accurate enough that no special loop
closing techniques are required in most cases. DP-SLAM makes
only a single pass over the sensor data.
DP-SLAM works by maintaining a joint probability distribution
over maps and robot poses using a particle filter. This
allows DP-SLAM to maintain uncertainty about the map over
multiple time steps until ambiguities can be resolved. This
prevents errors in the map from accumulating over time.
Further information
Long Description
DP-SLAM uses a particle filter to maintain a joint probability
distribution over maps and robot positions. This would be
expensive without some clever data structures since it would
require a complete copy of the entire occupancy grid for every
particle, and would require making copies of the maps during
the resampling phase of the particle filter. The figure below
conceptually shows an ancestry of particles and map updates,
with leaves of the ancestry tree pointing to maps. (Think of
each red dot in the ancestry tree as a sampled robot position
and the black lines around the red dot as the new observations
associated with the current robot position. The gray lines
show piece of the map inherited from the previous particle.)
Notice that all maps in this example will agree with the
initial observation. The two leftmost maps will agree on the
observations made by the left child of the root, while the two
rightmost maps will agree with the observations made by the
right child of the root. It would be a waste of memory and
time to store and repeatedly copy these map sections every
time a particle is resampled. Instead, we use a single
occupancy grid which stores an observation tree at each
square. As shown below, each particle inserts its
observations into the global grid. These are stored as a
balanced tree, indexed on a unique ID assigned to each
particle. The computer science part of the DP-SLAM project
involves the algorithms and analysis to show that these data
structures can be maintained efficiently.
Example Images
Input Data
The approach takes raw laser range data and odometry.
Type of Map
grid maps
Hardware/Software Requirements
Linux
Papers Describing the Approach
Austin Eliazar, Ronald Parr:
DP-SLAM: Fast, Robust Simultainous Localization
and Mapping Without Predetermined Landmarks,
IJCAI, 2003 (
link)
Austin Eliazar, Ronald Parr:
DP-SLAM 2.0,
, (
link)
License Information
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The authors allow the users of OpenSLAM.org to use and modify the source code for their own research. Any commercial application, redistribution, etc has to be arranged between users and authors individually and is not covered by OpenSLAM.org.
This Program is provided by Duke University and the authors as
a service to the research community. It is provided without
cost or restrictions, except for the User's acknowledgment
that the Program is provided on an "As Is" basis and User
understands that Duke University and the authors make no
express or implied warranty of any kind. Duke University and
the authors specifically disclaim any implied warranty or
merchantability or fitness for a particular purpose, and make
no representations or warranties that the Program will not
infringe the intellectual property rights of others. The User
agrees to indemnify and hold harmless Duke University and the
authors from and against any and all liability arising out of
User's use of the Program.