septentrio-gnss / septentrio_gnss_driver

ROS 1 & 2 driver for Septentrio GNSS & INS receivers
BSD 3-Clause "New" or "Revised" License
71 stars 37 forks source link

Invalid or erroneous data like -20000000 in navsatfix messages #112

Closed ayoubasritii closed 6 months ago

ayoubasritii commented 7 months ago

Hello,

I am using the Septentrio INS SBI Pro + and the official driver for my project, I have encountered an issue where the navsatfix topic occasionally publishes invalid values, specifically -20000000, under certain conditions (e.g., bad GNSS signal). This behavior can lead to complications in downstream applications such as localization and navigation systems.

Description of the issue:

Impact:

Expected behavior:

Environment:

I am looking forward to any suggestions, guidance, or fixes you can provide. Additionally, if there's any further information or testing I can assist with, please let me know.

Best regards, Ayoub.

thomasemter commented 7 months ago

Hello Ayoub,

the driver works as intended and correctly flags the fix status as STATUS_NO_FIX. This behavior allows for the system to distinguish between a communication failure from the receiver and invalid data.

In order to process the data, it is a must to always evaluate the status flag. Nonetheless, we are contemplating about changing invalid data to NaN to make it more obvious.

Best regards, Thomas

ayoubasritii commented 7 months ago

Hello Thomas, Thank you for your prompt reply. I agree that the status flag should be evaluated, but according to this workshop the driver should be able to be used by the robot localization package. As far as I know, this package does not handle invalid or NaN data or am I mistaken?

thomasemter commented 7 months ago

robot_localization does check for good_gps, i.e., for both valid status and not NaN.