Skip to content
Matia Pizzoli edited this page Nov 13, 2015 · 20 revisions

REMODE assumes the pose of the camera to be known.

The Semi-Direct Monocular Visual Odometry (SVO) can be used to estimate the pose of a calibrated camera from a live image stream. The approach is described in the paper:

http://rpg.ifi.uzh.ch/docs/ICRA14_Forster.pdf

An open source implementation is available here:

https://github.com/uzh-rpg/rpg_svo

Please refer to the documentation for instructions on how to build and run the code.

NOTE: please make sure you read the license conditions accompanying the source code.

The ROS node running the REMODE pipeline subscribes to the topic

/svo/dense_input

You can learn the details about the message format from the files depthmap_node.cpp and test/publish_dataset.cpp.

SVO publishes the /svo/dense_input topic if you specify the following in the SVO launch file:

<!-- Dense Input -->
<param name="publish_dense_input" value="True" />
<param name="publish_every_nth_dense_input" value="5" />

The latter parameter controls the frequency the /svo/dense_input topic is published, in this case once over five processed frames.

Start the camera stream, run and initialize SVO (please refer to the SVO wiki).

Launch the REMODE node using a launch file containing the camera calibration parameters. For instance:

roslaunch open_remode bluefox_25001262.launch

The REMODE node publishes the resulting depthmap as a 32FC1 image. You can visualize it by running rqt_image_view and selecting the /depth topic:

rqt_image_view
Clone this wiki locally