-
Notifications
You must be signed in to change notification settings - Fork 101
SlamDunk Tracker with SkiMap
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).
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}
}