Class IMUErrorsCreator

java.lang.Object
com.irurueta.navigation.inertial.calibration.IMUErrorsCreator

public class IMUErrorsCreator extends Object
Utility class to create IMUErrors by combining different sources of estimated data. Sources of data can be any accelerometer calibrator implementing AccelerometerCalibrationSource, any gyroscope calibrator implementing GyroscopeCalibrationSource, or any measurement generator, static interval detector or noise estimator implementing AccelerometerNoiseRootPsdSource or GyroscopeNoiseRootPsdSource.
  • Field Details

    • accelerometerCalibrationSource

      private AccelerometerCalibrationSource accelerometerCalibrationSource
      A source of estimated accelerometer calibration parameters.
    • gyroscopeCalibrationSource

      private GyroscopeCalibrationSource gyroscopeCalibrationSource
      A source of estimated gyroscope calibration parameters.
    • accelerometerNoiseRootPsdSource

      private AccelerometerNoiseRootPsdSource accelerometerNoiseRootPsdSource
      A source of estimated accelerometer noise root PSD.
    • gyroscopeNoiseRootPsdSource

      private GyroscopeNoiseRootPsdSource gyroscopeNoiseRootPsdSource
      A source of estimated gyroscope noise root PSD.
    • accelerometerQuantizationLevel

      private double accelerometerQuantizationLevel
      Accelerometer quantization level expressed in meters per squared second (m/s^2). By default, it is zero when no quantization is assumed.
    • gyroQuantizationLevel

      private double gyroQuantizationLevel
      Gyro quantization level expressed in radians per second (rad/s). By default, it is zero when no quantization is assumed.
  • Constructor Details

    • IMUErrorsCreator

      public IMUErrorsCreator()
      Constructor.
    • IMUErrorsCreator

      public IMUErrorsCreator(AccelerometerCalibrationSource accelerometerCalibrationSource, GyroscopeCalibrationSource gyroscopeCalibrationSource, AccelerometerNoiseRootPsdSource accelerometerNoiseRootPsdSource, GyroscopeNoiseRootPsdSource gyroscopeNoiseRootPsdSource)
      Constructor.
      Parameters:
      accelerometerCalibrationSource - A source of estimated accelerometer calibration parameters.
      gyroscopeCalibrationSource - A source of estimated gyroscope calibration parameters.
      accelerometerNoiseRootPsdSource - A source of estimated accelerometer noise root PSD.
      gyroscopeNoiseRootPsdSource - A source of estimated gyroscope noise root PSD.
    • IMUErrorsCreator

      public IMUErrorsCreator(AccelerometerCalibrationSource accelerometerCalibrationSource, GyroscopeCalibrationSource gyroscopeCalibrationSource, AccelerometerNoiseRootPsdSource accelerometerNoiseRootPsdSource, GyroscopeNoiseRootPsdSource gyroscopeNoiseRootPsdSource, double accelerometerQuantizationLevel, double gyroQuantizationLevel)
      Constructor.
      Parameters:
      accelerometerCalibrationSource - A source of estimated accelerometer calibration parameters.
      gyroscopeCalibrationSource - A source of estimated gyroscope calibration parameters.
      accelerometerNoiseRootPsdSource - A source of estimated accelerometer noise root PSD.
      gyroscopeNoiseRootPsdSource - A source of estimated gyroscope noise root PSD.
      accelerometerQuantizationLevel - Accelerometer quantization level expressed in meters per squared second (m/s^2).
      gyroQuantizationLevel - Gyro quantization level expressed in radians per second (rad/s).
  • Method Details

    • getAccelerometerCalibrationSource

      public AccelerometerCalibrationSource getAccelerometerCalibrationSource()
      Gets source of estimated accelerometer calibration parameters.
      Returns:
      source of estimated accelerometer calibration parameters.
    • setAccelerometerCalibrationSource

      public void setAccelerometerCalibrationSource(AccelerometerCalibrationSource accelerometerCalibrationSource)
      Sets source of estimated accelerometer calibration parameters.
      Parameters:
      accelerometerCalibrationSource - source of estimated accelerometer parameters.
    • getGyroscopeCalibrationSource

      public GyroscopeCalibrationSource getGyroscopeCalibrationSource()
      Gets source of estimated gyroscope calibration parameters.
      Returns:
      source of estimated gyroscope calibration parameters.
    • setGyroscopeCalibrationSource

      public void setGyroscopeCalibrationSource(GyroscopeCalibrationSource gyroscopeCalibrationSource)
      Sets source of estimated gyroscope calibration parameters.
      Parameters:
      gyroscopeCalibrationSource - source of estimated gyroscope calibration parameters.
    • getAccelerometerNoiseRootPsdSource

      public AccelerometerNoiseRootPsdSource getAccelerometerNoiseRootPsdSource()
      Gets source of estimated accelerometer noise root PSD.
      Returns:
      source of estimated accelerometer noise root PSD.
    • setAccelerometerNoiseRootPsdSource

      public void setAccelerometerNoiseRootPsdSource(AccelerometerNoiseRootPsdSource accelerometerNoiseRootPsdSource)
      Sets source of estimated accelerometer noise root PSD.
      Parameters:
      accelerometerNoiseRootPsdSource - source of estimated accelerometer noise root PSD.
    • getGyroscopeNoiseRootPsdSource

      public GyroscopeNoiseRootPsdSource getGyroscopeNoiseRootPsdSource()
      Gets source of estimated gyroscope noise root PSD.
      Returns:
      source of estimated gyroscope noise root PSD.
    • sstGyroscopeNoiseRootPsdSource

      public void sstGyroscopeNoiseRootPsdSource(GyroscopeNoiseRootPsdSource gyroscopeNoiseRootPsdSource)
      Sets source of estimated gyroscope noise root PSD.
      Parameters:
      gyroscopeNoiseRootPsdSource - source of estimated gyroscope noise root PSD.
    • getAccelerometerQuantizationLevel

      public double getAccelerometerQuantizationLevel()
      Gets accelerometer quantization level expressed in meters per squared second (m/s^2). By default it is zero when no quantization is assumed.
      Returns:
      accelerometer quantization level.
    • setAccelerometerQuantizationLevel

      public void setAccelerometerQuantizationLevel(double accelerometerQuantizationLevel)
      Sets accelerometer quantization level expressed in meters per squared second (m/s^2).
      Parameters:
      accelerometerQuantizationLevel - accelerometer quantization level.
    • getGyroQuantizationLevel

      public double getGyroQuantizationLevel()
      Gets gyroscope quantization level expressed in radians per second (rad/s). By default it is zero when no quantization is assumed.
      Returns:
      gyroscope quantization level.
    • setGyroQuantizationLevel

      public void setGyroQuantizationLevel(double gyroQuantizationLevel)
      Sets gyroscope quantization level expressed in radians per second (rad/s).
      Parameters:
      gyroQuantizationLevel - gyroscope quantization level.
    • isReady

      public boolean isReady()
      Indicates whether all sources have been provided in order to be able to create an IMUErrors instance.
      Returns:
      true if creator is ready, false otherwise.
    • create

      public IMUErrors create() throws com.irurueta.navigation.NotReadyException
      Creates an IMUErrors instance containing estimated IMU (accelerometer + gyroscope) parameters.
      Returns:
      instance containing estimated IMU parameters.
      Throws:
      com.irurueta.navigation.NotReadyException - if creator is not ready.