Interface GyroscopeCalibrator
- All Known Subinterfaces:
AccelerometerDependentGyroscopeCalibrator,GyroscopeNonLinearCalibrator,KnownBiasAndFrameGyroscopeCalibrator<T,,L> KnownFrameGyroscopeCalibrator<T,,L> OrderedBodyKinematicsSequenceGyroscopeCalibrator,OrderedStandardDeviationBodyKinematicsGyroscopeCalibrator,OrderedStandardDeviationFrameBodyKinematicsGyroscopeCalibrator,QualityScoredGyroscopeCalibrator,UnorderedFrameBodyKinematicsGyroscopeCalibrator,UnorderedStandardDeviationBodyKinematicsGyroscopeCalibrator,UnorderedStandardDeviationFrameBodyKinematicsGyroscopeCalibrator
- All Known Implementing Classes:
EasyGyroscopeCalibrator,KnownBiasAndFrameGyroscopeLinearLeastSquaresCalibrator,KnownBiasAndFrameGyroscopeNonLinearLeastSquaresCalibrator,KnownBiasEasyGyroscopeCalibrator,KnownBiasTurntableGyroscopeCalibrator,KnownFrameGyroscopeLinearLeastSquaresCalibrator,KnownFrameGyroscopeNonLinearLeastSquaresCalibrator,LMedSRobustEasyGyroscopeCalibrator,LMedSRobustKnownBiasAndFrameGyroscopeCalibrator,LMedSRobustKnownBiasEasyGyroscopeCalibrator,LMedSRobustKnownBiasTurntableGyroscopeCalibrator,LMedSRobustKnownFrameGyroscopeCalibrator,LMedSRobustTurntableGyroscopeCalibrator,MSACRobustEasyGyroscopeCalibrator,MSACRobustKnownBiasAndFrameGyroscopeCalibrator,MSACRobustKnownBiasEasyGyroscopeCalibrator,MSACRobustKnownBiasTurntableGyroscopeCalibrator,MSACRobustKnownFrameGyroscopeCalibrator,MSACRobustTurntableGyroscopeCalibrator,PROMedSRobustEasyGyroscopeCalibrator,PROMedSRobustKnownBiasAndFrameGyroscopeCalibrator,PROMedSRobustKnownBiasEasyGyroscopeCalibrator,PROMedSRobustKnownBiasTurntableGyroscopeCalibrator,PROMedSRobustKnownFrameGyroscopeCalibrator,PROMedSRobustTurntableGyroscopeCalibrator,PROSACRobustEasyGyroscopeCalibrator,PROSACRobustKnownBiasAndFrameGyroscopeCalibrator,PROSACRobustKnownBiasEasyGyroscopeCalibrator,PROSACRobustKnownBiasTurntableGyroscopeCalibrator,PROSACRobustKnownFrameGyroscopeCalibrator,PROSACRobustTurntableGyroscopeCalibrator,RANSACRobustEasyGyroscopeCalibrator,RANSACRobustKnownBiasAndFrameGyroscopeCalibrator,RANSACRobustKnownBiasEasyGyroscopeCalibrator,RANSACRobustKnownBiasTurntableGyroscopeCalibrator,RANSACRobustKnownFrameGyroscopeCalibrator,RANSACRobustTurntableGyroscopeCalibrator,RobustEasyGyroscopeCalibrator,RobustKnownBiasAndFrameGyroscopeCalibrator,RobustKnownBiasEasyGyroscopeCalibrator,RobustKnownBiasTurntableGyroscopeCalibrator,RobustKnownFrameGyroscopeCalibrator,RobustTurntableGyroscopeCalibrator,TurntableGyroscopeCalibrator
public interface GyroscopeCalibrator
Interface for gyroscope calibrators.
-
Method Summary
Modifier and TypeMethodDescriptionvoidEstimates gyroscope calibration parameters containing bias, scale factors, cross-coupling errors and g-dependant cross biases.com.irurueta.algebra.MatrixGets estimated G-dependent cross biases introduced on the gyroscope by the specific forces sensed by the accelerometer.com.irurueta.algebra.MatrixGets estimated gyroscope 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 or sequence used by this calibrator.intGets minimum number of required measurements or sequences.booleanIndicates whether z-axis is assumed to be common for accelerometer and gyroscope.booleanIndicates whether this calibrator requires ordered measurements or sequences in a list or not.booleanIndicates whether this calibrator requires quality scores for each measurement/sequence or not.booleanisReady()Indicates whether calibrator is ready to start the calibration.booleanIndicates whether calibrator is currently running or not.voidsetCommonAxisUsed(boolean commonAxisUsed) Specifies whether z-axis is assumed to be common for accelerometer and gyroscope.
-
Method Details
-
getMeasurementOrSequenceType
GyroscopeCalibratorMeasurementOrSequenceType getMeasurementOrSequenceType()Indicates the type of measurement or sequence used by this calibrator.- Returns:
- type of measurement or sequence used by this calibrator.
-
isOrderedMeasurementsOrSequencesRequired
boolean isOrderedMeasurementsOrSequencesRequired()Indicates whether this calibrator requires ordered measurements or sequences in a list or not.- Returns:
- true if measurements or sequences must be ordered, false otherwise.
-
isQualityScoresRequired
boolean isQualityScoresRequired()Indicates whether this calibrator requires quality scores for each measurement/sequence 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 Mg 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 Mg matrix.- Parameters:
commonAxisUsed- true if z-axis is assumed to be common for accelerometer and gyroscope, false otherwise.- Throws:
com.irurueta.navigation.LockedException- if calibrator is currently running.
-
getMinimumRequiredMeasurementsOrSequences
int getMinimumRequiredMeasurementsOrSequences()Gets minimum number of required measurements or sequences.- Returns:
- minimum number of required measurements or sequences.
-
isReady
boolean isReady()Indicates whether calibrator is ready to start the calibration.- 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 gyroscope calibration parameters containing bias, scale factors, cross-coupling errors and g-dependant cross biases.- 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.
-
getEstimatedMg
com.irurueta.algebra.Matrix getEstimatedMg()Gets estimated gyroscope scale factors and cross coupling errors. This is the product of matrix Tg containing cross coupling errors and Kg containing scaling factors. So that:Mg = [sx mxy mxz] = Tg*Kg [myx sy myz] [mzx mzy sz ]Where:Kg = [sx 0 0 ] [0 sy 0 ] [0 0 sz]andTg = [1 -alphaXy alphaXz ] [alphaYx 1 -alphaYz] [-alphaZx alphaZy 1 ]Hence:Mg = [sx mxy mxz] = Tg*Kg = [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 gyroscope z-axis is assumed to be the same as the body z-axis. When this is assumed, myx = mzx = mzy = 0 and the Mg matrix becomes upper diagonal:Mg = [sx mxy mxz] [0 sy myz] [0 0 sz ]Values of this matrix are unit-less.- Returns:
- estimated gyroscope scale factors and cross coupling errors.
-
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.
-
getEstimatedGg
com.irurueta.algebra.Matrix getEstimatedGg()Gets estimated G-dependent cross biases introduced on the gyroscope by the specific forces sensed by the accelerometer.- Returns:
- a 3x3 matrix containing g-dependent cross biases.
-