Tightly coupled attitude determination with GNSS and IMU

A precise attitude information is essential for autonomous driving of any vehicle. GNSS receivers can provide such a precise attitude information. However, severe code multipath, frequent half cycle slips and losses of lock might temporarily reduce the accuracy. Inertial sensors are robust to GNSS signal interruption and very precise over short time frames, which enables a reliable cycle slip correction. However, low-cost inertial sensors suffer from a substantial drift.

In this evaluation, we show the performance of our tightly coupled attitude determination with our MSRTK module including two GNSS receivers and the consumer-grade IMU. It improves classical tightly coupled solutions by including a synchronization correction, by the estimation of the code multipath for each satellite and receiver, and by the additional determination of satellite-satellite single difference ambiguities. We obtain a heading with an accuracy of 0.25°/ baseline length [m].


Fig. 1 shows a part of the vehicle’s track as obtained from the absolute position estimation.

Fig. 1: Northern part of vehicle’s track during test drive as determined by tightly coupled positioning solution with GNSS and IMU. The enlarged sections show the start and the passing below a bridge.

The starting point is in the right part of the figure. The initial heading was −98°, i.e. the car was oriented in western direction. The track includes also a passing below a bridge. This passing is also enlarged with additional markers at every epoch with a GNSS-based state update. A GNSS-based state update means e.g. a position, velocity, and attitude estimation with GNSS measurements. The inertial measurements are used to update the state vector in between two GNSS epochs (time-points within GNSS measurements). One can observe a continuous path despite the GNSS signal interruption and increased multipath. As some satellites are at low elevation and as signals are also reflected, a GNSS-based state update can still be performed during the first meters of driving below the bridge. Once all tracking loops have lost lock, the re-acquisition also takes some time, which explains the distance between the end of the bridge and the first GNSS based state update after the bridge.

Fig. 2 shows the heading of the vehicle. The heading estimate based on GNSS and IMU sensors on the MSRTK module closely follows the reference solution (the “truth”) throughout the complete measurement period. The enlarged section refers to a bridge underpass. The heading estimate is continuous and the heading error remains less than 0.2° despite the GNSS signal interruption.

Fig. 2: The heading of our tighly coupled GNSS/IMU solution with MSRTK module follows the curve of the reference solution (the “truth”) in all environments.

Fig. 3 shows the difference between the heading estimate obtained from our tighly coupled GNSS/IMU solution with MSRTK module and the reference solution. The heading offset is less than 0.5° for most of the time.

Fig. 3: The heading offset between the tighly coupled GNSS/IMU solution with MSRTK module and the reference system is less than 0.5° for most of the time.

Fig. 4 shows the cumulative distribution of the heading error including all passages below bridges. The heading error is less than 0.27° in 68.3% (1σ) and less than 0.73° in 95.4% (2σ) of all epochs. The figure also shows the statistics of the heading estimate from a state of the art technique: As the carrier phase integer ambiguities are not resolved in current low-cost GNSS receivers, the heading is derived from the velocity, which is obtained solely from the Doppler measurements of a single GNSS receiver. A drawback of this approach is that no meaningful heading information can be obtained in static conditions. Moreover, the Doppler frequency can also not be tracked below bridges. Therefore, the availability of a precise heading is significantly lower than for the proposed tight coupling with carrier phase integer ambiguity resolution.

Fig. 4: Cumulative distribution of heading error: The heading error is less than 0.27° in 68.3% (1 σ) and less than 0.73° in 95.4% (2 σ) of all timestamps.

Fig. 5 compares the rate of heading estimate using the tighly coupled GNSS/IMU solution with MSRTK module with the rate of heading of the reference system (the “truth”). The accuracy is in the order of 0.1°/s. A similar performance was observed for the rate of pitch/roll.

Fig. 5: Comparison of rate of heading estimate of the tighly coupled GNSS/IMU solution with MSRTK module with reference system. The accuracy is in the order of 0.1°/s.

Fig. 6 shows the gyroscope bias for the rate of heading measurement. The bias varies by up to (0.01°/s)/60 s ≈ 2 · 10−6 rad/s² during the measurement period. For the bias of the rate of pitch/roll measurement, we observed a similar order of magnitude.

Fig. 6: Bias of rate of heading measurement. The gyroscope bias varies by up to (0.01°/s)/60 s ≈ 2 · 10−6rad/s².