rpng / R-VIO

Robocentric Visual-Inertial Odometry

Home Page:https://journals.sagepub.com/doi/10.1177/0278364919853361

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

R-VIO initialization

chutsu opened this issue · comments

Was wondering if R-VIO needs the IMU to be stationary for a minimum time for initialization?

What I'm seeing after testing a couple MAV EuRoC bags is that the bags that start with the drone stationary at the beginning seems to initialize well. However, the MH_01_easy.bag dataset, for example, starts with the drone being moved up and down first (presumably to initialize a VO), and that seems to cause R-VIO to diverge significantly at the start. Could this be because the sliding window hasn't been filled yet and the up and down motion cause the intialization to fail? If so this might be worth mentioning in the README?

Tested:

Good Initialization --- V1_01_easy.bag -- [stationary start]
Good Initialization --- V1_02_medium.bag -- [stationary start]
Good Initialization --- V1_03_difficult.bag -- [stationary start]
Bad Initialization --- MH_01_easy.bag -- [dynamic start]
Bad Initialization --- MH_02_easy.bag -- [dynamic start]
Good Initialization --- MH_03_medium.bag -- [stationary start for 1s then up and down]

Screenshot_2019-07-10_10-09-39

^ screenshot of R-VIO running on MH_01_easy.bag

Just realized this is basically the same question as Issue #1

Thanks @chutsu for testing the code. The initialization that I implemented is very simple, if you refer to the corresponding part of code. So, here I would like to clarify that current R-VIO codebase is for validation of the idea proposed in our paper and provides basic navigation functionality. If you want a full-function solution (e.g., with a better initialization), then I would encourage you to implement your own one.

I would like to clarify that current R-VIO codebase is for validation of the idea proposed in our paper and provides basic navigation functionality

Thats fair enough. Thanks for sharing your code! :)