Modified version of VINS-Mono (commit 9e657be on Jan 9, 2019), a Robust and Versatile Monocular Visual-Inertial State Estimator.
VINS-Mono uses an optimization-based sliding window formulation for providing high-accuracy visual-inertial odometry. It features efficient IMU pre-integration with bias correction, automatic estimator initialization, online extrinsic calibration, failure detection and recovery, loop detection, and global pose graph optimization, map merge, pose graph reuse, online temporal calibration, rolling shutter support.
[1] VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
[2] Online Temporal Calibration for Monocular Visual-Inertial Systems
catkin_make -j2
# or
catkin build
-
with Dataset
- EuRoC MAV dataset MH_01_easy.bag
roslaunch vins_estimator euroc.launch rosbag play <YOUR_PATH_TO_DATASET>/MH_01_easy.bag
-
with live camera
roslaunch maplab_realsense maplab_realsense.launch roslaunch vins_estimator realsense_fisheye.launch
Evaluate the output trajectory vins_result_loop.tum with ground truth trajectory in the standard dataset (e.g. for EuRoC MAV dataset, the ground truth file is <sequence>/mav0/state_groundtruth_estimate0/data.csv
) using the evo tools.
-
copy the ground truth file data.csv to the directory as same to vins_result_loop.tum
-
get data.tum by
evo_traj euroc data.csv --save_as_tum
-
evaluate by
evo_ape tum data.tum vins_result_loop.tum --align --plot
-
get results
APE w.r.t. translation part (m) (with SE(3) Umeyama alignment) max 0.157368 mean 0.081223 median 0.076672 min 0.021434 rmse 0.086200 sse 7.809322 std 0.028865
- VINS-Mono代码分析总结 by Xiaobuyi
- VINS-Mono issues 14: Question about mid-point integration in integration_base.h
- HKUST-Aerial-Robotics/VINS-Fusion: An optimization-based multi-sensor state estimator
- gaowenliang/vins_so: A Robust and Versatile Visual-Inertial State Estimator support Omnidirectional Camera and/or Stereo Camera
- castiel520/VINS-Mono: VINS-Mono中文注释
- QingSimon/VINS-Mono-code-annotation: VINS-Mono代码注释以及公式推导
- heguixiang/Android-VINS: a version of HKUST-Aerial-Robotics/VINS-Mono running on Android OS
- pjrambo/VINS-Fusion-gpu: a version of VINS-Fusion with GPU acceleration