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 TypeMethodDescriptionvoid
Estimates gyroscope calibration parameters containing bias, scale factors, cross-coupling errors and g-dependant cross biases.com.irurueta.algebra.Matrix
Gets estimated G-dependent cross biases introduced on the gyroscope by the specific forces sensed by the accelerometer.com.irurueta.algebra.Matrix
Gets 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.int
Gets minimum number of required measurements or sequences.boolean
Indicates whether z-axis is assumed to be common for accelerometer and gyroscope.boolean
Indicates whether this calibrator requires ordered measurements or sequences in a list or not.boolean
Indicates whether this calibrator requires quality scores for each measurement/sequence or not.boolean
isReady()
Indicates whether calibrator is ready to start the calibration.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
-
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.
-