The estimator class that is part of the navigation module performs many floating point operations. To incorporate a GPS readout as a position measurement, an equirectangular transform and euclidean distance calculation are both performed using floating point types. While testing the GPS reading, the calculated distance from the set origin slowly increases on its own without the sensor moving at all.
The estimator class that is part of the navigation module performs many floating point operations. To incorporate a GPS readout as a position measurement, an equirectangular transform and euclidean distance calculation are both performed using floating point types. While testing the GPS reading, the calculated distance from the set origin slowly increases on its own without the sensor moving at all.
https://github.com/albertaloop/T_SWE_2019_2020/tree/Ian-Navigation/Firmware/Navigation_Module_Teensy3.6/navmod_tests https://github.com/albertaloop/T_SWE_2019_2020/tree/Ian-Navigation/Firmware/GPS_Module_Teensy3.6
https://en.wikipedia.org/wiki/Kalman_filter https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/
I will upload test results demonstrating the problem soon.