GPS with integrated terrain compensation

Does u-blox or any other similar company offer an RTK receiver that also has built in terrain compensation? Swift Navigation make the duro Inertial but it costs a lot more than many of the commonly used u-blox receivers.

The F9P has a variant with some IMU onboard, F9K or F9R?

or a Raspberry Pi hat version:

Oddly enough if you buy directly from sparkfun they make you sign an export declaration since Sparkfun feels the product falls under certain export regulations. But if you order from digikey you do not have to do that.

What can you configure for output on those boards? Can I get nmea messages out with the terrain corrections applied or is the gps and IMU data separate?

There’s also

I have so far been unable to find the full documentation on the F9R. All I can really find is what’s in the arduino library that SparkFun provides. It appears that the vehicle attitude information can be read via UBX protocol. As well, calibration is performed using UBX messages. I assume the NMEA output contains the compensated latitude and longitude. No idea how you set antenna height, but that’s probably a setting via UBX and can be done by the uCenter program.

EDIT: the best and most complete information I can find is Explains very clearly the F9R is configured and used. Unfortunately I read this:
“You might think that ZED-F9R is a ZED-F9P + IMU and sensor fusion. It is not. Currently ZED-F9R accuracy with RTK corrections is 20cm. This is because F9R only does RTK half the way, but rather focuses on the fusion of GNSS + sensor data. It’s a software thing, so u-blox is for sure working on improving this.”

So that pretty much makes the F9R useless for AOG for now. However if and when they update the firmware to do full RTK with the fusion, this will be perfect. And certainly we can expect future versions or variants to be full RTK with fusion.


I read through the information in the link that you provided and as I understand it the IMU data is currently only used for a GPS backup in the event of lost GPS. My current projects wouldn’t need full RTK accuracy but that certainty would be nice. I am keeping an eye out for a receiver with terrain compensation not only for AOG but other system that can utilize NMEA messages.

If I read it right, the board uses the IMU to change the latitude and longitude to be at the board location itself. But also you can set up virtual reference points that can be anywhere in relation to the antenna. If GPS is unavailable, then yes it can use the wheel speed sensor combined with the IMU to estimate the position until GPS returns. But it appears that the F9R really does integrated the terrain compensation into the GPS location, albeit at RTK float accuracy only.

Have you read or heard any more about the fused output for the F9R? I see ardusimple has updated their information on the f9r and now it reads more like the output is fused. The manual also seems to indicate this is the case. Only pitfall seems to be that it is mostly for cars but can be used for other ground based vehicles if you can hit the required speed for calibration.


According to Ardusimple, F9R will not be as perfomant as F9P for RTK:

It’s remind me that I forget to respond to Ardusimple.


1 Like

Sounds like it is moving in the direction on being an IMU + RTK receiver. I’m not sure if it is what I am looking for or not. Have you had any hand on experience using one?

Doesn’t appear to be a good fit for AOG. Designed more for cars or self-driving applications at higher speeds and in situations where dead reckoning is required to cover gaps in getting GPS fixes.

1 Like


No, no experience with F9R. Mainlly because F9R is more expensiv than F9P and I not sure if it’s really brings any benefit.
According to Ardusimple in RTK accuracy is better with F9P than F9R.
F9R advantage is that with IMU it’ provide dead reckoning function: in case a loss of RTK signal you can keep cm accuracy during a amount of time.
But Ardusimple reponse is not clear if it’s perform very well in a tractor use case.
Also : I’m not sure that F9R provide you a tilt compensate GPS position.


When I read the documentation it suggested that you can define a virtual point on the vehicle and it will give you the coordinates at that point, based on the GPS position and IMU pitch/tilt/heading. So that suggests it will give you tilt-compensated GPS position. If it could do it at 10 Hz with RTK 2cm resolution, it would be ideal. Maybe U-Blox will release a variant geared towards agriculture.

1 Like

That is the way I am reading it too but as you note it isn’t necessarily optimized for slower moving ground vehicles. Hopefully we see a solution either in another product or a firmware update.

The ardusimple link that math gave doesn’t sound very hopeful that it would work will for an agricultural application but the values they gave for possible tilt on the imu were rather extreme. Without knowing how they specifically tested the imu at lower speeds I’m not sure how much to believe their assessment that it wouldn’t for a tractor. There are a lot of different field conditions out there. Some ground is smooth some is rough.

Thank you both for your replies.


Agree with you. The best would be to do the tests yourself, but the board is a significantly more expensive and really more complex than F9P.

It’s not very clear for me. We can ask to Ardusimple in their forum.


See page 28 of the integration manual. It talks about the VRP or local vehicle reference point, which can be anywhere on the vehicle (usually the center of the rear axle I’m guessing).