Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

This release of RGBDSLAM succeeds our entry at the ROS 3D contest

There have been many changes, mainly
- Performance improvments w.r.t accuracy and robustness of registration
- Performance improvments w.r.t computation time
- A more convenient user interface with internal visualization
- Convenience features, e.g., saving to pcd/ply file, node deletion and many more


The following instructions assume you have ROS Diamondback installed in the
Desktop-Full configuration.  Otherwise please refer to for instructions how to install ROS.
RGBDSLAM has been developed and tested on Ubuntu only.

Install openni-kinect. On ubuntu use the package manager: 
$ sudo aptitude install ros-diamondback-openni-kinect

Checkout hogman_minimal somewhere in your $ROS_PACKAGE_PATH:
$ svn co

Checkout the RGBDSLAM source code somewhere in your $ROS_PACKAGE_PATH
$ svn co rgbdslam

Compile rgbdslam and dependencies: 
$ rosmake --rosdep-install rgbdslam

Optionally, you might want to install perception_pcl_addons (debian package:
ros-diamondback-perception-pcl-addons) which includes pcd_viewer, a viewer for
the file format used by RGBDSLAM to store registered point clouds. If you
want to process the point cloud you can save to a ply file and use meshlab 
(debian-package: meshlab).


To start RGBDSLAM launch
  roslaunch rgbdslam kinect+rgbdslam.launch

Alternatively you can start the openni nodes and RGBDSLAM separately, e.g.:
  roslaunch openni_camera openni_node.launch 
  rosrun rgbdslam rgbdslam

To capture models either press space to start recording a continuous stream
or press enter to record a single frame. To reduce data redundancy, sequential
frames from (almost) the same position are not included in the final model.
The 3D visualization always shows the globally optimized model. Neighbouring
points are triangulated except at missing values and depth jumps.


Here are some known issues:
1. If you have issues compiling, make sure you removed any older version 
2. RGBDSLAM needs Diamondback. Make sure that neither your $PATH nor 
   $ROS_PACKAGE_PATH contains "boxturtle", "cturtle" or "unstable".
3. If you are located in Germany and get errors loading the saved ply files 
   into meshlab, try switching to U.S. locale or replace the decimal point with
   a comma in your .ply file
4. To speed up compile times consider to use "export ROS_PARALLEL_JOBS=-j<#cpus>"
   before rosmake, but you should have lots of memory as gcc may take up to
   2GB for four parallel jobs.

If you have questions regarding installation or usage of RGBDSLAM please refer
For further questions, suggestions or to submit patches, please contact
Felix Endres (

Apart from this manual, detailed code documentation can be created using
rosdoc ("rosrun rosdoc rosdoc rgbdslam"), which will create a "doc" folder
in your current directory.


The following features can be activated in CMakeLists.txt, but are highly
experimental and therefore neither guaranteed to work nor supported in case 
they do not.

  SiftGPU uses (in our case) CUDA, which needs a new NVidia GPU (see  For installing the development
  drivers and the CUDA SDK you can use the following tutorial: (tested on Ubuntu 10.04 x64)

  Additional compiling information can be changed in

  Generalized ICP can be activated for refining the registration. For more
  information see


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 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.

RGBDSLAM is licenced under GPL v.3.


rgbdslam repos from




No releases published


No packages published