Class LevelingEstimator2

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

public class LevelingEstimator2 extends Object
This implementation provides slightly more accurate roll and pitch attitude angles than the ones obtained by LevelingEstimator, since north component of gravity in a local navigation frame is not neglected, because Earth is not considered to be fully spherical.

To get this slight improvement of accuracy, this estimator requires knowledge of device position (latitude and height) on Earth.

See Also:
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Private constructor to prevent instantiation.
  • Method Summary

    Modifier and Type
    Method
    Description
    static com.irurueta.navigation.frames.CoordinateTransformation
    getAttitude(double latitude, double height, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
    Gets body attitude expressed in the local navigation frame.
    static void
    getAttitude(double latitude, double height, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ, com.irurueta.navigation.frames.CoordinateTransformation result)
    Gets body attitude expressed in the local navigation frame.
    static com.irurueta.navigation.frames.CoordinateTransformation
    getAttitude(double latitude, double height, BodyKinematics kinematics)
    Gets body attitude expressed in the local navigation frame.
    static void
    getAttitude(double latitude, double height, BodyKinematics kinematics, com.irurueta.navigation.frames.CoordinateTransformation result)
    Gets body attitude expressed in the local navigation frame.
    static com.irurueta.navigation.frames.CoordinateTransformation
    getAttitude(com.irurueta.navigation.frames.NEDPosition position, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
    Gets body attitude expressed in the local navigation frame.
    static void
    getAttitude(com.irurueta.navigation.frames.NEDPosition position, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ, com.irurueta.navigation.frames.CoordinateTransformation result)
    Gets body attitude expressed in the local navigation frame.
    static com.irurueta.navigation.frames.CoordinateTransformation
    getAttitude(com.irurueta.navigation.frames.NEDPosition position, BodyKinematics kinematics)
    Gets body attitude expressed in the local navigation frame.
    static void
    getAttitude(com.irurueta.navigation.frames.NEDPosition position, BodyKinematics kinematics, com.irurueta.navigation.frames.CoordinateTransformation result)
    Gets body attitude expressed in the local navigation frame.
    (package private) static void
    getPartialAttitude(double latitude, double height, double fx, double fy, double fz, com.irurueta.navigation.frames.CoordinateTransformation result)
    Gets partial body attitude where only roll and pitch angles are reliable.

    Methods inherited from class java.lang.Object

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

    • LevelingEstimator2

      private LevelingEstimator2()
      Private constructor to prevent instantiation.
  • Method Details

    • getAttitude

      public static void getAttitude(double latitude, double height, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ, com.irurueta.navigation.frames.CoordinateTransformation result)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      latitude - device latitude expressed in radians (rad).
      height - device height expressed in meters (m).
      fx - x-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fy - y-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fz - z-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      angularRateX - x-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateY - y-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateZ - z-coordinate of body angular rate expressed in radians per second (rad/s).
      result - instance where attitude will be stored.
    • getAttitude

      public static void getAttitude(com.irurueta.navigation.frames.NEDPosition position, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ, com.irurueta.navigation.frames.CoordinateTransformation result)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      position - device position expressed in NED frame.
      fx - x-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fy - y-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fz - z-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      angularRateX - x-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateY - y-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateZ - z-coordinate of body angular rate expressed in radians per second (rad/s).
      result - instance where attitude will be stored.
    • getAttitude

      public static void getAttitude(double latitude, double height, BodyKinematics kinematics, com.irurueta.navigation.frames.CoordinateTransformation result)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      latitude - device latitude expressed in radians (rad).
      height - device height expressed in meters (m).
      kinematics - body kinematics containing measured body specific force and angular rate.
      result - instance where attitude will be stored.
    • getAttitude

      public static void getAttitude(com.irurueta.navigation.frames.NEDPosition position, BodyKinematics kinematics, com.irurueta.navigation.frames.CoordinateTransformation result)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      position - device position expressed in NED frame.
      kinematics - body kinematics containing measured body specific force and angular rate.
      result - instance where attitude will be stored.
    • getAttitude

      public static com.irurueta.navigation.frames.CoordinateTransformation getAttitude(double latitude, double height, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      latitude - device latitude expressed in radians (rad).
      height - device height expressed in meters (m).
      fx - x-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fy - y-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fz - z-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      angularRateX - x-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateY - y-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateZ - z-coordinate of body angular rate expressed in radians per second (rad/s).
      Returns:
      estimated attitude.
    • getAttitude

      public static com.irurueta.navigation.frames.CoordinateTransformation getAttitude(com.irurueta.navigation.frames.NEDPosition position, double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      position - device position expressed in NED frame.
      fx - x-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fy - y-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fz - z-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      angularRateX - x-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateY - y-coordinate of body angular rate expressed in radians per second (rad/s).
      angularRateZ - z-coordinate of body angular rate expressed in radians per second (rad/s).
      Returns:
      estimated attitude.
    • getAttitude

      public static com.irurueta.navigation.frames.CoordinateTransformation getAttitude(double latitude, double height, BodyKinematics kinematics)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      latitude - device latitude expressed in radians (rad).
      height - device height expressed in meters (m).
      kinematics - body kinematics containing measured body specific force and angular rate.
      Returns:
      estimated attitude.
    • getAttitude

      public static com.irurueta.navigation.frames.CoordinateTransformation getAttitude(com.irurueta.navigation.frames.NEDPosition position, BodyKinematics kinematics)
      Gets body attitude expressed in the local navigation frame.
      Parameters:
      position - device position expressed in NED frame.
      kinematics - body kinematics containing measured body specific force and angular rate.
      Returns:
      estimated attitude.
    • getPartialAttitude

      static void getPartialAttitude(double latitude, double height, double fx, double fy, double fz, com.irurueta.navigation.frames.CoordinateTransformation result)
      Gets partial body attitude where only roll and pitch angles are reliable.
      Parameters:
      latitude - device latitude expressed in radians (rad).
      height - device height expressed in meters (m).
      fx - x-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fy - y-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      fz - z-coordinate of measured body specific force expressed in meters per squared second (m/s^2).
      result - instance where partial body attitude will be stored.