Robot Sensor Fusion: Time, Frames, Covariance and State Estimation

Robot sensor fusion combines measurements with different rates, frames, noise and failure modes into an estimate of position, velocity, orientation, bias or another state. The goal is not to average every input. It is to use a process model and uncertainty so complementary evidence corrects drift without allowing bad or duplicated measurements to dominate.

Time alignment, coordinate transforms and covariance are often more important than the choice between an extended and unscented Kalman filter. A precise sensor with a stale timestamp or wrong extrinsic can degrade the estimate. More sensors help only when their relationships and correlations are modeled honestly.

Read this with the robot sensor guide and calibration workflow. Treat estimator output as a model-dependent estimate with uncertainty, not as independent ground truth.

Fusion combines prediction and measurement correction

A state estimator propagates the previous state through a motion or process model and increases uncertainty according to process noise. When a measurement arrives, it predicts what that sensor should observe, compares the innovation and applies a correction weighted by uncertainty.

This structure supports sensors that arrive asynchronously. A fast IMU can propagate orientation and velocity, while slower wheel, lidar, camera or satellite observations constrain drift. The output rate can be high even when absolute measurements are intermittent, but uncertainty must grow during unobserved motion.

TurtleBot3 Burger mobile robot with lidar wheel encoders IMU and onboard electronics
A mobile robot combines wheel odometry, inertial and range observations that differ in rate, frame and failure mode. Source: Kuscu0 via Wikimedia Commons. License: CC BY-SA 4.0.

Timestamp means measurement time, not arrival time

A sensor message can be captured, processed, queued, transported and received at different times. Using host arrival time as capture time turns motion during latency into spatial error. Preserve hardware time where possible and measure the mapping between device clocks and the estimator clock.

Characterize fixed offset, jitter and drift. Correct known delay or process out-of-sequence measurements with an estimator designed for them. Log capture, publication and reception time separately. An accurate calibration measured at rest can still fail on a moving robot if streams are misaligned.

Data fieldMeaningFailure if wrongVerification
Capture timePhysical measurement instantMotion-dependent biasTriggered motion test
Frame IDCoordinate basisRotated or shifted estimateKnown-direction input
CovarianceExpected uncertaintyOver- or underweightingInnovation statistics
Sequence or sourceMeasurement identityDuplicate evidenceMessage tracing
Health stateValidity and modeSilent bad updatesFault injection

Coordinate frames require calibrated transforms

ROS REP-105 defines common mobile-robot frame roles such as map, odom and base_link. The map frame can jump after global correction, while odom is expected to remain locally continuous. Mixing their semantics creates controller discontinuity.

Each sensor extrinsic must map its measured quantity into the estimator convention with the correct rotation, translation and handedness. IMU orientation, angular velocity and acceleration need a documented frame and gravity convention. Recalibrate after sensor movement, collision or structural service.

Covariance tells the estimator how much to trust

Measurement covariance represents uncertainty, including cross-axis relationships when modeled. Process noise represents mismatch between assumed motion and the real system. Values that are artificially small make a sensor dominate; values that are too large prevent useful correction.

Estimate noise and bias under stationary, moving and environmental conditions. Then inspect innovations rather than tuning only for a visually smooth path. A smooth but biased estimate can be worse for control than a slightly noisy honest estimate. Update parameters when tires, payload, lighting or surface change.

SymptomLikely causeEvidenceAdjustment
Estimate follows one sensor exactlyCovariance too smallInnovation and gainRe-estimate noise
Correction barely changes stateCovariance too largeResidual persistsCheck units and covariance
Slow driftBias or unobserved stateLong reference runModel bias or add observation
Oscillation after updatesDelay or frame errorVelocity-correlated residualFix time and transform
False confidenceCorrelated duplicate inputCovariance shrinks too fastRemove or model correlation

EKF and UKF make different nonlinear approximations

The ROS robot_localization documentation provides EKF and UKF state-estimation nodes for multiple sensor sources. An EKF linearizes models with Jacobians, while a UKF propagates selected sigma points through nonlinear functions.

A UKF is not universally more accurate, and an EKF is not universally sufficient. Model quality, noise, timing, observability and implementation dominate many deployments. Compare them on the same recorded data with the same state, frames and covariance, then evaluate consistency, latency and computation.

Five-stage robot sensor fusion and state estimation pipeline
Timestamp, frame and covariance errors can dominate the choice of estimator. Source: Physical AI Lab.

Correlated measurements must not be counted twice

Wheel odometry may already combine left and right encoders; visual odometry may reuse an IMU; a global pose may be computed from the same local estimate being fused. Treating derived outputs and their source measurements as independent makes covariance shrink without new information.

Trace measurement lineage. Fuse the most appropriate raw or derived level once, or model cross-correlation with a suitable estimator. Avoid feeding the estimator’s own output back as a fresh measurement. Document which state components each source contributes.

Innovation gating contains outliers

The innovation is the difference between an incoming measurement and its predicted value. Normalize it by expected innovation covariance and reject or downweight values outside a validated threshold. This can contain multipath, feature mismatch, wheel slip or momentary sensor faults.

A gate cannot fix persistent bias or a wrong frame. Monitor rejection rate by sensor and environment. Excess rejection may signal a broken model; no rejection may mean thresholds are ineffective. Define recovery after a long outage or a large global relocalization.

Bias and observability determine long-term drift

An IMU bias integrates into velocity and position error. Wheel radius or scale error accumulates distance bias. Whether these quantities can be estimated depends on motion and external observations. A state can be mathematically included yet remain unobservable during the available trajectory.

Design calibration motions that excite relevant axes and compare against an independent reference. Monitor covariance and parameter correlation. Do not lock a poorly observed bias to a confident value simply to make the estimate look stable.

Fusion and SLAM have overlapping but different scopes

SLAM estimates a map and robot trajectory using environmental observations, while a general state estimator can fuse odometry, IMU, global pose and other measurements without building a map. OpenCV calibration tools address camera geometry that both systems may rely on.

A SLAM pose can be one measurement source for a local filter, but loop-closure jumps must be handled with correct frame semantics. Controllers often prefer a locally continuous odom estimate while global planning uses map alignment. Define the boundary to avoid feedback loops and duplicated evidence.

Validate with reference data and injected failures

Use stationary, straight, turning, stop-start, uneven-surface and repeated-loop tests. Compare position, orientation, velocity, bias, covariance and innovation with an independent reference where possible. Evaluate start-up, warm-up and long-duration drift rather than one short route.

Inject sensor delay, dropout, bias, outliers, duplicated messages, transform error and wheel slip. Verify uncertainty growth, rejection, recovery and controller behavior. Store raw data and configuration so failures can be replayed. A filter is ready when it remains bounded and honest under expected faults, not merely when its path looks smooth.

  • Preserve capture time and measure transport delay.
  • Calibrate every sensor frame and gravity convention.
  • Tune uncertainty from data and inspect innovations.
  • Trace correlations and avoid double counting.
  • Test dropout, bias, outliers and recovery with control connected.

Frequently asked questions

Will adding more sensors always improve accuracy?

No. Extra sensors help only when their time, frame, covariance, bias and correlation are modeled and their measurements add independent information.

Is a UKF always better than an EKF?

No. The better choice depends on model nonlinearity, computation and implementation; timing, calibration and uncertainty errors often matter more.

How should covariance be selected?

Begin with measured noise and bias across relevant conditions, include process-model mismatch, then check innovation consistency and independent reference error.

How serious is camera-to-IMU timing error?

It can create pose and velocity bias proportional to motion, especially during fast rotation or vibration. Measure end-to-end timestamp offset and jitter.

Should the filter stop when one sensor disappears?

Not always. It can predict with remaining inputs, but uncertainty must grow and the system needs a bounded slow, stop or degraded policy when observability is lost.

State Estimation Boundary Note

Estimator output and covariance depend on model and sensor assumptions and are not independent ground truth. Validate time, frames, correlations, bias, delay and faults with an external reference and the connected controller.