Interface AccelerometerCalibrator
- All Known Subinterfaces:
AccelerometerNonLinearCalibrator
,KnownBiasAndFrameAccelerometerCalibrator<T,
,L> KnownFrameAccelerometerCalibrator<T,
,L> OrderedStandardDeviationBodyKinematicsAccelerometerCalibrator
,OrderedStandardDeviationFrameBodyKinematicsAccelerometerCalibrator
,QualityScoredAccelerometerCalibrator
,UnorderedFrameBodyKinematicsAccelerometerCalibrator
,UnorderedStandardDeviationBodyKinematicsAccelerometerCalibrator
,UnorderedStandardDeviationFrameBodyKinematicsAccelerometerCalibrator
- All Known Implementing Classes:
BaseBiasGravityNormAccelerometerCalibrator
,BaseGravityNormAccelerometerCalibrator
,KnownBiasAndFrameAccelerometerLinearLeastSquaresCalibrator
,KnownBiasAndFrameAccelerometerNonLinearLeastSquaresCalibrator
,KnownBiasAndGravityNormAccelerometerCalibrator
,KnownBiasAndPositionAccelerometerCalibrator
,KnownFrameAccelerometerLinearLeastSquaresCalibrator
,KnownFrameAccelerometerNonLinearLeastSquaresCalibrator
,KnownGravityNormAccelerometerCalibrator
,KnownPositionAccelerometerCalibrator
,LMedSRobustKnownBiasAndFrameAccelerometerCalibrator
,LMedSRobustKnownBiasAndGravityNormAccelerometerCalibrator
,LMedSRobustKnownBiasAndPositionAccelerometerCalibrator
,LMedSRobustKnownFrameAccelerometerCalibrator
,LMedSRobustKnownGravityNormAccelerometerCalibrator
,LMedSRobustKnownPositionAccelerometerCalibrator
,MSACRobustKnownBiasAndFrameAccelerometerCalibrator
,MSACRobustKnownBiasAndGravityNormAccelerometerCalibrator
,MSACRobustKnownBiasAndPositionAccelerometerCalibrator
,MSACRobustKnownFrameAccelerometerCalibrator
,MSACRobustKnownGravityNormAccelerometerCalibrator
,MSACRobustKnownPositionAccelerometerCalibrator
,PROMedSRobustKnownBiasAndFrameAccelerometerCalibrator
,PROMedSRobustKnownBiasAndGravityNormAccelerometerCalibrator
,PROMedSRobustKnownBiasAndPositionAccelerometerCalibrator
,PROMedSRobustKnownFrameAccelerometerCalibrator
,PROMedSRobustKnownGravityNormAccelerometerCalibrator
,PROMedSRobustKnownPositionAccelerometerCalibrator
,PROSACRobustKnownBiasAndFrameAccelerometerCalibrator
,PROSACRobustKnownBiasAndGravityNormAccelerometerCalibrator
,PROSACRobustKnownBiasAndPositionAccelerometerCalibrator
,PROSACRobustKnownFrameAccelerometerCalibrator
,PROSACRobustKnownGravityNormAccelerometerCalibrator
,PROSACRobustKnownPositionAccelerometerCalibrator
,RANSACRobustKnownBiasAndFrameAccelerometerCalibrator
,RANSACRobustKnownBiasAndGravityNormAccelerometerCalibrator
,RANSACRobustKnownBiasAndPositionAccelerometerCalibrator
,RANSACRobustKnownFrameAccelerometerCalibrator
,RANSACRobustKnownGravityNormAccelerometerCalibrator
,RANSACRobustKnownPositionAccelerometerCalibrator
,RobustKnownBiasAndFrameAccelerometerCalibrator
,RobustKnownBiasAndGravityNormAccelerometerCalibrator
,RobustKnownBiasAndPositionAccelerometerCalibrator
,RobustKnownFrameAccelerometerCalibrator
,RobustKnownGravityNormAccelerometerCalibrator
,RobustKnownPositionAccelerometerCalibrator
public interface AccelerometerCalibrator
Interface for accelerometer calibrators.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Estimates accelerometer calibration parameters containing scale factors and cross-coupling errors.com.irurueta.algebra.Matrix
Gets estimated accelerometer scale factors and cross coupling errors.Gets estimated x-y cross-coupling error.Gets estimated x-z cross-coupling error.Gets estimated y-x cross-coupling error.Gets estimated y-z cross-coupling error.Gets estimated z-x cross-coupling error.Gets estimated z-y cross-coupling error.Gets estimated x-axis scale factor.Gets estimated y-axis scale factor.Gets estimated z-axis scale factor.Indicates the type of measurement used by this calibrator.int
Gets minimum number of required measurements.boolean
Indicates whether z-axis is assumed to be common for accelerometer and gyroscope.boolean
Indicates whether this calibrator requires ordered measurements in a list or not.boolean
Indicates whether this calibrator requires quality scores for each measurement or not.boolean
isReady()
Indicates whether calibrator is ready to start the estimator.boolean
Indicates whether calibrator is currently running or not.void
setCommonAxisUsed
(boolean commonAxisUsed) Specifies whether z-axis is assumed to be common for accelerometer and gyroscope.
-
Method Details
-
getMeasurementType
AccelerometerCalibratorMeasurementType getMeasurementType()Indicates the type of measurement used by this calibrator.- Returns:
- type of measurement used by this calibrator.
-
isOrderedMeasurementsRequired
boolean isOrderedMeasurementsRequired()Indicates whether this calibrator requires ordered measurements in a list or not.- Returns:
- true if measurements must be ordered, false otherwise.
-
isQualityScoresRequired
boolean isQualityScoresRequired()Indicates whether this calibrator requires quality scores for each measurement or not.- Returns:
- true if quality scores are required, false otherwise.
-
isCommonAxisUsed
boolean isCommonAxisUsed()Indicates whether z-axis is assumed to be common for accelerometer and gyroscope. When enabled, this eliminates 3 variables from Ma matrix.- Returns:
- true if z-axis is assumed to be common for accelerometer and gyroscope, false otherwise.
-
setCommonAxisUsed
void setCommonAxisUsed(boolean commonAxisUsed) throws com.irurueta.navigation.LockedException Specifies whether z-axis is assumed to be common for accelerometer and gyroscope. When enabled, this eliminates 3 variables from Ma matrix.- Parameters:
commonAxisUsed
- true if z-axis is assumed to be common for accelerometer and gyroscope, false otherwise.- Throws:
com.irurueta.navigation.LockedException
- if estimator is currently running.
-
getMinimumRequiredMeasurements
int getMinimumRequiredMeasurements()Gets minimum number of required measurements.- Returns:
- minimum number of required measurements.
-
isReady
boolean isReady()Indicates whether calibrator is ready to start the estimator.- Returns:
- true if calibrator is ready, false otherwise.
-
isRunning
boolean isRunning()Indicates whether calibrator is currently running or not.- Returns:
- true if calibrator is running, false otherwise.
-
calibrate
void calibrate() throws com.irurueta.navigation.LockedException, com.irurueta.navigation.NotReadyException, CalibrationExceptionEstimates accelerometer calibration parameters containing scale factors and cross-coupling errors.- Throws:
com.irurueta.navigation.LockedException
- if calibrator is currently running.com.irurueta.navigation.NotReadyException
- if calibrator is not ready.CalibrationException
- if calibration fails for numerical reasons.
-
getEstimatedMa
com.irurueta.algebra.Matrix getEstimatedMa()Gets estimated accelerometer scale factors and cross coupling errors. This is the product of matrix Ta containing cross coupling errors and Ka containing scaling factors. So tat:Ma = [sx mxy mxz] = Ta*Ka [myx sy myz] [mzx mzy sz ]
Where:Ka = [sx 0 0 ] [0 sy 0 ] [0 0 sz]
andTa = [1 -alphaXy alphaXz ] [alphaYx 1 -alphaYz] [-alphaZx alphaZy 1 ]
Hence:Ma = [sx mxy mxz] = Ta*Ka = [sx -sy * alphaXy sz * alphaXz ] [myx sy myz] [sx * alphaYx sy -sz * alphaYz] [mzx mzy sz ] [-sx * alphaZx sy * alphaZy sz ]
This instance allows any 3x3 matrix however, typically alphaYx, alphaZx and alphaZy are considered to be zero if the accelerometer z-axis is assumed to be the same as the body z-axis. When this is assumed, myx = mzx = mzy = 0 and the Ma matrix becomes upper diagonal:Ma = [sx mxy mxz] [0 sy myz] [0 0 sz ]
Values of this matrix are unit-less.- Returns:
- estimated accelerometer scale factors and cross coupling errors, or null if not available.
-
getEstimatedSx
Double getEstimatedSx()Gets estimated x-axis scale factor.- Returns:
- estimated x-axis scale factor or null if not available.
-
getEstimatedSy
Double getEstimatedSy()Gets estimated y-axis scale factor.- Returns:
- estimated y-axis scale factor or null if not available.
-
getEstimatedSz
Double getEstimatedSz()Gets estimated z-axis scale factor.- Returns:
- estimated z-axis scale factor or null if not available.
-
getEstimatedMxy
Double getEstimatedMxy()Gets estimated x-y cross-coupling error.- Returns:
- estimated x-y cross-coupling error or null if not available.
-
getEstimatedMxz
Double getEstimatedMxz()Gets estimated x-z cross-coupling error.- Returns:
- estimated x-z cross-coupling error or null if not available.
-
getEstimatedMyx
Double getEstimatedMyx()Gets estimated y-x cross-coupling error.- Returns:
- estimated y-x cross-coupling error or null if not available.
-
getEstimatedMyz
Double getEstimatedMyz()Gets estimated y-z cross-coupling error.- Returns:
- estimated y-z cross-coupling error or null if not available.
-
getEstimatedMzx
Double getEstimatedMzx()Gets estimated z-x cross-coupling error.- Returns:
- estimated z-x cross-coupling error or null if not available.
-
getEstimatedMzy
Double getEstimatedMzy()Gets estimated z-y cross-coupling error.- Returns:
- estimated z-y cross-coupling error or null if not available.
-