Skip to main content

Module fusion

Module fusion 

Source
Expand description

GNSS/INS fusion primitives.

The module keeps the already-merged inertial mechanization surface available while adding the indirect error-state prediction and EKF correction core.

Re-exports§

pub use ekf::apply_closed_loop_error;
pub use ekf::ekf_correct_closed_loop;
pub use ekf::joseph_covariance_update;
pub use ekf::EkfCorrection;
pub use ekf::EkfCorrectionReport;
pub use ekf::EkfUpdateOptions;
pub use ekf::InnovationGate;
pub use ekf::InnovationGateReport;
pub use error_state::error_state_process_noise_discrete;
pub use error_state::error_state_system_matrix_ecef;
pub use error_state::error_state_transition_matrix;
pub use error_state::linearize_error_state_ecef;
pub use error_state::predict_error_state_covariance;
pub use error_state::ErrorStateImuKinematics;
pub use error_state::ErrorStateLinearization;
pub use loose::loose_coupling_correction;
pub use loose::FusionUpdate;
pub use loose::GnssFixMeasurement;
pub use loose::InertialFilter;
pub use loose::InertialFilterConfig;
pub use loose::LooseCouplingConfig;
pub use state::covariance_is_positive_semidefinite;
pub use state::reproject_covariance_psd;
pub use state::validate_covariance_matrix;
pub use state::ErrorStateLayout;
pub use state::ErrorStateVector;
pub use state::FusionError;
pub use state::FusionFilterKind;
pub use state::InsFilterState;
pub use state::ERROR_ACCEL_BIAS_INDEX;
pub use state::ERROR_ACCEL_SCALE_INDEX;
pub use state::ERROR_ATTITUDE_INDEX;
pub use state::ERROR_GYRO_BIAS_INDEX;
pub use state::ERROR_GYRO_SCALE_INDEX;
pub use state::ERROR_MOUNTING_MISALIGNMENT_INDEX;
pub use state::ERROR_MOUNTING_MISALIGNMENT_STATE_COUNT;
pub use state::ERROR_POSITION_INDEX;
pub use state::ERROR_STATE_DIMENSION_15;
pub use state::ERROR_STATE_DIMENSION_21;
pub use state::ERROR_VELOCITY_INDEX;
pub use tight::TightCarrierPhaseObservation;
pub use tight::TightClockState;
pub use tight::TightCouplingConfig;
pub use tight::TightFilterSnapshot;
pub use tight::TightGnssEpoch;
pub use tight::TightGnssObservation;
pub use tight::TightRangeRateObservation;
pub use tight::TIGHT_CLOCK_BIAS_OFFSET;
pub use tight::TIGHT_CLOCK_DRIFT_OFFSET;
pub use tight::TIGHT_CLOCK_STATE_COUNT;
pub use timesync::validate_time_sync_gnss_order;
pub use timesync::validate_time_sync_imu_order;
pub use timesync::InertialFilterSnapshot;
pub use timesync::TimeSyncHistoryConfig;
pub use timesync::TimeSyncHistoryStatus;
pub use timesync::TimeSyncUpdate;
pub use timesync::DEFAULT_TIME_SYNC_CHECKPOINT_CAPACITY;
pub use timesync::DEFAULT_TIME_SYNC_IMU_CAPACITY;
pub use crate::inertial::*;

Modules§

ekf
Generic EKF correction and closed-loop reset for the indirect INS state.
error_state
ECEF indirect error-state system model and covariance prediction.
loose
Loosely coupled GNSS PVT updates for the INS error-state filter.
state
Error-state layout, filter state, and covariance validation.
tight
Tightly coupled raw GNSS updates for the INS error-state filter.
timesync
Time alignment for loosely coupled GNSS/INS updates.