Related Paper
Pengfei Gu and Ziyang Meng, "S-VIO: Exploiting Structural Constraints for RGB-D Visual Inertial Odometry", IEEE Robotics and Automation Letters, 2023. pdf
Test on Ubuntu 18.04 and ROS Melodic. Follow ROS Installation. The following ROS pacakges are needed:
sudo apt-get install ros-YOUR_DISTRO-cv-bridge ros-YOUR_DISTRO-tf ros-YOUR_DISTRO-message-filters ros-YOUR_DISTRO-image-transport
Follow Ceres Installation.
Clone the repository and catkin_make:
cd YOUR_PATH_TO_SVIO/SVIO/src
git clone https://github.com/oranfire/SVIO.git
cd ../
catkin_make
Before running the SVIO, remember to source the script first:
source YOUR_PATH_TO_SVIO/SVIO/devel/setup.bash
Download VCU-RVI Dataset. We use the time-synchronized IMU measurements and RGB-D images for localization. Open two terminals, launch the estimator and play the bag respectively. Take motion_1 for example:
roslaunch YOUR_PATH_TO_SVIO/SVIO/src/launch/svio_vcu_run.launch
rosbag play YOUR_PATH_TO_BAG/lab-motion1.bag
It will automounsly launch the rviz for visualization.
Download OpenLORIS-Scene Dataset. Although it contains multiple sensors, we only use the RGB-D images and IMU measurements from the d400 depth camera. Open two terminals, launch the estimator and play the bag respectively. Take home1-1 for example:
roslaunch YOUR_PATH_TO_SVIO/SVIO/src/launch/svio_openloris_run.launch
rosbag play YOUR_PATH_TO_BAG/home1-1.bag
Note that the bag files provided by the OpenLORIS-Scene dataset record the acceleration and the angular velocity in two topics. Therefore before playing the bag, we should merge these two topics into one topic by using the script provided by OpenLORIS-Scene Tools first:
python merge_imu_topics.py YOUR_PATH_TO_BAG/home1-1.bag
As a bonus, SVIO also provides interface for a stereo-inertial dataset, EuRoC Dataset, where the depth image is computed from the rectified stereo images using the SGM algorithm. Take mh01 for example:
roslaunch YOUR_PATH_TO_SVIO/SVIO/src/launch/svio_euroc_run.launch
rosbag play YOUR_PATH_TO_BAG/mh01.bag
Many thanks to the authors of VINS-Mono, DUI-VIO and ManhattanSLAM. Our system is built on the first two projects, and part of codes are borrowed from the third project.
@ARTICLE{10107752,
author={Gu, Pengfei and Meng, Ziyang},
journal={IEEE Robotics and Automation Letters},
title={S-VIO: Exploiting Structural Constraints for RGB-D Visual Inertial Odometry},
year={2023},
volume={8},
number={6},
pages={3542-3549},
doi={10.1109/LRA.2023.3270033}}
The source code is released under GPLv3 license.