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

How to verify if the GPS signal has RTK correction applied? #94

Open
GPrathap opened this issue Feb 20, 2025 · 8 comments
Open

How to verify if the GPS signal has RTK correction applied? #94

GPrathap opened this issue Feb 20, 2025 · 8 comments
Assignees
Labels
bug Something isn't working

Comments

@GPrathap
Copy link

Is the correct approach to determining whether RTK correction was applied to the received GPS signal unclear?

@GPrathap GPrathap added the bug Something isn't working label Feb 20, 2025
@GPrathap
Copy link
Author

I guess it is related here : #58

@GPrathap
Copy link
Author

Hi @novatel-applications-engineering any update on this?

@novatel-applications-engineering
Copy link
Contributor

novatel-applications-engineering commented Feb 21, 2025

Hello @GPrathap
Can you please clarify this question?  I read this as: what is the best way to determine whether or not RTK corrections have been applied to the GNSS solution?

If this is the question, there are a few ways you can achieve this.

If I misunderstood the question, please let me know.

@GPrathap
Copy link
Author

Hi there, thanks for the reply, sometime due to some unknown reasons if we loose the mount point for rtk correction, we need to indicate such that we don't have rtk correction for current reading, yes we get the pose from bestpos

@GPrathap
Copy link
Author

Let us know you understand our problem 🙂

@novatel-applications-engineering
Copy link
Contributor

Hi @GPrathap ,
There are a few ways that you can monitor if the RTK corrections are being used.

  • If you watch the RXSTATUS log, you can watch bit 14 and bit 15 to see if there are usable corrections https://docs.novatel.com/OEM7/Content/Logs/RXSTATUS.htm

  • The diff_age field in the BESTPOS log shows you the age of the differential corrections. From this you could set a threshold in your system. Additionally, a differential age of 0 indicates that no differential correction was used.

  • I had to update my original post response because my statement was incorrect, so just calling attention to that here.

  • The RTKPOS log contains the Low-Latency RTK position when valid, and an "invalid" status when a Low-Latency RTK solution could not be computed. ( https://docs.novatel.com/OEM7/Content/Logs/RTKPOS.htm )

Let me know if you have any other questions.

@GPrathap
Copy link
Author

Hi @novatel-applications-engineering, thank you very much for the detailed explanation.

  1. /novatel_driver/rxstatus

           aux4_stat_bits: [0, 14, 21]
           aux4_stat_strs: [<60% of available satellites are tracked well, 'Usable RTK Corrections: < 60%', Poor
               ALIGN COM link]
    
  2. /novatel_driver/bestpos

         undulation: 7.5
         datum_id: 34
         lat_stdev: 0.0308949109167
         lon_stdev: 0.0408235453069
         hgt_stdev: 0.0531800501049
         stn_id: "9\0\0\0"
         diff_age: 1.14999997616
         sol_age: 0.0
         num_svs: 30
         num_sol_svs: 27
         num_sol_l1_svs: 27
         num_sol_multi_svs: 18
         reserved: 0
         ext_sol_stat: 
           status: 33
         galileo_beidou_sig_mask: 53
         gps_glonass_sig_mask: 51    
    
  3. I could not find this RTKPOS is this another ros topic? can you help me with this, please?

@novatel-applications-engineering
Copy link
Contributor

Hi @GPrathap,
My apologies, the RTKPOS is a standard NovAtel log, but not one included in our ROS driver.
The BESTPOS differential age and RXSTATUS monitoring will be your best options at this time.

Thanks for the understanding

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

2 participants