Class KalmanDriftEstimator
java.lang.Object
com.irurueta.navigation.inertial.calibration.DriftEstimator
com.irurueta.navigation.inertial.calibration.KalmanDriftEstimator
Estimates accumulated drift in body orientation, position and velocity per
unit of time using an INS Kalman filtered solution.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfigConfiguration parameters determining initial system noise covariance matrix.private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfigConfiguration parameters for INS Loosely Coupled Kalman filter obtained through calibration.private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanFilteredEstimatorInternal INS loosely coupled Kalman filtered estimator to estimate accumulated body position, velocity and orientation.private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanStateCurrent Kalman filter state.Fields inherited from class com.irurueta.navigation.inertial.calibration.DriftEstimator
currentC, currentOrientationDriftRadians, currentPositionDrift, currentPositionDriftMeters, currentVelocityDrift, currentVelocityDriftMetersPerSecond, DEFAULT_TIME_INTERVAL_SECONDS, fixedKinematics, fixer, fixKinematics, frame, invRefQ, listener, numberOfProcessedSamples, q, referenceFrame, refQ, running, timeInterval -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.KalmanDriftEstimator(com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.ECEFFrame referenceFrame, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.algebra.Matrix ba, com.irurueta.algebra.Matrix ma, com.irurueta.algebra.Matrix bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.frames.NEDFrame referenceFrame, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.algebra.Matrix gg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.calibration.AccelerationTriad ba, com.irurueta.algebra.Matrix ma, com.irurueta.navigation.inertial.calibration.AngularSpeedTriad bg, com.irurueta.algebra.Matrix mg, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(DriftEstimatorListener listener) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Constructor.KalmanDriftEstimator(com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig, com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig, DriftEstimatorListener listener) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBodyKinematics(com.irurueta.navigation.inertial.BodyKinematics kinematics) Adds a sample of measured body kinematics (accelerometer and gyroscope readings) obtained from an IMU, fixes their values and uses fixed values to estimate current drift and their average values.protected voidComputes current orientation drift.protected voidComputes current position drift.protected voidComputes current velocity drift.com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfigGets configuration parameters determining initial system noise covariance matrix.com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfigGets configuration parameters for INS Loosely Coupled Kalman filter obtained through calibration.com.irurueta.navigation.inertial.INSLooselyCoupledKalmanStategetState()Gets state of internal Kalman filter containing current body position, orientation and velocity after last provided body kinematics measurement.booleangetState(com.irurueta.navigation.inertial.INSLooselyCoupledKalmanState result) Gets state of internal Kalman filter containing current body position, orientation and velocity after last provided body kinematics measurement.private voidInitializes internal frame and Kalman estimator when the first body kinematics measurement is provided.booleanisReady()Indicates if estimator is ready to start processing additional kinematics measurements.voidreset()Resets this estimator to its initial state.voidsetInitConfig(com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfig) Sets configuration parameters determining initial system noise covariance matrix.voidsetKalmanConfig(com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfig) Sets configuration parameters for INS Loosely Coupled Kalman filter obtained through calibration.Methods inherited from class com.irurueta.navigation.inertial.calibration.DriftEstimator
getAccelerationBias, getAccelerationBias, getAccelerationBiasArray, getAccelerationBiasArray, getAccelerationBiasAsTriad, getAccelerationBiasAsTriad, getAccelerationBiasX, getAccelerationBiasXAsAcceleration, getAccelerationBiasXAsAcceleration, getAccelerationBiasY, getAccelerationBiasYAsAcceleration, getAccelerationBiasYAsAcceleration, getAccelerationBiasZ, getAccelerationBiasZAsAcceleration, getAccelerationBiasZAsAcceleration, getAccelerationCrossCouplingErrors, getAccelerationCrossCouplingErrors, getAccelerationMxy, getAccelerationMxz, getAccelerationMyx, getAccelerationMyz, getAccelerationMzx, getAccelerationMzy, getAccelerationSx, getAccelerationSy, getAccelerationSz, getAngularSpeedBias, getAngularSpeedBias, getAngularSpeedBiasArray, getAngularSpeedBiasArray, getAngularSpeedBiasAsTriad, getAngularSpeedBiasAsTriad, getAngularSpeedBiasX, getAngularSpeedBiasXAsAngularSpeed, getAngularSpeedBiasXAsAngularSpeed, getAngularSpeedBiasY, getAngularSpeedBiasYAsAngularSpeed, getAngularSpeedBiasYAsAngularSpeed, getAngularSpeedBiasZ, getAngularSpeedBiasZAsAngularSpeed, getAngularSpeedBiasZAsAngularSpeed, getAngularSpeedCrossCouplingErrors, getAngularSpeedCrossCouplingErrors, getAngularSpeedGDependantCrossBias, getAngularSpeedGDependantCrossBias, getAngularSpeedMxy, getAngularSpeedMxz, getAngularSpeedMyx, getAngularSpeedMyz, getAngularSpeedMzx, getAngularSpeedMzy, getAngularSpeedSx, getAngularSpeedSy, getAngularSpeedSz, getCurrentOrientationDrift, getCurrentOrientationDrift, getCurrentOrientationDriftAngle, getCurrentOrientationDriftAngle, getCurrentOrientationDriftPerTimeUnit, getCurrentOrientationDriftPerTimeUnitAsAngularSpeed, getCurrentOrientationDriftPerTimeUnitAsAngularSpeed, getCurrentOrientationDriftRadians, getCurrentPositionDrift, getCurrentPositionDrift, getCurrentPositionDriftNorm, getCurrentPositionDriftNorm, getCurrentPositionDriftNormMeters, getCurrentPositionDriftPerTimeUnit, getCurrentPositionDriftPerTimeUnitAsSpeed, getCurrentPositionDriftPerTimeUnitAsSpeed, getCurrentVelocityDrift, getCurrentVelocityDrift, getCurrentVelocityDriftNorm, getCurrentVelocityDriftNorm, getCurrentVelocityDriftNormMetersPerSecond, getCurrentVelocityDriftPerTimeUnit, getCurrentVelocityDriftPerTimeUnitAsAcceleration, getCurrentVelocityDriftPerTimeUnitAsAcceleration, getElapsedTime, getElapsedTime, getElapsedTimeSeconds, getListener, getNumberOfProcessedSamples, getReferenceEcefCoordinateTransformation, getReferenceEcefCoordinateTransformation, getReferenceEcefPosition, getReferenceEcefPosition, getReferenceEcefVelocity, getReferenceEcefVelocity, getReferenceFrame, getReferenceNedCoordinateTransformation, getReferenceNedCoordinateTransformation, getReferenceNedFrame, getReferenceNedFrame, getReferenceNedPosition, getReferenceNedPosition, getReferenceNedVelocity, getReferenceNedVelocity, getTimeInterval, getTimeIntervalAsTime, getTimeIntervalAsTime, isFixKinematicsEnabled, isRunning, setAccelerationBias, setAccelerationBias, setAccelerationBias, setAccelerationBias, setAccelerationBias, setAccelerationBiasX, setAccelerationBiasX, setAccelerationBiasY, setAccelerationBiasY, setAccelerationBiasZ, setAccelerationBiasZ, setAccelerationCrossCouplingErrors, setAccelerationCrossCouplingErrors, setAccelerationMxy, setAccelerationMxz, setAccelerationMyx, setAccelerationMyz, setAccelerationMzx, setAccelerationMzy, setAccelerationScalingFactors, setAccelerationScalingFactorsAndCrossCouplingErrors, setAccelerationSx, setAccelerationSy, setAccelerationSz, setAngularSpeedBias, setAngularSpeedBias, setAngularSpeedBias, setAngularSpeedBias, setAngularSpeedBias, setAngularSpeedBiasX, setAngularSpeedBiasX, setAngularSpeedBiasY, setAngularSpeedBiasY, setAngularSpeedBiasZ, setAngularSpeedBiasZ, setAngularSpeedCrossCouplingErrors, setAngularSpeedCrossCouplingErrors, setAngularSpeedGDependantCrossBias, setAngularSpeedMxy, setAngularSpeedMxz, setAngularSpeedMyx, setAngularSpeedMyz, setAngularSpeedMzx, setAngularSpeedMzy, setAngularSpeedScalingFactors, setAngularSpeedScalingFactorsAndCrossCouplingErrors, setAngularSpeedSx, setAngularSpeedSy, setAngularSpeedSz, setFixKinematicsEnabled, setListener, setReferenceEcefCoordinateTransformation, setReferenceEcefPosition, setReferenceEcefVelocity, setReferenceFrame, setReferenceNedCoordinateTransformation, setReferenceNedFrame, setReferenceNedPosition, setReferenceNedVelocity, setTimeInterval, setTimeInterval
-
Field Details
-
kalmanConfig
private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig kalmanConfigConfiguration parameters for INS Loosely Coupled Kalman filter obtained through calibration. -
initConfig
private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig initConfigConfiguration parameters determining initial system noise covariance matrix. -
kalmanEstimator
private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanFilteredEstimator kalmanEstimatorInternal INS loosely coupled Kalman filtered estimator to estimate accumulated body position, velocity and orientation. -
state
private com.irurueta.navigation.inertial.INSLooselyCoupledKalmanState stateCurrent Kalman filter state.
-
-
Constructor Details
-
KalmanDriftEstimator
public KalmanDriftEstimator()Constructor.
-
-
Method Details
-
getKalmanConfig
public com.irurueta.navigation.inertial.INSLooselyCoupledKalmanConfig getKalmanConfig()Gets configuration parameters for INS Loosely Coupled Kalman filter obtained through calibration.- Returns:
- configuration parameters for Kalman filter or null.
-
getInitConfig
public com.irurueta.navigation.inertial.INSLooselyCoupledKalmanInitializerConfig getInitConfig()Gets configuration parameters determining initial system noise covariance matrix.- Returns:
- configuration parameters determining initial system noise covariance matrix or null.
-
isReady
public boolean isReady()Indicates if estimator is ready to start processing additional kinematics measurements.- Overrides:
isReadyin classDriftEstimator- Returns:
- true if ready, false otherwise.
-
reset
public void reset() throws com.irurueta.navigation.LockedExceptionResets this estimator to its initial state.- Overrides:
resetin classDriftEstimator- Throws:
com.irurueta.navigation.LockedException- if estimator is currently running.
-
getState
public com.irurueta.navigation.inertial.INSLooselyCoupledKalmanState getState()Gets state of internal Kalman filter containing current body position, orientation and velocity after last provided body kinematics measurement.- Returns:
- state of internal Kalman filter.
-
initialize
private void initialize() throws com.irurueta.geometry.InvalidRotationMatrixExceptionInitializes internal frame and Kalman estimator when the first body kinematics measurement is provided.- Throws:
com.irurueta.geometry.InvalidRotationMatrixException- if orientation cannot be determined for numerical reasons.
-
computeCurrentPositionDrift
protected void computeCurrentPositionDrift()Computes current position drift.- Overrides:
computeCurrentPositionDriftin classDriftEstimator
-
computeCurrentVelocityDrift
protected void computeCurrentVelocityDrift()Computes current velocity drift.- Overrides:
computeCurrentVelocityDriftin classDriftEstimator
-
computeCurrentOrientationDrift
protected void computeCurrentOrientationDrift() throws com.irurueta.geometry.InvalidRotationMatrixExceptionComputes current orientation drift.- Overrides:
computeCurrentOrientationDriftin classDriftEstimator- Throws:
com.irurueta.geometry.InvalidRotationMatrixException- if rotation cannot be accurately estimated.
-