Coder Social home page Coder Social logo

Comments (13)

Katawann avatar Katawann commented on July 27, 2024

FYI the feedback I got from Ublox regarding this issue:

it seems to be a delay in the information coming through. Then it seems to come through all at once with some of it being rejected.

We reviewed the logs for FCUUART1COM15__9600230319_125817.ubx and can see that there are bytes on UART1 interface that are unknown in UBX-MON-MSGPP - not perceived by the receiver as SPARTN (see following screen shot).

image

Please check in UBX-RXM-COR if all the SPARTN message types come through. HPAC messages are really important to be all there to get in RTK . There might be limitation on UART buffer not letting all the HPAC messages get through.

image

It appears that not all messages are coming through - see below screen shot snip for UBX-RXM-COR when I debugged FCUUART1COM15__9600230319_125817.ubx.

image

The file they analyze where I send the SPARTN through a Pixhawk 4 using send_rtcm_data:
FCU_UART1_COM15___9600_230319_125817.zip

from px4-gpsdrivers.

bkueng avatar bkueng commented on July 27, 2024

I guess the limitation of 180 bytes of the GPS_RTCM_DATA could be an issue as we have sometimes bigger messages.

You can split up the SPARTN messages, and always fill the full buffer. That's what RTK is doing.
I would check if there's some buffering anywhere in between on the link.

from px4-gpsdrivers.

Katawann avatar Katawann commented on July 27, 2024

Actually, I did not explain well. I first sent the full data with send_rtcm_data(), but I was receiving "Too Long" from MAVSDK so I split the SPARTN data into messages of 180 bytes like you propose and this is the error ublox provided the support.

The same code (splitting the messages in 180 bytes) is working well when not forwarded by PX4 so I guess PX4 is buffering somewhere

from px4-gpsdrivers.

bkueng avatar bkueng commented on July 27, 2024

What is the data rate? And what hardware do you use (client, link, autopilot)?

from px4-gpsdrivers.

Katawann avatar Katawann commented on July 27, 2024
  • Host:
    Linux Ubuntu 21.04 running MAVSDK C++ v1.4.9
  • FCU:
    Pixhawk 4 with PX4 v1.13.2 (+ custom version with SPARTN enabled as mentioned above)
  • F9P:
    CUAV F9P RTK

Host with MAVSDK <-- USB @921600 --> Pixhawk 4 through UART (TELEM4) @ 115200 ---> CUAV F9P through UART1

from px4-gpsdrivers.

bkueng avatar bkueng commented on July 27, 2024

That's fairly direct. You can monitor the injection rate with gps status or uorb top gps_inject_data

from px4-gpsdrivers.

Katawann avatar Katawann commented on July 27, 2024

Here is the output of gps status. I see that RTCM injection rate is at 0.39 Hz. Is it this value which should be increased and if yes, could you help me to define where is the place to do it ?

Screenshot from 2023-03-28 12-49-03

from px4-gpsdrivers.

Katawann avatar Katawann commented on July 27, 2024

@bkueng I tried to increase value of some variables which I supposed to be related to RTCM limitation:

  • RTCM_INITIAL_BUFFER_LENGTH in rtcm.h
  • max_num_injections in gps.cpp
  • always return false for RTCMParsing::addByte(uint8_t b) in rtcm.cpp

but it does not fix my issue. I probably misunderstand where the RTCM is still truncated or adapted. If you have any guidance to provide it is more than welcome :)

from px4-gpsdrivers.

bkueng avatar bkueng commented on July 27, 2024

0.39 Hz is rather low. I'm not familiar with SPARTN though. You can compare it against the sending rate (before MAVSDK). I'd look into how MAVSDK handles the data. On PX4, the data is forwarded as is. The only risk is if the data rate is too high, leading to drops.

@bkueng I tried to increase value of some variables which I supposed to be related to RTCM limitation:

None of these things should make a difference, as RTCM parsing is only used for reading RTCM output from a GPS. In your case I assume you get the SPARTN data from an internet provider?

from px4-gpsdrivers.

paujar avatar paujar commented on July 27, 2024

does fix my issue. I probably misunderstand where the RTCM is still truncated or adapted. If you have any guidance to provide it is more than welcome :)

Did you mean "doesn't fix my issue" or did it actually fix the issue?

from px4-gpsdrivers.

Katawann avatar Katawann commented on July 27, 2024

Did you mean "doesn't fix my issue" or did it actually fix the issue?

arf yes sorry it does not fix my issue. I corrected in the previous comment thank you.

I'm running out of time to dig into the code unfortunately so I will go back to my previous solution (stream PointPerfect through USB of F9P device instead of forwarded by PX4 as I wanted to do). At the end of the day, it could be really interesting to implement that capability

from px4-gpsdrivers.

paujar avatar paujar commented on July 27, 2024

So it's a dead end with ARK GPS RTK (that only has debug port for that and it's no longterm solution).

Also I don't have that level expertise to try and fix this; but I vote this up 👍 Trying to figure out this on conceptual level

from px4-gpsdrivers.

AlexKlimaj avatar AlexKlimaj commented on July 27, 2024

@paujar The ARK RTK GPS has UART2 exposed from the F9P. SPARTN could be injected directly there. Or there is no reason preventing it from being transmitted over CAN and injected through the MCU over UART1.

from px4-gpsdrivers.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.