Giter Club home page Giter Club logo

sopvo's Introduction

sopvo

1-Demo Video

2-Relevent Publication:

Paper Link: https://ieeexplore.ieee.org/document/9690581

Title: Stereo Orientation Prior for UAV Robust and Accurate Visual Odometry

Abstruct: This paper presents a novel outlier rejection approach for feature-based visual odometry. The proposed approach is based on an empirical observation that shows that some 2D-3D correspondences with very low reprojection error can cause a high error in pose estimation. This work exploits such observations for odometry when a stereo camera is available. We argue that an explicit pose error measure is desired over that of implicit reprojection -- whenever the former is possible -- to classify correspondences into inliers vs. outliers for robust long-term odometry. To explicitly measure the plausible pose error, we derive bounds on the individual pose parameters with the help of the known orientation of stereo cameras. In this process, we formulate our bounds using the sum-of-square polynomials, which allow us to test whether a given correspondence satisfies any solution within the expected bounds. If the correspondence does not satisfy bounds for any parameter, it is considered to be an outlier. We implemented and tested the proposed method for the unmanned aerial vehicle (UAV) indoor navigation. The experiments from both benchmark evaluations (EuRoC and KITTI) and UAV onboard tests indicate that the inlier group refined by the proposed method significantly improves odometry estimation compared to the traditional outlier rejection methods. In fact, the proposed method performs as accurately as inertial measurement unit (IMU) aided methods in the state of the art.

3-Support Camera/Dataset:

EuRoC MAV Dataset, Intel Realsense T265, KITTI(ros melodic)

4-Build The Project:

We have tested in the following environment:

Ubuntu 16.04 + ROS Kinetic (recommend)

Ubuntu 18.04 + ROS melodic (parameters in config file need to be refined)

4.1 Clone the repository to the catkin work space eg. /catkin_ws/src

4.2 Install sopvo:

./install_sopvo_XXXX.sh

4.3 Compile

cd ~/catkin_ws
catkin_make

5-Verification:

5.1 EuRoC MAV Dataset Download the dataset(say MH_05_difficult) into the bag folder:

roscd sopvo/bag/
wget http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_05_difficult/MH_05_difficult.bag

Edit the corresponding bag name in sopvo_euroc.launch file:

<node pkg="rosbag" type="play" name="rosbag" args="$(find sopvo)/bag/MH_05_difficult.bag"/>

run the following launch files:

roslaunch sopvo sopvo_euroc.launch

5.2 Intel Realsense T265 (live version): Make sure you have installed realsense-ros properly. To run the live demo:

roslaunch sopvo sopvo_t265_live.launch

5.3 KITTI: Please download the odometry dataset(gray image), then use kitti_img2rosbag_tool to convert the sequense into rosbag. There are different image resolutions of the KITTI datasets, please modify the config files for the testing. In folder ./config we provide two examples: kitti_1226.yaml and kitti_1241.yaml.

KITTI benchmark results and demo video:

Fly in simulation:


Please install our Gazebo simulation tool from: https://github.com/rduan036/E2ES.git

roslaunch sopvo sopvo_gazebo_sim.launch

SOPVO + object tracking (https://github.com/arclab-hku/ICRA2021tracking): example

To fly a UAV, please check our onboard version: https://github.com/rduan036/SOPVO.git

UAV platform: lattepanda + D435i



Maintainer:

Ran Duan, ArcLab at PolyU, HK, China [email protected] [email protected]

Acknowledgement:

I would like to thank Dr. Shengyang Chen(Dept.ME,PolyU) for his assistant in coding.

Cite:

R. Duan, D. P. Paudel, C. Fu and P. Lu, "Stereo Orientation Prior for UAV Robust and Accurate Visual Odometry," in IEEE/ASME Transactions on Mechatronics, doi: 10.1109/TMECH.2022.3140923.

Latex:

@ARTICLE{9690581, author={Duan, Ran and Paudel, Danda Pani and Fu, Changhong and Lu, Peng}, journal={IEEE/ASME Transactions on Mechatronics}, title={Stereo Orientation Prior for UAV Robust and Accurate Visual Odometry}, year={2022}, volume={27}, number={5}, pages={3440-3450}, doi={10.1109/TMECH.2022.3140923}}

sopvo's People

Contributors

rduan036 avatar

Stargazers

Wojciech Gajda avatar Zihao_Wu avatar Hangyo Cho avatar davci avatar Tomato1107 avatar Big Star avatar Li Xinqi avatar Liu Jianheng avatar  avatar Lucas_Zhang avatar weiningwei avatar FENG Yurong avatar 天外飞仙 avatar Shengyang.Chen avatar

Watchers

James Cloos avatar  avatar Peng Lu avatar

Forkers

mfkiwl

sopvo's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.