simpleRTK2B-F9R hookup guide
This hookup guide assumes that you are already used to simpleRTK2B board with its interfaces, which are described in the simpleRTK2B V3 hookup guide.
The ZED-F9R module combines IMU data (accelerometer+gyroscope), GNSS measurements, vehicle wheel sensor or speed information by software, and a dedicated dynamic model to provide high accurate positioning where GNSS alone would fail.
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.
But the amazing thing of F9R is that is able to keep this 20cm where ZED-F9P cannot: driving under trees, next to high building, or even in tunnels!
Let’s see how we can try this with simpleRTK2B-F9R.
It is important to note that F9R RTK+INS doesn’t work on any vehicle.
u-blox says it says that current version of F9R only supports asphalt road vehicles in street driving conditions (a.k.a. cars and trucks and not offroad).
In practice it also works on other ground vehicles, but performance is not as per datasheet.
Where it definitely doesn’t work is on flying vehicles (drones) or boats.
Fix types and use modes:
In addition to the traditional 2D, 3D, FLOAT RTK, FIX RTK, the ZED-F9R has 2 additional fix types:
- DR+GNSS or “fusion mode”. The mode we want to be in: both GNSS and IMU are used together.
- DR or “Dead Reckoning mode”. The module has lost GNSS signals and is relying solely on the IMU. Every extra second in this fix type the position will just get worse and worse.
ZED-F9R has many new configuration parameters that can make it overwhelming to set up. For this reason, in this hookup guide we are going to explain 2 different installation types and 2 different usage modes:
- Basic mode: you will not reach datasheet values, but with minimum effort you will get to see already incredible performance. You only need this hookup guide.
- Advanced mode: get to see the datasheet values in your tests. You will have to read a few pages of the u-blox Integration Manual. We will use the “wheel tick” and “direction” pins of the module.
simpleRTK2B-F9R must be fixed to the vehicle, it can’t be used hanging from the cable. This is because we need the IMU data to be consistent.
There are options to mount F9R in different orientation but this requires some extra calibration. For this reason we recommend to just mount the F9R in the default direction.
If you want to mount F9R in a different orientation it’s also possible, but it’s more complex. You can have a look at the sections IMU-mount alignment and Automatic IMU-mount alignment in the Integration Manual.
Basic use mode:
The basic use of F9R is only making fusion of GNSS data and IMU data, but is not using speed information from the vehicle. This mode doesn’t require to use the WT or DIR pins, also doesn’t require to send speed to the F9R. Performance will be slightly worse than F9R datasheet, but good enough for many use cases.
Make sure both GNSS antenna and simpleRTK2B are fixed to the car and power up the receiver.
Enable the following messages which will provide useful information about:
- UBX-ESF-STATUS: IMU calibration status, we want everything to be in green.
- UBX-NAV-ATT: the attitude of the vehicle: roll, pitch, yaw.
- UBX-NAV-PVT: fix type and position.
At the beginning it will behave like a normal ZED-F9P with a 3D fix:
If you input RTK corrections, you will get also an RTK FLOAT fix. You will notice F9R never reaches RTK FIX mode, and this is why it doesn’t reach 1 centimeter precision, and stays around 10-20 centimeters.
After a few minutes of driving the sensors will get calibrated and you will finally see the new fusion mode (3D+DR)!
Once we are in fusion mode, this also enables us a new use case: we can enter short tunnels and garages and keep accurate position. Try it, and check how F9R goes into “DR” fix type. Note that accuracy in “DR” mode will get worse and worse every second.
Advanced use mode:
The advanced is divided in 2 parts, the configuration and the integration to provide speed information to the F9R.
Which exact position is F9R outputting? The position of the antenna, the position of the IMU, or a reference point in the vehicle? In our previous test we didn’t care about this.
As soon as F9R goes into fusion mode, it outputs the position of the IMU not the antenna! This position is called IRP (IMU Reference Point) in u-blox documentation.
You can configure a new configurable reference point (CRP) so that the navigation engine will calculate the navigation solution at the configured CRP instead of the IRP. You can configure this with the CFG-SFCORE-IMU2CRP_LA_* message.
In addition, there are a few relative positions that the module tries automatically to calculate itself, but if you can definite them for him it will only help get better accuracy!
- The IMU-to-antenna lever-arm components can be conﬁgured via CFG-SFIMU-IMU2ANT conﬁguration keys.
- The IMU-to-VRP lever-arm components can be conﬁgured via CFG-SFODO-IMU2VRP conﬁguration keys.
We are talking about relative positions in centimeters, but the ZED-F9R itself it 3 centimeters long! The exact position to set is this one:
Providing speed and direction information:
In order to get the best of the best performance, ZED-F9R would like to receive some additional information from your vehicle:
Speed information. Can be provided in form of a UBX-ESF-MEAS message, or connecting a 3.3V pulse to the pin labelled “WT”. The form of this pulse can be configured.
Direction information. Can be provided in form of UBX-ESF-MEAS message, of connecting a 3.3V or GND signal to the pin labelled “DIR”, which indicates if the vehicles direction is forward or backward. The polarity can be configured.
(Bonus feature) Reading raw IMU data from onboard sensors:
The calibrated sensor data of the IMU (accelerometer + gyroscope) of F9R is available for the user at 100Hz. Just enable UBX-ESF-MEAS and read the data!