Package com.irurueta.ar.slam
Class AbsoluteOrientationSlamCalibrator
java.lang.Object
com.irurueta.ar.slam.BaseSlamCalibrator<D>
com.irurueta.ar.slam.AbsoluteOrientationBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
com.irurueta.ar.slam.AbsoluteOrientationSlamCalibrator
public class AbsoluteOrientationSlamCalibrator
extends AbsoluteOrientationBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
Processes data to estimate calibration for absolute orientation SLAM
estimator.
This class must be used while gathering data for a system being kept constant
(under no motion).
-
Nested Class Summary
Nested classes/interfaces inherited from class com.irurueta.ar.slam.BaseSlamCalibrator
BaseSlamCalibrator.BaseSlamCalibratorListener<D extends BaseCalibrationData>
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final com.irurueta.geometry.Quaternion
Variation of orientation respect to last sample.private double
Last sample of linear acceleration along x-axis.private double
Last sample of linear acceleration along y-axis.private double
Last sample of linear acceleration along z-axis.private double
Last sample of angular speed along x-axis.private double
Last sample of angular speed along y-axis.private double
Last sample of angular speed along z-axis.private com.irurueta.geometry.Quaternion
Last sample of absolute orientation.private long
Last timestamp of a full sample expressed in nanoseconds since the epoch time.Fields inherited from class com.irurueta.ar.slam.AbsoluteOrientationBaseSlamCalibrator
accumulatedOrientation, accumulatedOrientationSamples, orientationTimestampNanos
Fields inherited from class com.irurueta.ar.slam.BaseSlamCalibrator
accelerometerTimestampNanos, accumulatedAccelerationSampleX, accumulatedAccelerationSampleY, accumulatedAccelerationSampleZ, accumulatedAccelerometerSamples, accumulatedAngularSpeedSampleX, accumulatedAngularSpeedSampleY, accumulatedAngularSpeedSampleZ, accumulatedGyroscopeSamples, accumulationEnabled, converged, convergenceThreshold, covDiff, DEFAULT_CONVERGENCE_THRESHOLD, DEFAULT_ENABLE_SAMPLE_ACCUMULATION, DEFAULT_MAX_NUM_SAMPLES, DEFAULT_MIN_NUM_SAMPLES, estimator, failed, finished, gyroscopeTimestampNanos, listener, maxNumSamples, meanDiff, MIN_SAMPLE_LENGTH, minNumSamples, N_COMPONENTS_3D, NANOS_TO_SECONDS, previousCovariance, previousMean, sample, sampleCount
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGets a new instance containing calibration data estimated by this calibrator.protected int
Obtains the number of state parameters in associated SLAM estimator.protected void
Processes a full sample of accelerometer and gyroscope data to compute statistics such as mean and covariance of variations.void
reset()
Resets calibrator.Methods inherited from class com.irurueta.ar.slam.AbsoluteOrientationBaseSlamCalibrator
getAccumulatedOrientation, getAccumulatedOrientation, getAccumulatedOrientationSamples, getMostRecentTimestampNanos, getOrientationTimestampNanos, isFullSampleAvailable, isOrientationSampleReceived, notifyFullSampleAndResetSampleReceive, updateOrientationSample
Methods inherited from class com.irurueta.ar.slam.BaseSlamCalibrator
getAccelerometerTimestampNanos, getAccumulatedAccelerationSample, getAccumulatedAccelerationSample, getAccumulatedAccelerationSampleX, getAccumulatedAccelerationSampleY, getAccumulatedAccelerationSampleZ, getAccumulatedAccelerometerSamples, getAccumulatedAngularSpeedSample, getAccumulatedAngularSpeedSample, getAccumulatedAngularSpeedSampleX, getAccumulatedAngularSpeedSampleY, getAccumulatedAngularSpeedSampleZ, getAccumulatedGyroscopeSamples, getCalibrationData, getControlCovariance, getControlCovariance, getControlDistribution, getControlDistribution, getControlMean, getControlMean, getConvergenceThreshold, getGyroscopeTimestampNanos, getListener, getMaxNumSamples, getMinNumSamples, getSampleCount, getSampleLength, isAccelerometerSampleReceived, isAccumulationEnabled, isConverged, isFailed, isFinished, isGyroscopeSampleReceived, propagateWithControlJacobian, propagateWithControlJacobian, setAccumulationEnabled, setConvergenceThreshold, setListener, setMaxNumSamples, setMinNumSamples, updateAccelerometerSample, updateAccelerometerSample, updateGyroscopeSample, updateGyroscopeSample, updateSample
-
Field Details
-
lastAccelerationX
private double lastAccelerationXLast sample of linear acceleration along x-axis. -
lastAccelerationY
private double lastAccelerationYLast sample of linear acceleration along y-axis. -
lastAccelerationZ
private double lastAccelerationZLast sample of linear acceleration along z-axis. -
lastAngularSpeedX
private double lastAngularSpeedXLast sample of angular speed along x-axis. -
lastAngularSpeedY
private double lastAngularSpeedYLast sample of angular speed along y-axis. -
lastAngularSpeedZ
private double lastAngularSpeedZLast sample of angular speed along z-axis. -
lastTimestampNanos
private long lastTimestampNanosLast timestamp of a full sample expressed in nanoseconds since the epoch time. -
lastOrientation
private com.irurueta.geometry.Quaternion lastOrientationLast sample of absolute orientation. -
deltaOrientation
private final com.irurueta.geometry.Quaternion deltaOrientationVariation of orientation respect to last sample.
-
-
Constructor Details
-
AbsoluteOrientationSlamCalibrator
public AbsoluteOrientationSlamCalibrator()Constructor.
-
-
Method Details
-
reset
public void reset()Resets calibrator.- Overrides:
reset
in classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
-
getEstimatorStateLength
protected int getEstimatorStateLength()Obtains the number of state parameters in associated SLAM estimator.- Specified by:
getEstimatorStateLength
in classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
- Returns:
- number of state parameters.
-
getCalibrationData
Gets a new instance containing calibration data estimated by this calibrator.- Specified by:
getCalibrationData
in classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
- Returns:
- a new calibration data instance.
-
processFullSample
protected void processFullSample()Processes a full sample of accelerometer and gyroscope data to compute statistics such as mean and covariance of variations.- Specified by:
processFullSample
in classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
-