Architecture¶
Modules¶
navfusion.core: canonical state and event types, time/reorder primitivesnavfusion.models: motion and measurement modelsnavfusion.filters: filter contracts plus EKF and UKF implementationsnavfusion.engine: orchestration and async event handlingnavfusion.results: run histories and summariesnavfusion.analysis: consistency metrics (NIS,NEES)navfusion.sensors: raw packet to event adaptersnavfusion.viz: plotting helpers
Data path¶
- Raw packet -> sensor adapter ->
MeasurementEvent - Event enters reorder buffer (
reorder_window_ns) - Events emitted in deterministic timestamp order
- IMU events drive prediction
- GNSS events trigger catch-up prediction + update + gating
- Histories and diagnostics emitted as
RunResult
Runtime flow¶
flowchart LR
A[Sensor Packets] --> B[SensorAdapter]
B --> C[MeasurementEvent]
C --> D[EventReorderBuffer]
D --> E[FusionEngine]
E --> F[Predict IMU]
E --> G[Update GNSS]
G --> H[Innovation Gating]
F --> I[ErrorStateEKF]
H --> I
I --> J[RunResult]
J --> K[Consistency Reports and Plots]
State¶
Nominal state:
- Position (3)
- Velocity (3)
- Attitude quaternion (4)
- Gyro bias (3)
- Accel bias (3)
Error covariance state (15):
dp,dv,dtheta,dbg,dba