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 AccumulatedAccelerationTriadNoiseEstimatorAccumulated acceleration estimator.private final AccumulatedAngularSpeedTriadNoiseEstimatorAccumulated angular speed estimator.static final doubleDefault time interval between accelerometer samples expressed in seconds (s).private BodyKinematicsLast provided body kinematics.Listener to handle events raised by this estimator.private booleanIndicates that estimator is running. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBodyKinematics(double specificForceX, double specificForceY, double specificForceZ, double angularRateX, double angularRateY, double angularRateZ) Adds body kinematics measurement samples.voidaddBodyKinematics(BodyKinematics bodyKinematics) Adds body kinematics measurement.voidaddBodyKinematics(AccelerationTriad specificForce, AngularSpeedTriad angularSpeed) Adds body kinematics measurement samples.voidaddBodyKinematics(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 doubleconvertAcceleration(double value, com.irurueta.units.AccelerationUnit unit) Converts an acceleration value and unit to meters per squared seconds (m/s^2).private doubleconvertAcceleration(com.irurueta.units.Acceleration value) Converts an acceleration instance to meters per squared seconds (m/s^2).private doubleconvertAngularSpeed(double value, com.irurueta.units.AngularSpeedUnit unit) Converts an angular speed value and unit to radians per second (rad/s).private doubleconvertAngularSpeed(com.irurueta.units.AngularSpeed value) Converts an angular speed instance to radians per second (rad/s).doubleGets accelerometer base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5).doubleGets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (rad * s^-0.5).doubleGets gyroscope noise PSD (Power Spectral Density) on x axis expressed in (rad^2/s).doubleGets gyroscope noise PSD (Power Spectral Density) on y axis expressed in (rad^2/s).doubleGets gyroscope noise PSD (Power Spectral Density) on z axis expressed in (rad^2/s).doubleGets gyroscope noise root PSD (Power Spectral Density) on x axis expressed in (rad * s^-0.5).doubleGets gyroscope noise root PSD (Power Spectral Density) on y axis expressed in (rad * s^-0.5).doubleGets gyroscope noise root PSD (Power Spectral Density) on z axis expressed in (rad * s^-0.5).doubleGets average of estimated standard deviation coordinates of gyroscope measurements expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets average of estimated standard deviation coordinates of gyroscope measurements.voidgetAverageStandardDeviationAngularSpeedAsMeasurement(com.irurueta.units.AngularSpeed result) Gets average of estimated standard deviation coordinates of gyroscope measurements.doubleGets average of estimated standard deviation coordinates of accelerometer measurements expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets average of estimated standard deviation coordinates of accelerometer measurements.voidgetAverageStandardDeviationSpecificForceAsMeasurement(com.irurueta.units.Acceleration result) Gets average of estimated standard deviation coordinates of accelerometer measurements.doubleGets average gyroscope noise PSD (Power Spectral Density) among x,y,z components expressed in (rad^2/s).doubleGets norm of estimated average angular speed expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets norm of estimated average angular speed.voidgetAvgAngularRateNormAsMeasurement(com.irurueta.units.AngularSpeed result) Gets norm of estimated average angular speed.Gets estimated average of gyroscope sensed angular speed as a measurement triad.voidGets estimated average of gyroscope sensed angular speed as a measurement triad.doubleGets estimated average of x coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated average of x coordinate of gyroscope sensed angular rate.voidgetAvgAngularRateXAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated average of x coordinate of gyroscope sensed angular rate.doubleGets estimated average of y coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated average of y coordinate of gyroscope sensed angular rate.voidgetAvgAngularRateYAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated average of y coordinate of gyroscope sensed angular rate.doubleGets estimated average of z coordinate of gyroscope sensed angular rate expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated average of z coordinate of gyroscope sensed angular rate.voidgetAvgAngularRateZAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated average of z coordinate of gyroscope sensed angular rate.Gets estimated average of body kinematics.voidgetAvgBodyKinematics(BodyKinematics result) Gets estimated average of body kinematics.Gets estimated average of accelerometer sensed specific force as a measurement triad.voidGets estimated average of accelerometer sensed specific force as a measurement triad.doubleGets average accelerometer noise PSD (Power Spectral Density) among x,y,z components expressed as (m^2/s^-3).doubleGets norm of estimated average acceleration expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets norm of estimated average acceleration within current window.voidgetAvgSpecificForceNormAsMeasurement(com.irurueta.units.Acceleration result) Gets norm of estimated average acceleration.doubleGets estimated average of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated average of x coordinate of accelerometer sensed specific force.voidgetAvgSpecificForceXAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated average of x coordinate of accelerometer sensed specific force.doubleGets estimated average of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated average of y coordinate of accelerometer sensed specific force.voidgetAvgSpecificForceYAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated average of y coordinate of accelerometer sensed specific force.doubleGets estimated average of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated average of z coordinate of accelerometer sensed specific force.voidgetAvgSpecificForceZAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated average of z coordinate of accelerometer sensed specific force.doubleGets 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.booleangetLastBodyKinematics(BodyKinematics result) Gets last provided body kinematics.Gets listener to handle events raised by this estimator.intGets number of samples that have been processed so far.doubleGets norm of noise root PSD (Power Spectral Density) among x,y,z components expressed as (m * s^-1.5).doubleGets accelerometer noise PSD (Power Spectral Density) on x axis expressed in (m^2 * s^-3).doubleGets accelerometer noise PSD (Power Spectral Density) on y axis expressed in (m^2 * s^-3).doubleGets accelerometer noise PSD (Power Spectral Density) on z axis expressed in (m^2 * s^-3).doubleGets accelerometer noise root PSD (Power Spectral Density) on x axis expressed in (m * s^-1.5).doubleGets accelerometer noise root PSD (Power Spectral Density) on y axis expressed in (m * s^-1.5).doubleGets accelerometer noise root PSD (Power Spectral Density) on z axis expressed in (m * s^-1.5).doubleGets estimated standard deviation of x coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated standard deviation of x coordinate of gyroscope.voidgetStandardDeviationAngularRateXAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of x coordinate of gyroscope.doubleGets estimated standard deviation of y coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated standard deviation of y coordinate of gyroscope.voidgetStandardDeviationAngularRateYAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of y coordinate of gyroscope.doubleGets estimated standard deviation of z coordinate of gyroscope expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets estimated standard deviation of z coordinate of gyroscope.voidgetStandardDeviationAngularRateZAsMeasurement(com.irurueta.units.AngularSpeed result) Gets estimated standard deviation of z coordinate of gyroscope.doubleGets norm of estimated standard deviation of gyroscope measurements expressed in radians per second (rad/s).com.irurueta.units.AngularSpeedGets norm of estimated standard deviation of gyroscope measurements.voidgetStandardDeviationAngularSpeedNormAsMeasurement(com.irurueta.units.AngularSpeed result) Gets norm of estimated standard deviation of gyroscope measurements.Gets estimated standard deviation triad of angular speed measurements.voidGets estimated standard deviation triad of angular speed measurements.Gets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.voidGets estimated standard deviations of accelerometer and gyroscope components as a body kinematics instance.doubleGets norm of estimated standard deviation of accelerometer measurements expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets norm of estimated standard deviation of accelerometer measurements.voidgetStandardDeviationSpecificForceNormAsMeasurement(com.irurueta.units.Acceleration result) Gets norm of estimated standard deviation of accelerometer measurements.Gets estimated standard deviation triad of accelerometer measurements.voidGets estimated standard deviation triad of accelerometer measurements.doubleGets estimated standard deviation of x coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated standard deviation of x coordinate of accelerometer sensed specific force.voidgetStandardDeviationSpecificForceXAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated standard deviation of x coordinate of accelerometer sensed specific force.doubleGets estimated standard deviation of y coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated standard deviation of y coordinate of accelerometer sensed specific force.voidgetStandardDeviationSpecificForceYAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated standard deviation of y coordinate of accelerometer sensed specific force.doubleGets estimated standard deviation of z coordinate of accelerometer sensed specific force expressed in meters per squared second (m/s^2).com.irurueta.units.AccelerationGets estimated standard deviation of z coordinate of accelerometer sensed specific force.voidgetStandardDeviationSpecificForceZAsMeasurement(com.irurueta.units.Acceleration result) Gets estimated standard deviation of z coordinate of accelerometer sensed specific force.doubleGets time interval between body kinematics samples expressed in seconds (s).com.irurueta.units.TimeGets time interval between body kinematics samples.voidgetTimeIntervalAsTime(com.irurueta.units.Time result) Gets time interval between body kinematics samples.doubleGets estimated variance of x coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).doubleGets estimated variance of y coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).doubleGets estimated variance of z coordinate of gyroscope sensed angular rate expressed in (rad^2/s^2).doubleGets estimated variance of x coordinate of accelerometer sensed specific force expressed in (m^2/s^4).doubleGets estimated variance of y coordinate of accelerometer sensed specific force expressed in (m^2/s^4).doubleGets estimated variance of z coordinate of accelerometer sensed specific force expressed in (m^2/s^4).booleanIndicates whether estimator is currently running or not.booleanreset()Resets current estimator.voidSets listener to handle events raised by this estimator.voidsetTimeInterval(double timeInterval) Sets time interval between body kinematics samples expressed in seconds (s).voidsetTimeInterval(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:
getAccelerometerBaseNoiseLevelRootPsdin 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:
getGyroscopeBaseNoiseLevelRootPsdin interfaceGyroscopeNoiseRootPsdSource- Returns:
- gyroscope base noise level root PSD.
-