Wrong GPS coordinates at every start up

Q&A forumCategory: QuestionsWrong GPS coordinates at every start up
vcorp asked 4 weeks ago

Hi everyone, the prototype I built with arduino works, so I moved on to the next phase, (bring
the code in pascal (I use Delphi as primary compiler) and use an industrial minipc on board the agricultural vehicle).

I have a couple of questions for you:

1) I noticed that the GPS coordinates change every time I turn the devices off and on again
(1 Rover, 2 rover used as heading, 3 Base RTK), while leaving the RTK base fixed in the same point.

Am I doing  something wrong?
(They are programmed using the configuration files that you have made available on the site).

Base (RTK) with the file: simpleRTK2B_FW113_Base-00.txt
Rover: simpleRTK2B_FW113_Rover_10Hz-00.txt
Rover (Heading): simpleRTK2B_FW113_Rover_10Hz-00.txt

The second question is the following: Is there a possibility to configure a base and a Rover in a blind way?

RTK Base (A) connects only to Rover (A)
Base RTK (B) connects only to Rover (B) used as heading

Could it improve reception and remain more stable by doing so?
Excuse the two questions but we are almost ready to go into production, but if the gps data continues to change the agricultural vehicle, unfortunately it does not follow the same trajectories initially memorized.
Thanks for reading,

2 Answers
vcorp answered 4 weeks ago

In the meantime i have another question. How can i know when the rtk signal is lost? (software based not by led)

clive1 replied 4 weeks ago

You can look at the type of fix reported in the GGA sentence or NAV-PVT message.
You can observed RTCM3 packet arrival/acceptance via UBX-RXM-RTCM

Every time you have a Base run a Survey-In operation it will likely get a different position. Use a fixed/known location, and configure the unit with that if you want consistency.

vcorp replied 4 weeks ago

Thanks for your reply. Could you tell me how to configure the base?

Regarding using two bases and two rovers is there a way to configure the bases to only connect to the default rover? Base A -> Rover A only, Base B -> Rover B only?

clive1 replied 4 weeks ago

You’d set the static location you’ve established via UBX-CFG-TMODE3 or equivalent VALSET keys. If I were looking for cm level repeatability I’d post-process a solution against a local reference source.

I’m not using the XBee’s but I’d assume you could program network IDs,or other settings to get one pair of radios to associate differently from the other pair. Check the AT command manual.

vcorp replied 4 weeks ago

Thanks, I don’t understand but I’ll try.
Just out of curiosity, what kind of solution do you use to have centimeter accuracy?

At the moment I have created a small algorithm that is based on the starting position of the agricultural vehicle.
If the base is turned off and on again (and therefore the coordinates change) I subtract the differences and recalculate the previously saved path coordinates with those returned in the exact same position.

But I would like to have a “definitive” solution so that I can start producing agricultural vehicles for sale to the public.

clive1 replied 4 weeks ago

On the ZED side you can set Station IDs
This could limit the interactions between them, but you’d probably still want to park the radios on different channels/frequencies.

vcorp replied 4 weeks ago

The main goal is Turning on Base A and Base B and then Rover 1 and Rover 2, be sure to always have Base A -> Rover 1, Base B -> Rover 2 connection.

clive1 replied 4 weeks ago

Typical a Base broadcasts data over a large coverage area within which all Rover(s) can get the same reference data.

The ZED’s can be programmed with unique Station ID, and set to associate with a specific Base Station.
The radios can presumably programmed to a specific frequency, channel or Network ID to keep data on each contained/confined.
To get cm level position, it a latitude, longitude, altitude sense you’d do a proper survey of a fixed, hard mounted, antenna in the same way a land surveyor would. This typically involves capturing raw measurements, generating RINEX files, and post-processing this against equivalent and contemporaneous data from a respected reference site, ie a governmental source, be that NOAA CORS, Ordnance Survey, or whatever you have locally.

vcorp answered 4 weeks ago

Now i do as follows:
– One fixed base in the same point.
– A Rover (A) used to take GPS coordinates and navigation computational data
– A Rover (B) used to calculate the direction in degrees (Compass).
My software saves the “starting point” (Latitude, Longitude)
after which the agricultural vehicle begins its journey which is memorized approximately every 5cm.
Once the route has been saved, the agricultural vehicle is repositioned on the “starting point”, the file
containing the acquired data is loaded, the starting point values ​​are compared previous to the current ones,
if necessary all the coordinates are shifted.
In doing so everything works perfectly, the agricultural vehicle follows the trajectory saved like a ninjia.
The thing I wanted to eliminate was precisely the fact that if the base is turned off and on again,
despite having the agricultural vehicle stationary in the same point, the Rover detects different coordinates.
The second thing that I think is necessary to insert in my code is that if there is no RTK fixes, the
agricultural vehicle must not move.
On Friday I will be back in the office where I work.
Here I will try to understand among the various serial data that I read from the USB ports of
the computer, which identifies the presence or absence of the RTK fix (In case I will ask for specific help here on the forum).

clive1 replied 4 weeks ago

Both NMEA GGA and UBX NAV-PVT report the type of solution, so you can tell if you have an RTK Fixed, RTK Float, or 3D type fix

>>Rover detects different coordinates.
As I’ve explained a couple of times, if you let the Base self-survey it’s going to do this. At a minimum do this ONCE, record those settings for position, and reapply them in subsequent usage so the location is constant and consistent.

vcorp replied 4 weeks ago

@As I’ve explained….
Can you tell me how to do it?
Thanks in advance.

clive1 replied 3 weeks ago

Well if you have some consistent mount points for your base/antenna location, you might want to record those in a database so that when you can determine you are at the same location, either via proximity to locations in the database (snap too within a metre), or user interface selection (sort by distance). The static location can be fed in via the UBX-CFG-TMODE3 ECEF or LLH settings. These become the coordinates sent in the RTCM3 1005 messages. A hard location with consistent reporting at the Base will result in consistent reporting at the Rover, and remove the need to fudge the values at the rover. Doing a cross-check will help confirm things are working, and within expectations. The consistency should be several of orders of magnitude better than before unless there are other issues.
If you’re not familiar doing cm level surveys using post-processing methods, you might want to partner or ride-along with a surveyor who does that type of work to establish a work-flow and methodology that works well in your locality, with the resources available there.

vcorp replied 3 weeks ago

Thanks for your reaply.
I have found the way to know the RTK fix
Now if i read this values: 1, 5, 4 i know if there is (1) no RTK, (5) Aquiring RTK, (4) RTK is working.
In the next days (I have ask to buy another simplertk2b kit) i’ll try the fixed base/antenna confing you suggested.