Skip to content

HKUSTGZ-IADC/sp_orb_slam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SP_ORB_SLAM

Build Status LICENSE

Using Learnt Features in Indirect Visual SLAM. [project]

Paper and Video

Related publication:

@inproceedings{hyhuang2020rdvo,
  title={Monocular Visual Odometry using Learned Repeatability and Description},
  author={Huaiyang Huang, Haoyang Ye, Yuxiang Sun and Ming Liu},
  booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
  year={2020},
  organization={IEEE}
}

Demo videos:

gmmloc

Prerequisites

We have tested this library in Ubuntu 18.04 with CUDA 9.2 and cuDNN 7.6. Prerequisites for installation:

  1. ROS (ros-base is enough)
apt-get install ros-melodic-ros-base
  1. miscs for installation:
apt-get install python-wstool python-catkin-tools 
  1. OpenCV3
apt-get install libopencv-dev
  1. CUDA tookit, cuDNN (change the version of libtorch in install.sh according to CUDA version)

  2. Pangolin (optional, for visualization)

  3. evo (optional, for evaluation)

pip install evo --upgrade --no-binary evo

Installation

Initialize a workspace:

mkdir -p /EXAMPLE/CATKIN/WORK_SPACE
cd /EXAMPLE/CATKIN/WORK_SPACE

mkdir src
catkin init
catkin config --extend /opt/ros/melodic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel

Clone the code:

cd src
git clone git@github.com:hyhuang1995/sp_orb_slam.git

Use the installation script:

cd sp_orb_slam
./install.sh

Running Examples

We provide examples on the New Tsukuba and the EuRoC MAV dataset. To run the demo on the New Tsukuba sequences:

  1. Download the dataset

  2. Replace the /PATH/TO/TSUKUBA/DATASET in tsukuba.launch with where the sequence is decompressed:

<param name="data_path" value="/PATH/TO/TSUKUBA/DATASET" />
  1. Launch:
roslaunch tsukuba.launch seq:=lamps

To run the demo on the EuRoC MAV dataset:

  1. Download the sequences (ASL Format)

  2. Replace the /PATH/TO/EUROC/DATASET/ in euroc_mono.launch with where the sequence is decompressed:

<param name="data_path" value="/PATH/TO/EUROC/DATASET/$(arg seq)/mav0/" />
  1. Launch:
roslaunch euroc_mono.launch seq:=MH_05_difficult

The output trajectories would be saved to orb_ros/expr.

Evaluation

If evo is installed, we provide scripts for evaluating the VO performances.

roscd orb_ros
./scripts/evaluate_tsukuba.sh

or

./scripts/evaluate_euroc.sh

and the results would be saved to orb_ros/expr.

Credits

Our implementation is built on top of ORB-SLAM2, see the license in the source files for more details. The authors would like to thank Raul et al. for their great work.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages