Class ImuCovarianceInterface
Defined in File imu_covariance_interface.h
Inheritance Relationships
Derived Types
public adi_imu::EwmaCovarianceProvider(Class EwmaCovarianceProvider)public adi_imu::KalmanCovarianceProvider(Class KalmanCovarianceProvider)public adi_imu::SlidingWindowCovarianceProvider(Class SlidingWindowCovarianceProvider)public adi_imu::StaticCovarianceProvider(Class StaticCovarianceProvider)public adi_imu::WelfordCovarianceProvider(Class WelfordCovarianceProvider)
Class Documentation
-
class ImuCovarianceInterface
Interface for IMU covariance computation strategies.
Implementation can provide static covariance values, compute them online during a calibration phase, or adapt them continuously
Subclassed by adi_imu::EwmaCovarianceProvider, adi_imu::KalmanCovarianceProvider, adi_imu::SlidingWindowCovarianceProvider, adi_imu::StaticCovarianceProvider, adi_imu::WelfordCovarianceProvider
Public Functions
-
ImuCovarianceInterface(const ImuCovarianceInterface&) = delete
-
ImuCovarianceInterface &operator=(const ImuCovarianceInterface&) = delete
-
virtual void addSample(const Vec3 &accel, const Vec3 &gyro) = 0
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 = 0
Check if covariance estimation is ready (calibration complete).
- Returns:
true if covariance values are valid and ready to use.
-
virtual CovarianceMatrix getAccelCovariance() const = 0
Get the linear acceleration covariance matrix.
- Returns:
3x3 covariance matrix row-major order.
-
virtual CovarianceMatrix getGyroCovariance() const = 0
Get the angular velocity covariance matrix.
- Returns:
3x3 covariance matrix row-major order.
-
ImuCovarianceInterface(const ImuCovarianceInterface&) = delete