Class BodyKinematics

java.lang.Object
com.irurueta.navigation.inertial.BodyKinematics
All Implemented Interfaces:
Serializable, Cloneable

public class BodyKinematics extends Object implements Serializable, Cloneable
Describes the motion of a body based on the specific forces (i.e. specific acceleration) and angular rates applied to it. Body frame axes are typically defined so that x is the forward axis, pointing in the usual direction of travel, z is the down axis, pointing in the usual direction of gravity, and y is the right axis, completing the orthogonal set.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private double
    Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
    private double
    Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
    private double
    Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
    static final int
    Number of components of specific force or angular rate.
    private double
    Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    private double
    Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    private double
    Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    private static final long
    Serialization version.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    BodyKinematics(double fx, double fy, double fz)
    Constructor.
    BodyKinematics(double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
    Constructor.
    Constructor.
    BodyKinematics(AccelerationTriad specificForceTriad, AngularSpeedTriad angularSpeedTriad)
    Constructor.
    BodyKinematics(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ)
    Constructor.
    BodyKinematics(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ, com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
    Constructor.
    BodyKinematics(com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    double[]
    Gets angular rate coordinates expressed in radians per second (rad/s) as an array.
    void
    asAngularRateArray(double[] result)
    Gets angular rate coordinates expressed in radians per second (rad/s) as an array.
    com.irurueta.algebra.Matrix
    Gets angular rate coordinates expressed in radians per second (rad/s) as a column matrix.
    void
    asAngularRateMatrix(com.irurueta.algebra.Matrix result)
    Gets angular rate coordinates expressed in radians per second (rad/s) as a column matrix.
    double[]
    Gets specific force coordinates expressed in meters per squared second (m/s^2) as an array.
    void
    asSpecificForceArray(double[] result)
    Gets specific force coordinates expressed in meters per squared second (m/s^2) as an array.
    com.irurueta.algebra.Matrix
    Gets specific force coordinates expressed in meters per squared second (m/s^2) as a column matrix.
    void
    asSpecificForceMatrix(com.irurueta.algebra.Matrix result)
    Gets specific force coordinates expressed in meters per squared second (m/s^2) as a column matrix.
    protected Object
    Makes a copy of this instance.
    void
    Copies data of provided instance into this instance.
    void
    Copies this instance data into provided instance.
    boolean
    Checks if provided instance has exactly the same contents as this instance.
    boolean
    equals(BodyKinematics other, double threshold)
    Checks if provided instance has contents similar to this instance up to provided threshold value.
    boolean
    Checks if provided object is a BodyKinematics instance having exactly the same contents as this instance.
    double
    Gets norm of angular rate expressed in radians per second (rad/s).
    Gets angular rate triad of gyroscope measurements.
    void
    Gets angular rate triad of gyroscope measurements.
    double
    Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
    double
    Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
    double
    Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
    com.irurueta.units.AngularSpeed
    Gets norm of angular rate.
    void
    getAngularSpeedNorm(com.irurueta.units.AngularSpeed result)
    Gets norm of angular rate.
    com.irurueta.units.AngularSpeed
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
    void
    getAngularSpeedX(com.irurueta.units.AngularSpeed result)
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
    com.irurueta.units.AngularSpeed
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
    void
    getAngularSpeedY(com.irurueta.units.AngularSpeed result)
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
    com.irurueta.units.AngularSpeed
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
    void
    getAngularSpeedZ(com.irurueta.units.AngularSpeed result)
    Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
    double
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    double
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    double
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    double
    Gets norm of specific force expressed in meters per squared second (m/s^2).
    com.irurueta.units.Acceleration
    Gets norm of specific force.
    void
    getSpecificForceNormAsAcceleration(com.irurueta.units.Acceleration result)
    Gets norm of specific force.
    Gets specific force triad of accelerometer measurements.
    void
    Gets specific force triad of accelerometer measurements.
    com.irurueta.units.Acceleration
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
    void
    getSpecificForceX(com.irurueta.units.Acceleration result)
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
    com.irurueta.units.Acceleration
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
    void
    getSpecificForceY(com.irurueta.units.Acceleration result)
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
    com.irurueta.units.Acceleration
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
    void
    getSpecificForceZ(com.irurueta.units.Acceleration result)
    Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
    int
    Computes and returns hash code for this instance.
    void
    setAngularRateCoordinates(double angularRateX, double angularRateY, double angularRateZ)
    Sets angular rate coordinates of body frame with respect ECI, ECEF or NED frame, resolved about body-frame axes, averaged over time interval and expressed in radians per second (rad/s).
    void
    Sets angular rate triad of gyroscope measurements.
    void
    setAngularRateX(double angularRateX)
    Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, over time interval and expressed in radians per second (rad/s).
    void
    setAngularRateY(double angularRateY)
    Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
    void
    setAngularRateZ(double angularRateZ)
    Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
    void
    setAngularSpeedCoordinates(com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
    Sets angular speed coordinates of body frame with respect ECI, ECEF or NED frame, resolved about body-frame axes, averaged over time interval.
    void
    setAngularSpeedX(com.irurueta.units.AngularSpeed angularSpeedX)
    Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
    void
    setAngularSpeedY(com.irurueta.units.AngularSpeed angularSpeedY)
    Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
    void
    setAngularSpeedZ(com.irurueta.units.AngularSpeed angularSpeedZ)
    Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
    void
    setFx(double fx)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    void
    setFy(double fy)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    void
    setFz(double fz)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    void
    setSpecificForceCoordinates(double fx, double fy, double fz)
    Sets specific force coordinates of body frame with respect ECI, ECEF or NED frame resolved along body-frame axes, averaged over time interval and expressed in meters per squared second (m/s^2).
    void
    setSpecificForceCoordinates(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ)
    Sets specific force coordinates of body frame with respect ECI, ECEF or NED frame resolved along body-frame axes, averaged over time interval.
    void
    Sets specific force triad of accelerometer measurements.
    void
    setSpecificForceX(com.irurueta.units.Acceleration specificForceX)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
    void
    setSpecificForceY(com.irurueta.units.Acceleration specificForceY)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body frame y-axis, averaged over time interval.
    void
    setSpecificForceZ(com.irurueta.units.Acceleration specificForceZ)
    Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • COMPONENTS

      public static final int COMPONENTS
      Number of components of specific force or angular rate.
      See Also:
    • serialVersionUID

      private static final long serialVersionUID
      Serialization version. This is used to ensure compatibility of deserialization of permanently stored serialized instances.
      See Also:
    • fx

      private double fx
      Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    • fy

      private double fy
      Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    • fz

      private double fz
      Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    • angularRateX

      private double angularRateX
      Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
    • angularRateY

      private double angularRateY
      Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
    • angularRateZ

      private double angularRateZ
      Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
  • Constructor Details

    • BodyKinematics

      public BodyKinematics()
      Constructor.
    • BodyKinematics

      public BodyKinematics(double fx, double fy, double fz)
      Constructor.
      Parameters:
      fx - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fy - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fz - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    • BodyKinematics

      public BodyKinematics(double fx, double fy, double fz, double angularRateX, double angularRateY, double angularRateZ)
      Constructor.
      Parameters:
      fx - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fy - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fz - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      angularRateX - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
      angularRateY - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
      angularRateZ - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
    • BodyKinematics

      public BodyKinematics(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ)
      Constructor.
      Parameters:
      specificForceX - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      specificForceY - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
      specificForceZ - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
    • BodyKinematics

      public BodyKinematics(com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
      Constructor.
      Parameters:
      angularSpeedX - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      angularSpeedY - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      angularSpeedZ - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
    • BodyKinematics

      public BodyKinematics(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ, com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
      Constructor.
      Parameters:
      specificForceX - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      specificForceY - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
      specificForceZ - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
      angularSpeedX - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      angularSpeedY - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      angularSpeedZ - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
    • BodyKinematics

      public BodyKinematics(AccelerationTriad specificForceTriad, AngularSpeedTriad angularSpeedTriad)
      Constructor.
      Parameters:
      specificForceTriad - specific force triad.
      angularSpeedTriad - angular speed triad.
    • BodyKinematics

      public BodyKinematics(BodyKinematics input)
      Constructor.
      Parameters:
      input - instance to copy data from.
  • Method Details

    • getFx

      public double getFx()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Returns:
      specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis.
    • setFx

      public void setFx(double fx)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Parameters:
      fx - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis.
    • getFy

      public double getFy()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Returns:
      specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis.
    • setFy

      public void setFy(double fy)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Parameters:
      fy - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis.
    • getFz

      public double getFz()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Returns:
      specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis.
    • setFz

      public void setFz(double fz)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      Parameters:
      fz - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis.
    • setSpecificForceCoordinates

      public void setSpecificForceCoordinates(double fx, double fy, double fz)
      Sets specific force coordinates of body frame with respect ECI, ECEF or NED frame resolved along body-frame axes, averaged over time interval and expressed in meters per squared second (m/s^2).
      Parameters:
      fx - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fy - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
      fz - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval and expressed in meters per squared second (m/s^2).
    • getSpecificForceX

      public void getSpecificForceX(com.irurueta.units.Acceleration result)
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      Parameters:
      result - instance where specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis will be stored.
    • getSpecificForceX

      public com.irurueta.units.Acceleration getSpecificForceX()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      Returns:
      a new instance with specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis.
    • setSpecificForceX

      public void setSpecificForceX(com.irurueta.units.Acceleration specificForceX)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      Parameters:
      specificForceX - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis that will be set.
    • getSpecificForceY

      public void getSpecificForceY(com.irurueta.units.Acceleration result)
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
      Parameters:
      result - instance where specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis will be stored.
    • getSpecificForceY

      public com.irurueta.units.Acceleration getSpecificForceY()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
      Returns:
      a new instance with specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis.
    • setSpecificForceY

      public void setSpecificForceY(com.irurueta.units.Acceleration specificForceY)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body frame y-axis, averaged over time interval.
      Parameters:
      specificForceY - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis that will be set.
    • getSpecificForceZ

      public void getSpecificForceZ(com.irurueta.units.Acceleration result)
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
      Parameters:
      result - instance where specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis will be stored.
    • getSpecificForceZ

      public com.irurueta.units.Acceleration getSpecificForceZ()
      Gets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
      Returns:
      a new instance with specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis.
    • setSpecificForceZ

      public void setSpecificForceZ(com.irurueta.units.Acceleration specificForceZ)
      Sets specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
      Parameters:
      specificForceZ - specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis that will be set.
    • setSpecificForceCoordinates

      public void setSpecificForceCoordinates(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ)
      Sets specific force coordinates of body frame with respect ECI, ECEF or NED frame resolved along body-frame axes, averaged over time interval.
      Parameters:
      specificForceX - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame x-axis, averaged over time interval.
      specificForceY - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame y-axis, averaged over time interval.
      specificForceZ - Specific force of body frame with respect ECI, ECEF or NED frame resolved along body-frame z-axis, averaged over time interval.
    • getSpecificForceTriad

      public AccelerationTriad getSpecificForceTriad()
      Gets specific force triad of accelerometer measurements.
      Returns:
      specific force triad.
    • getSpecificForceTriad

      public void getSpecificForceTriad(AccelerationTriad result)
      Gets specific force triad of accelerometer measurements.
      Parameters:
      result - instance where result will be stored.
    • setSpecificForceTriad

      public void setSpecificForceTriad(AccelerationTriad triad)
      Sets specific force triad of accelerometer measurements.
      Parameters:
      triad - specific force triad.
    • getAngularRateX

      public double getAngularRateX()
      Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
      Returns:
      angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame x-axis.
    • setAngularRateX

      public void setAngularRateX(double angularRateX)
      Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, over time interval and expressed in radians per second (rad/s).
      Parameters:
      angularRateX - angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame x-axis.
    • getAngularRateY

      public double getAngularRateY()
      Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
      Returns:
      angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame y-axis.
    • setAngularRateY

      public void setAngularRateY(double angularRateY)
      Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
      Parameters:
      angularRateY - angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame y-axis.
    • getAngularRateZ

      public double getAngularRateZ()
      Gets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
      Returns:
      angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame z-axis.
    • setAngularRateZ

      public void setAngularRateZ(double angularRateZ)
      Sets angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
      Parameters:
      angularRateZ - angular rate of body frame with respect ECI, ECEF or NED frame resolved about body-frame z-axis.
    • setAngularRateCoordinates

      public void setAngularRateCoordinates(double angularRateX, double angularRateY, double angularRateZ)
      Sets angular rate coordinates of body frame with respect ECI, ECEF or NED frame, resolved about body-frame axes, averaged over time interval and expressed in radians per second (rad/s).
      Parameters:
      angularRateX - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval and expressed in radians per second (rad/s).
      angularRateY - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval and expressed in radians per second (rad/s).
      angularRateZ - Angular rate of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval and expressed in radians per second (rad/s).
    • getAngularSpeedX

      public void getAngularSpeedX(com.irurueta.units.AngularSpeed result)
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      Parameters:
      result - instance where angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame x-axis will be stored.
    • getAngularSpeedX

      public com.irurueta.units.AngularSpeed getAngularSpeedX()
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      Returns:
      a new instance of angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame X-axis.
    • setAngularSpeedX

      public void setAngularSpeedX(com.irurueta.units.AngularSpeed angularSpeedX)
      Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      Parameters:
      angularSpeedX - angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame x-axis that will be set.
    • getAngularSpeedY

      public void getAngularSpeedY(com.irurueta.units.AngularSpeed result)
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      Parameters:
      result - instance where angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame y-axis will be stored.
    • getAngularSpeedY

      public com.irurueta.units.AngularSpeed getAngularSpeedY()
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      Returns:
      a new instance of angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame y-axis.
    • setAngularSpeedY

      public void setAngularSpeedY(com.irurueta.units.AngularSpeed angularSpeedY)
      Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      Parameters:
      angularSpeedY - angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame y-axis that will be set.
    • getAngularSpeedZ

      public void getAngularSpeedZ(com.irurueta.units.AngularSpeed result)
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
      Parameters:
      result - instance where angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame z-axis will be stored.
    • getAngularSpeedZ

      public com.irurueta.units.AngularSpeed getAngularSpeedZ()
      Gets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
      Returns:
      a new instance of angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame z-axis.
    • setAngularSpeedZ

      public void setAngularSpeedZ(com.irurueta.units.AngularSpeed angularSpeedZ)
      Sets angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      Parameters:
      angularSpeedZ - angular speed of body frame with respect ECI, ECEF or NED frame resolved about body-frame z-axis, that will be set.
    • setAngularSpeedCoordinates

      public void setAngularSpeedCoordinates(com.irurueta.units.AngularSpeed angularSpeedX, com.irurueta.units.AngularSpeed angularSpeedY, com.irurueta.units.AngularSpeed angularSpeedZ)
      Sets angular speed coordinates of body frame with respect ECI, ECEF or NED frame, resolved about body-frame axes, averaged over time interval.
      Parameters:
      angularSpeedX - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame x-axis, averaged over time interval.
      angularSpeedY - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame y-axis, averaged over time interval.
      angularSpeedZ - Angular speed of body frame with respect ECI, ECEF or NED frame, resolved about body-frame z-axis, averaged over time interval.
    • getAngularRateTriad

      public AngularSpeedTriad getAngularRateTriad()
      Gets angular rate triad of gyroscope measurements.
      Returns:
      angular rate triad.
    • getAngularRateTriad

      public void getAngularRateTriad(AngularSpeedTriad result)
      Gets angular rate triad of gyroscope measurements.
      Parameters:
      result - angular rate triad.
    • setAngularRateTriad

      public void setAngularRateTriad(AngularSpeedTriad triad)
      Sets angular rate triad of gyroscope measurements.
      Parameters:
      triad - angular rate triad.
    • getSpecificForceNorm

      public double getSpecificForceNorm()
      Gets norm of specific force expressed in meters per squared second (m/s^2).
      Returns:
      norm of specific force.
    • getSpecificForceNormAsAcceleration

      public void getSpecificForceNormAsAcceleration(com.irurueta.units.Acceleration result)
      Gets norm of specific force.
      Parameters:
      result - instance where result will be stored.
    • getSpecificForceNormAsAcceleration

      public com.irurueta.units.Acceleration getSpecificForceNormAsAcceleration()
      Gets norm of specific force.
      Returns:
      a new acceleration instance containing norm of specific force.
    • getAngularRateNorm

      public double getAngularRateNorm()
      Gets norm of angular rate expressed in radians per second (rad/s).
      Returns:
      norm of angular rate.
    • getAngularSpeedNorm

      public void getAngularSpeedNorm(com.irurueta.units.AngularSpeed result)
      Gets norm of angular rate.
      Parameters:
      result - instance where norm of angular rate will be stored.
    • getAngularSpeedNorm

      public com.irurueta.units.AngularSpeed getAngularSpeedNorm()
      Gets norm of angular rate.
      Returns:
      norm of angular rate.
    • copyTo

      public void copyTo(BodyKinematics output)
      Copies this instance data into provided instance.
      Parameters:
      output - destination instance where data will be copied to.
    • copyFrom

      public void copyFrom(BodyKinematics input)
      Copies data of provided instance into this instance.
      Parameters:
      input - instance to copy data from.
    • asSpecificForceArray

      public void asSpecificForceArray(double[] result)
      Gets specific force coordinates expressed in meters per squared second (m/s^2) as an array.
      Parameters:
      result - array instance where specific force coordinates will be stored in x, y, z order.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • asSpecificForceArray

      public double[] asSpecificForceArray()
      Gets specific force coordinates expressed in meters per squared second (m/s^2) as an array.
      Returns:
      array containing specific force coordinates in x,y,z order.
    • asSpecificForceMatrix

      public void asSpecificForceMatrix(com.irurueta.algebra.Matrix result)
      Gets specific force coordinates expressed in meters per squared second (m/s^2) as a column matrix. If provided matrix does not have size 3x1, it will be resized.
      Parameters:
      result - matrix instance where gravity coordinates will be stored in x,y,z order.
    • asSpecificForceMatrix

      public com.irurueta.algebra.Matrix asSpecificForceMatrix()
      Gets specific force coordinates expressed in meters per squared second (m/s^2) as a column matrix.
      Returns:
      a matrix containing specific force coordinates stored in x,y,z order.
    • asAngularRateArray

      public void asAngularRateArray(double[] result)
      Gets angular rate coordinates expressed in radians per second (rad/s) as an array.
      Parameters:
      result - array instance where angular rate coordinates will be stored in x,y,z order.
      Throws:
      IllegalArgumentException - if provided array does not have length 3.
    • asAngularRateArray

      public double[] asAngularRateArray()
      Gets angular rate coordinates expressed in radians per second (rad/s) as an array.
      Returns:
      array containing angular rate coordinates in x,y,z order.
    • asAngularRateMatrix

      public void asAngularRateMatrix(com.irurueta.algebra.Matrix result)
      Gets angular rate coordinates expressed in radians per second (rad/s) as a column matrix. If provided matrix does not have size 3x1, it will be resized.
      Parameters:
      result - matrix instance where angular rate coordinates will be stored in x,y,z order.
    • asAngularRateMatrix

      public com.irurueta.algebra.Matrix asAngularRateMatrix()
      Gets angular rate coordinates expressed in radians per second (rad/s) as a column matrix.
      Returns:
      a matrix containing angular rate coordinates stored in x,y,z order.
    • hashCode

      public int hashCode()
      Computes and returns hash code for this instance. Hash codes are almost unique values that are useful for fast classification and storage of objects in collections.
      Overrides:
      hashCode in class Object
      Returns:
      Hash code.
    • equals

      public boolean equals(BodyKinematics other)
      Checks if provided instance has exactly the same contents as this instance.
      Parameters:
      other - instance to be compared.
      Returns:
      true if both instances are considered to be equal, false otherwise.
    • equals

      public boolean equals(BodyKinematics other, double threshold)
      Checks if provided instance has contents similar to this instance up to provided threshold value.
      Parameters:
      other - instance to be compared.
      threshold - maximum allowed difference between specific force and angular rate coordinates.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.
    • equals

      public boolean equals(Object obj)
      Checks if provided object is a BodyKinematics instance having exactly the same contents as this instance.
      Overrides:
      equals in class Object
      Parameters:
      obj - object to be compared.
      Returns:
      true if both objects are considered to be equal, false otherwise.
    • clone

      protected Object clone() throws CloneNotSupportedException
      Makes a copy of this instance.
      Overrides:
      clone in class Object
      Returns:
      a copy of this instance.
      Throws:
      CloneNotSupportedException - if clone fails for some reason.