Skip to content

A lightweight version of OrcVIO that uses monocular images, inertial data, as well as bounding box measurements

Notifications You must be signed in to change notification settings

jianglingxin/OrcVIO-Lite

 
 

Repository files navigation

OrcVIO-Lite

About

  • Object residual constrained Visual-Inertial Odometry (OrcVIO) is a visual-inertial odometry pipeline, which is tightly coupled with tracking and optimization over structured object models. It provides accurate trajectory estimation and large-scale object-level mapping from online Mono+IMU data.

  • OrcVIO-Lite only uses bounding boxs and no keypoints. The object mapping module and VIO module are implemented in separate ROS nodelets and are decoupled.

  • Related publication: OrcVIO: Object residual constrained Visual-Inertial Odometry, this is the journal version submitted to T-RO. Project website

Citation

@inproceedings{shan2020orcvio,
  title={OrcVIO: Object residual constrained Visual-Inertial Odometry},
  author={Shan, Mo and Feng, Qiaojun and Atanasov, Nikolay},
  booktitle={2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={5104--5111},
  year={2020},
  organization={IEEE}
}   

1. Prerequisites

This repository was tested on Ubuntu 18.04 with ROS Melodic.

The core algorithm depends on Eigen, Boost, Suitesparse, Ceres, OpenCV, Sophus, GTest

2. Installation

2.1 Non-ROS version

$ git clone --recursive https://github.com/shanmo/OrcVIO-Lite.git
$ cd OrcVIO-Lite
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=Release ..
$ make

2.2 ROS version

  • Environment is Ubuntu 18.04 with ROS Melodic
  • The ROS version also depends on catkin simple, please put it in the ros_wrapper/src folder
$ git clone --recursive https://github.com/shanmo/OrcVIO-Lite.git
$ cd OrcVIO-Lite/ros_wrapper
$ catkin_make
$ source ./devel/setup.bash

3. Evaluation

3.1 Non-ROS Version

$ cd PATH_TO_ORCVIO_LITE/
$ ./run_euroc.sh PATH_TO_EUROC_DATASET/

3.2 ROS Version

$ cd OrcVIO_Lite/ros_wrapper/
$ roslaunch orcvio orcvio_vio_rs_d435i.launch path_bag:=PATH_TO_ERL_DATASET/
  • VIO & Mapping
$ cd OrcVIO_Lite/ros_wrapper/
$ roslaunch orcvio orcvio_mapping_rs_d435i.launch path_bag:=PATH_TO_ERL_DATASET/
  • rviz visualization

demo

4. Notes

  • The path to save the object map is set in config/object_feat_erl.yaml by result_dir_path_object_map

License

MIT License
Copyright (c) 2021 ERL at UCSD

Reference

About

A lightweight version of OrcVIO that uses monocular images, inertial data, as well as bounding box measurements

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 92.0%
  • CMake 4.6%
  • Python 3.4%