Skip to content

Latest commit

 

History

History
86 lines (69 loc) · 4.38 KB

README.md

File metadata and controls

86 lines (69 loc) · 4.38 KB

VIW-Fusion

An visual-inertial-wheel fusion odometry

VIW-Fusion is an optimization-based viusla-inertial-wheel fusion odometry, which is developed as a part of my master thesis. Features:

  • multiple sensors support (stereo cameras+IMU+wheel / mono camera+IMU+wheel)
  • wheel enhanced visual-inertial initialization
  • online spatial calibration (transformation between camera, IMU and wheel)
  • online wheel intrinsic calibration
  • online temporal calibration (time offset between camera, IMU and wheel)
  • plane constraint

Updates

Performance in the scene with challenge light

We tested Mono VIWO in scenes with drastic changes in light, and the parameters between different scenes remained unchanged. The video is below, if you can't access youtube, please try bilibili: visual-inertial-wheel fusion odometry We compare the VIWO with Mono VIO. The trajectory estimated by Mono VIO is completely different from the real trajectory, while the trajectory estimated by Mono VIWO is in good agreement with the real trajectory.

We align the trajectory with the entrance door and exit door to further compare VIWO and Stereo VIO, the trajectory estimated by Mono VIWO is also more reasonable.

1. Prerequisites

1.1 Ubuntu and ROS

Ubuntu 64-bit 16.04 or 18.04. ROS Kinetic or Melodic. ROS Installation

1.2. Ceres Solver

Follow Ceres Installation.

Version: 1.14.0

1.3 Sophus

git clone https://github.com/strasdat/Sophus.git
cd Sophus && git checkout a0fe89a323e20c42d3cecb590937eb7a06b8343a
mkdir build && cd ./build
cmake ..
make -j4
sudo make install

2. Build VIW-Fusion

Clone the repository and catkin_make:

cd ~/catkin_ws/src
git clone https://github.com/TouchDeeper/VIW-Fusion.git
cd ../
catkin_make
source ~/catkin_ws/devel/setup.bash

(if you fail in this step, try to find another computer with clean system or reinstall Ubuntu and ROS)

3. Example

Download dataset here.

roslaunch vins vins_rviz.launch
rosrun vins viwo_node ~/catkin_ws/src/VIW-Fusion/config/realsense_d435i/realsense_stereo_imu_config_ridgeback.yaml 
(optional) rosrun loop_fusion loop_fusion_node ~/catkin_ws/src/VIW-Fusion/config/realsense_d435i/realsense_stereo_imu_config_ridgeback.yaml
rosbag play YOUR_DATASET_FOLDER/ridgeback_dark.bag

4. Citation

If you use this package for your research, a footnote with the link to this repository is appreciated: github.com/TouchDeeper/VIW-Fusion, or for citation with BibTeX:

@misc{ztd2021viwo,
  title={VIW-Fusion: visual-inertial-wheel fusion odometry.},
  author={Tingda Zhuang},
  howpublished={\url{https://github.com/TouchDeeper/VIW-Fusion}},
  year={2021}
}

Acknowledgment

I need to thank HKUST Aerial Robotics Group led by Prof. Shaojie Shen for their outstanding work VINS-Fusion. VIW-Fusion is developed based on VINS-Fusion.