Skip to content

xiaohong-huang/FLOW-VIO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FLOW-VIO

A Long-Tracked-Feature Linked Optimized Window for Visual-Inertial Odometry

1. Prerequisites

1.1 C++14 Compiler

This package requires some features of C++14.

1.2 ROS

This package is developed and tested under ROS Melodic (Ubuntu 18.04) and ROS Noetic (Ubuntu 20.04) environment.

2. Build FLOW-VIO

Clone the repository to your catkin workspace (for example ~/catkin_ws/):

cd ~/catkin_ws/src/
git clone https://github.com/xiaohong-huang/FLOW-VIO.git

Build the OpenCV4 (>=4.3.0):

#Clone the Opencv to the folder
cd ~/catkin_ws/src/FLOW-VIO
git clone https://github.com/opencv/opencv.git
cd opencv

#Switch the blanch to OpenCV 4.10.0. 
git checkout 4.10.0

#build opencv
mkdir build
cd build
cmake ..
make -j8
#Do not use "make install"

Note, the OpenCV version must be larger than 4.3.0 (the newest version is 4.10.0, which is work well in our project). Otherwise, some of the function may not work well.

Then build the package with:

cd ~/catkin_ws/
catkin_make

3. Run FLOW-VIO with EuRoC, TUM-VI, 4Seasons and Our dataset

Download the EuRoC bag Dataset.

Download the TUM-VI (512x512) bag Dataset.

Download Our bag Dataset.

Download the 4Seasons Dataset using the dm-vio-python-tools and follow the instructions in 4seasons_bag_generate to generate the ROS bag.

Launching the rviz via:

source ~/catkin_ws/devel/setup.bash
roslaunch flow_vio visual_inertial_rviz.launch

Open another terminal and run the project by:

source ~/catkin_ws/devel/setup.bash
rosrun flow_vio flow_vio_node src/FLOW-VIO/yaml/SETTING.yaml YOUR_BAG_FOLDER/BAG_NAME.bag ourput.csv

YOUR_BAG_FOLDER is the folder where you save the dataset. BAG_NAME is the name of the dataset. SETTING.yaml is the setting for different datasets.

You could use the following settings to perform VIO in different datasets.

euroc_config.yaml       #EuRoC dataset
tum_config.yaml         #TUM-VI dataset
my_config.yaml          #Our dataset
4seasons_config.yaml    #4Seasons dataset

We have also provide demos for runing and evaluating with all the datasets (see run_evaluate_all).

4. Acknowledgements

The VIO framework is developed from VINS-Mono. The Dogleg solving strategy is developed base on Ceres-Solver. The packages for interfacing ROS with OpenCV is forked from ros-perception.

The version with code comments will be uploaded in the future.

5. Licence

The source code is released under GPLv3 license.

About

A Long-Tracked-Feature Linked Optimized Window for Visual-Inertial Odometry

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages