Vins Mono Cg Save

Modified version of VINS-Mono (commit 9e657be)

Project README

vins_mono_cg

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


Prerequisites

tested on Ubuntu 16.04 (ROS Kinetic) and Ubuntu 18.04 (ROS Melodic)

Build

catkin_make -j2
# or
catkin build

Run

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

with Docker

  • make sure ROS and docker are installed on your machine
  • add your account to docker group by sudo usermod -aG docker $YOUR_USER_NAME
  • run
    cd docker
    make build
    ./run.sh LAUNCH_FILE_NAME   # ./run.sh euroc.launch
    
  • modified the code, simply run ./run.sh LAUNCH_FILE_NAME after your changes

ROS Graph

  • rqt_graph

Evaluation

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.

  1. copy the ground truth file data.csv to the directory as same to vins_result_loop.tum

  2. evaluate (APE & RPE)

    evo_traj euroc data.csv --save_as_tum # --> data.tum
    evo_ape tum data.tum vins_result_loop.tum --align --plot
    evo_rpe tum data.tum vins_result_loop.tum --align --plot
    
    # or
    
    evo_ape euroc data.csv vins_result_loop.tum --align --plot
    evo_rpe euroc data.csv vins_result_loop.tum --align --plot
    
  3. 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
    

Tutorial

Related Code

Open Source Agenda is not affiliated with "Vins Mono Cg" Project. README Source: cggos/vins_mono_cg
Stars
112
Open Issues
0
Last Commit
1 year ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating