• Stars
    star
    471
  • Rank 93,216 (Top 2 %)
  • Language
    C++
  • License
    Other
  • Created over 7 years ago
  • Updated over 7 years ago

Reviews

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

Repository Details

ORB-YGZ-SLAM

This is YGZ SLAM, a faster version folked from ORB-SLAM2 (see https://github.com/raulmur/ORB_SLAM2 and the README-ORB-SLAM2.md in this repo). We put the direct tracking in SVO to accelerate the feature matching in ORB-SLAM2. We can get an average 3x speed up and keep almost same accuracy. In addition we also support monocular Visual-Inertial SLAM (VI-SLAM), following idea proposed in Raul's paper.

Dependency

If you are using ubuntu, just type "./install_dependency.sh" to install all the dependencies except pangolin.

  • Pangolin (for visualization): https://github.com/stevenlovegrove/Pangolin
  • Eigen3: sudo apt-get install libeigen3-dev
  • g2o: sudo apt-get install libcxsparse-dev libqt4-dev libcholmod3.0.6 libsuitesparse-dev qt4-qmake
  • OpenCV: sudo apt-get install libopencv-dev
  • glog (for logging): sudo apt-get install libgoogle-glog-dev

Compile

run "./generate.sh" to compile all the things, or follow the steps in generate.sh

Examples

We support all the examples in the original ORB-SLAM2, and also the monocular-inertial examples. You can try the EUROC dataset (http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) and run the monocular/mono-inertial examples by typing:

./Examples/Monocular/mono_euroc Vocabulary/ORBvoc.bin Examples/Monocular/EuRoC.yaml PATH_TO_SEQUENCE_FOLDER/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/SEQUENCE.txt 

just like in ORB-SLAM2. For VIO examples, try:

 ./Examples/Monocular/mono_euroc_vins ./Vocabulary/ORBvoc.bin ./Examples/Monocular/EuRoC.yaml /var/dataset/euroc/V1_01_easy/cam0/data ./Examples/Monocular/EuRoC_TimeStamps/V101.txt /var/dataset/euroc/V1_01_easy/imu0/data.csv

to run the VIO case.

Other things

We follow SVO when writing direct tracking, whose speed is very fast but robustness is not very good. In EUROC it can pass the test of MH01, MH02, MH03 and V101, V201. For difficult cases it may still fail. We are still improving it and writing a better solution for stereo-inertial case.

YGZ stands for Yi-Guo-Zhou (a port of porridge, a group of mess) because it contains feature method, direct method and imu things.

The Note.md is a file of develop records.

Contact me ([email protected]) or Wang Jing (https://github.com/jingpang) for commercial use.

in "scirpts" you can find some pythons to evalute the keyframe trajectory (6DoF or 7DoF in monocular case).

Thanks the following companies/people for finantial support:

  • Usens凌感科技
  • Hyperception 远形时空
  • Qfeeltech 速感科技
  • 天之博特
  • 视辰信息科技

More Repositories

1

slambook

C++
6,827
star
2

slambook2

edition 2 of the slambook
C++
5,365
star
3

slam_in_autonomous_driving

《自动驾驶中的SLAM技术》对应开源代码
C++
1,864
star
4

slambook-en

The English version of 14 lectures on visual SLAM.
TeX
1,448
star
5

faster-lio

Faster-LIO: Lightweight Tightly Coupled Lidar-inertial Odometry using Parallel Sparse Incremental Voxels
C++
1,029
star
6

ORBSLAM2_with_pointcloud_map

C++
842
star
7

rgbd-slam-tutorial-gx

code for the rgbd-slam tutorial written in cnblogs
C++
551
star
8

ygz-stereo-inertial

a stereo-inertial visual odometry
C++
263
star
9

octomap_tutor

A tutorial about octomap. Please check my blog for detail: cnblogs.com/gaoxiang12
CMake
214
star
10

g2o_ba_example

An easy example of doing bundle adjustment within two images using g2o.
CMake
130
star
11

state-estimation-exercises

The exercises in Barfoot's book: state estimation for robotics
TeX
103
star
12

rgbd-slam-tutor2

The second version of RGBD SLAM tutorial. We will discuss more about pnp, tracking, multi-thread and loop closure methods. Please refer to my blog for details: www.cnblogs.com/gaoxiang12 .
C++
100
star
13

slam3d_gx

A 3d SLAM program, using novel plane ICP
C++
63
star
14

slam-in-ad-en

English version of slam in autunomous driving
TeX
56
star
15

zed-slam

This is a light weight slam desinged for the stereo sensor zed.
C++
24
star
16

follower_TLD

A follower robot program using OpenTLD tracking algorithm. Run in ROS.
C++
13
star
17

slam_gx

my slam program, based on g2o, opencv and pcl. Trying to run it in Turtlebot.
C++
5
star
18

research

research code
C++
1
star
19

interact_segmentation

1
star
20

study-gx

My study code will be put here.
1
star