Class AccumulatedBodyKinematicsNoiseEstimator

java.lang.Object
com.irurueta.navigation.inertial.calibration.noise.AccumulatedBodyKinematicsNoiseEstimator
All Implemented Interfaces:
AccelerometerNoiseRootPsdSource, GyroscopeNoiseRootPsdSource

public class AccumulatedBodyKinematicsNoiseEstimator extends Object implements AccelerometerNoiseRootPsdSource, GyroscopeNoiseRootPsdSource
Estimates accumulated acceleration and angular speed noise variances and PSD's (Power Spectral Densities) along with their average values. This estimator must be used when the body where the accelerometer and gyroscope are attached remains static on the same position with zero velocity and constant (or zero) angular speed while capturing data. To compute PSD's, this estimator assumes that measurement samples are obtained at a constant provided rate equal to getTimeInterval() seconds. If not available, sampling rate average can be estimated using TimeIntervalEstimator. This estimator does NOT require the knowledge of current location and body orientation. Because body location and orientation is not known, estimated average values cannot be used to determine biases. Only norm of noise estimations (variance or standard deviation) can be safely used.
  • Field Details

  • Constructor Details

    • AccumulatedBodyKinematicsNoiseEstimator

      public AccumulatedBodyKinematicsNoiseEstimator()
      Constructor.
    • AccumulatedBodyKinematicsNoiseEstimator

      public AccumulatedBodyKinematicsNoiseEstimator(AccumulatedBodyKinematicsNoiseEstimatorListener listener)
      Constructor.
      Parameters:
      listener - listener to handle events raised by this estimator.
  • Method Details

    • getTimeInterval

      public double getTimeInterval()
      Gets time interval between body kinematics samples expressed in seconds (s).
      Returns:
      time interval between body kinematics samples.
    • setTimeInterval

      public void setTimeInterval(double timeInterval) throws com.irurueta.navigation.LockedException
      Sets time interval between body kinematics samples expressed in seconds (s).
      Parameters:
      timeInterval - time interval between body kinematic samples.
      Throws:
      IllegalArgumentException - if provided value is negative.
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • getTimeIntervalAsTime

      public com.irurueta.units.Time getTimeIntervalAsTime()
      Gets time interval between body kinematics samples.
      Returns:
      time interval between body kinematics samples.
    • getTimeIntervalAsTime

      public void getTimeIntervalAsTime(com.irurueta.units.Time result)
      Gets time interval between body kinematics samples.
      Parameters:
      result - instance where body kinematics will be stored.
    • setTimeInterval

      public void setTimeInterval(com.irurueta.units.Time timeInterval) throws com.irurueta.navigation.LockedException
      Sets time interval between body kinematics samples.
      Parameters:
      timeInterval - time interval between body kinematics samples.
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • getListener

      Gets listener to handle events raised by this estimator.
      Returns:
      listener to handle events raised by this estimator.
    • setListener

      public void setListener(AccumulatedBodyKinematicsNoiseEstimatorListener listener) throws com.irurueta.navigation.LockedException
      Sets listener to handle events raised by this estimator.
      Parameters:
      listener - listener to handle events raised by this estimator.
      Throws:
      com.irurueta.navigation.LockedException - if this estimator is running.
    • getLastBodyKinematics

      public BodyKinematics getLastBodyKinematics()
      Gets last provided body kinematics or null if not available.
      Returns:
      last provided body kinematics or null.
    • getLastBodyKinematics

      public boolean getLastBodyKinematics(BodyKinematics result)
      Gets last provided body kinematics.
      Parameters:
      result - instance where last provided body kinematics will be stored.
      Returns:
      true if result instance was updated, false otherwise.
    • getAvgSpecificForceX

      public double getAvgSpecificForceX()
      Gets estimated average of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of x coordinate of sensed specific force.
    • getAvgSpecificForceXAsMeasurement

      public com.irurueta.units.Acceleration getAvgSpecificForceXAsMeasurement()
      Gets estimated average of x coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of x coordinate of sensed specific force.
    • getAvgSpecificForceXAsMeasurement

      public void getAvgSpecificForceXAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated average of x coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of x coordinate of sensed specific force will be stored.
    • getAvgSpecificForceY

      public double getAvgSpecificForceY()
      Gets estimated average of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of y coordinate of sensed specific force.
    • getAvgSpecificForceYAsMeasurement

      public com.irurueta.units.Acceleration getAvgSpecificForceYAsMeasurement()
      Gets estimated average of y coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of y coordinate of sensed specific force.
    • getAvgSpecificForceYAsMeasurement

      public void getAvgSpecificForceYAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated average of y coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of y coordinate of sensed specific force will be stored.
    • getAvgSpecificForceZ

      public double getAvgSpecificForceZ()
      Gets estimated average of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of z coordinate of sensed specific force.
    • getAvgSpecificForceZAsMeasurement

      public com.irurueta.units.Acceleration getAvgSpecificForceZAsMeasurement()
      Gets estimated average of z coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of z coordinate of sensed specific force.
    • getAvgSpecificForceZAsMeasurement

      public void getAvgSpecificForceZAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated average of z coordinate of accelerometer sensed specific force. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of z coordinate of sensed specific force will be stored.
    • getAvgSpecificForceAsTriad

      public AccelerationTriad getAvgSpecificForceAsTriad()
      Gets estimated average of accelerometer sensed specific force as a measurement triad.
      Returns:
      average accelerometer triad.
    • getAvgSpecificForceAsTriad

      public void getAvgSpecificForceAsTriad(AccelerationTriad result)
      Gets estimated average of accelerometer sensed specific force as a measurement triad.
      Parameters:
      result - instance where average accelerometer triad will be stored.
    • getAvgSpecificForceNorm

      public double getAvgSpecificForceNorm()
      Gets norm of estimated average acceleration expressed in meters per squared second (m/s^2). This value is independent of body orientation.
      Returns:
      norm of estimated average acceleration.
    • getAvgSpecificForceNormAsMeasurement

      public com.irurueta.units.Acceleration getAvgSpecificForceNormAsMeasurement()
      Gets norm of estimated average acceleration within current window.
      Returns:
      norm of estimated average acceleration.
    • getAvgSpecificForceNormAsMeasurement

      public void getAvgSpecificForceNormAsMeasurement(com.irurueta.units.Acceleration result)
      Gets norm of estimated average acceleration.
      Parameters:
      result - instance where norm of estimated average acceleration will be stored.
    • getAvgAngularRateX

      public double getAvgAngularRateX()
      Gets estimated average of x coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of x coordinate of sensed angular rate.
    • getAvgAngularRateXAsMeasurement

      public com.irurueta.units.AngularSpeed getAvgAngularRateXAsMeasurement()
      Gets estimated average of x coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of x coordinate of sensed angular rate.
    • getAvgAngularRateXAsMeasurement

      public void getAvgAngularRateXAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated average of x coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of x coordinate of sensed angular rate will be stored.
    • getAvgAngularRateY

      public double getAvgAngularRateY()
      Gets estimated average of y coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of y coordinate of sensed angular rate.
    • getAvgAngularRateYAsMeasurement

      public com.irurueta.units.AngularSpeed getAvgAngularRateYAsMeasurement()
      Gets estimated average of y coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of y coordinate of sensed angular rate.
    • getAvgAngularRateYAsMeasurement

      public void getAvgAngularRateYAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated average of y coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of y coordinate of sensed angular rate will be stored.
    • getAvgAngularRateZ

      public double getAvgAngularRateZ()
      Gets estimated average of z coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s). This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of z coordinate of sensed angular rate.
    • getAvgAngularRateZAsMeasurement

      public com.irurueta.units.AngularSpeed getAvgAngularRateZAsMeasurement()
      Gets estimated average of z coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Returns:
      average of z coordinate of sensed angular rate.
    • getAvgAngularRateZAsMeasurement

      public void getAvgAngularRateZAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated average of z coordinate of gyroscope sensed angular rate. This value will depend of body location and orientation, hence it should never be used as a calibration bias.
      Parameters:
      result - instance where average of z coordinate of sensed angular rate will be stored.
    • getAvgAngularRateTriad

      public AngularSpeedTriad getAvgAngularRateTriad()
      Gets estimated average of gyroscope sensed angular speed as a measurement triad.
      Returns:
      average angular speed triad.
    • getAvgAngularRateTriad

      public void getAvgAngularRateTriad(AngularSpeedTriad result)
      Gets estimated average of gyroscope sensed angular speed as a measurement triad.
      Parameters:
      result - instance where average angular speed triad will be stored.
    • getAvgAngularRateNorm

      public double getAvgAngularRateNorm()
      Gets norm of estimated average angular speed expressed in radians per second (rad/s). This value is independent of body orientation.
      Returns:
      norm of estimated average angular speed.
    • getAvgAngularRateNormAsMeasurement

      public com.irurueta.units.AngularSpeed getAvgAngularRateNormAsMeasurement()
      Gets norm of estimated average angular speed. This value is independent of body orientation.
      Returns:
      norm of estimated average angular speed.
    • getAvgAngularRateNormAsMeasurement

      public void getAvgAngularRateNormAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets norm of estimated average angular speed. This value is independent of body orientation.
      Parameters:
      result - instance where norm of estimated average angular speed will be stored.
    • getAvgBodyKinematics

      public BodyKinematics getAvgBodyKinematics()
      Gets estimated average of body kinematics.
      Returns:
      estimated average of body kinematics.
    • getAvgBodyKinematics

      public void getAvgBodyKinematics(BodyKinematics result)
      Gets estimated average of body kinematics.
      Parameters:
      result - instance where estimated average of body kinematics will be stored.
    • getVarianceSpecificForceX

      public double getVarianceSpecificForceX()
      Gets estimated variance of x coordinate of accelerometer sensed specific force expressed in (m^2/s^4).
      Returns:
      estimated variance of x coordinate of sensed specific force.
    • getVarianceSpecificForceY

      public double getVarianceSpecificForceY()
      Gets estimated variance of y coordinate of accelerometer sensed specific force expressed in (m^2/s^4).
      Returns:
      estimated variance of y coordinate of sensed specific force.
    • getVarianceSpecificForceZ

      public double getVarianceSpecificForceZ()
      Gets estimated variance of z coordinate of accelerometer sensed specific force expressed in (m^2/s^4).
      Returns:
      estimated variance of z coordinate of sensed specific force.
    • getVarianceAngularRateX

      public double getVarianceAngularRateX()
      Gets estimated variance of x coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).
      Returns:
      estimated variance of x coordinate of sensed angular rate.
    • getVarianceAngularRateY

      public double getVarianceAngularRateY()
      Gets estimated variance of y coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).
      Returns:
      estimated variance of y coordinate of sensed angular rate.
    • getVarianceAngularRateZ

      public double getVarianceAngularRateZ()
      Gets estimated variance of z coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).
      Returns:
      estimated variance of z coordinate of sensed angular rate.
    • getStandardDeviationSpecificForceX

      public double getStandardDeviationSpecificForceX()
      Gets estimated standard deviation of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).
      Returns:
      estimated standard deviation of x coordinate of sensed specific force.
    • getStandardDeviationSpecificForceXAsMeasurement

      public com.irurueta.units.Acceleration getStandardDeviationSpecificForceXAsMeasurement()
      Gets estimated standard deviation of x coordinate of accelerometer sensed specific force.
      Returns:
      estimated standard deviation of x coordinate of sensed specific force.
    • getStandardDeviationSpecificForceXAsMeasurement

      public void getStandardDeviationSpecificForceXAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated standard deviation of x coordinate of accelerometer sensed specific force.
      Parameters:
      result - instance where estimated standard deviation of x coordinate of sensed specific force will be stored.
    • getStandardDeviationSpecificForceY

      public double getStandardDeviationSpecificForceY()
      Gets estimated standard deviation of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).
      Returns:
      estimated standard deviation of y coordinate of sensed specific force.
    • getStandardDeviationSpecificForceYAsMeasurement

      public com.irurueta.units.Acceleration getStandardDeviationSpecificForceYAsMeasurement()
      Gets estimated standard deviation of y coordinate of accelerometer sensed specific force.
      Returns:
      estimated standard deviation of y coordinate of sensed specific force.
    • getStandardDeviationSpecificForceYAsMeasurement

      public void getStandardDeviationSpecificForceYAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated standard deviation of y coordinate of accelerometer sensed specific force.
      Parameters:
      result - instance where estimated standard deviation of y coordinate of sensed specific force will be stored.
    • getStandardDeviationSpecificForceZ

      public double getStandardDeviationSpecificForceZ()
      Gets estimated standard deviation of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).
      Returns:
      estimated standard deviation of z coordinate of sensed specific force.
    • getStandardDeviationSpecificForceZAsMeasurement

      public com.irurueta.units.Acceleration getStandardDeviationSpecificForceZAsMeasurement()
      Gets estimated standard deviation of z coordinate of accelerometer sensed specific force.
      Returns:
      estimated standard deviation of z coordinate of sensed specific force.
    • getStandardDeviationSpecificForceZAsMeasurement

      public void getStandardDeviationSpecificForceZAsMeasurement(com.irurueta.units.Acceleration result)
      Gets estimated standard deviation of z coordinate of accelerometer sensed specific force.
      Parameters:
      result - instance where estimated standard deviation of z coordinate of sensed specific force will be stored.
    • getStandardDeviationSpecificForceTriad

      public AccelerationTriad getStandardDeviationSpecificForceTriad()
      Gets estimated standard deviation triad of accelerometer measurements.
      Returns:
      estimated standard deviation triad of accelerometer measurements.
    • getStandardDeviationSpecificForceTriad

      public void getStandardDeviationSpecificForceTriad(AccelerationTriad result)
      Gets estimated standard deviation triad of accelerometer measurements.
      Parameters:
      result - instance where estimated standard deviation triad of accelerometer measurements will be stored.
    • getStandardDeviationSpecificForceNorm

      public double getStandardDeviationSpecificForceNorm()
      Gets norm of estimated standard deviation of accelerometer measurements expressed in meters per squared second (m/s^2).
      Returns:
      norm of estimated standard deviation of accelerometer measurements.
    • getStandardDeviationSpecificForceNormAsMeasurement

      public com.irurueta.units.Acceleration getStandardDeviationSpecificForceNormAsMeasurement()
      Gets norm of estimated standard deviation of accelerometer measurements.
      Returns:
      norm of estimated standard deviation of measurements.
    • getStandardDeviationSpecificForceNormAsMeasurement

      public void getStandardDeviationSpecificForceNormAsMeasurement(com.irurueta.units.Acceleration result)
      Gets norm of estimated standard deviation of accelerometer measurements.
      Parameters:
      result - instance where norm of estimated standard deviation will be stored.
    • getAverageStandardDeviationSpecificForce

      public double getAverageStandardDeviationSpecificForce()
      Gets average of estimated standard deviation coordinates of accelerometer measurements expressed in meters per squared second (m/s^2).
      Returns:
      average of estimated standard deviation coordinates.
    • getAverageStandardDeviationSpecificForceAsMeasurement

      public com.irurueta.units.Acceleration getAverageStandardDeviationSpecificForceAsMeasurement()
      Gets average of estimated standard deviation coordinates of accelerometer measurements.
      Returns:
      average of estimated standard deviation coordinates.
    • getAverageStandardDeviationSpecificForceAsMeasurement

      public void getAverageStandardDeviationSpecificForceAsMeasurement(com.irurueta.units.Acceleration result)
      Gets average of estimated standard deviation coordinates of accelerometer measurements.
      Parameters:
      result - instance where average of estimated standard deviation coordinates will be stored.
    • getStandardDeviationAngularRateX

      public double getStandardDeviationAngularRateX()
      Gets estimated standard deviation of x coordinate of gyroscope expressed in radians per second (rad/s).
      Returns:
      estimated standard deviation of x coordinate of gyroscope.
    • getStandardDeviationAngularRateXAsMeasurement

      public com.irurueta.units.AngularSpeed getStandardDeviationAngularRateXAsMeasurement()
      Gets estimated standard deviation of x coordinate of gyroscope.
      Returns:
      estimated standard deviation of x coordinate of gyroscope.
    • getStandardDeviationAngularRateXAsMeasurement

      public void getStandardDeviationAngularRateXAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated standard deviation of x coordinate of gyroscope.
      Parameters:
      result - estimated standard deviation of x coordinate of gyroscope.
    • getStandardDeviationAngularRateY

      public double getStandardDeviationAngularRateY()
      Gets estimated standard deviation of y coordinate of gyroscope expressed in radians per second (rad/s).
      Returns:
      estimated standard deviation of y coordinate of gyroscope.
    • getStandardDeviationAngularRateYAsMeasurement

      public com.irurueta.units.AngularSpeed getStandardDeviationAngularRateYAsMeasurement()
      Gets estimated standard deviation of y coordinate of gyroscope.
      Returns:
      estimated standard deviation of y coordinate of gyroscope.
    • getStandardDeviationAngularRateYAsMeasurement

      public void getStandardDeviationAngularRateYAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated standard deviation of y coordinate of gyroscope.
      Parameters:
      result - estimated standard deviation of y coordinate of gyroscope.
    • getStandardDeviationAngularRateZ

      public double getStandardDeviationAngularRateZ()
      Gets estimated standard deviation of z coordinate of gyroscope expressed in radians per second (rad/s).
      Returns:
      estimated standard deviation of z coordinate of gyroscope.
    • getStandardDeviationAngularRateZAsMeasurement

      public com.irurueta.units.AngularSpeed getStandardDeviationAngularRateZAsMeasurement()
      Gets estimated standard deviation of z coordinate of gyroscope.
      Returns:
      estimated standard deviation of z coordinate of gyroscope.
    • getStandardDeviationAngularRateZAsMeasurement

      public void getStandardDeviationAngularRateZAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets estimated standard deviation of z coordinate of gyroscope.
      Parameters:
      result - estimated standard deviation of z coordinate of gyroscope.
    • getStandardDeviationAngularSpeedTriad

      public AngularSpeedTriad getStandardDeviationAngularSpeedTriad()
      Gets estimated standard deviation triad of angular speed measurements.
      Returns:
      estimated standard deviation triad of angular speed measurements.
    • getStandardDeviationAngularSpeedTriad

      public void getStandardDeviationAngularSpeedTriad(AngularSpeedTriad result)
      Gets estimated standard deviation triad of angular speed measurements.
      Parameters:
      result - instance where estimated standard deviation triad of gyroscope measurements will be stored.
    • getStandardDeviationAngularSpeedNorm

      public double getStandardDeviationAngularSpeedNorm()
      Gets norm of estimated standard deviation of gyroscope measurements expressed in radians per second (rad/s).
      Returns:
      norm of estimated standard deviation of gyroscope measurements.
    • getStandardDeviationAngularSpeedNormAsMeasurement

      public com.irurueta.units.AngularSpeed getStandardDeviationAngularSpeedNormAsMeasurement()
      Gets norm of estimated standard deviation of gyroscope measurements.
      Returns:
      norm of estimated standard deviation of measurements.
    • getStandardDeviationAngularSpeedNormAsMeasurement

      public void getStandardDeviationAngularSpeedNormAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets norm of estimated standard deviation of gyroscope measurements.
      Parameters:
      result - instance where norm of estimated standard deviation will be stored.
    • getAverageStandardDeviationAngularSpeed

      public double getAverageStandardDeviationAngularSpeed()
      Gets average of estimated standard deviation coordinates of gyroscope measurements expressed in radians per second (rad/s).
      Returns:
      average of estimated standard deviation coordinates.
    • getAverageStandardDeviationAngularSpeedAsMeasurement

      public com.irurueta.units.AngularSpeed getAverageStandardDeviationAngularSpeedAsMeasurement()
      Gets average of estimated standard deviation coordinates of gyroscope measurements.
      Returns:
      average of estimated standard deviation coordinates.
    • getAverageStandardDeviationAngularSpeedAsMeasurement

      public void getAverageStandardDeviationAngularSpeedAsMeasurement(com.irurueta.units.AngularSpeed result)
      Gets average of estimated standard deviation coordinates of gyroscope measurements.
      Parameters:
      result - instance where average of estimated standard deviation coordinates will be stored.
    • getStandardDeviationAsBodyKinematics

      public BodyKinematics getStandardDeviationAsBodyKinematics()
      Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.
      Returns:
      a body kinematics instance containing standard deviation values.
    • getStandardDeviationAsBodyKinematics

      public void getStandardDeviationAsBodyKinematics(BodyKinematics result)
      Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.
      Parameters:
      result - instance where data will be stored.
    • getSpecificForcePsdX

      public double getSpecificForcePsdX()
      Gets accelerometer noise PSD (Power Spectral Density) on x axis expressed in (m^2 * s^-3).
      Returns:
      accelerometer noise PSD on x axis.
    • getSpecificForcePsdY

      public double getSpecificForcePsdY()
      Gets accelerometer noise PSD (Power Spectral Density) on y axis expressed in (m^2 * s^-3).
      Returns:
      accelerometer noise PSD on y axis.
    • getSpecificForcePsdZ

      public double getSpecificForcePsdZ()
      Gets accelerometer noise PSD (Power Spectral Density) on z axis expressed in (m^2 * s^-3).
      Returns:
      accelerometer noise PSD on z axis.
    • getAngularRatePsdX

      public double getAngularRatePsdX()
      Gets gyroscope noise PSD (Power Spectral Density) on x axis expressed in (rad^2/s).
      Returns:
      gyroscope noise PSD on x axis.
    • getAngularRatePsdY

      public double getAngularRatePsdY()
      Gets gyroscope noise PSD (Power Spectral Density) on y axis expressed in (rad^2/s).
      Returns:
      gyroscope noise PSD on y axis.
    • getAngularRatePsdZ

      public double getAngularRatePsdZ()
      Gets gyroscope noise PSD (Power Spectral Density) on z axis expressed in (rad^2/s).
      Returns:
      gyroscope noise PSD on z axis.
    • getSpecificForceRootPsdX

      public double getSpecificForceRootPsdX()
      Gets accelerometer noise root PSD (Power Spectral Density) on x axis expressed in (m * s^-1.5).
      Returns:
      accelerometer noise root PSD on x axis.
    • getSpecificForceRootPsdY

      public double getSpecificForceRootPsdY()
      Gets accelerometer noise root PSD (Power Spectral Density) on y axis expressed in (m * s^-1.5).
      Returns:
      accelerometer noise root PSD on y axis.
    • getSpecificForceRootPsdZ

      public double getSpecificForceRootPsdZ()
      Gets accelerometer noise root PSD (Power Spectral Density) on z axis expressed in (m * s^-1.5).
      Returns:
      accelerometer noise root PSD on z axis.
    • getAngularRateRootPsdX

      public double getAngularRateRootPsdX()
      Gets gyroscope noise root PSD (Power Spectral Density) on x axis expressed in (rad * s^-0.5).
      Returns:
      gyroscope noise root PSD on x axis.
    • getAngularRateRootPsdY

      public double getAngularRateRootPsdY()
      Gets gyroscope noise root PSD (Power Spectral Density) on y axis expressed in (rad * s^-0.5).
      Returns:
      gyroscope noise root PSD on y axis.
    • getAngularRateRootPsdZ

      public double getAngularRateRootPsdZ()
      Gets gyroscope noise root PSD (Power Spectral Density) on z axis expressed in (rad * s^-0.5).
      Returns:
      gyroscope noise root PSD on z axis.
    • getAvgSpecificForceNoisePsd

      public double getAvgSpecificForceNoisePsd()
      Gets average accelerometer noise PSD (Power Spectral Density) among x,y,z components expressed as (m^2/s^-3).
      Returns:
      average accelerometer noise PSD.
    • getSpecificForceNoiseRootPsdNorm

      public double getSpecificForceNoiseRootPsdNorm()
      Gets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (m * s^-1.5).
      Returns:
      norm of noise root PSD.
    • getAvgAngularRateNoisePsd

      public double getAvgAngularRateNoisePsd()
      Gets average gyroscope noise PSD (Power Spectral Density) among x,y,z components expressed in (rad^2/s).
      Returns:
      average gyroscope noise PSD.
    • getAngularRateNoiseRootPsdNorm

      public double getAngularRateNoiseRootPsdNorm()
      Gets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (rad * s^-0.5).
      Returns:
      norm of noise root PSD.
    • getNumberOfProcessedSamples

      public int getNumberOfProcessedSamples()
      Gets number of samples that have been processed so far.
      Returns:
      number of samples that have been processed so far.
    • isRunning

      public boolean isRunning()
      Indicates whether estimator is currently running or not.
      Returns:
      true if estimator is running, false otherwise.
    • addBodyKinematics

      public void addBodyKinematics(double specificForceX, double specificForceY, double specificForceZ, double angularRateX, double angularRateY, double angularRateZ) throws com.irurueta.navigation.LockedException
      Adds body kinematics measurement samples.
      Parameters:
      specificForceX - x coordinate of specific force expressed in meters per squared second (m/s^2).
      specificForceY - y coordinate of specific force expressed in meters per squared second (m/s^2).
      specificForceZ - z coordinate of specific force expressed in meters per squared second (m/s^2).
      angularRateX - x coordinate of angular rate expressed in radians per second (rad/s).
      angularRateY - y coordinate of angular rate expressed in radians per second (rad/s).
      angularRateZ - z coordinate of angular rate expressed in radians per second (rad/s).
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • addBodyKinematics

      public void addBodyKinematics(com.irurueta.units.Acceleration specificForceX, com.irurueta.units.Acceleration specificForceY, com.irurueta.units.Acceleration specificForceZ, com.irurueta.units.AngularSpeed angularRateX, com.irurueta.units.AngularSpeed angularRateY, com.irurueta.units.AngularSpeed angularRateZ) throws com.irurueta.navigation.LockedException
      Adds body kinematics measurement samples.
      Parameters:
      specificForceX - x coordinate of specific force.
      specificForceY - y coordinate of specific force.
      specificForceZ - z coordinate of specific force.
      angularRateX - x coordinate of angular rate.
      angularRateY - y coordinate of angular rate.
      angularRateZ - z coordinate of angular rate.
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • addBodyKinematics

      public void addBodyKinematics(AccelerationTriad specificForce, AngularSpeedTriad angularSpeed) throws com.irurueta.navigation.LockedException
      Adds body kinematics measurement samples.
      Parameters:
      specificForce - specific force triad.
      angularSpeed - angular speed triad.
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • addBodyKinematics

      public void addBodyKinematics(BodyKinematics bodyKinematics) throws com.irurueta.navigation.LockedException
      Adds body kinematics measurement.
      Parameters:
      bodyKinematics - body kinematics.
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • reset

      public boolean reset() throws com.irurueta.navigation.LockedException
      Resets current estimator.
      Returns:
      true if estimator was successfully reset, false if no reset was needed.
      Throws:
      com.irurueta.navigation.LockedException - if estimator is currently running.
    • convertAcceleration

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

      private double convertAcceleration(double value, com.irurueta.units.AccelerationUnit unit)
      Converts an acceleration value and unit to meters per squared seconds (m/s^2).
      Parameters:
      value - value to be converted.
      unit - unit of value to be converted.
      Returns:
      converted value.
    • convertAngularSpeed

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

      private double convertAngularSpeed(double value, com.irurueta.units.AngularSpeedUnit unit)
      Converts an angular speed value and unit to radians per second (rad/s).
      Parameters:
      value - value to be converted.
      unit - unit of value to be converted.
      Returns:
      converted value.
    • getAccelerometerBaseNoiseLevelRootPsd

      public double getAccelerometerBaseNoiseLevelRootPsd()
      Gets accelerometer base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5).
      Specified by:
      getAccelerometerBaseNoiseLevelRootPsd in interface AccelerometerNoiseRootPsdSource
      Returns:
      accelerometer base noise level root PSD.
    • getGyroscopeBaseNoiseLevelRootPsd

      public double getGyroscopeBaseNoiseLevelRootPsd()
      Gets gyroscope base noise level root PSD (Power Spectral Density) expressed in (rad * s^-0.5)
      Specified by:
      getGyroscopeBaseNoiseLevelRootPsd in interface GyroscopeNoiseRootPsdSource
      Returns:
      gyroscope base noise level root PSD.