Class StaticCovarianceProvider
Defined in File static_covariance_provider.h
Inheritance Relationships
Base Type
public adi_imu::ImuCovarianceInterface(Class ImuCovarianceInterface)
Class Documentation
-
class StaticCovarianceProvider : public adi_imu::ImuCovarianceInterface
Provides fixed/static covariance values from configuration. Use this when covariance values are known from datasheet specifications or prior calibration. No runtime computatino is performed.
Public Functions
-
StaticCovarianceProvider(const Vec3 &accel_variance, const Vec3 &gyro_variance)
Construct diagonal covariance values. Measurements are not intercorrelated.
- Parameters:
accel_variance – Variance for each accelerometer axis (m/s^2)^2
gyro_variance – Variance for each gyroscope axis (rad/s)^2.
-
StaticCovarianceProvider(const CovarianceMatrix &accel_cov, const CovarianceMatrix &gyro_cov)
Construct with full covariance matrices.
- Parameters:
accel_cov – Full 3x3 accelerometer covariance matrix
gyro_cov – Full 3x3 gyroscope covariance matrix
-
virtual void addSample(const Vec3 &accel, const Vec3 &gyro) override
Process a new IMU sample for covariance estimation.
- Parameters:
accel – Linear acceleration sample (m/s^2)
gyro – Angular velocity sample (rad/s)
-
virtual bool isReady() const override
Check if covariance estimation is ready (calibration complete).
- Returns:
true if covariance values are valid and ready to use.
-
virtual CovarianceMatrix getAccelCovariance() const override
Get the linear acceleration covariance matrix.
- Returns:
3x3 covariance matrix row-major order.
-
virtual CovarianceMatrix getGyroCovariance() const override
Get the angular velocity covariance matrix.
- Returns:
3x3 covariance matrix row-major order.
-
StaticCovarianceProvider(const Vec3 &accel_variance, const Vec3 &gyro_variance)