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

Austin Eliazar; Ronald Parr;

Get the Source Code via SVN
svn co https://svn.openslam.org/data/svn/dpslam

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

Wean Hall


Input Data
The approach takes raw laser range data and odometry.

Type of Map
grid maps

Hardware/Software Requirements

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.

*** OpenSLAM.org is not responsible for the content of this webpage ***
*** Copyright and V.i.S.d.P.: Austin Eliazar; Ronald Parr; ***