PREAMBLE This release of RGBDSLAM succeeds our entry at the ROS 3D contest (see http://www.ros.org/wiki/openni/Contests/ROS%203D). 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 INSTALLATION The following instructions assume you have ROS Diamondback installed in the Desktop-Full configuration. Otherwise please refer to http://www.ros.org/wiki/ROS/Installation 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 http://alufr-ros-pkg.googlecode.com/svn/trunk/freiburg_tools/hogman_minimal Checkout the RGBDSLAM source code somewhere in your $ROS_PACKAGE_PATH $ svn co https://svn.openslam.org/data/svn/rgbdslam/trunk 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). USAGE 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. FURTHER HELP Here are some known issues: 1. If you have issues compiling, make sure you removed any older version of RGBDSLAM from your $ROS_PACKAGE_PATH 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 to http://answers.ros.org/questions/?tags=RGBDSLAM For further questions, suggestions or to submit patches, please contact Felix Endres (email@example.com) 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. EXPERIMENTAL FEATURES 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: SiftGPU uses (in our case) CUDA, which needs a new NVidia GPU (see http://www.nvidia.com/object/cuda_gpus.html). For installing the development drivers and the CUDA SDK you can use the following tutorial: http://ubuntuforums.org/showthread.php?t=1625433 (tested on Ubuntu 10.04 x64) Additional compiling information can be changed in external/siftgpu/linux/makefile. GICP Generalized ICP can be activated for refining the registration. For more information see http://stanford.edu/~avsegal/generalized_icp.html 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 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.