- 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
- System
- Ubuntu 20.04
- ROS2 foxy
- Libraries
- OpenCV 3.4.1 (with CUDA enabled option)
- OpenCV 3.4.1-contrib
- Ceres Solver-2.1.0 (you can refer here; just edit 1.14.0 to 2.1.0 for install.)
- Eigen-3.3.9
- camera: Intel realsense D435i
- install realsense SDK with ROS2 package.
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
# vins
ros2 run vins $(PATH_TO_YOUR_VINS_CONFIG_FILE)
# Rviz2 visualization
ros2 launch vins vins_rviz.launch.xml
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.
- you have to install this pkg
pip install rosbags
- run
export PATH=$PATH:~/.local/bin
rosbags-convert foo.bag --dst /path/to/bar
We use ceres solver for non-linear optimization and DBoW2 for loop detection, a generic camera model and GeographicLib.
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>.