Class ECEFGravityEstimator
java.lang.Object
com.irurueta.navigation.inertial.estimators.ECEFGravityEstimator
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
FieldsModifier and TypeFieldDescriptionstatic 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^-2static final double
Earth rotation rate expressed in radians per second (rad/s).static final double
WGS84 Earth's second gravitational constant. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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.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.static ECEFGravity
estimateGravityAndReturnNew
(com.irurueta.geometry.Point3D position) Estimates acceleration due to gravity resolved about ECEF for a given position expressed in ECEF coordinates.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.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.
-
Field Details
-
EARTH_EQUATORIAL_RADIUS_WGS84
public static final double EARTH_EQUATORIAL_RADIUS_WGS84The equatorial radius of WGS84 ellipsoid (6378137 m) defining Earth's shape.- See Also:
-
EARTH_GRAVITATIONAL_CONSTANT
public static final double EARTH_GRAVITATIONAL_CONSTANTWGS84 Earth gravitational constant expressed in m^3 * s^-2- See Also:
-
EARTH_SECOND_GRAVITATIONAL_CONSTANT
public static final double EARTH_SECOND_GRAVITATIONAL_CONSTANTWGS84 Earth's second gravitational constant.- See Also:
-
EARTH_ROTATION_RATE
public static final double EARTH_ROTATION_RATEEarth rotation rate expressed in radians per second (rad/s).- See Also:
-
-
Constructor Details
-
ECEFGravityEstimator
public ECEFGravityEstimator()
-
-
Method Details
-
estimateAndReturnNew
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.
-
estimateAndReturnNew
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.
-
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.
-
estimateGravityAndReturnNew
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.
-
estimateGravityAndReturnNew
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.
-
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.