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

Failed Conversion, out of legal UTM zone #95

Open
MCFurry opened this issue Feb 21, 2025 · 5 comments
Open

Failed Conversion, out of legal UTM zone #95

MCFurry opened this issue Feb 21, 2025 · 5 comments
Assignees
Labels
bug Something isn't working

Comments

@MCFurry
Copy link

MCFurry commented Feb 21, 2025

Using the latest jazzy driver we have a couple of situations where warning like these are output by the driver:
W 2025-02-19 13:10:57:614 [novatel.oem7.main::UTMPointFromGnss] Failed Conversion (tot: 177511) Lat: 48.3748 Lon: 16.7065; Zone: 31 Latitude 48.3748, longitude 16.7065 out of legal range for UTM zone 31

But as far as I understand from the code, the driver itself should switch UTM zone when the lat/lon coordinates are in another zone?

  • Why is the driver not switching UTM zone?
  • Does this mean the outputted lat/lon positions are now not to be trusted? Or is only the UTM and this Odom topic now failing?
@MCFurry MCFurry added the bug Something isn't working label Feb 21, 2025
@valgur
Copy link

valgur commented Feb 21, 2025

I wonder if it could be related to this BESTUTM decoding bug that used to be present in NovAtel EDIE: novatel/novatel_edie#77

@novatel-applications-engineering
Copy link
Contributor

Hi @MCFurry, thanks for reporting this. For the Jazzy release, we did not expect any changes for the UTM conversion relative to the current Humble branch.

To confirm, have you been using our humble driver regularly and not run into issues with this? What version of the humble driver have you been using?

As a more secure file transfer method, could you please reach out to support.novatel@hexagon.com and send us a ROS bag that you have collected that had this issue? We would especially appreciate a ROS bag with oem7raw. Please reference case 00354665 when you send it in.

@MCFurry
Copy link
Author

MCFurry commented Feb 21, 2025

We've been using the Humble driver before but now that we're on Jazzy we've been having way more machine operating hours. Hence it could be the issue was there in Humble as well but never noticed.

I'll reach out to send a bagfile with Novatel data in it.

@novatel-applications-engineering
Copy link
Contributor

Thanks @valgur we'll definitely keep you comments in mind when looking at the data. As a general note, the odometry topic is published using the data from BESTPOS which is then converted to UTM coordinates for odometry specifically using the function UTMPointFromGnss.

@novatel-applications-engineering
Copy link
Contributor

While help from @MCFurry, our team has helped identify the source of the issue. This is applicable to Humble as well, not just Jazzy.

When the receiver does not have a position such as at startup, it reports a latitude, longitude and height of 0,0,0 such as:
<BESTPOS USB1 0 69.0 UNKNOWN 0 15.000 024c0020 cdba 17399
<     INSUFFICIENT_OBS NONE 0.00000000000 0.00000000000 0.0000 0.0000 WGS84 0.0000 0.0000 0.0000 "" 0.000 0.000 0 0 0 0 00 00 00 00

This can occur if there has not yet been enough time to acquire signals, if you start in a GNSS denied environment or if your antenna is disconnected.

This data then gets received in the ROS driver, and the GPSFix outputs a 0,0,0 position. GPSFix then drives odometry. Odometry takes the 0,0,0 latitude, longitude and converts it to UTM coordinates. 0 degrees longitude is UTM Zone 31. Once UTM Zone 31 is determined, we then use that as our preferred zone in conversion.

Once you get a position, BESTPOS and GPSFix report a proper output. But odometry is still trying to use UTM Zone 31 even though we are in a different position.

Our team is currently working on a bug fix for this. But the immediate workaround is to not launch the driver until the receiver has a position.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants