/VINS-Fusion-ROS2

ROS2 version of VINS-Fusion

Primary LanguageC++GNU General Public License v3.0GPL-3.0

VINS-Fusion

ROS2 version of VINS-Fusion.

Notices

  • code has been updated so that the vins package can be executed via ros2 run or ros2 launch
  • but Rviz config cannot be saved due to some issue.. still fixing
  • GPU enable/disable features also have been added: refer EuRoC config (refered from here and here)
    • The GPU version has some CUDA library dependencies: OpenCV with CUDA. Therefore, if it is a bothersome to you and only need the cpu version, please comment the following compiler macro at line 14 in the 'feature_tracker.h': .
    #define GPU_MODE 1

Prerequisites

  • System
    • Ubuntu 20.04
    • ROS2 foxy
  • Libraries

sensor setup

  • camera: Intel realsense D435i
  • using following shell script, you can install realsense SDK with ROS2 package.
chmod +x realsense_install.sh
bash realsense_install.sh

build

cd $(PATH_TO_YOUR_ROS2_WS)/src
git clone https://github.com/zinuok/VINS-Fusion-ROS2
cd ..
colcon build --symlink-install && source ./install/setup.bash && source ./install/local_setup.bash

run

# vins
ros2 run vins $(PATH_TO_YOUR_VINS_CONFIG_FILE)

# Rviz2 visualization
ros2 launch vins vins_rviz.launch.xml

play bag recorded at ROS1

Unfortunately, you can't just play back the bag file recorded at ROS1. This is because the filesystem structure for bag file has been changed significantly. The bag file at ROS2 needs the folder with some meta data for each bag file, which is done using following commands.

pip install rosbags
  • run
export PATH=$PATH:~/.local/bin
rosbags-convert foo.bag --dst /path/to/bar

Original Readme:

8. Acknowledgements

We use ceres solver for non-linear optimization and DBoW2 for loop detection, a generic camera model and GeographicLib.

9. License

The source code is released under GPLv3 license.

We are still working on improving the code reliability. For any technical issues, please contact Tong Qin <qintonguavATgmail.com>.

For commercial inquiries, please contact Shaojie Shen <eeshaojieATust.hk>.