M8P RTK setup | Issues with HDOP/baudrate/telemetry

Hi all,

I am facing some problems setting up a u-blox NEO-M8P RTK system with a separate telemetry connection. It consists of:

  • Tiny RTK GPS (NEO-M8P Base)
  • XL RTK GPS (NEO-M8P Rover)
  • 3DR/SIK 433MHz telemetry

I configured everything following: https://drotek.com/en/documentation/tiny-rtk-documentation/#integration-dropixpixhawk-2
After some issues described below I upgraded the firmware of both the rover and the base, configured everything again from scratch and verified every configuration step.

The issues:
i) Different(wrong) HDOP report in Mission Planner compared to uCenter
ii) Unclear baurate settings
iii) Telemetry settings and requirements

i) Different(wrong) HDOP report in Mission Planner compared to uCenter
As a first test after configurating the modules I went on the roof and checked the status on the M8P rover connected to an Ardupilot-Pixracer in Mission Planner. I was confuesed by the high HDOP of 1.88 even after 10 min or so. Then I plugged in a normal Drotek M8N XL GPS. Then the HDOP was down in the normal region of 0.7-0.8. After updating the fimeware and I think with the addition of Baidu the HDOP of the M8P Rover went down to 1.15. Still much higher compared to the M8N. Connecting the M8P Rover to uCenter the HDOP was down to 0.7. The PDOP which is usually about twice as high as the HDOP was at 1.2. So there seems to be something wrong in the communication between the M8P Rover and Mission Planner/Ardupilot. It seems it shows the PDOP and not the HDOP.

	Model		Software	Sat count 	HDOP
Test 1:
	M8P(1.0)	MP		12		1.88
	M8N		    MP		18		0.76
Test2:
	M8P(1.3)	MP		18		1.15
	M8P(1.3)	uCenter	18?		0.7 PDOP 1.2

ii) Unclear baurate settings
At https://drotek.com/en/documentation/tiny-rtk-documentation/#integration-dropixpixhawk-2
it is stated that:

There make sure to select your flight controller’s GPS baudrate (38400 for Pixhawk) and click on Send.

and

Make sure your datalink is also configured to work at 38400 baudrate on rover side!

If I set the baudrate to 38400, Ardupilot (3.5rc2) is not detecting the M8P Rover module. But when I set it to 115200 it does.
As far as I remember all M8 GPS are currently running at a baudrate of 115200. If this is a must, then the telemetry should run at 115 as well. Is this correct? If the 115 is not a must in Ardupilot and if there are no sacrifices in reducing it, the question is what is better for an M8P setup - 57600 or 38400?

iii) Telemetry settings and requirements
I have not managed any RTK fix in the setup so far. The telemetries are communiacting with each other, but I am not sure if they commuicate properly with the GPS modules. This might be due to the baurate settings.
My first question here is what is the best way to test if the system works? Do I see it in uCenter or Mission Planner?
Second, what are the requirements for the normal SIK 433MHz telemetry in terms of duty cycle when running a M8P RTK setup?

Thanks a lot in advance,
Thorsten

PS: cross-posted at https://forum.drotek.com/t/issues-with-hdop-baudrate-telemetry/

1 Like

I reconfigured everything to work with a baudrate of 38400. I’ll make further tests tomorrow.
Just checked - HDOP is still reported too high.

hdop directly relates in this context to satellite count.
the fact you have a difference of 6 is most likely the issue

@Michael_Oborne
That’s what I thought as well. But it is not to be the cause. In the second test the sat count was 18 in both cases and still the reported HDOP in Mission Planner looked more like the PDOP shown in uCenter.
I just made another test with the exact same results. I switched between MP and uCenter several times to be sure and this is persistent.

uCenter HDOP vs. Mission Planner HDOP:

Hence I the HDOP pre arm check fails:

Since the numbers are correct when using a M8N instead of the M8P I guess it must be some message/communication issue between the M8P and Ardupilot.

Any suggestion what to test?

Thanks a lot,
Thorsten

@Thorsten what are your GPS settings? Particularly what is GPS_AUTO_CONFIG set to? A log from while disarmed would also help.

Getting a PDOP loaded rather then HDOP is a fallback mechanism if we haven’t yet recieved a UBX-NAV-DOP message. If you had autoconfig enabled then you should have been receiving these messages.

On a related note as long as GPS_AUTO_CONFIG is enabled we will be pushing the ublox gps in the air to 115200 as the baudrate. The GPS_RTCM_DATA message is target baud rate independent, only if you have a much faster link to the flight controller then you had bandwidth to dump messages to the GPS would this be a problem (This is not actually a problem with the normal RTCM configuration)

@WickedShell,
Thanks for your reply!

According to https://drotek.com/en/documentation/tiny-rtk-documentation/#integration-dropixpixhawk-2
where it is stated that:

“This baudrate has to be selected manually because there is no link between your flight controller TX GPS port and Tiny RTK RX port, so it cannot be configured automatically at start up.”

I switsched off GPS_AUTO_CONFIG.[quote=“WickedShell, post:5, topic:16019”]
Getting a PDOP loaded rather then HDOP is a fallback mechanism if we haven’t yet recieved a UBX-NAV-DOP message.
[/quote]

OK, makes sense. Must have been something like this.

Regarding the documentation I set the following messages:

NMEA messages off for UART 1: GGA, GLL, GSA, RMC, VTG, GST, ZDA and GNS.
NAV messages on for UART 1: NAV-POS-LLH, NAV-STATUS, NAV-SOL, NAV-VELNED

NAV-DOP is off.

What else do you recommend to switch on?

@Thorsten

You’ve borrowed trouble :slight_smile: With a reasonably new ArduPilot firmware (for Copter 3.5rc1 onwards) you don’t have to deal with any of that shenanigans. Just connect the GPS to the pixhawk, enable auto config, and allow mission planner to configure and inject data from your base. http://ardupilot.org/copter/docs/common-here-plus-gps.html?highlight=m8p No extra telemetry radio is needed.

I highly recommend enabling GPS_AUTO_CONFIG and allowing ArduPilot to configure the GPS for you. This will be the most reliable performance, and ensure all the needed messages are enabled (and will warn you if it has not succeeded in getting the requested configuration as part of the pre arm checks).

The messages you have listed aren’t really correct for RTK support either as we can’t identify what type of RTK fix you have. I can find you the list of messages we expect, but I’d really recommend just going into the GPS_AUTO_CONFIG approach.

Hi thorsten
We worked really hard with Michael DB and Michael O to make the process of setting up the Here+ (M8P based) setup almost transparent to users.
Just buy the kit, plug in and go…

The only slightly complex bit is the uBlox driver installation can be a pain.

Best to follow the instructions on Ardupilot.org

Search “here+”

@WickedShell and @proficnc

Not really sure about the GPS_AUTO_CONFIG. Usually I have it enabled and I am also running AC3.5rcn on that system. With M8N and M8T modules it works just fine. Howoever, since the Drotek wiki states that:

“…there is no link between your flight controller TX GPS port and Tiny RTK RX port, so it cannot be configured automatically at start up.”

it seems this module has to be configured manually - at least when using a dedicated radio.

I know about the Here+ RTK for sure. Unfortunately, it was not available yet, when I bought mine.
One problem is that to my best knowledge Mission Planner is the only GCS which is currently supporting GPS injection. I am using MP for setting up the UAVs but not as a GCS in the field.

So to sum this up: The messages provided in the documentation are not really correct. So I’ll wait for some replies from Drotek. However, any suggestion to get this module running is greatly appreciated!

Thanks again!
Thorsten

What @WickedShell is saying…

Ignore the Drotek instructions and set it up with the Here+ instructions…

Don’t use the additional connection…

Give it a go! It works…

@Thorsten I don’t know about TinyRTK but with the XL rtk you have to solder a jumper next to the 2 connector to allow the rover connector to send rx and tx to the FC. Then you can use Mission Planner to inject.
However I understand that you don’t use MP as Gcs on the field and so you want a separate link for rtk injection… Maybe you can configure with Mp first and then fall back to your separate link? I want to do the same think so please keep us updated if you find a solution