Interface KnownFrameMagnetometerCalibrator<T extends FrameBodyMagneticFluxDensity,L extends KnownFrameMagnetometerCalibratorListener<?>>
- Type Parameters:
T
- aFrameBodyMagneticFluxDensity
containing measures used by the calibrator.L
- a listener type.
- All Superinterfaces:
MagnetometerCalibrator
,UnknownHardIronMagnetometerCalibrator
- All Known Implementing Classes:
KnownFrameMagnetometerLinearLeastSquaresCalibrator
,KnownFrameMagnetometerNonLinearLeastSquaresCalibrator
public interface KnownFrameMagnetometerCalibrator<T extends FrameBodyMagneticFluxDensity,L extends KnownFrameMagnetometerCalibratorListener<?>>
extends UnknownHardIronMagnetometerCalibrator, MagnetometerCalibrator
Interface defining magnetometer calibrators to estimate hard-iron biases,
cross coupling and scaling factors.
-
Method Summary
Modifier and TypeMethodDescriptionGets listener to handle events raised by this calibrator.Gets a collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities).void
setListener
(L listener) Sets listener to handle events raised by this calibrator.void
setMeasurements
(Collection<? extends T> measurements) Sets a collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities).Methods inherited from interface com.irurueta.navigation.inertial.calibration.magnetometer.MagnetometerCalibrator
calibrate, getEstimatedMm, getEstimatedMxy, getEstimatedMxz, getEstimatedMyx, getEstimatedMyz, getEstimatedMzx, getEstimatedMzy, getEstimatedSx, getEstimatedSy, getEstimatedSz, getMeasurementType, getMinimumRequiredMeasurements, isCommonAxisUsed, isOrderedMeasurementsRequired, isQualityScoresRequired, isReady, isRunning, setCommonAxisUsed
Methods inherited from interface com.irurueta.navigation.inertial.calibration.magnetometer.UnknownHardIronMagnetometerCalibrator
getEstimatedHardIron, getEstimatedHardIron, getEstimatedHardIronAsMatrix, getEstimatedHardIronAsMatrix, getEstimatedHardIronAsTriad, getEstimatedHardIronAsTriad, getEstimatedHardIronX, getEstimatedHardIronXAsMagneticFluxDensity, getEstimatedHardIronXAsMagneticFluxDensity, getEstimatedHardIronY, getEstimatedHardIronYAsMagneticFluxDensity, getEstimatedHardIronYAsMagneticFluxDensity, getEstimatedHardIronZ, getEstimatedHardIronZAsMagneticFluxDensity, getEstimatedHardIronZAsMagneticFluxDensity
-
Method Details
-
getMeasurements
Collection<T> getMeasurements()Gets a collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities). If a single device IMU needs to be calibrated, typically all measurements are taken at the same position, with zero velocity and multiple orientations. However, if we just want to calibrate a given IMU model (e.g. obtain an average and less precise calibration for the IMU of a given phone model), we could take measurements collected throughout the planet at multiple positions while the phone remains static (e.g. while charging), hence each measurement position will change, velocity will remain zero and orientation will be typically constant at horizontal orientation while the phone remains on a flat surface.- Returns:
- a collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities).
-
setMeasurements
void setMeasurements(Collection<? extends T> measurements) throws com.irurueta.navigation.LockedException Sets a collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities). If a single device IMU needs to be calibrated, typically all measurements are taken at the same position, with zero velocity and multiple orientations. However, if we just want to calibrate the a given IMU model (e.g. obtain an average and less precise calibration for the IMU of a given phone model), we could take measurements collected throughout the planet at multiple positions while the phone remains static (e.g. while charging), hence each measurement position will change, velocity will remain zero and orientation will be typically constant at horizontal orientation while the phone remains on a flat surface.- Parameters:
measurements
- collection of body magnetic flux density measurements taken at different frames (positions, orientations and velocities).- Throws:
com.irurueta.navigation.LockedException
- if estimator is currently running.
-
getListener
L getListener()Gets listener to handle events raised by this calibrator.- Returns:
- listener to handle events raised by this calibrator.
-
setListener
Sets listener to handle events raised by this calibrator.- Parameters:
listener
- listener to handle events raised by this calibrator.- Throws:
com.irurueta.navigation.LockedException
- if estimator is currently running.
-