Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trajectory generate by ROVIOLI in Localization mode seems even worse than ROVIOLI in VIO mode #70

Open
LeoKingBUAA opened this issue Jun 26, 2018 · 5 comments

Comments

@LeoKingBUAA
Copy link

LeoKingBUAA commented Jun 26, 2018

Hi, all
I want to compare the trajectory generated by ROVIOLI in Localization mode and in VIO mode. So I do the following steps:

  1. download dataset MH_04_difficult.bag
  2. run ROVIOLI in VIO mode using MH_04_difficult.bag and save trajectory in EuRoc format.
  3. use maplab_console Preparing a single-session map and generate a summary map for Localization mode.
  4. run ROVIOLI in Localization mode and save trajectory in EuRoc format.
  5. use evo to plot trajectory in VIO mode and in Localization mode. Following picture shows the result.
    default
    blue line is the trajectory in Localization mode
    green line is the trajectory in VIO mode
    dotted line is groundtruth
    it seems the trajectory even worse in Localization mode, so I want to ask what's the problem?
@dymczykm
Copy link
Contributor

dymczykm commented Jun 27, 2018

Hi @LeoKingBUAA,
thanks for your report, that indeed shouldn't happen. Few questions:

  • Did you follow this tutorial exactly?
  • Could you, instead of the tutorial above, call optvi, lc, optvi and not use relax and kfh at all?
  • Which version of the repo are you using? Overall, ROVIOLI in Localization mode should work better using the most recent release candidate branch, see Release Candidate March 2018 #55

Would be great if you could test those suggestions and report back if you see any improvement.

@LeoKingBUAA
Copy link
Author

Hi @dymczykm ,
I think I use the wrong localization data. I used vertices' position in VI-map as localization data before, but it's not the true localization results, actually. I found using flag --export_estimated_pose_to_csv can export the localization data in global coordinate. Comparing this data with the groundtruth the result seems better.
image
To get the result, I localize MH_04 dataset with the summary map which is generated by dataset MH_04. But in practical, it's impossible to use the same picture during mapping and localization. So, I generate a new summary map with datasets MH_01 to MH_03, and the localization result shows below.
image
The result seems not so good. I think the reason is little pose can be localized with map during the term, though the mapping environment and the localization environment are similar.
image
(red points are poses localized with summary map)
So, I want to ask why just little pose can be localize by map? Is this an inherent problem of the feature point method? Or if there is a method to improve it ?

@dymczykm
Copy link
Contributor

dymczykm commented Jul 9, 2018

@LeoKingBUAA
Could you:

  • provide here or link the the ncamera.yaml file you are using,
  • when building the localization map, try out the commands I've linked above,
    and report back? This would help diagnosing the issue.

@JWDu
Copy link

JWDu commented Mar 9, 2019

Hi, @LeoKingBUAA
I can't find the flag --export_estimated_pose_to_csv you mentioned,which command use the flag? I just ues the csv_export command to get the CSV data, and use the vertices' position in vertices.csv as the localization results. Is that wrong?
Looking forward to your reply!

@amichayfeldman
Copy link

amichayfeldman commented Jun 21, 2020

Hi,
I tried to execute Rovioli with localiztion like @LeoKingBUAA did - run MH1 when using summary map from the same MH1 rosbag as reference.

I got very bad results:
image
image

I run ROVIOLI as described on tutorials (create summary map and then run ROVIOLI with localization script) : rosrun rovioli tutorial_euroc_localization /home/amichay/maplab_ws/save_folder_MH1_with_optimization_for_loc_localization MH1_calibration /home/amichay/maplab_ws/dataset/MH_01_easy.bag

How can it be described?
I think that it is correlated to camera parameters. I looked on EuroC camera yaml file and found different format (for example, the data value on MH1 camera yaml is matrix 4X4 and in ncamera-euroc is 1X4 )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants