• Stars
    star
    114
  • Rank 308,031 (Top 7 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Modified version of VINS-Mono (commit 9e657be)

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

More Repositories

1

imu_x_fusion

IMU + X(GNSS, 6DoF Odom) Loosely-Coupled Fusion Localization based on ESKF, IEKF, UKF(UKF/SPKF, JUKF, SVD-UKF) and MAP
C++
874
star
2

shenlan_vio_course

深蓝学院《视觉SLAM进阶:从零开始手写VIO》第一期
C++
174
star
3

windows_via_cpp

Source Code of the Book "Windows Via C/C++" By Jeffrey Richter And Christopher Nasarre
C++
97
star
4

state_estimation

State Estimation for SLAM: Filter(EKF, Particle Filter), MAP(GN, LM), Solver(Ceres-Solver, G2O, GTSAM), Bundle Adjustment
Jupyter Notebook
95
star
5

msckf_cg

Modified version of KumarRobotics/msckf_vio (commit e3a39a9 on Jul 26, 2019), a stereo version of MSCKF.
C++
60
star
6

ptam_cg

Modified version of the monocular SLAM framework PTAM
C++
51
star
7

opt_matlab

最优化方法及其MATLAB实现 源代码
MATLAB
37
star
8

slamkit

SLAM Kit
C++
36
star
9

CPPGUIProgrammingWithQt4

Source Code of the Book C++ GUI Programming with Qt4, 2nd Edition By Jasmin Blanchette, Mark Summerfield
C++
36
star
10

lidar_radar_fusion_ekf_ukf

Lidar and Radar Fusion with EKF and UKF
Jupyter Notebook
31
star
11

semantic_feature_points

Semantic Feature Points: SuperPoint and GCNv2 feature points test
C++
25
star
12

multicore_gpu_programming

source code(v1.03) for the book <Multicore and GPU Programming> or 《多核与GPU编程》
C++
21
star
13

ccv

Chenguang Computer Vision
C++
18
star
14

CVStudio

CV Studio with GUI using Qt for Computer Vision
C++
16
star
15

svo_cg

Modified version of rpg_svo(commit d616106 on May 9, 2017) which implement a Semi-direct Monocular Visual Odometry pipeline
C++
15
star
16

hpc

High-Performance Computing: CPU Instructions, GPU OpenCL & CUDA, etc. ☀️
Python
14
star
17

stereo_reconstruct

deprecated, moved to https://github.com/cggos/ccv
C++
11
star
18

okvis_cg

Modified version of okvis-1.1.3, include okvis ros wrapper and the core code
C++
10
star
19

viso2_cg

Modified version of LIBVISO2 (C++ Library for Visual Odometry 2)
C++
9
star
20

DSA-CPP

C++ source code for 《C++数据结构与算法(第4版)》, ISBN: 978-7-302-37668-2
C++
9
star
21

rgbdslam2_cg

Modified version of RGBDSLAMv2 which from http://github.com/felixendres/rgbdslam_v2/archive/kinetic.zip
C++
8
star
22

rokit

Robot Kit
C++
6
star
23

dip_vc6_matlab

Source Code of the Book 《数字图像处理与机器视觉——Visual C++与Matlab实现》
C++
5
star
24

OGLPG-9th-Edition

This is the example code for the OpenGL Programming Guide (Red Book), 9th Edition.
C
5
star
25

suitesparse_android

SuiteSparse for Android
C
5
star
26

dl_with_pytorch

Deep learning with PyTorch
Jupyter Notebook
4
star
27

multi_agent_visual_tracking

Multi-Agent Visual Tracking Project based on CamShift
C++
4
star
28

DSA

Data Structures and Algorithms ☀️
C++
4
star
29

kdl

Kinematics and Dynamics Library
C++
3
star
30

sword_point_to_offer

Code of 《剑指Offer:名企面试官精讲典型编程题(纪念版)》
C++
2
star
31

ptam_android

PTAM source code on Android platform and its Android demo.
C
2
star
32

rovio_cg

Modified version of ROVIO (commit 3389c2a on Dec 19, 2017)
C++
2
star
33

GraphX

Graphical Anything
Python
2
star
34

orb_slam2_cg

Modified version from raulmur/ORB_SLAM2 (commit f2e6f51 on Oct 11, 2017)
C++
2
star
35

ARDemoGL

AR Demo based on ROS and Pangolin
C++
2
star
36

SciKit

Scientific Computing & Programming 📊
Jupyter Notebook
1
star
37

DIPDemoCSharp

Digital Image Processing Demos with C#
C#
1
star
38

XRLab

1
star
39

ThirdPartyToolsCPP

Third-party Plug-ins and Tools for Development with C++
C++
1
star
40

lsd_slam_cg

Modified version of tum-vision/lsd_slam (commit d1e6f0e on Dec 12, 2014), Ubuntu 16.04, ROS Kinetic
C++
1
star
41

rgbdslam_cg

根据高翔博客《一起做RGB-D SLAM》,从零搭建 RGBD-SLAM
CMake
1
star
42

cggos.github.io

website cgabc.xyz
1
star