Here+ RTK GPS with Multiple Rovers and Single Base Station


I’m trying to fly two quadrotors using QGC and Mavros. My quads are setup to stream telemetry over WiFi and I have a Mavros node set up to stream setpoints for offboard control. The issue I’ve been having is, while QGC detects multiple vehicles, once the survey-in of the RTK base station is complete, only one of the vehicles reports a 3D RTK Lock. The other vehicle is stuck on 3D lock.

My understanding is, it is possible to use multiple Here+ Rover modules with a single RTK Base Station. Am I missing something?

The on survey in is done the GPS_RTCM_DATA mavlink message should be sent to all connected vehicles. Is there some way to verify with vehicle logs or something that the second vehicle is never getting those messages?


Thank you very much for getting back to me.

The way my link is set up seems to be causing some issue with remotely accessing the mavlink console. However, looking at the ROS topics for gps position, I found that one vehicle’s (The with RTK lock) position covariances are way down and the other without the RTK lock shows high covariances.

Since I noticed that only the first vehicle to connect with QGC receives the RTCM messages, I tried swapping the order in which the vehicles connect. As expected, the covariances are once again lower on the vehicle which connected first.

found that RTCM stream only works for the first vehicle to connect to QGC.

How did you verify that? Are you just checking values which are related to GPS_RTCM_DATA or did you verify directly that the actual message itself was never received on the vehicle?

I’m just inferring that from the position covariance values I’m seeing. Is there another way to know for sure?

Only if ArduPilot logs the receipt of GPS_RTCM_DATA in the vehicle logs. I don’t know the answer to that. From looking at the code I don’t see any reason why multi-vehicle shouldn’t work. There are a number of multi-vehicle link related fixes in Daily builds. You could try that, but it doesn’t seem like that should make a difference. I’ll get around to testing myself, but all I would have is a simulation test harness. But that’s better than nothing. Take me a little bit to have time to do that.

I hacked a version of QGC which I could debug with. Created two test vehicles while an RTK was plugged in. Both vehicles got the GPS_RTCM_DATA messages.

Could you tell me a little more about the setup you tested with?

I can simulate vehicles in debug builds of QGC. I created two simulated MockLink vehicles with a ublox RTK gps connected and the verified that the GPS_RTCM_DATA was received by each vehicle.

I opened up a nutt shell interface on the quad that isn’t receiving RTCM messages. After checking gps status, I can confirm that RTCM messages aren’t being received. Perhaps it has something to do with Mavros being in the loop?