JonasBchrt / raw-gnss-fusion

Code, data, and results for fusing raw GNSS data with other sensing modalities
GNU Lesser General Public License v3.0
120 stars 23 forks source link

Question about initial values for time clock drifts and extrinsic #6

Closed Joanna-HE closed 1 year ago

Joanna-HE commented 1 year ago

Hi, I have a question about the initialization of this system. As indicated in the article, there is only an implicit initialization procedure for the proposed system, then how to give an initial value to the extrinsic between local world frame and ecef frame, as well as what is the initial value of time clock drifts?

Hope to hear from you, and thanks in advance.

JonasBchrt commented 1 year ago

Hi @Joanna-HE , There are basically three different things to initialise:

I hope that makes sense.

Joanna-HE commented 1 year ago

Thanks a lot for your prompt response! I also want to make sure about a technical issue of the GTSAM: how to set an initial uncertainty for the gtsam::Values? Could I make it through adding a prior factor with self-defined noises? Or is there another way to set the initial uncertainties?

I hope I have made my question clear. And looking forward to your help.

JonasBchrt commented 1 year ago

Yes, that's what I would do.

In the Python code in this repository you can find an (albeit very minimal) example, where I use gtsam.noiseModel.Diagonal.Sigmas() to define a noise model for the prior and a simple numpy array for the prior mean. Then, I create a prior factor with gtsam.PriorFactorVector() and add it to the non-linear FG with gtsam.NonlinearFactorGraph.add(). The C++ interface is roughly similar. Although, you may want to use different types of noise models and factors depending on your implementation. The noise magnitude would usually be a tuning parameter that determines convergence speed, I think.

Joanna-HE commented 1 year ago

Thanks very much for your response. I am clear about this problem now.