Skip to content

SlamDunk Tracker with SkiMap

Daniele De Gregorio edited this page Jul 11, 2017 · 1 revision

SlamDunk and SkiMap: slamdunk_tracker.launch

Important: in order to activate this feature enable the following build option:

option(BUILD_SLAMDUNK "Build Slamdunk Library" OFF)

In this node is implemented a Wrapper of the popular SlamDunk localization and mapping algorithm, described here:

FIORAIO, Nicola; DI STEFANO, Luigi. SlamDunk: affordable real-time RGB-D SLAM. In: Workshop at the European Conference on Computer Vision. Springer International Publishing, 2014. p. 401-414. PDF

This is a real-time solution to RGB-D SLAM problem. It enables metric loop closure seamlessly and preserves local consistency by means of relative bundle adjustment principles. In the first paper degregorio2017skimap we described a combination of both systems. Also in this use case we can exploit the attached bag file: in this case however we will benefit only from the RGB-D Frames provided in the Bag file because the SlamDunk algorithm will provide us a consistent 6-DOF Camera Pose to be used as source to build the map of the environment. For proper use of SkiMap also here is better to build the Global Reference Frame in such a way as it lies on the ground; for this reason the camera must get a shot of the ground plane in the very first frame, as occurs in the example bag. To launch the complete example you have to run two separate commands:

1) roslaunch skimap_ros slamdunk_tracker.launch
2) rosbag play tiago_lar.bag --clock

Also here , to adapt this node to your real context, pay attention to the two Camera Topics in the launch file:

<!-- Camera topic for RGB and Depth images -->
<param name="camera_rgb_topic" value="/$(arg camera)/rgb/image_raw"/>
<param name="camera_depth_topic" value="/$(arg camera)/depth/image_raw"/>

Here you can also disable SkiMap:

<param name="mapping" value="true"/>

Using only the camera tracking feature offered by SlamDunk. The latter will publish computed camera 6-DOF Pose in a TF tree with these two names:

<param name="base_frame_name" value="slam_map"/>
<param name="camera_frame_name" value="camera"/>

Where base_frame_name will be the Global Reference Frame of the Slam system (e.g. usually centered in the first camera pose).

LICENSE

If you use SlamDunk in an academic work, please cite:

@inproceedings{fioraio2014slamdunk,
  title={SlamDunk: affordable real-time RGB-D SLAM},
  author={Fioraio, Nicola and Di Stefano, Luigi},
  booktitle={Workshop at the European Conference on Computer Vision},
  pages={401--414},
  year={2014},
  organization={Springer}
}
Clone this wiki locally