-
Notifications
You must be signed in to change notification settings - Fork 723
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
Localization mode result worse than VIO mode result #261
Comments
Are you using the map saved after running VIO mode in your LOC mode? One thing you could try to do as well is to load and optimized the full map from your VIO run (unoptimized), and then save it and use the new optimized one when you run in LOC mode afterwards.
Instead of doing this, you could save the poses to csv during runtime by creating the csv file in the folder specified here https://github.com/ethz-asl/maplab/blob/master/applications/rovioli/src/data-publisher-flow.cc#L19 as it was suggested in the issue you referenced. I could not understand if you have tried this. |
OK. Which columns represent the position coordinates?
Thanks. ` |
Hi, to understand the output you should look into the line where they actually save the data into csv as I mentioned here #250 (comment). So in https://github.com/ethz-asl/maplab/blob/master/applications/rovioli/src/data-publisher-flow.cc#L134 you have
so you see that timestamp is followed by the latest_T_G_M_.getPosition() (x, y, z) and then latest_T_G_M_.getEigenQuaternion() (orientation) and so on. Actually a thing I just noticed is that the T_G_I, which is what you want when you run in loc mode, is not being saved. So what you have to do is to create T_G_I and define it as follows |
I tried to use as you described, and took the 3 first columns for x,y,z and the next 4 columns for quaternion, but got really bad results. What is the different between your way and using |
You mean you did the following and got bad results?
So export_trajectory_to_csv outputs T_G_I directly maplab/console-plugins/vi-map-data-import-export-plugin/src/export-vertex-data.cc Line 65 in 88d8587
|
Yes for any change you make in the files you always have to build maplab again |
@araujokth What did you change in the |
No, you have to make this change inside this script https://github.com/ethz-asl/maplab/blob/master/applications/rovioli/src/data-publisher-flow.cc#L134 where instead of having this
you want to have this so you can save to csv the T_G_I:
Then the CSV file will be written during runtime as you are running the experiment, to the path you define here https://github.com/ethz-asl/maplab/blob/master/applications/rovioli/src/data-publisher-flow.cc#L19 |
@araujokth So I did as you said:
|
The results you get are very strange. Did you take a look at both CSV files and try to see if in one you maybe have the coordinate system swapped (like the x column has z values, or something like that) or that you are using the right column values? On the results being different from the paper, one thing you have to consider is that the RMSE or ATE results are obtained after the alignment transformation from the tool you are using, which could totally give you different results even if the trajectory is the same. Also, it could be that the maplab authors used a previous or older version of the version you are testing which has a slight modification, or the parameters of the config files are slighty different. |
I have tried with EuroC dataset to compare between localization mode and VIO mode results.
I export trajectory by load map on maplab console and execute export_trajectory_to_csv command. Than compare trajectory with rpg_traj_evaluation with EuroC ground truth.
For MH3 (and I tried also with different MHs), with VIO mode I got:
and with localization mode:
I can also upload results of others MH, but the bottom line is that according to results, I don't see the improvement of localization mode versus the VIO's results (even got worse results with loc mode).
I followed this issue, but neither I found --export_estimated_pose_to_csv command (I see that export_trajectory_to_csv command just copy "vertirces" column from CSV) nor I got improvement like the whoever opend there the issue.
EDIT:
When I optimized VI maps with lc and optvi (but OFFLINE), I got better results:
So I assume that something is not configured\calibrated with ONLINE localization mode.
EDIT2:
Even when I use VI map from VIO mode and execute lc and optvi, I get good resutls.
So, how it can be explained??? how any vertex position or something else got improve with lc WITHOUT reference map?!?!
The text was updated successfully, but these errors were encountered: