ZED-F9R - Application note
UBX-22035176 - R01 Contents Page 20 of 30
C1-Public
6.1.4 UBX-ESF-MEAS sample code
u-blox has collaborated with the OpenMower project to provide an example of integrating the ZED-
F9R in a robotic application. The u-blox driver source code can be found here.
In the OpenMower project, wheel ticks from two individual wheels are provided to the receiver. The
data is sent to the receiver with the
GpsInterface::send_wheel_ticks function. The function takes in
the sensor timestamp, and the direction and wheel tick value from the two wheels. These are put into
an array, together with the UBX-ESF-MEAS message class and identifier bytes. Next, the
GpsInterface::send_packet function completes the message with the two-byte UBX protocol header
in the beginning and the two-byte checksum in the end. The complete message is sent to the receiver
with the
GpsInterface::send_raw function.
When wheel tick messages are being delivered to the receiver, use the UBX-ESF-MEAS graph view in
u-center to monitor the wheel tick data. The graphs below show two systems. In the top picture the
wheel ticks are combined into a single tick with CFG-SFODO-COMBINE_TICKS = 1. In the bottom
picture both left and right wheel ticks are being used. Both pictures show the vehicle moving at a
constant velocity.
Figure 16: u-center UBX-ESF-MEAS graph view of single tick (top) and left/right (bottom) wheel tick systems
6.2 Sensor fusion configuration
The sensor fusion configuration of the receiver depends on several different aspects of the entire
setup, including the used vehicle, how the receiver is mounted on the vehicle, and what type of
odometer data is used. Thus, the configuration needs to be modified if the setup is changed.