Rtk fixed/float jump in rover

I´m experimenting with a skid rover and a piksi 2.3.1 rtk gps for agricultural use.
I´m trying to follow a grid path and I need to have an accurate position over time
I have quite good results in my tests, with a very accurate path between waypoints but I have a problem that I don’t know if it is resolved yet.
When gps looses fix solution it makes a “jump” sometimes are a few inches and sometimes a lot more (up to 8 feet I registered) that is very bad for my purposes because when fix mode returns, the rover already keeps the offset of the jump in the field.
What I would like is that when the rover looses fix mode, immediately changes to hold and keeps last position in fixed rtk. when fix returns (with an offset on back) rover changes the gps position to previous and continues the job.
I think this is a very common problem in rover autonomous rides and perhaps there is another way to solve it with ekf perhaps?

1 Like

Hi, I am in the exact same situation - agricultural rover using rtk (though Im using the Skytrak S2525F8-GL-RTK). I also see these jumps in location between fix and float. I haven’t got around to addressing it yet but it is definitely on my list. I have only recently got into Rover but in the past had some reasonable experience with Copter. I seem to recall some settings that determine how fast the position transitions when the gps location jumps out of sync with inertial inputs. I’m working on wheel odometry at the moment which will hopefully be an input that will eventually help in this situation.

1 Like

I guess the RTK GPS is throwing away the position corrections when it loses the RTK fix.

… the request to switch the vehicle to Hold mode (so the vehicle stops) until RTK fix is restored is possible. This would involve adding a new failsafe. It feels a bit to me like this would be covering up for issues in the GPS itself… for example, the GPS itself could perhaps keep using the previous offsets for a while… anyway, I’ve raised an issue here in the issues list.

Are your “jumps” sticking after you get “Fix” back? That seems odd that returning to Fix would result in a new position (and quite worrying). Have you raised it with Piksi?

Randy, I did consider implementing something along these lines in a custom GPS driver. I will take a look at some of my logs that exhibit this behaviour and try and get an idea what the effect might be

I have looked at a few logs but the examples I found had quite some distance travelled between changing states. In static position tests the rtk fixed location seems to be constant within the expected error even after a number of transitions between float and fixed. The float solution seems be some random offset. that drifts around the fix location. I have had no experience with the Piksi

1 Like

That was my understanding - Float was good but not absolutely precise, but Fix should give you a centimetre precise solution.

The behaviour of the Piksi reported by jcantilo is a bit worrying.

Today I´d been testing this rtk issue again.
here is the log: https://www.dropbox.com/sh/45eusfug099tqet/AADptn2vmavz3l_RqOYzxIq-a?dl=0
you can see the jumps and the carry of the offset

when fixed rtk stabilizes has a few centimeter oscillation, but when toogles to float begins a ride for a while. When returns to fixed sometimes jumps, sometimes not but always carries the offset.
Randy a failsafe would be really useful.
I´m working with gps1 (ulbox) disabled because I need to keep the same gap between lines of the grid over time, and that is possible only with rtk fixed due to the distances and speed I work with. I prefer to hold for a while until fixed mode returns.
I think this will be a great improvement for a lot of Rover applications like the autonomous mowers and others.
Thanks a lot to all of you for your interest!!

1 Like

Here is the youtube link of my rover https://youtu.be/DO8-VXtZ8aY
in fix mode. The two ropes are for checking x-track error.
I think is a good performance for the piksi given the environment (trees, buildings, etc)


Jcantilo - reminds me of my first rover :slight_smile: It needs larger jockey wheels like yours to navigate more difficult terrain. It uses a ‘rocker bogie’ type suspension arrangement.

New photo by James Overington

yes I need to improve suspension. I was thinking in a rocker bogie too, I´m wainting to finish my tests to decide the size of the creature depending of the speed I find reasonable for my purpose

1 Like

hello everybody.
I´m still very interested in solving how to activate a failsafe if rtk looses fix.
This issue did not succeed yet https://github.com/ArduPilot/ardupilot/issues/8787 but I think is really important to lots of proyects where we need steady cm accuracy over time in spite of having to go into hold mode for a while when fixed rtk is lost.
I have a raspberry companion computer with my pixhawk running dronekit , so I was thinking writing a script to look for gps2 status (i´m using piksi as gps2) but i don´t find in dronekit how to look for gps2 status parameter. Do you have any idea to help me?