viodom repository

Repository Summary

Checkout URI
VCS Type git
VCS Version master
Last Updated 2016-11-07
CI status No Continuous Integration
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)


Name Version
viodom 0.0.0


viodom Build Status

ROS package (indigo) for visual odometry. This package contains one single node: viodom_node, which estimates robot motion based on incoming raw images and IMU mesaurements from the Visual-Inertial (VI-) Sensor. To correctly estimate the motion, the node first needs to wait for a few seconds to initialize an IMU filter. It depends on OpenCV (installed alongside with ROS desktop-full) and Eigen library which must be installed in your system:

sudo apt-get install libeigen3-dev

Who do I talk to? * Fernando Caballero (, University of Seville, Spain * Francisco J Perez Grau (, CATEC (Center for Advanced Aerospace Technologies), Spain


Currently this package only includes one node which takes in a stereo pair of images and IMU data, and outputs pose estimates. Images are rectified using calibration information. On startup, an IMU filter needs to be initialized so the robot needs to be quiet for a few seconds. Some parameters can be changed without having to restart the node, as indicated in the dynamic reconfiguration file in subfolder 'cfg'.

Subscribed Topics * left_cam/image_raw (sensor_msgs/Image): Left camera raw image. * left_cam/camera_info (sensor_msgs/CameraInfo): Left camera calibration information. * right_cam/image_raw (sensor_msgs/Image): Right camera raw image. * right_cam/camera_info (sensor_msgs/CameraInfo): Right camera calibration information. * imu_topic (sensor_msgs/Imu): IMU topic.

Published Topics * viodom_transform (geometry_msgs/TransformStamped): Robot's estimated pose in the odom frame. * point_cloud (sensor_msgs/PointCloud2): 3D point cloud based on the input stereo pair. * tf (tf/tfMessage): Publishes the transform from odom to base_link.


The package includes a launch file with parameters ready to use with a dataset recorded at CATEC. This dataset includes images, IMU data and ground-truth localization taken from a VICON motion capture system. The bagfile can be downloaded from


If you use viodom in an academic context, please cite the following publication:

  author={F. J. Perez-Grau and F. R. Fabresse and F. Caballero and A. Viguria and A. Ollero},
  booktitle={2016 International Conference on Unmanned Aircraft Systems (ICUAS)},
  title={Long-term aerial robot localization based on visual odometry and radio-based ranging},

The presentation material can be found in


No found.