Class ECEFGravityEstimator

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

public class ECEFGravityEstimator extends Object
Calculates acceleration due to gravity resolved about ECEF 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_ECEF.m
  • Field Summary

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

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private static double
    convertToMeters(com.irurueta.units.Distance distance)
    Converts distance to meters.
    void
    estimate(double x, double y, double z, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    void
    estimate(com.irurueta.geometry.Point3D position, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    void
    estimate(com.irurueta.navigation.frames.ECEFFrame frame, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
    void
    estimate(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateAndReturnNew(double x, double y, double z)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateAndReturnNew(com.irurueta.geometry.Point3D position)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateAndReturnNew(com.irurueta.navigation.frames.ECEFFrame frame)
    Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
    estimateAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    static void
    estimateGravity(double x, double y, double z, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    static void
    estimateGravity(com.irurueta.geometry.Point3D position, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    static void
    estimateGravity(com.irurueta.navigation.frames.ECEFFrame frame, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
    static void
    estimateGravity(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECEFGravity result)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateGravityAndReturnNew(double x, double y, double z)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateGravityAndReturnNew(com.irurueta.geometry.Point3D position)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
    estimateGravityAndReturnNew(com.irurueta.navigation.frames.ECEFFrame frame)
    Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
    estimateGravityAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
    Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF 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_GRAVITATIONAL_CONSTANT

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

      public static final double EARTH_SECOND_GRAVITATIONAL_CONSTANT
      WGS84 Earth's second gravitational constant.
      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

    • ECEFGravityEstimator

      public ECEFGravityEstimator()
  • Method Details

    • estimate

      public void estimate(double x, double y, double z, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public ECEFGravity estimateAndReturnNew(double x, double y, double z)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.navigation.frames.ECEFFrame frame, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
      Parameters:
      frame - an ECEF frame containing a given position.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public ECEFGravity estimateAndReturnNew(com.irurueta.navigation.frames.ECEFFrame frame)
      Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
      Parameters:
      frame - an ECEF frame containing a given position.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.geometry.Point3D position, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      position - cartesian body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public ECEFGravity estimateAndReturnNew(com.irurueta.geometry.Point3D position)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      position - cartesian body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimate

      public void estimate(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

      public ECEFGravity estimateAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(double x, double y, double z, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static ECEFGravity estimateGravityAndReturnNew(double x, double y, double z)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.navigation.frames.ECEFFrame frame, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
      Parameters:
      frame - an ECEF frame containing a given position.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static ECEFGravity estimateGravityAndReturnNew(com.irurueta.navigation.frames.ECEFFrame frame)
      Estimates acceleration due to gravity resolved about ECEF for a position on a given ECEF frame.
      Parameters:
      frame - an ECEF frame containing a given position.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.geometry.Point3D position, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      position - cartesian body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static ECEFGravity estimateGravityAndReturnNew(com.irurueta.geometry.Point3D position)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      position - cartesian body position expressed in meters (m) with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • estimateGravity

      public static void estimateGravity(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECEFGravity result)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravityAndReturnNew

      public static ECEFGravity estimateGravityAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
      Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      y - cartesian y coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      z - cartesian z coordinate of body position with respect ECEF frame, resolved along ECEF-frame axes.
      Returns:
      a new gravity instance containing estimated acceleration due to gravity.
    • convertToMeters

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