• Stars
    star
    464
  • Rank 91,432 (Top 2 %)
  • Language
    C++
  • License
    Other
  • Created almost 7 years ago
  • Updated almost 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,617
star
2

slambook2

edition 2 of the slambook
C++
4,953
star
3

slam_in_autonomous_driving

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

slambook-en

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

faster-lio

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

ORBSLAM2_with_pointcloud_map

C++
799
star
7

rgbd-slam-tutorial-gx

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

ygz-stereo-inertial

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

octomap_tutor

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

g2o_ba_example

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

state-estimation-exercises

The exercises in Barfoot's book: state estimation for robotics
TeX
105
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++
99
star
13

slam3d_gx

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

zed-slam

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

follower_TLD

A follower robot program using OpenTLD tracking algorithm. Run in ROS.
C++
12
star
16

lantern

⚡ Open Internet for everyone. Lantern is a free desktop application that delivers fast, reliable and secure access to the open Internet for users in censored regions. It uses a variety of techniques to stay unblocked, including P2P and domain fronting. Lantern relies on users in uncensored regions acting as access points to the open Internet.
Go
8
star
17

slam_gx

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

interact_segmentation

1
star
19

research

research code
C++
1
star
20

study-gx

My study code will be put here.
1
star