Class StandardDeviationTimedBodyKinematics

java.lang.Object
com.irurueta.navigation.inertial.calibration.TimedBodyKinematics
com.irurueta.navigation.inertial.calibration.StandardDeviationTimedBodyKinematics
All Implemented Interfaces:
Serializable, Cloneable

public class StandardDeviationTimedBodyKinematics extends TimedBodyKinematics
Contains a body kinematics measurement (accelerometer + gyroscope) along with the corresponding timestamp when measure was made and standard deviations of measured specific force and angular rates. Notice that timestamp does not need to be absolute. Usually timestamps are used in sequences of measurements of body kinematics, where the first measurement can have any timestamp value (e.g. zero), and hence the subsequent measurements will have timestamps relative to the first one.
See Also:
  • Field Details

    • serialVersionUID

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

      private double specificForceStandardDeviation
      Standard deviation of measured specific force expressed in meters per squared second (m/s^2).
    • angularRateStandardDeviation

      private double angularRateStandardDeviation
      Standard deviation of measured angular rate expressed in radians per second (rad/s).
  • Constructor Details

    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics()
      Constructor.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(double timestampSeconds)
      Constructor.
      Parameters:
      timestampSeconds - timestamp value expressed in seconds.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(com.irurueta.units.Time timestamp)
      Constructor.
      Parameters:
      timestamp - timestamp value.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, double timestampSeconds)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestampSeconds - timestamp value expressed in seconds.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, com.irurueta.units.Time timestamp)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestamp - timestamp value.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(double timestampSeconds, double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      timestampSeconds - timestamp value expressed in seconds.
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(com.irurueta.units.Time timestamp, double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      timestamp - timestamp value.
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, double timestampSeconds, double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestampSeconds - timestamp value expressed in seconds.
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, com.irurueta.units.Time timestamp, double specificForceStandardDeviation, double angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestamp - timestamp value.
      specificForceStandardDeviation - standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      angularRateStandardDeviation - standard deviation of measured angular rate expressed in radians per second (rad/s).
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(double timestampSeconds, com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      timestampSeconds - timestamp value expressed in seconds.
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(com.irurueta.units.Time timestamp, com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      timestamp - timestamp value.
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, double timestampSeconds, com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestampSeconds - timestamp value expressed in seconds.
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

      public StandardDeviationTimedBodyKinematics(BodyKinematics kinematics, com.irurueta.units.Time timestamp, com.irurueta.units.Acceleration specificForceStandardDeviation, com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Constructor.
      Parameters:
      kinematics - current body kinematics measurement.
      timestamp - timestamp value.
      specificForceStandardDeviation - standard deviation of measured specific force.
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if either specific force standard deviation or angular rate standard deviation is negative.
    • StandardDeviationTimedBodyKinematics

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

    • getSpecificForceStandardDeviation

      public double getSpecificForceStandardDeviation()
      Gets standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      Returns:
      standard deviation of measured specific force.
    • setSpecificForceStandardDeviation

      public void setSpecificForceStandardDeviation(double specificForceStandardDeviation)
      Sets standard deviation of measured specific force expressed in meters per squared second (m/s^2).
      Parameters:
      specificForceStandardDeviation - standard deviation of measured specific force.
      Throws:
      IllegalArgumentException - if provided value is negative.
    • getSpecificForceStandardDeviationAsAcceleration

      public com.irurueta.units.Acceleration getSpecificForceStandardDeviationAsAcceleration()
      Gets standard deviation of measured specific force.
      Returns:
      standard deviation of measured specific force.
    • getSpecificForceStandardDeviationAsAcceleration

      public void getSpecificForceStandardDeviationAsAcceleration(com.irurueta.units.Acceleration result)
      Gets standard deviation of measured specific force.
      Parameters:
      result - instance where standard deviation of measured specific force will be stored.
    • setSpecificForceStandardDeviation

      public void setSpecificForceStandardDeviation(com.irurueta.units.Acceleration specificForceStandardDeviation)
      Sets standard deviation of measured specific force.
      Parameters:
      specificForceStandardDeviation - standard deviation of measured specific force.
      Throws:
      IllegalArgumentException - if provided value is negative.
    • getAngularRateStandardDeviation

      public double getAngularRateStandardDeviation()
      Gets standard deviation of measured angular rate expressed in radians per second (rad/s).
      Returns:
      standard deviation of measured angular rate.
    • setAngularRateStandardDeviation

      public void setAngularRateStandardDeviation(double angularRateStandardDeviation)
      Sets standard deviation of measured angular rate expressed in radians per second (rad/s).
      Parameters:
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if provided value is negative.
    • getAngularRateStandardDeviationAsAngularSpeed

      public com.irurueta.units.AngularSpeed getAngularRateStandardDeviationAsAngularSpeed()
      Gets standard deviation of measured angular rate.
      Returns:
      standard deviation of measured angular rate.
    • getAngularRateStandardDeviationAsAngularSpeed

      public void getAngularRateStandardDeviationAsAngularSpeed(com.irurueta.units.AngularSpeed result)
      Gets standard deviation of measured angular rate.
      Parameters:
      result - instance where standard deviation of measured angular rate will be stored.
    • setAngularRateStandardDeviation

      public void setAngularRateStandardDeviation(com.irurueta.units.AngularSpeed angularRateStandardDeviation)
      Sets standard deviation of measured angular rate.
      Parameters:
      angularRateStandardDeviation - standard deviation of measured angular rate.
      Throws:
      IllegalArgumentException - if provided value is negative.
    • copyFrom

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

      public void copyFrom(TimedBodyKinematics input)
      Description copied from class: TimedBodyKinematics
      Copies data of provided instance into this instance.
      Overrides:
      copyFrom in class TimedBodyKinematics
      Parameters:
      input - instance to copy data from.
    • 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 TimedBodyKinematics
      Returns:
      Hash code.
    • equals

      public boolean equals(StandardDeviationTimedBodyKinematics 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(StandardDeviationTimedBodyKinematics 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 kinematics and standard deviation values.
      Returns:
      true if both instances are considered to be equal (up to provided threshold), false otherwise.
    • clone

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

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

      private static double convertAcceleration(com.irurueta.units.Acceleration acceleration)
      Converts provided acceleration to meters per squared second (m/s^2).
      Parameters:
      acceleration - instance to be converted.
      Returns:
      converted value.
    • convertAngularSpeed

      private static double convertAngularSpeed(com.irurueta.units.AngularSpeed angularSpeed)
      Converts provided angular speed to radians per second (rad/s).
      Parameters:
      angularSpeed - instance to be converted.
      Returns:
      converted value.