Class NEDGravityEstimator

java.lang.Object
com.irurueta.navigation.inertial.estimators.NEDGravityEstimator

public class NEDGravityEstimator extends Object
Calculates acceleration due to gravity resolved about north, east and down axes of a NED frame. 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/Gravity_NED.m
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    Earth eccentricity as defined on the WGS84 ellipsoid.
    static final double
    The equatorial radius of WGS84 ellipsoid (6378137 m) defining Earth's shape.
    static final double
    The flattening of WGS84 ellipsoid (1 / 298.257223563).
    static final double
    WGS84 Earth gravitational constant expressed in m^3 * s^-2
    static final double
    The polar radius of WGS84 ellipsoid (6356752.31425 m) defining Earth's shape.
    static final double
    Earth rotation rate expressed in radians per second (rad/s).
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static double
    convertAngle(com.irurueta.units.Angle angle)
    Converts angle to radians.
    private static double
    convertDistance(com.irurueta.units.Distance distance)
    Converts distance to meters.
    void
    estimate(double latitude, double height, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    void
    estimate(com.irurueta.navigation.frames.NEDFrame frame, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    void
    estimate(com.irurueta.navigation.frames.NEDPosition position, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    void
    estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    estimateAndReturnNew(double latitude, double height)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    estimateAndReturnNew(com.irurueta.navigation.frames.NEDFrame frame)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    estimateAndReturnNew(com.irurueta.navigation.frames.NEDPosition position)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    estimateAndReturnNew(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static void
    estimateGravity(double latitude, double height, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static void
    estimateGravity(com.irurueta.navigation.frames.NEDFrame frame, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static void
    estimateGravity(com.irurueta.navigation.frames.NEDPosition position, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static void
    estimateGravity(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height, NEDGravity result)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static NEDGravity
    estimateGravityAndReturnNew(double latitude, double height)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static NEDGravity
    estimateGravityAndReturnNew(com.irurueta.navigation.frames.NEDFrame frame)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static NEDGravity
    estimateGravityAndReturnNew(com.irurueta.navigation.frames.NEDPosition position)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
    static NEDGravity
    estimateGravityAndReturnNew(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height)
    Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • 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_POLAR_RADIUS_WGS84

      public static final double EARTH_POLAR_RADIUS_WGS84
      The polar radius of WGS84 ellipsoid (6356752.31425 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:
    • EARTH_FLATTENING_WGS84

      public static final double EARTH_FLATTENING_WGS84
      The flattening of WGS84 ellipsoid (1 / 298.257223563).
      See Also:
    • EARTH_GRAVITATIONAL_CONSTANT

      public static final double EARTH_GRAVITATIONAL_CONSTANT
      WGS84 Earth gravitational constant expressed in m^3 * s^-2
      See Also:
    • EARTH_ROTATION_RATE

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

    • NEDGravityEstimator

      public NEDGravityEstimator()
  • Method Details

    • estimate

      public void estimate(double latitude, double height, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude expressed in radians (rad).
      height - height expressed in meters (m).
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public NEDGravity estimateAndReturnNew(double latitude, double height)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude expressed in radians (rad).
      height - height expressed in meters (m).
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.navigation.frames.NEDFrame frame, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      frame - a NED frame containing a given position.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public NEDGravity estimateAndReturnNew(com.irurueta.navigation.frames.NEDFrame frame)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      frame - a NED frame containing a given position.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude.
      height - height.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public NEDGravity estimateAndReturnNew(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude.
      height - height.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.navigation.frames.NEDPosition position, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      position - curvilinear position expressed in NED coordinates.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public NEDGravity estimateAndReturnNew(com.irurueta.navigation.frames.NEDPosition position)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      position - curvilinear position expressed in NED coordinates.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(double latitude, double height, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude expressed in radians (rad).
      height - height expressed in meters (m).
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static NEDGravity estimateGravityAndReturnNew(double latitude, double height)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude expressed in radians (rad).
      height - height expressed in meters (m).
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.navigation.frames.NEDFrame frame, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      frame - a NED frame containing a given position.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static NEDGravity estimateGravityAndReturnNew(com.irurueta.navigation.frames.NEDFrame frame)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      frame - a NED frame containing a given position.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude.
      height - height.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static NEDGravity estimateGravityAndReturnNew(com.irurueta.units.Angle latitude, com.irurueta.units.Distance height)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      latitude - latitude.
      height - height.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.navigation.frames.NEDPosition position, NEDGravity result)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      position - curvilinear position expressed in NED coordinates.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static NEDGravity estimateGravityAndReturnNew(com.irurueta.navigation.frames.NEDPosition position)
      Estimates acceleration due to gravity resolved about NED for a given position expressed in NED coordinates.
      Parameters:
      position - curvilinear position expressed in NED coordinates.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • convertAngle

      private static double convertAngle(com.irurueta.units.Angle angle)
      Converts angle to radians.
      Parameters:
      angle - angle to be converted.
      Returns:
      converted angle expressed in radians.
    • convertDistance

      private static double convertDistance(com.irurueta.units.Distance distance)
      Converts distance to meters.
      Parameters:
      distance - distance to be converted.
      Returns:
      converted distance expressed in meters.