rodralez / NaveGo

NaveGo: an open-source MATLAB/GNU Octave toolbox for processing integrated navigation systems and performing inertial sensors analysis.
Other
584 stars 212 forks source link

F_update with infinity imu.gb_corr or imu.ab_corr #70

Closed YangRiverJiang closed 3 years ago

YangRiverJiang commented 3 years ago

Hi Authors,

I was reading the code of NaveGo and I am curious about something. When you update F without valid imu.gb_corr or imu.ab_corr, the matrix of Fbg or Fba is not produced, see lines 170 to 172 and lines 178 to 180 of function F_update. However, when MAG is switched to 'OFF', these two matrices are needed to produce G, see lines 186 to 202. So I wish to know if these were intentionally written? Could you please let me know a suggestion on these two matrices for my processing? Thank you very much!

River

rodralez commented 3 years ago

Hi River,

Thank you very much for pointing out this issue.

A magnetometer is used as an aiding sensor in NaveGo's framework so far, so only matrices R and H have to be modified. I have corrected NaveGo functions F_update.m and ins_gnss_mag.m accordingly.

If magnetometer bias or noise want to be corrected, then a new state has to be added to states vector x and matrices F and G have to be modified consequently.

I am planning to provide a working example with magnetometer data, so NaveGo community could test the code thoughtfully.

Best regards.

YangRiverJiang commented 3 years ago

Hi, I am glad that I am able to offer tiny help to the community, but I just meant that the variable Fbg should be initialized following line 169: Fgg = Z; which should be similar to lines 171 to 173. So when isinf(imu.gb_corr) returns true, Fbg can still be initialized and used to create matrix G. The same comment on the variable Fba, which is just next. Thank you very much,

River

rodralez commented 3 years ago

Hi River,

Now I understand your point. I was probably trying different formulas for Fbg and Fba. Now these matrices are equal to the identity matrix.

Please, check the last commit and let me now if everything is OK.

Regards.