yolo_ros was cloned at commit ebd64 and slightly modified.
if you use this repo please note that there are several hardcoded parameters regarding the focal length that we carried from the original repo. Check the fork difference to spot them.
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.
@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}}
Video links: Youtube or Bilibili.
Tested on Ubuntu 18.04 and 20.04.
Find how to install Dynamic-VINS and its dependencies here: Installation instructions.
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.
Please prepare enough space for the datasets.
- HITSZ(41.0GB x 2)
- THUSZ(51.3GB x 2)
# download datasets
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
- Detailed illustration of configuration please refer to realsense configuration.
- A running procedure across two different platform is exampled in Multiple Devices running_procedure.
- HUAWEI Atlas200DK setup please refer to HUAWEI Atlas200DK Setup.
Dynamic-VINS is extended based on VINS-Mono, VINS-RGBD, yolov5, tensorrt_yolov5, ascend_yolo.