Class ECIGravitationEstimator

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

public class ECIGravitationEstimator extends Object
Calculates gravitational acceleration resolved about ECI-frame axes. 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/Gravitation_ECI.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
    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, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes.
    void
    estimate(com.irurueta.geometry.Point3D position, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    void
    estimate(com.irurueta.navigation.frames.ECIFrame frame, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
    void
    estimate(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECIGravitation result)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    estimateAndReturnNew(double x, double y, double z)
    Estimates gravitational acceleration resolved about ECI-frame axes.
    estimateAndReturnNew(com.irurueta.geometry.Point3D position)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    estimateAndReturnNew(com.irurueta.navigation.frames.ECIFrame frame)
    Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
    estimateAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    static void
    estimateGravitation(double x, double y, double z, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes.
    static void
    estimateGravitation(com.irurueta.geometry.Point3D position, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    static void
    estimateGravitation(com.irurueta.navigation.frames.ECIFrame frame, ECIGravitation result)
    Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
    static void
    estimateGravitation(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z, ECIGravitation result)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    estimateGravitationAndReturnNew(double x, double y, double z)
    Estimates gravitational acceleration resolved about ECI-frame axes.
    estimateGravitationAndReturnNew(com.irurueta.geometry.Point3D position)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
    estimateGravitationAndReturnNew(com.irurueta.navigation.frames.ECIFrame frame)
    Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
    estimateGravitationAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
    Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI 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:
  • Constructor Details

    • ECIGravitationEstimator

      public ECIGravitationEstimator()
  • Method Details

    • estimate

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

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

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

      public ECIGravitation estimateAndReturnNew(com.irurueta.navigation.frames.ECIFrame frame)
      Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
      Parameters:
      frame - an ECI frame containing a given position.
      Returns:
      a new gravitation instance containing estimated acceleration due to gravity.
    • estimate

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

      public ECIGravitation estimateAndReturnNew(com.irurueta.geometry.Point3D position)
      Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
      Parameters:
      position - cartesian body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      Returns:
      a new gravitation 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, ECIGravitation result)
      Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      y - cartesian y coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      z - cartesian z coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateAndReturnNew

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

      public static void estimateGravitation(double x, double y, double z, ECIGravitation result)
      Estimates gravitational acceleration resolved about ECI-frame axes.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravitationAndReturnNew

      public static ECIGravitation estimateGravitationAndReturnNew(double x, double y, double z)
      Estimates gravitational acceleration resolved about ECI-frame axes.
      Parameters:
      x - cartesian x coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      y - cartesian y coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      z - cartesian z coordinate of body position expressed in meters (m) with respect ECI frame, resolved along ECI-frame axes.
      Returns:
      a new gravitation instance containing estimated acceleration due to gravity.
    • estimateGravitation

      public static void estimateGravitation(com.irurueta.navigation.frames.ECIFrame frame, ECIGravitation result)
      Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
      Parameters:
      frame - an ECI frame containing a given position.
      result - instance where estimated acceleration due to gravity will be stored.
    • estimateGravitationAndReturnNew

      public static ECIGravitation estimateGravitationAndReturnNew(com.irurueta.navigation.frames.ECIFrame frame)
      Estimates gravitational acceleration resolved about ECI-frame axes for a position on a given ECI frame.
      Parameters:
      frame - an ECI frame containing a given position.
      Returns:
      a new gravitation instance containing estimated acceleration due to gravity.
    • estimateGravitation

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

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

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

      public static ECIGravitation estimateGravitationAndReturnNew(com.irurueta.units.Distance x, com.irurueta.units.Distance y, com.irurueta.units.Distance z)
      Estimates gravitation acceleration resolved about ECI-frame axes for a given position expressed in ECI coordinates.
      Parameters:
      x - cartesian x coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      y - cartesian y coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      z - cartesian z coordinate of body position with respect ECI frame, resolved along ECI-frame axes.
      Returns:
      a new gravitation 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.