Class INSTightlyCoupledKalmanEpochEstimator

java.lang.Object
com.irurueta.navigation.inertial.INSTightlyCoupledKalmanEpochEstimator

public class INSTightlyCoupledKalmanEpochEstimator extends Object
Implements one cycle of the tightly coupled INS/GNSS Kalman filter plus closed-loop correction of all inertial states. This implementation is based on the equations defined in "Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, Second Edition" and on the companion software available at: https://github.com/ymjdz/MATLAB-Codes/blob/master/TC_KF_Epoch.m
  • Field Details

    • SPEED_OF_LIGHT

      public static final double SPEED_OF_LIGHT
      Speed of light in the vacuum expressed in meters per second (m/s).
      See Also:
    • EARTH_ROTATION_RATE

      public static final double EARTH_ROTATION_RATE
      Earth rotation rate expressed in radians per second (rad/s).
      See Also:
    • EARTH_EQUATORIAL_RADIUS_WGS84

      public static final double EARTH_EQUATORIAL_RADIUS_WGS84
      The equatorial radius of WGS84 ellipsoid (6378137 m) defining Earth's shape.
      See Also:
    • EARTH_ECCENTRICITY

      public static final double EARTH_ECCENTRICITY
      Earth eccentricity as defined on the WGS84 ellipsoid.
      See Also:
  • Constructor Details

    • INSTightlyCoupledKalmanEpochEstimator

      private INSTightlyCoupledKalmanEpochEstimator()
      Constructor. Prevents instantiation of helper class.
  • Method Details

    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, double previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame second (m/s^2).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, double previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution expressed in radians (rad).
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, double fx, double fy, double fz, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      fx - measured specific force resolved along body frame x-axis and expressed in meters per squared second (m/s^2).
      fy - measured specific force resolved along body frame y-axis and expressed in meters per squared second (m/s^2).
      fz - measured specific force resolved along body frame z-axis and expressed in meters per squared second (m/s^2).
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, double propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval expressed in seconds (s).
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static void estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config, INSTightlyCoupledKalmanState result) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      result - instance where new state of Kalman filter will be stored.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • estimate

      public static INSTightlyCoupledKalmanState estimate(Collection<com.irurueta.navigation.gnss.GNSSMeasurement> measurements, com.irurueta.units.Time propagationInterval, INSTightlyCoupledKalmanState previousState, BodyKinematics bodyKinematics, com.irurueta.units.Angle previousLatitude, INSTightlyCoupledKalmanConfig config) throws com.irurueta.algebra.AlgebraException
      Estimates the update of Kalman filter state and covariance matrix for a single epoch.
      Parameters:
      measurements - satellite measurements data.
      propagationInterval - propagation interval.
      previousState - previous Kalman filter state.
      bodyKinematics - body kinematics containing measured specific force resolved along body frame axes.
      previousLatitude - previous latitude solution.
      config - Tightly Coupled Kalman filter configuration.
      Returns:
      new state of Kalman filter.
      Throws:
      com.irurueta.algebra.AlgebraException - if there are numerical instabilities.
    • convertTime

      private static double convertTime(com.irurueta.units.Time time)
      Converts time instance into a value expressed in seconds.
      Parameters:
      time - time instance to be converted.
      Returns:
      time value expressed in seconds.
    • convertAngle

      private static double convertAngle(com.irurueta.units.Angle angle)
      Converts angle instance into a value expressed in radians.
      Parameters:
      angle - angle instance to be converted.
      Returns:
      angle value expressed in radians.