GyroscopeInternalCalibratorBuilder

Builds a gyroscope calibrator to be used internally by other calibrators.

Constructors

Link copied to clipboard
constructor(measurements: List<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>>, robustPreliminarySubsetSize: Int, minimumRequiredMeasurements: Int, robustMethod: RobustEstimatorMethod? = null, robustConfidence: Double = StaticIntervalGyroscopeCalibrator.ROBUST_DEFAULT_CONFIDENCE, robustMaxIterations: Int = StaticIntervalGyroscopeCalibrator.ROBUST_DEFAULT_MAX_ITERATIONS, robustThreshold: Double? = null, robustThresholdFactor: Double = StaticIntervalGyroscopeCalibrator.DEFAULT_ROBUST_THRESHOLD_FACTOR, robustStopThresholdFactor: Double = StaticIntervalGyroscopeCalibrator.DEFAULT_ROBUST_STOP_THRESHOLD_FACTOR, isGroundTruthInitialBias: Boolean = false, isCommonAxisUsed: Boolean = false, initialBiasX: Double? = null, initialBiasY: Double? = null, initialBiasZ: Double? = null, initialSx: Double = 0.0, initialSy: Double = 0.0, initialSz: Double = 0.0, initialMxy: Double = 0.0, initialMxz: Double = 0.0, initialMyx: Double = 0.0, initialMyz: Double = 0.0, initialMzx: Double = 0.0, initialMzy: Double = 0.0, isGDependentCrossBiasesEstimated: Boolean = false, gyroscopeInitialGg: Matrix = Matrix(BodyKinematics.COMPONENTS, BodyKinematics.COMPONENTS), accelerometerBiasX: Double? = null, accelerometerBiasY: Double? = null, accelerometerBiasZ: Double? = null, accelerometerSx: Double = 0.0, accelerometerSy: Double = 0.0, accelerometerSz: Double = 0.0, accelerometerMxy: Double = 0.0, accelerometerMxz: Double = 0.0, accelerometerMyx: Double = 0.0, accelerometerMyz: Double = 0.0, accelerometerMzx: Double = 0.0, accelerometerMzy: Double = 0.0, baseNoiseLevel: Double? = null, qualityScoreMapper: QualityScoreMapper<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>> = DefaultGyroscopeQualityScoreMapper())

Constructor.

Properties

Link copied to clipboard

x-coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2).

Link copied to clipboard

y-coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2).

Link copied to clipboard

z-coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2).

Link copied to clipboard

accelerometer x-y cross coupling error.

Link copied to clipboard

accelerometer x-z cross coupling error.

Link copied to clipboard

accelerometer y-x cross coupling error.

Link copied to clipboard

accelerometer y-z cross coupling error.

Link copied to clipboard

accelerometer z-x cross coupling error.

Link copied to clipboard

accelerometer z-y cross coupling error.

Link copied to clipboard

accelerometer initial x scaling factor.

Link copied to clipboard

accelerometer initial y scaling factor.

Link copied to clipboard

accelerometer initial z scaling factor.

Link copied to clipboard

gyroscope measurement base noise level that has been detected during initialization expressed in radians per second (rad/s).

Link copied to clipboard
var gyroscopeInitialGg: Matrix

Gets or sets initial G-dependent cross biases introduced on the gyroscope by the specific forces sensed by the accelerometer.

Link copied to clipboard

x-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s).

Link copied to clipboard

y-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s).

Link copied to clipboard

z-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s).

Link copied to clipboard

initial x-y cross coupling error for gyroscope calibration.

Link copied to clipboard

initial x-z cross coupling error for gyroscope calibration.

Link copied to clipboard

initial y-x cross coupling error for gyroscope calibration.

Link copied to clipboard

initial y-z cross coupling error for gyroscope calibration.

Link copied to clipboard

initial z-x cross coupling error for gyroscope calibration.

Link copied to clipboard

initial z-y cross coupling error for gyroscope calibration.

Link copied to clipboard

initial x scaling factor for gyroscope calibration.

Link copied to clipboard

initial y scaling factor for gyroscope calibration.

Link copied to clipboard

initial z scaling factor for gyroscope calibration.

Link copied to clipboard

Indicates or specifies whether z-axis is assumed to be common for magnetometer and gyroscope.

Link copied to clipboard

Indicates whether G-dependent cross biases are being estimated or not.

Link copied to clipboard

Indicates whether gyroscope initial bias is considered a ground-truth known bias.

Link copied to clipboard
var measurements: List<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>>

List of gyroscope measurements.

Link copied to clipboard

Minimum number of required measurements to start gyroscope calibration.

Link copied to clipboard
var qualityScoreMapper: QualityScoreMapper<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>>

mapper to convert collected gyroscope measurements into quality scores, based on the amount of standard deviation (the larger the variability, the worse the score will be).

Link copied to clipboard

Confidence of estimated gyroscope calibration result expressed as a value between 0.0 and 1.0. By default 99% of confidence is used, which indicates that with a probability of 99% estimation will be accurate because chosen sub-samples will be inliers (in other terms, outliers will be correctly discarded). This property is only taken into account if a not-null robustMethod is specified.

Link copied to clipboard

Maximum number of iterations to attempt to find a robust gyroscope calibration solution. By default this is 5000. This property is only taken into account if a not-null robustMethod is specified.

Link copied to clipboard
var robustMethod: RobustEstimatorMethod?

Indicates robust method used to solve gyroscope calibration.

Link copied to clipboard

Size of preliminary subsets picked while finding a robust gyroscope calibration solution. This properly is only taken into account if a not-null robustMethod is specified.

Link copied to clipboard

Additional factor to be taken into account for robust methods based on LMedS or PROMedS, where factor is not directly related to LMSE, but to a smaller value. This only applies to gyroscope calibration.

Link copied to clipboard

Threshold to be used to determine whether a measurement is considered an outlier by robust gyroscope calibration algorithms or not. Threshold varies depending on chosen robustMethod. By default, if null is provided, the estimated baseNoiseLevel will be used to determine a suitable threshold. Otherwise, if a value is provided, such value will be used instead. This properly is only taken into account if a not-null robustMethod is specified.

Link copied to clipboard

Factor to be used respect estimated gyroscope base noise level to consider a measurement an outlier when using robust calibration methods. By default this is 3.0 times baseNoiseLevel, which considering the noise level as the standard deviation of a Gaussian distribution, should account for 99% of the cases. Any measurement having an error greater than that in the estimated solution, will be considered an outlier and be discarded.

Functions

Link copied to clipboard
fun build(): GyroscopeNonLinearCalibrator

Builds an internal gyroscope calibrator based on all provided parameters.