Class ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer

java.lang.Object
com.irurueta.navigation.inertial.calibration.intervals.thresholdfactor.IntervalDetectorThresholdFactorOptimizer<com.irurueta.navigation.inertial.calibration.TimedBodyKinematicsAndMagneticFluxDensity,AccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizerDataSource>
com.irurueta.navigation.inertial.calibration.intervals.thresholdfactor.AccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer
com.irurueta.navigation.inertial.calibration.intervals.thresholdfactor.ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer
All Implemented Interfaces:
com.irurueta.navigation.inertial.calibration.AccelerometerNoiseRootPsdSource, com.irurueta.navigation.inertial.calibration.GyroscopeNoiseRootPsdSource

public class ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer extends AccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer
Optimizes the threshold factor for interval detection of accelerometer and gyroscope data based on results of calibration. Only accelerometer calibrators based on unknown orientation are supported (in other terms, calibrators must be AccelerometerNonLinearCalibrator and must support AccelerometerCalibratorMeasurementType.STANDARD_DEVIATION_BODY_KINEMATICS). Only gyroscope calibrators based on unknown orientation are supported (in other terms, calibrators must be GyroscopeNonLinearCalibrator and must support GyroscopeCalibratorMeasurementOrSequenceType.BODY_KINEMATICS_SEQUENCE). Only magnetometer calibrators based on unknown orientation are supported, in other terms, calibrators must be MagnetometerNonLinearCalibrator and must support MagnetometerCalibratorMeasurementType.STANDARD_DEVIATION_BODY_MAGNETIC_FLUX_DENSITY. This implementation makes an exhaustive search between minimum and maximum threshold factor values to find the threshold value that produces the minimum Mean Square Error (MSE) for calibration parameters.
  • Field Details

  • Constructor Details

    • ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer

      public ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer()
      Constructor.
    • ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer

      public ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer(AccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizerDataSource dataSource)
      Constructor.
      Parameters:
      dataSource - instance in charge of retrieving data for this optimizer.
    • ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer

      public ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer(com.irurueta.navigation.inertial.calibration.accelerometer.AccelerometerNonLinearCalibrator accelerometerCalibrator, com.irurueta.navigation.inertial.calibration.gyroscope.GyroscopeNonLinearCalibrator gyroscopeCalibrator, com.irurueta.navigation.inertial.calibration.magnetometer.MagnetometerNonLinearCalibrator magnetometerCalibrator)
      Constructor.
      Parameters:
      accelerometerCalibrator - an accelerometer calibrator to be used to optimize its Mean Square Error (MSE).
      gyroscopeCalibrator - a gyroscope calibrator to be used to optimize its Mean Square Error (MSE).
      magnetometerCalibrator - a magnetometer calibrator to be used to optimize its Mean Square Error (MSE).
      Throws:
      IllegalArgumentException - if accelerometer calibrator does not use StandardDeviationBodyKinematics measurements, if gyroscope calibrator does not use BodyKinematicsSequence sequences of StandardDeviationTimedBodyKinematics or if magnetometer calibrator does not use StandardDeviationBodyMagneticFluxDensity measurements.
    • ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer

      public ExhaustiveAccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizer(AccelerometerGyroscopeAndMagnetometerIntervalDetectorThresholdFactorOptimizerDataSource dataSource, com.irurueta.navigation.inertial.calibration.accelerometer.AccelerometerNonLinearCalibrator accelerometerCalibrator, com.irurueta.navigation.inertial.calibration.gyroscope.GyroscopeNonLinearCalibrator gyroscopeCalibrator, com.irurueta.navigation.inertial.calibration.magnetometer.MagnetometerNonLinearCalibrator magnetometerCalibrator)
      Constructor.
      Parameters:
      dataSource - instance in charge of retrieving data for this optimizer.
      accelerometerCalibrator - an accelerometer calibrator to be used to optimize its Mean Square Error (MSE).
      gyroscopeCalibrator - a gyroscope calibrator to be used to optimize its Mean Square Error (MSE).
      magnetometerCalibrator - a magnetometer calibrator to be used to optimize its Mean Square Error (MSE).
      Throws:
      IllegalArgumentException - if accelerometer calibrator does not use StandardDeviationBodyKinematics measurements, if gyroscope calibrator does not use BodyKinematicsSequence sequences of StandardDeviationTimedBodyKinematics or if magnetometer calibrator does not use StandardDeviationBodyMagneticFluxDensity measurements.
  • Method Details