Case study
IMU-GNSS Sensor Fusion Drift Case Study
Mathematical engineering case study on IMU-GNSS sensor fusion drift, yaw-rate bias, Kalman innovation gating, covariance inconsistency, safe-mode decision, filter retuning, and validation evidence.
This case study examines a sensor-fusion failure in a mobile inspection system that combines an inertial measurement unit with GNSS position updates. The estimator looks smooth, but the vehicle gradually leaves its expected path because the filter underestimates inertial yaw-rate bias and rejects the measurements that would have corrected it.
The engineering question is not whether a Kalman filter was implemented. The question is whether the estimate, covariance, residuals, and validation evidence are credible enough to support navigation and control decisions.
Case Context
An outdoor inspection rover follows a planned route around an industrial site. It estimates position and heading using:
- wheel speed and steering commands;
- a low-cost gyroscope measuring yaw rate;
- GNSS position updates at 1\ \text{Hz};
- a Kalman-filter-based sensor-fusion algorithm;
- geofence and route-deviation logic tied to the fused position estimate.
During a maintenance inspection, the rover drifts toward the edge of the approved route. GNSS measurements appear inconsistent with the estimator prediction and are repeatedly rejected by the innovation gate. Operators stop the mission and compare the logged trajectory with surveyed control points.
Event Data
| Quantity | Value |
|---|---|
| average rover speed | 1.5\ \text{m/s} |
| time since last trusted correction | 120\ \text{s} |
| measured yaw-rate bias after event | 0.08^\circ/\text{s} |
| yaw-rate bias standard deviation assumed by filter | 0.015^\circ/\text{s} |
| predicted one-sigma horizontal position uncertainty | 3.0\ \text{m} |
| independent surveyed position error at stop point | 14.5\ \text{m} |
| GNSS innovation at a rejected update | [5.6,\ -2.1]\ \text{m} |
| innovation covariance for that update | \operatorname{diag}(4,\ 4)\ \text{m}^2 |
| two-dimensional 95 percent chi-square gate | 5.99 |
| consecutive GNSS measurements rejected | 7 |
The raw GNSS status flags show degraded but usable geometry, not a complete outage. The independent surveyed point later confirms that the fused estimate, not the GNSS position, carried the larger error during the stopped segment.
Step 1: Estimate Heading Error from Gyroscope Bias
Convert the measured yaw-rate bias to radians per second:
Integrated yaw error over:
is:
Convert to degrees:
Engineering Comment
A yaw error near 10^\circ is large enough to create visible path drift. The gyroscope can look stable over a few seconds and still create unacceptable dead-reckoning error over two minutes.
Step 2: Estimate Cross-Track Drift
For small heading error growing approximately linearly from a constant yaw-rate bias, a first-order lateral drift estimate is:
where:
Substitute:
Engineering Comment
This simple estimate is close to the surveyed error of 14.5\ \text{m}. That does not prove the whole trajectory model, but it strongly supports yaw-rate bias as a plausible dominant cause.
Step 3: Review the Rejected GNSS Innovation
For one rejected GNSS update, the innovation vector is:
The innovation covariance is:
Normalized innovation squared is:
Because S^{-1}=\operatorname{diag}(0.25,\ 0.25):
The two-dimensional 95 percent gate is:
Comparison:
The filter rejects the GNSS update.
Engineering Comment
Rejecting one measurement can be reasonable. Rejecting seven consecutive measurements in the same direction is a different pattern. It may mean the sensor is wrong, but it may also mean the prediction is drifting while the covariance is too small.
Step 4: Check Covariance Consistency
The filter reports one-sigma horizontal position uncertainty:
The independent surveyed position error is:
Normalized error:
Engineering Comment
An error of 4.83\sigma is possible but should be rare under a consistent Gaussian uncertainty model. In this case it occurs with a physical explanation: the filter covariance did not grow enough during inertial drift, so the innovation gate became overconfident.
Step 5: Diagnose the Filter Failure
The failure is not simply “GNSS was bad” or “the Kalman filter failed.” The evidence points to a coupled estimator-design problem:
| Evidence | Interpretation |
|---|---|
| measured yaw-rate bias is 0.08^\circ/\text{s} | larger than bias assumption |
| drift estimate is 15.1\ \text{m} | matches surveyed error scale |
| seven GNSS updates rejected | gate was persistently inconsistent |
| covariance reported 3.0\ \text{m} one-sigma | estimator was overconfident |
| independent survey supports GNSS correction direction | rejected measurements were not all bad |
The root cause is an underestimated inertial error model combined with a gate that treated the model prediction as more trustworthy than it was.
Step 6: Decide Safe Operating Action
The immediate decision is:
Do not continue autonomous route following using the current fused estimate. Enter supervised mode, keep outputs speed-limited, log estimator state, and require an estimator validation update before releasing autonomous navigation again.
The decision is justified because the fused estimate supports a geofence and route-deviation function. A smooth but overconfident position estimate can be more dangerous than a noisy estimate that reports uncertainty honestly.
Corrective Design
The revised estimator and validation plan should include:
- estimate gyroscope bias as a state or increase yaw process noise where bias is credible;
- inflate covariance during GNSS degradation, long dead-reckoning intervals, or low excitation;
- distinguish single-measurement rejection from repeated same-direction innovation bias;
- monitor normalized innovation statistics by operating mode;
- use GNSS quality indicators only as evidence, not as unconditional truth;
- add a route-deviation safe mode when covariance or innovation patterns exceed limits;
- validate against surveyed points, not only against the fused trajectory itself.
The filter should also record enough data for diagnosis: raw measurements, timestamps, covariance, innovations, gate decisions, selected mode, bias estimates, and software version.
Validation Retest
After retuning, run a validation route with surveyed control points and intentional GNSS degradation.
Acceptance criteria:
| Metric | Criterion |
|---|---|
| surveyed position error | below route tolerance with stated confidence |
| normalized innovation squared | distribution consistent with assumed gate rate |
| consecutive rejection rule | triggers review or covariance inflation before drift becomes unsafe |
| covariance coverage | at least 95 percent of surveyed points inside reported 95 percent interval |
| safe mode | enters speed-limited supervised mode when uncertainty exceeds route limit |
| replay test | logged data reproduce estimator decisions offline |
Engineering Comment
Estimator validation should test the decision supported by the estimate. Here the decision is navigation within a route boundary, not whether the plotted trajectory looks smooth.
Failure Mode Review
| Failure mode | Cause | Effect | Initial rating |
|---|---|---|---|
| overconfident fused position during GNSS correction rejection | underestimated yaw bias and tight innovation gate | route deviation, geofence error, unsafe autonomous motion | S=8,\ O=4,\ D=5 |
Initial risk priority number:
With bias-state estimation, covariance inflation, repeated-innovation monitoring, surveyed validation, and speed-limited safe mode:
Transferable Lessons
Sensor fusion does not make weak measurements reliable by averaging them. It makes an engineering estimate under assumptions about sensors, timing, dynamics, uncertainty, and fault behavior.
A strong estimator release record includes:
- state definition, units, frames, and sign conventions;
- sensor timing, latency, sampling, calibration, and quality flags;
- process-noise and measurement-noise assumptions;
- innovation and residual statistics;
- covariance coverage against independent data;
- fault cases such as bias, dropout, multipath, stale data, and timestamp error;
- decision rules for safe mode, rejection, retuning, and operator review.
The practical lesson is that a filter must be validated as a decision system. A smooth position trace is not enough. Engineers need to know when the estimator is wrong, how wrong it could be, and what action the system takes when uncertainty stops being acceptable.