Skip to content

[RA-L 2022] RGB-D Inertial Odometry for a Resource-restricted Robot in Dynamic Environments

Notifications You must be signed in to change notification settings

HITSZ-NRSL/Dynamic-VINS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b167a7a Β· Apr 26, 2023

History

11 Commits
Jul 6, 2022
Apr 26, 2023
Aug 8, 2022
Jul 6, 2022
Jul 6, 2022
Aug 8, 2022
Apr 26, 2023
Apr 26, 2023
Jul 6, 2022
Apr 26, 2023

Repository files navigation

Dynamic-VINS

RGB-D Inertial Odometry for a Resource-restricted Robot in Dynamic Environments

1. Introduction

Dynamic-VINS is a real-time RGB-D Inertial Odometry system for resource-restricted robots in dynamic environments.

  • Dynamic feature recognition by object detection and depth information with the performance comparable to semantic segmentation.
  • Grid-based feature detection and efficient high-quality FAST feature extraction.
  • Competitive localization accuracy and robustness in dynamic environments are shown in a real-time application on resource-restricted platforms, such as HUAWEI Atlas200 DK, NVIDIA Jetson AGX Xavier.

Authors: Jianheng Liu, Xuanfu Li, Yueqian Liu, and Haoyao Chen from the Networked RObotics and Sytems Lab, HITSZ

If you use Dynamic-VINS for your academic research, please cite the following paper [pdf].

@ARTICLE{9830851,  
  author={Liu, Jianheng and Li, Xuanfu and Liu, Yueqian and Chen, Haoyao},  
  journal={IEEE Robotics and Automation Letters},  
  title={RGB-D Inertial Odometry for a Resource-Restricted Robot in Dynamic Environments},   
  year={2022},  
  volume={7},  
  number={4},  
  pages={9573-9580},  
  doi={10.1109/LRA.2022.3191193}}

1.1. Framework

1.2. Related Video:

Video links: Youtube or Bilibili.

2. Installation

Tested on Ubuntu 18.04 and 20.04.

Find how to install Dynamic-VINS and its dependencies here: Installation instructions.

3. Run datasets examples

3.1. OpenLORIS

Download OpenLORIS datasets.

Take OpenLORIS-cafe as examples.

tar -xzvf cafe1-1_2-rosbag.tar
cd cafe
rosbag decompress cafe*
python YOUR_PATH_TO_DYNAMIC_VINS/scripts/merge_imu_topics.py cafe1-1.bag cafe1-2.bag

NVIDIA devices (pytorch)

roslaunch vins_estimator openloris_vio_pytorch.launch
roslaunch vins_estimator vins_rviz.launch # Visualization
rosbag play YOUR_PATH_TO_DATASET/cafe.bag 

NVIDIA devices (tensorrt)

roslaunch vins_estimator openloris_vio_tensorrt.launch
roslaunch vins_estimator vins_rviz.launch # Visualization
rosbag play YOUR_PATH_TO_DATASET/cafe.bag 

HUAWEI Atlas200DK

roslaunch vins_estimator openloris_vio_atlas.launch

Running Dynamic-VINS on HUAWEI Atlas200DK requires multile devices communication setting. For specific instructions, please refer to the MULTIPLE_DEVICES. And other kinds of edge devices also could refer to this instruction.

3.2. HITSZ & THUSZ Datasets

Please prepare enough space for the datasets.

  • HITSZ(41.0GB x 2)
  • THUSZ(51.3GB x 2)
  1. download datasets vis Dyanmic-VINS-Datasets.
  2. run following cmd:
# bash scripts/download_hitsz.sh # bash scripts/download_thusz.sh
python3 scipts/rosbag_merge_chunk.py Datasets/hitsz_00.bag # python3 scipts/rosbag_merge_chunk.py Datasets/hitsz_00.bag
# rm ./Datasets/hitsz_*.bag # rm ./Datasets/thusz_*.bag
roslaunch vins_estimator realsense_vio_campus.launch
roslaunch vins_estimator vins_rviz.launch
rosbag play Datasets/hitsz.bag # rosbag play thusz.bag 

4. Configuration

5. Acknowledgments

Dynamic-VINS is extended based on VINS-Mono, VINS-RGBD, yolov5, tensorrt_yolov5, ascend_yolo.

About

[RA-L 2022] RGB-D Inertial Odometry for a Resource-restricted Robot in Dynamic Environments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published