Class INSTightlyCoupledKalmanInitializerConfig

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

public class INSTightlyCoupledKalmanInitializerConfig extends Object implements Serializable, Cloneable
Contains INS/GNS Tightly Coupled Kalman filter configuration parameters (usually obtained through calibration) to determine the system noise covariance matrix.
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:
    • initialAttitudeUncertainty

      private double initialAttitudeUncertainty
      Initial attitude uncertainty per axis expressed in radians (rad).
    • initialVelocityUncertainty

      private double initialVelocityUncertainty
      Initial velocity uncertainty per axis expressed in meters per second (m/s).
    • initialPositionUncertainty

      private double initialPositionUncertainty
      Initial position uncertainty per axis expressed in meters (m).
    • initialAccelerationBiasUncertainty

      private double initialAccelerationBiasUncertainty
      Initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
    • initialGyroscopeBiasUncertainty

      private double initialGyroscopeBiasUncertainty
      Initial gyroscope bias uncertainty expressed in radians per second (rad/s).
    • initialClockOffsetUncertainty

      private double initialClockOffsetUncertainty
      Initial clock offset uncertainty per axis expressed in meters (m).
    • initialClockDriftUncertainty

      private double initialClockDriftUncertainty
      Initial clock drift uncertainty per axis expressed in meters per second (m/s).
  • Constructor Details

    • INSTightlyCoupledKalmanInitializerConfig

      public INSTightlyCoupledKalmanInitializerConfig()
      Constructor.
    • INSTightlyCoupledKalmanInitializerConfig

      public INSTightlyCoupledKalmanInitializerConfig(double initialAttitudeUncertainty, double initialVelocityUncertainty, double initialPositionUncertainty, double initialAccelerationBiasUncertainty, double initialGyroscopeBiasUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty)
      Constructor.
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis expressed in radians (rad).
      initialVelocityUncertainty - initial velocity uncertainty per axis expressed in meters per second (m/s).
      initialPositionUncertainty - initial position uncertainty per axis expressed in meters (m).
      initialAccelerationBiasUncertainty - initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty expressed in radians per second (rad/s).
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis expressed in meters (m).
      initialClockDriftUncertainty - initial clock drift uncertainty per axis expressed in meters per second (m/s).
    • INSTightlyCoupledKalmanInitializerConfig

      public INSTightlyCoupledKalmanInitializerConfig(com.irurueta.units.Angle initialAttitudeUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Acceleration initialAccelerationBiasUncertainty, com.irurueta.units.AngularSpeed initialGyroscopeBiasUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty)
      Constructor.
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis.
      initialVelocityUncertainty - initial velocity uncertainty per axis.
      initialPositionUncertainty - initial position uncertainty per axis.
      initialAccelerationBiasUncertainty - initial acceleration bias uncertainty.
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty.
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
    • INSTightlyCoupledKalmanInitializerConfig

      public INSTightlyCoupledKalmanInitializerConfig(INSTightlyCoupledKalmanInitializerConfig input)
      Copy constructor.
      Parameters:
      input - input instance to copy data from.
  • Method Details

    • getInitialAttitudeUncertainty

      public double getInitialAttitudeUncertainty()
      Gets initial attitude uncertainty per axis expressed in radians (rad).
      Returns:
      initial attitude uncertainty per axis expressed in radians (rad).
    • setInitialAttitudeUncertainty

      public void setInitialAttitudeUncertainty(double initialAttitudeUncertainty)
      Sets initial attitude uncertainty per axis expressed in radians (rad).
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis expressed in radians (rad).
    • getInitialAttitudeUncertaintyAngle

      public void getInitialAttitudeUncertaintyAngle(com.irurueta.units.Angle result)
      Gets initial attitude uncertainty per axis.
      Parameters:
      result - instance where initial attitude uncertainty per axis will be stored.
    • getInitialAttitudeUncertaintyAngle

      public com.irurueta.units.Angle getInitialAttitudeUncertaintyAngle()
      Gets initial attitude uncertainty per axis.
      Returns:
      initial attitude uncertainty per axis.
    • setInitialAttitudeUncertainty

      public void setInitialAttitudeUncertainty(com.irurueta.units.Angle initialAttitudeUncertainty)
      Sets initial attitude uncertainty per axis.
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis.
    • getInitialVelocityUncertainty

      public double getInitialVelocityUncertainty()
      Gets initial velocity uncertainty per axis expressed in meters per second (m/s).
      Returns:
      initial velocity uncertainty per axis expressed in meters per second (m/s).
    • setInitialVelocityUncertainty

      public void setInitialVelocityUncertainty(double initialVelocityUncertainty)
      Sets initial velocity uncertainty per axis expressed in meters per second (m/s).
      Parameters:
      initialVelocityUncertainty - initial velocity uncertainty per axis expressed in meters per second (m/s).
    • getInitialVelocityUncertaintySpeed

      public void getInitialVelocityUncertaintySpeed(com.irurueta.units.Speed result)
      Gets initial velocity uncertainty per axis.
      Parameters:
      result - instance where initial attitude uncertainty per axis will be stored.
    • getInitialVelocityUncertaintySpeed

      public com.irurueta.units.Speed getInitialVelocityUncertaintySpeed()
      Gets initial velocity uncertainty per axis.
      Returns:
      initial velocity uncertainty per axis.
    • setInitialVelocityUncertainty

      public void setInitialVelocityUncertainty(com.irurueta.units.Speed initialVelocityUncertainty)
      Sets initial velocity uncertainty per axis.
      Parameters:
      initialVelocityUncertainty - initial velocity uncertainty per axis.
    • getInitialPositionUncertainty

      public double getInitialPositionUncertainty()
      Gets initial position uncertainty per axis expressed in meters (m)
      Returns:
      initial position uncertainty per axis expressed in meters (m).
    • setInitialPositionUncertainty

      public void setInitialPositionUncertainty(double initialPositionUncertainty)
      Sets initial position uncertainty per axis expressed in meters (m)
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis expressed in meters (m).
    • getInitialPositionUncertaintyDistance

      public void getInitialPositionUncertaintyDistance(com.irurueta.units.Distance result)
      Gets initial position uncertainty per axis.
      Parameters:
      result - instance where initial position uncertainty per axis will be stored.
    • getInitialPositionUncertaintyDistance

      public com.irurueta.units.Distance getInitialPositionUncertaintyDistance()
      Gets initial position uncertainty per axis.
      Returns:
      initial position uncertainty per axis.
    • setInitialPositionUncertainty

      public void setInitialPositionUncertainty(com.irurueta.units.Distance initialPositionUncertainty)
      Sets initial position uncertainty per axis.
      Parameters:
      initialPositionUncertainty - initial position uncertainty per axis.
    • getInitialAccelerationBiasUncertainty

      public double getInitialAccelerationBiasUncertainty()
      Gets initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
      Returns:
      initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
    • setInitialAccelerationBiasUncertainty

      public void setInitialAccelerationBiasUncertainty(double initialAccelerationBiasUncertainty)
      Sets initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
      Parameters:
      initialAccelerationBiasUncertainty - initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
    • getInitialAccelerationBiasUncertaintyAcceleration

      public void getInitialAccelerationBiasUncertaintyAcceleration(com.irurueta.units.Acceleration result)
      Gets initial acceleration bias uncertainty.
      Parameters:
      result - instance where initial acceleration bias uncertainty will be stored.
    • getInitialAccelerationBiasUncertaintyAcceleration

      public com.irurueta.units.Acceleration getInitialAccelerationBiasUncertaintyAcceleration()
      Gets initial acceleration bias uncertainty.
      Returns:
      initial acceleration bias uncertainty.
    • setInitialAccelerationBiasUncertainty

      public void setInitialAccelerationBiasUncertainty(com.irurueta.units.Acceleration initialAccelerationUncertainty)
      Sets initial acceleration bias uncertainty.
      Parameters:
      initialAccelerationUncertainty - initial acceleration bias uncertainty.
    • getInitialGyroscopeBiasUncertainty

      public double getInitialGyroscopeBiasUncertainty()
      Gets initial gyroscope bias uncertainty expressed in radians per second (rad/s).
      Returns:
      initial gyroscope bias uncertainty expressed in radians per second (rad/s).
    • setInitialGyroscopeBiasUncertainty

      public void setInitialGyroscopeBiasUncertainty(double initialGyroscopeBiasUncertainty)
      Sets initial gyroscope bias uncertainty expressed in radians per second (rad/s).
      Parameters:
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty expressed in radians per second (rad/s).
    • getInitialGyroscopeBiasUncertaintyAngularSpeed

      public void getInitialGyroscopeBiasUncertaintyAngularSpeed(com.irurueta.units.AngularSpeed result)
      Gets initial gyroscope bias uncertainty.
      Parameters:
      result - instance where initial gyroscope bias uncertainty will be stored.
    • getInitialGyroscopeBiasUncertaintyAngularSpeed

      public com.irurueta.units.AngularSpeed getInitialGyroscopeBiasUncertaintyAngularSpeed()
      Gets initial gyroscope bias uncertainty.
      Returns:
      initial gyroscope bias uncertainty.
    • setInitialGyroscopeBiasUncertainty

      public void setInitialGyroscopeBiasUncertainty(com.irurueta.units.AngularSpeed initialGyroscopeBiasUncertainty)
      Sets initial gyroscope bias uncertainty.
      Parameters:
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty.
    • getInitialClockOffsetUncertainty

      public double getInitialClockOffsetUncertainty()
      Gets initial clock offset uncertainty per axis expressed in meters (m).
      Returns:
      initial clock offset uncertainty per axis expressed in meters (m).
    • setInitialClockOffsetUncertainty

      public void setInitialClockOffsetUncertainty(double initialClockOffsetUncertainty)
      Sets initial clock offset uncertainty per axis expressed in meters (m).
      Parameters:
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis expressed in meters (m).
    • getInitialClockOffsetUncertaintyDistance

      public void getInitialClockOffsetUncertaintyDistance(com.irurueta.units.Distance result)
      Gets initial clock offset uncertainty per axis.
      Parameters:
      result - instance where initial clock offset uncertainty per axis will be stored.
    • getInitialClockOffsetUncertaintyDistance

      public com.irurueta.units.Distance getInitialClockOffsetUncertaintyDistance()
      Gets initial clock offset uncertainty per axis.
      Returns:
      initial clock offset uncertainty per axis.
    • setInitialClockOffsetUncertainty

      public void setInitialClockOffsetUncertainty(com.irurueta.units.Distance initialClockOffsetUncertainty)
      Sets initial clock offset uncertainty per axis.
      Parameters:
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
    • getInitialClockDriftUncertainty

      public double getInitialClockDriftUncertainty()
      Gets initial clock drift uncertainty per axis expressed in meters per second (m/s).
      Returns:
      initial clock drift uncertainty per axis expressed in meters per second (m/s).
    • setInitialClockDriftUncertainty

      public void setInitialClockDriftUncertainty(double initialClockDriftUncertainty)
      Sets initial clock drift uncertainty per axis expressed in meters per second (m/s).
      Parameters:
      initialClockDriftUncertainty - initial clock drift uncertainty per axis expressed in meters per second (m/s).
    • getInitialClockDriftUncertaintySpeed

      public void getInitialClockDriftUncertaintySpeed(com.irurueta.units.Speed result)
      Gets initial clock drift uncertainty per axis.
      Parameters:
      result - instance where initial clock drift uncertainty per axis will be stored.
    • getInitialClockDriftUncertaintySpeed

      public com.irurueta.units.Speed getInitialClockDriftUncertaintySpeed()
      Gets initial clock drift uncertainty per axis.
      Returns:
      initial clock drift uncertainty per axis.
    • setInitialClockDriftUncertainty

      public void setInitialClockDriftUncertainty(com.irurueta.units.Speed initialClockDriftUncertainty)
      Sets initial clock drift uncertainty per axis.
      Parameters:
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
    • setValues

      public void setValues(double initialAttitudeUncertainty, double initialVelocityUncertainty, double initialPositionUncertainty, double initialAccelerationBiasUncertainty, double initialGyroscopeBiasUncertainty, double initialClockOffsetUncertainty, double initialClockDriftUncertainty)
      Sets configuration parameters.
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis expressed in radians (rad).
      initialVelocityUncertainty - initial velocity uncertainty per axis expressed in meters per second (m/s).
      initialPositionUncertainty - initial position uncertainty per axis expressed in meters (m).
      initialAccelerationBiasUncertainty - initial acceleration bias uncertainty expressed in meters per squared second (m/s^2).
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty expressed in radians per second (rad/s).
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis expressed in meters (m).
      initialClockDriftUncertainty - initial clock drift uncertainty per axis expressed in meters per second (m/s).
    • setValues

      public void setValues(com.irurueta.units.Angle initialAttitudeUncertainty, com.irurueta.units.Speed initialVelocityUncertainty, com.irurueta.units.Distance initialPositionUncertainty, com.irurueta.units.Acceleration initialAccelerationBiasUncertainty, com.irurueta.units.AngularSpeed initialGyroscopeBiasUncertainty, com.irurueta.units.Distance initialClockOffsetUncertainty, com.irurueta.units.Speed initialClockDriftUncertainty)
      Sets configuration parameters.
      Parameters:
      initialAttitudeUncertainty - initial attitude uncertainty per axis.
      initialVelocityUncertainty - initial velocity uncertainty per axis.
      initialPositionUncertainty - initial position uncertainty per axis.
      initialAccelerationBiasUncertainty - initial acceleration bias uncertainty.
      initialGyroscopeBiasUncertainty - initial gyroscope bias uncertainty.
      initialClockOffsetUncertainty - initial clock offset uncertainty per axis.
      initialClockDriftUncertainty - initial clock drift uncertainty per axis.
    • copyTo

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

      public void copyFrom(INSTightlyCoupledKalmanInitializerConfig input)
      Copies data of provided instance into this instance.
      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 Object
      Returns:
      Hash code.
    • equals

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

      public boolean equals(INSTightlyCoupledKalmanInitializerConfig 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(INSTightlyCoupledKalmanInitializerConfig 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 difference allowed for 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 Object
      Returns:
      a copy of this instance.
      Throws:
      CloneNotSupportedException - if clone fails for some reason.