Package com.irurueta.ar.slam
Class AbsoluteOrientationSlamCalibrator
java.lang.Object
com.irurueta.ar.slam.BaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
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.QuaternionVariation of orientation respect to last sample.private doubleLast sample of linear acceleration along x-axis.private doubleLast sample of linear acceleration along y-axis.private doubleLast sample of linear acceleration along z-axis.private doubleLast sample of angular speed along x-axis.private doubleLast sample of angular speed along y-axis.private doubleLast sample of angular speed along z-axis.private com.irurueta.geometry.QuaternionLast sample of absolute orientation.private longLast timestamp of a full sample expressed in nanoseconds since the epoch time.Fields inherited from class com.irurueta.ar.slam.AbsoluteOrientationBaseSlamCalibrator
accumulatedOrientation, accumulatedOrientationSamples, orientationTimestampNanosFields 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 intObtains the number of state parameters in associated SLAM estimator.protected voidProcesses a full sample of accelerometer and gyroscope data to compute statistics such as mean and covariance of variations.voidreset()Resets calibrator.Methods inherited from class com.irurueta.ar.slam.AbsoluteOrientationBaseSlamCalibrator
getAccumulatedOrientation, getAccumulatedOrientation, getAccumulatedOrientationSamples, getMostRecentTimestampNanos, getOrientationTimestampNanos, isFullSampleAvailable, isOrientationSampleReceived, notifyFullSampleAndResetSampleReceive, updateOrientationSampleMethods 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:
resetin classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
-
getEstimatorStateLength
protected int getEstimatorStateLength()Obtains the number of state parameters in associated SLAM estimator.- Specified by:
getEstimatorStateLengthin classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>- Returns:
- number of state parameters.
-
getCalibrationData
Gets a new instance containing calibration data estimated by this calibrator.- Specified by:
getCalibrationDatain 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:
processFullSamplein classBaseSlamCalibrator<AbsoluteOrientationSlamCalibrationData>
-