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 Summary
FieldsModifier and TypeFieldDescriptionprivate final AccumulatedAccelerationTriadNoiseEstimator
Accumulated acceleration estimator.private final AccumulatedAngularSpeedTriadNoiseEstimator
Accumulated angular speed estimator.static final double
Default time interval between accelerometer samples expressed in seconds (s).private BodyKinematics
Last provided body kinematics.Listener to handle events raised by this estimator.private boolean
Indicates that estimator is running. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addBodyKinematics
(double specificForceX, double specificForceY, double specificForceZ, double angularRateX, double angularRateY, double angularRateZ) Adds body kinematics measurement samples.void
addBodyKinematics
(BodyKinematics bodyKinematics) Adds body kinematics measurement.void
addBodyKinematics
(AccelerationTriad specificForce, AngularSpeedTriad angularSpeed) Adds body kinematics measurement samples.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) Adds body kinematics measurement samples.private double
convertAcceleration
(double value, com.irurueta.units.AccelerationUnit unit) Converts an acceleration value and unit to meters per squared seconds (m/s^2).private double
convertAcceleration
(com.irurueta.units.Acceleration value) Converts an acceleration instance to meters per squared seconds (m/s^2).private double
convertAngularSpeed
(double value, com.irurueta.units.AngularSpeedUnit unit) Converts an angular speed value and unit to radians per second (rad/s).private double
convertAngularSpeed
(com.irurueta.units.AngularSpeed value) Converts an angular speed instance to radians per second (rad/s).double
Gets accelerometer base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5).double
Gets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (rad * s^-0.5).double
Gets gyroscope noise PSD (Power Spectral Density) on x axis expressed in (rad^2/s).double
Gets gyroscope noise PSD (Power Spectral Density) on y axis expressed in (rad^2/s).double
Gets gyroscope noise PSD (Power Spectral Density) on z axis expressed in (rad^2/s).double
Gets gyroscope noise root PSD (Power Spectral Density) on x axis expressed in (rad * s^-0.5).double
Gets gyroscope noise root PSD (Power Spectral Density) on y axis expressed in (rad * s^-0.5).double
Gets gyroscope noise root PSD (Power Spectral Density) on z axis expressed in (rad * s^-0.5).double
Gets average of estimated standard deviation coordinates of gyroscope measurements expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets average of estimated standard deviation coordinates of gyroscope measurements.void
getAverageStandardDeviationAngularSpeedAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets average of estimated standard deviation coordinates of gyroscope measurements.double
Gets average of estimated standard deviation coordinates of accelerometer measurements expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets average of estimated standard deviation coordinates of accelerometer measurements.void
getAverageStandardDeviationSpecificForceAsMeasurement
(com.irurueta.units.Acceleration result) Gets average of estimated standard deviation coordinates of accelerometer measurements.double
Gets average gyroscope noise PSD (Power Spectral Density) among x,y,z components expressed in (rad^2/s).double
Gets norm of estimated average angular speed expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets norm of estimated average angular speed.void
getAvgAngularRateNormAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets norm of estimated average angular speed.Gets estimated average of gyroscope sensed angular speed as a measurement triad.void
Gets estimated average of gyroscope sensed angular speed as a measurement triad.double
Gets estimated average of x coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated average of x coordinate of gyroscope sensed angular rate.void
getAvgAngularRateXAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated average of x coordinate of gyroscope sensed angular rate.double
Gets estimated average of y coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated average of y coordinate of gyroscope sensed angular rate.void
getAvgAngularRateYAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated average of y coordinate of gyroscope sensed angular rate.double
Gets estimated average of z coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated average of z coordinate of gyroscope sensed angular rate.void
getAvgAngularRateZAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated average of z coordinate of gyroscope sensed angular rate.Gets estimated average of body kinematics.void
getAvgBodyKinematics
(BodyKinematics result) Gets estimated average of body kinematics.Gets estimated average of accelerometer sensed specific force as a measurement triad.void
Gets estimated average of accelerometer sensed specific force as a measurement triad.double
Gets average accelerometer noise PSD (Power Spectral Density) among x,y,z components expressed as (m^2/s^-3).double
Gets norm of estimated average acceleration expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets norm of estimated average acceleration within current window.void
getAvgSpecificForceNormAsMeasurement
(com.irurueta.units.Acceleration result) Gets norm of estimated average acceleration.double
Gets estimated average of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated average of x coordinate of accelerometer sensed specific force.void
getAvgSpecificForceXAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated average of x coordinate of accelerometer sensed specific force.double
Gets estimated average of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated average of y coordinate of accelerometer sensed specific force.void
getAvgSpecificForceYAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated average of y coordinate of accelerometer sensed specific force.double
Gets estimated average of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated average of z coordinate of accelerometer sensed specific force.void
getAvgSpecificForceZAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated average of z coordinate of accelerometer sensed specific force.double
Gets gyroscope base noise level root PSD (Power Spectral Density) expressed in (rad * s^-0.5)Gets last provided body kinematics or null if not available.boolean
getLastBodyKinematics
(BodyKinematics result) Gets last provided body kinematics.Gets listener to handle events raised by this estimator.int
Gets number of samples that have been processed so far.double
Gets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (m * s^-1.5).double
Gets accelerometer noise PSD (Power Spectral Density) on x axis expressed in (m^2 * s^-3).double
Gets accelerometer noise PSD (Power Spectral Density) on y axis expressed in (m^2 * s^-3).double
Gets accelerometer noise PSD (Power Spectral Density) on z axis expressed in (m^2 * s^-3).double
Gets accelerometer noise root PSD (Power Spectral Density) on x axis expressed in (m * s^-1.5).double
Gets accelerometer noise root PSD (Power Spectral Density) on y axis expressed in (m * s^-1.5).double
Gets accelerometer noise root PSD (Power Spectral Density) on z axis expressed in (m * s^-1.5).double
Gets estimated standard deviation of x coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated standard deviation of x coordinate of gyroscope.void
getStandardDeviationAngularRateXAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of x coordinate of gyroscope.double
Gets estimated standard deviation of y coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated standard deviation of y coordinate of gyroscope.void
getStandardDeviationAngularRateYAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of y coordinate of gyroscope.double
Gets estimated standard deviation of z coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets estimated standard deviation of z coordinate of gyroscope.void
getStandardDeviationAngularRateZAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of z coordinate of gyroscope.double
Gets norm of estimated standard deviation of gyroscope measurements expressed in radians per second (rad/s).com.irurueta.units.AngularSpeed
Gets norm of estimated standard deviation of gyroscope measurements.void
getStandardDeviationAngularSpeedNormAsMeasurement
(com.irurueta.units.AngularSpeed result) Gets norm of estimated standard deviation of gyroscope measurements.Gets estimated standard deviation triad of angular speed measurements.void
Gets estimated standard deviation triad of angular speed measurements.Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.void
Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.double
Gets norm of estimated standard deviation of accelerometer measurements expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets norm of estimated standard deviation of accelerometer measurements.void
getStandardDeviationSpecificForceNormAsMeasurement
(com.irurueta.units.Acceleration result) Gets norm of estimated standard deviation of accelerometer measurements.Gets estimated standard deviation triad of accelerometer measurements.void
Gets estimated standard deviation triad of accelerometer measurements.double
Gets estimated standard deviation of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated standard deviation of x coordinate of accelerometer sensed specific force.void
getStandardDeviationSpecificForceXAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated standard deviation of x coordinate of accelerometer sensed specific force.double
Gets estimated standard deviation of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated standard deviation of y coordinate of accelerometer sensed specific force.void
getStandardDeviationSpecificForceYAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated standard deviation of y coordinate of accelerometer sensed specific force.double
Gets estimated standard deviation of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.Acceleration
Gets estimated standard deviation of z coordinate of accelerometer sensed specific force.void
getStandardDeviationSpecificForceZAsMeasurement
(com.irurueta.units.Acceleration result) Gets estimated standard deviation of z coordinate of accelerometer sensed specific force.double
Gets time interval between body kinematics samples expressed in seconds (s).com.irurueta.units.Time
Gets time interval between body kinematics samples.void
getTimeIntervalAsTime
(com.irurueta.units.Time result) Gets time interval between body kinematics samples.double
Gets estimated variance of x coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).double
Gets estimated variance of y coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).double
Gets estimated variance of z coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).double
Gets estimated variance of x coordinate of accelerometer sensed specific force expressed in (m^2/s^4).double
Gets estimated variance of y coordinate of accelerometer sensed specific force expressed in (m^2/s^4).double
Gets estimated variance of z coordinate of accelerometer sensed specific force expressed in (m^2/s^4).boolean
Indicates whether estimator is currently running or not.boolean
reset()
Resets current estimator.void
Sets listener to handle events raised by this estimator.void
setTimeInterval
(double timeInterval) Sets time interval between body kinematics samples expressed in seconds (s).void
setTimeInterval
(com.irurueta.units.Time timeInterval) Sets time interval between body kinematics samples.
-
Field Details
-
DEFAULT_TIME_INTERVAL_SECONDS
public static final double DEFAULT_TIME_INTERVAL_SECONDSDefault time interval between accelerometer samples expressed in seconds (s).- See Also:
-
listener
Listener to handle events raised by this estimator. -
lastBodyKinematics
Last provided body kinematics. -
accelerationEstimator
Accumulated acceleration estimator. -
angularSpeedEstimator
Accumulated angular speed estimator. -
running
private boolean runningIndicates that estimator is running.
-
-
Constructor Details
-
AccumulatedBodyKinematicsNoiseEstimator
public AccumulatedBodyKinematicsNoiseEstimator()Constructor.
-
-
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.
-
getLastBodyKinematics
Gets last provided body kinematics or null if not available.- Returns:
- last provided body kinematics or null.
-
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
Gets estimated average of accelerometer sensed specific force as a measurement triad.- Returns:
- average accelerometer triad.
-
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
Gets estimated average of gyroscope sensed angular speed as a measurement triad.- Returns:
- average angular speed triad.
-
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
Gets estimated average of body kinematics.- Returns:
- estimated average of body kinematics.
-
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
Gets estimated standard deviation triad of accelerometer measurements.- Returns:
- estimated standard deviation triad of accelerometer measurements.
-
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
Gets estimated standard deviation triad of angular speed measurements.- Returns:
- estimated standard deviation triad of angular speed measurements.
-
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
Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.- Returns:
- a body kinematics instance containing standard deviation values.
-
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.
-
reset
public boolean reset() throws com.irurueta.navigation.LockedExceptionResets 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 interfaceAccelerometerNoiseRootPsdSource
- 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 interfaceGyroscopeNoiseRootPsdSource
- Returns:
- gyroscope base noise level root PSD.
-