GyroscopeInternalCalibratorBuilder

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.

Parameters

measurements

List of gyroscope measurements.

robustPreliminarySubsetSize

Size of preliminary subsets picked while finding a robust gyroscope calibration solution.

minimumRequiredMeasurements

Minimum number of required measurements to start gyroscope calibration.

robustMethod

Indicates robust method used to solve gyroscope calibration.

robustConfidence

Confidence of estimated gyroscope calibration result expressed as a value between 0.0 and 1.0.

robustMaxIterations

Maximum number of iterations to attempt to find a robust gyroscope calibration solution. By default this is 5000.

robustThreshold

Threshold to be used to determine whether a measurement is considered an outlier by robust gyroscope calibration algorithms or not.

robustThresholdFactor

Factor to be used respect estimated gyroscope base noise level to consider a measurement an outlier when using robust calibration methods.

robustStopThresholdFactor

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.

isGroundTruthInitialBias

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

isCommonAxisUsed

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

initialBiasX

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

initialBiasY

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

initialBiasZ

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

initialSx

initial x scaling factor for gyroscope calibration.

initialSy

initial y scaling factor for gyroscope calibration.

initialSz

initial z scaling factor for gyroscope calibration.

initialMxy

initial x-y cross coupling error for gyroscope calibration.

initialMxz

initial x-z cross coupling error for gyroscope calibration.

initialMyx

initial y-x cross coupling error for gyroscope calibration.

initialMyz

initial y-z cross coupling error for gyroscope calibration.

initialMzx

initial z-x cross coupling error for gyroscope calibration.

initialMzy

initial z-y cross coupling error for gyroscope calibration.

isGDependentCrossBiasesEstimated

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

gyroscopeInitialGg

Initial G-dependent cross biases introduced on the gyroscope by the specific forces sensed by the accelerometer.

accelerometerBiasX

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

accelerometerBiasY

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

accelerometerBiasZ

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

accelerometerSx

accelerometer initial x scaling factor.

accelerometerSy

accelerometer initial y scaling factor.

accelerometerSz

accelerometer initial z scaling factor.

accelerometerMxy

accelerometer x-y cross coupling error.

accelerometerMxz

accelerometer x-z cross coupling error.

accelerometerMyx

accelerometer y-x cross coupling error.

accelerometerMyz

accelerometer y-z cross coupling error.

accelerometerMzx

accelerometer z-x cross coupling error.

accelerometerMzy

accelerometer z-y cross coupling error.

baseNoiseLevel

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

qualityScoreMapper

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).

Throws

if any of provided parameters is invalid.