Class BracketedAccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerTest
java.lang.Object
com.irurueta.navigation.inertial.calibration.intervals.thresholdfactor.BracketedAccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerTest
- All Implemented Interfaces:
IntervalDetectorThresholdFactorOptimizerListener<TimedBodyKinematics,AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource>
class BracketedAccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerTest
extends Object
implements IntervalDetectorThresholdFactorOptimizerListener<TimedBodyKinematics,AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate final List<StandardDeviationBodyKinematics> private static final doubleprivate intprivate final com.irurueta.navigation.inertial.calibration.generators.AccelerometerAndGyroscopeMeasurementsGeneratorListenerprivate final List<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>> private static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final intprivate floatprivate static final doubleprivate static final doubleprivate intprivate static final doubleprivate final List<TimedBodyKinematics> private static final intprivate static final double -
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidprivate static com.irurueta.algebra.Matrixprivate static com.irurueta.algebra.Matrixprivate voidgenerateBodyKinematics(com.irurueta.navigation.frames.NEDFrame nedFrame, com.irurueta.navigation.frames.ECEFFrame ecefFrame, boolean changePosition, com.irurueta.algebra.Matrix ma, double accelNoiseRootPSD, double gyroNoiseRootPSD, int numSequences, int numMeasurements) private voidgenerateDynamicSamples(int numSamples, com.irurueta.navigation.inertial.BodyKinematics trueKinematics, com.irurueta.statistics.UniformRandomizer randomizer, com.irurueta.navigation.frames.ECEFFrame ecefFrame, com.irurueta.navigation.frames.NEDFrame nedFrame, IMUErrors errors, Random random, int startSample, boolean changePosition) private static com.irurueta.navigation.frames.NEDFrameprivate static com.irurueta.algebra.Matrixprivate static com.irurueta.algebra.Matrixprivate static com.irurueta.algebra.Matrixprivate static com.irurueta.algebra.Matrixprivate voidgenerateStaticSamples(int numSamples, com.irurueta.navigation.inertial.BodyKinematics trueKinematics, IMUErrors errors, Random random, int startSample) private static doubleprivate static doubleprivate static doubleinterpolate(double value, double progress) voidonOptimizeEnd(IntervalDetectorThresholdFactorOptimizer<TimedBodyKinematics, AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource> optimizer) voidonOptimizeProgressChange(IntervalDetectorThresholdFactorOptimizer<TimedBodyKinematics, AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource> optimizer, float progress) voidonOptimizeStart(IntervalDetectorThresholdFactorOptimizer<TimedBodyKinematics, AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource> optimizer) private voidreset()(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void(package private) void
-
Field Details
-
TIME_INTERVAL_SECONDS
private static final double TIME_INTERVAL_SECONDS- See Also:
-
MICRO_G_TO_METERS_PER_SECOND_SQUARED
private static final double MICRO_G_TO_METERS_PER_SECOND_SQUARED- See Also:
-
DEG_TO_RAD
private static final double DEG_TO_RAD- See Also:
-
MIN_ANGLE_DEGREES
private static final double MIN_ANGLE_DEGREES- See Also:
-
MAX_ANGLE_DEGREES
private static final double MAX_ANGLE_DEGREES- See Also:
-
MIN_LATITUDE_DEGREES
private static final double MIN_LATITUDE_DEGREES- See Also:
-
MAX_LATITUDE_DEGREES
private static final double MAX_LATITUDE_DEGREES- See Also:
-
MIN_LONGITUDE_DEGREES
private static final double MIN_LONGITUDE_DEGREES- See Also:
-
MAX_LONGITUDE_DEGREES
private static final double MAX_LONGITUDE_DEGREES- See Also:
-
MIN_HEIGHT
private static final double MIN_HEIGHT- See Also:
-
MAX_HEIGHT
private static final double MAX_HEIGHT- See Also:
-
MIN_DELTA_POS_METERS
private static final double MIN_DELTA_POS_METERS- See Also:
-
MAX_DELTA_POS_METERS
private static final double MAX_DELTA_POS_METERS- See Also:
-
MIN_DELTA_ANGLE_DEGREES
private static final double MIN_DELTA_ANGLE_DEGREES- See Also:
-
MAX_DELTA_ANGLE_DEGREES
private static final double MAX_DELTA_ANGLE_DEGREES- See Also:
-
TIMES
private static final int TIMES- See Also:
-
ABSOLUTE_ERROR
private static final double ABSOLUTE_ERROR- See Also:
-
VERY_LARGE_ABSOLUTE_ERROR
private static final double VERY_LARGE_ABSOLUTE_ERROR- See Also:
-
LARGE_ABSOLUTE_ERROR
private static final double LARGE_ABSOLUTE_ERROR- See Also:
-
SMALL_ABSOLUTE_ERROR
private static final double SMALL_ABSOLUTE_ERROR- See Also:
-
SMALL_ROOT_PSD
private static final double SMALL_ROOT_PSD- See Also:
-
NUM_MEASUREMENTS
private static final int NUM_MEASUREMENTS- See Also:
-
timedBodyKinematics
-
dataSource
private final AccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerDataSource dataSource -
generatorListener
private final com.irurueta.navigation.inertial.calibration.generators.AccelerometerAndGyroscopeMeasurementsGeneratorListener generatorListener -
accelerometerGeneratorMeasurements
-
gyroscopeGeneratorMeasurements
private final List<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>> gyroscopeGeneratorMeasurements -
start
private int start -
end
private int end -
progress
private float progress
-
-
Constructor Details
-
BracketedAccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerTest
BracketedAccelerometerAndGyroscopeIntervalDetectorThresholdFactorOptimizerTest()
-
-
Method Details
-
testConstructor1
@Test void testConstructor1() -
testConstructor2
@Test void testConstructor2() -
testConstructor3
@Test void testConstructor3() -
testConstructor4
@Test void testConstructor4() -
testConstructor5
@Test void testConstructor5() -
testConstructor6
@Test void testConstructor6() -
testConstructor7
@Test void testConstructor7() -
testConstructor8
@Test void testConstructor8() -
testGetSetMseOptimizer
@Test void testGetSetMseOptimizer() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetAccelerometerCalibrator
@Test void testGetSetAccelerometerCalibrator() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetGyroscopeCalibrator
@Test void testGetSetGyroscopeCalibrator() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetAccelerometerQualityScoreMapper
@Test void testGetSetAccelerometerQualityScoreMapper() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetGyroscopeQualityScoreMapper
@Test void testGetSetGyroscopeQualityScoreMapper() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetMseRule
@Test void testGetSetMseRule() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetThresholdFactorRange
@Test void testGetSetThresholdFactorRange() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetDataSource
@Test void testGetSetDataSource() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testIsReady
@Test void testIsReady() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetTimeInterval
@Test void testGetSetTimeInterval() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetTimeIntervalAsTime
@Test void testGetSetTimeIntervalAsTime() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetMinStaticSamples
@Test void testGetSetMinStaticSamples() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetMaxDynamicSamples
@Test void testGetSetMaxDynamicSamples() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetWindowSize
@Test void testGetSetWindowSize() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetInitialStaticSamples
@Test void testGetSetInitialStaticSamples() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetInstantaneousNoiseLevelFactor
@Test void testGetSetInstantaneousNoiseLevelFactor() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetBaseNoiseLevelAbsoluteThreshold
@Test void testGetSetBaseNoiseLevelAbsoluteThreshold() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetBaseNoiseLevelAbsoluteThresholdAsMeasurement
@Test void testGetSetBaseNoiseLevelAbsoluteThresholdAsMeasurement() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetListener
@Test void testGetSetListener() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testGetSetProgressDelta
@Test void testGetSetProgressDelta() throws com.irurueta.navigation.LockedException- Throws:
com.irurueta.navigation.LockedException
-
testOptimizeMaCommonAxisWithNoise
@Test void testOptimizeMaCommonAxisWithNoise() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeGeneralNoGDependentCrossBiasesWithSmallNoise
@Test void testOptimizeGeneralNoGDependentCrossBiasesWithSmallNoise() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeMaCommonAxisNoGDependentCrossBiasesWithSmallNoise
@Test void testOptimizeMaCommonAxisNoGDependentCrossBiasesWithSmallNoise() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeGeneralGDependentCrossBiasesWithSmallNoise
@Test void testOptimizeGeneralGDependentCrossBiasesWithSmallNoise() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeMaCommonAxisGDependentCrossBiasesWithSmallNoise
@Test void testOptimizeMaCommonAxisGDependentCrossBiasesWithSmallNoise() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeMaCommonAxisNoGDependentCrossBiasesWithSmallNoiseRotationAndPositionChange
@Test void testOptimizeMaCommonAxisNoGDependentCrossBiasesWithSmallNoiseRotationAndPositionChange() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
testOptimizeRobustCalibrators
@Test void testOptimizeRobustCalibrators() throws com.irurueta.algebra.WrongSizeException, com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException, com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, IntervalDetectorThresholdFactorOptimizerException, com.irurueta.geometry.InvalidRotationMatrixException, com.irurueta.geometry.RotationException- Throws:
com.irurueta.algebra.WrongSizeExceptioncom.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeExceptioncom.irurueta.navigation.LockedExceptioncom.irurueta.navigation.NotReadyExceptionIntervalDetectorThresholdFactorOptimizerExceptioncom.irurueta.geometry.InvalidRotationMatrixExceptioncom.irurueta.geometry.RotationException
-
generateFrame
private static com.irurueta.navigation.frames.NEDFrame generateFrame() throws com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException- Throws:
com.irurueta.navigation.frames.InvalidSourceAndDestinationFrameTypeException
-
generateBa
private static com.irurueta.algebra.Matrix generateBa() -
generateBg
private static com.irurueta.algebra.Matrix generateBg() -
generateMaCommonAxis
private static com.irurueta.algebra.Matrix generateMaCommonAxis() throws com.irurueta.algebra.WrongSizeException- Throws:
com.irurueta.algebra.WrongSizeException
-
generateMaGeneral
private static com.irurueta.algebra.Matrix generateMaGeneral() throws com.irurueta.algebra.WrongSizeException- Throws:
com.irurueta.algebra.WrongSizeException
-
generateMg
private static com.irurueta.algebra.Matrix generateMg() throws com.irurueta.algebra.WrongSizeException- Throws:
com.irurueta.algebra.WrongSizeException
-
generateGg
private static com.irurueta.algebra.Matrix generateGg() throws com.irurueta.algebra.WrongSizeException- Throws:
com.irurueta.algebra.WrongSizeException
-
getAccelNoiseRootPSD
private static double getAccelNoiseRootPSD() -
getGyroNoiseRootPSD
private static double getGyroNoiseRootPSD() -
interpolate
private static double interpolate(double value, double progress) -
reset
private void reset()
-