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

Add initial GNSS support #53

Open
DNedic opened this issue Feb 9, 2025 · 1 comment
Open

Add initial GNSS support #53

DNedic opened this issue Feb 9, 2025 · 1 comment
Labels
enhancement New feature or request

Comments

@DNedic
Copy link
Member

DNedic commented Feb 9, 2025

In order to achieve higher position and orientation accuracy through sensor fusion, absolute time and date without a ground station providing it, as well as to enable fully autonomous flight modes, use of GNSS receivers is required.

For now, use of Ublox M8N GNSS receivers is the first option, due to its low price, ubiquity and knowledge base around them, however this choice can be reevaluated.

There are 2 approaches which can be taken in order to obtain the data from the receivers:

  1. Use the NMEA-0183 protocol and Zephyr's GNSS Interface
    This has the downside of the inacurracy of the ASCII-based NMEA-0183 protocol and its extreme runtime performance requirements due to string parsing, however is a very easy starting point and there is a possibility to implement support for manufacturers binary protocols under the hood down the line.
  2. Write our own parser for the GNSS manufacturer of choice's binary protocol
    This is much more work-intensive and doesn't use a standardized interface, but should be more accurate and much faster.
@DNedic DNedic added the enhancement New feature or request label Feb 9, 2025
@DNedic DNedic moved this to Todo in Project planning Feb 9, 2025
@nikolaptr
Copy link
Member

First approach seems like a good starting point to me, only issue would be that there would be no way to configure Ublox M8N using NMEA messages.

Luckily, the M8N has SQI flash and BBR which could be used to retain device configuration, but we would need to configure the device first (i.e. via PC application).

This would also a big reason to implement manufacturer's binary protocol in the future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

2 participants