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

SCALE AMBIGUITY #3

Closed
logindiamant opened this issue Jan 15, 2020 · 3 comments
Closed

SCALE AMBIGUITY #3

logindiamant opened this issue Jan 15, 2020 · 3 comments

Comments

@logindiamant
Copy link

Dear, Adam!
Please tell, how you solve scale ambiguity problem and fuse GPS and SLAM data with different scale in Kalman filter?

@GSORF
Copy link
Owner

GSORF commented Jan 15, 2020

Dear, Adam!

Hello @logindiamant,

Please tell, how you solve scale ambiguity problem and fuse GPS and SLAM data with different scale in Kalman filter?

Thank you for your question.

I am taking differential observations (i.e. velocities) from the monocular DSO and absolute observations from GPS (i.e. positions in cartesian coordinates). I do not model the scale drift in the Kalman Filter formulation, therefore the method has clear drawbacks which can be improved. They are discussed in the published Paper which you can download here (this is the preprint version): http:https://master.kalisz.co/Kalisz_BSLAMSIM_ShortVersion.pdf
You can see the measurement and process covariance matrices there and also compare the source code of the fusion implementation (it is in python), see here: https://github.com/GSORF/Visual-GPS-SLAM/blob/master/02_Utilities/FusionLinearKalmanFilter/01_LinearKalmanFilter_allEvaluations.py#L465 (this uses Velocity from DSO and Position from GPS - I also tried a much more worse method where I take Position from DSO and Position from GPS which - obvisously due to scale ambiguity - creates oscillations in the fusion result (see Paper above for explanations, details and plots)).

I hope this helps you and would love to hear your constructive feedback.

Kind regards,
Adam

@logindiamant
Copy link
Author

logindiamant commented Jan 16, 2020

Thanks for you answer, Adam!
We try to inject GNSS track to prebuild map with different scales
And solve the scale ambiguity problem by using this key idea
http:https://pointclouds.org/documentation/tutorials/interactive_icp.php
http:https://pointclouds.org/documentation/tutorials/template_alignment.php
It's Iterative Closest Point Algorithm
Solve affine transformation with rotation matrix and translation vector

Kind regards,
Egor

@GSORF
Copy link
Owner

GSORF commented Jan 18, 2020

Hi Egor,

Thank you for your explanation. I think using ICP is a good idea. However, it willl most likely only work if the Visual SLAM algorithm does not suffer from Scale Drift, i.e. the scale ambiguity remains constant across the whole trajectory. Otherweise you would need some ARAP (As Rigid As Possible) approaches such as global bundle adjustment algorithms.

We have investigated incoorporating the GPS measurements directly into the objective function of Visual SLAM, but are not happy with the derivation of the formulas at the moment.

The bottom line is, I think that both of our approaches are very important for a robust sensor data fusion and we should definitely continue to investigate them. I am very happy that you are on the topic as well and thank you for sharing your work. I wish you good success with your research and will constantly share my progress in the future!

Kind regards,
Adam

@GSORF GSORF closed this as completed Mar 23, 2020
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

2 participants