(2) The motor position is sampled from the VESC motor controller at 100 Hz and combined with the estimated heading from the position filter to calculate a relative dead reckoning position. This position is stored in a 100 samples long FIFO buffer together with the current GNSS time stamp derived from the pulse per second (PPS) signal from the Ublox M8P receiver.
(3) When RTK-SN position samples are received, they are compared to the dead reckoning position sample from the FIFO buffer from (2) with the closest time stamp to the sample, which will be 5 ms away in the worst case.
The rationale of this approach is that the dead reckoning position is accurate over short distances but drifts as the distance increases.
Caption: Figure 6: The speed and difference between the RTK-SN and the dead reckoning position during hard acceleration and deceleration.