Class StandardDeviationBodyKinematics

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

public class StandardDeviationBodyKinematics extends Object implements Serializable, Cloneable
Contains a body kinematics measurement (accelerometer + gyroscope) along with the corresponding standard deviations of measured specific force and angular rates.
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:
    • kinematics

      private BodyKinematics kinematics
      Current body kinematics measurement. Contains accelerometer and gyroscope measurements.
    • 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

    • StandardDeviationBodyKinematics

      public StandardDeviationBodyKinematics()
      Constructor.
    • StandardDeviationBodyKinematics

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

      public StandardDeviationBodyKinematics(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.
    • StandardDeviationBodyKinematics

      public StandardDeviationBodyKinematics(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.
    • StandardDeviationBodyKinematics

      public StandardDeviationBodyKinematics(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.
    • StandardDeviationBodyKinematics

      public StandardDeviationBodyKinematics(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.
    • StandardDeviationBodyKinematics

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

    • getKinematics

      public BodyKinematics getKinematics()
      Gets current body kinematics measurement. Contains accelerometer and gyroscope measurements.
      Returns:
      current body kinematics measurement.
    • setKinematics

      public void setKinematics(BodyKinematics kinematics)
      Sets current body kinematics measurement. Contains accelerometer and gyroscope measurements.
      Parameters:
      kinematics - current body kinematics measurement to be set.
    • 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(StandardDeviationBodyKinematics input)
      Copies data of provided instance into this instance.
      Parameters:
      input - instance to copy data from.
    • copyTo

      public void copyTo(StandardDeviationBodyKinematics output)
      Copies this instance data into provided instance.
      Parameters:
      output - destination instance where data will be copied to.
    • 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(StandardDeviationBodyKinematics 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(StandardDeviationBodyKinematics 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.
    • equals

      public boolean equals(Object obj)
      Checks if provided object is a StandardDeviationBodyKinematics 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.
    • 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.