StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2

Collects accelerometer, gyroscope and magnetometer measurements by detecting periods when device remains static or dynamic using the accelerometer and magnetometer, using such periods to determine orientation based on gravity vector at the end of static intervals, and integrating values of gyroscope measurements during dynamic ones, and using static periods to obtain averaged accelerometer and magnetometer values. This calibrator converts sensor measurements from device ENU coordinates to local plane NED coordinates. Thus, all values referring to a given x-y-z coordinates refers to local plane NED system of coordinates.

Constructors

constructor(context: Context, location: Location? = null, timestamp: Date = Date(), worldMagneticModel: WorldMagneticModel? = null, accelerometerSensorType: AccelerometerSensorType = AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, gyroscopeSensorType: GyroscopeSensorType = GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, magnetometerSensorType: MagnetometerSensorType = MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, accelerometerSensorDelay: SensorDelay = SensorDelay.FASTEST, gyroscopeSensorDelay: SensorDelay = SensorDelay.FASTEST, magnetometerSensorDelay: SensorDelay = SensorDelay.FASTEST, solveCalibrationWhenEnoughMeasurements: Boolean = true, isAccelerometerGroundTruthInitialBias: Boolean = false, isGyroscopeGroundTruthInitialBias: Boolean = false, isMagnetometerGroundTruthInitialHardIron: Boolean = false, initializationStartedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnInitializationStartedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, initializationCompletedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnInitializationCompletedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, errorListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnErrorListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, staticIntervalDetectedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnStaticIntervalDetectedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, dynamicIntervalDetectedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnDynamicIntervalDetectedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, staticIntervalSkippedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnStaticIntervalSkippedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, dynamicIntervalSkippedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnDynamicIntervalSkippedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, generatedAccelerometerMeasurementListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnGeneratedAccelerometerMeasurementListener? = null, generatedGyroscopeMeasurementListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnGeneratedGyroscopeMeasurementListener? = null, generatedMagnetometerMeasurementListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnGeneratedMagnetometerMeasurementListener? = null, readyToSolveCalibrationListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnReadyToSolveCalibrationListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, calibrationSolvingStartedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnCalibrationSolvingStartedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, calibrationCompletedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnCalibrationCompletedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, stoppedListener: StaticIntervalWithMeasurementGeneratorCalibrator.OnStoppedListener<StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2>? = null, unreliableGravityNormEstimationListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnUnreliableGravityEstimationListener? = null, initialAccelerometerBiasAvailableListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnInitialAccelerometerBiasAvailableListener? = null, initialGyroscopeBiasAvailableListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnInitialGyroscopeBiasAvailableListener? = null, initialMagnetometerHardIronAvailableListener: StaticIntervalAccelerometerGyroscopeAndMagnetometerCalibrator2.OnInitialMagnetometerHardIronAvailableListener? = null, accuracyChangedListener: SensorCollector.OnAccuracyChangedListener? = null, accelerometerQualityScoreMapper: QualityScoreMapper<StandardDeviationBodyKinematics> = DefaultAccelerometerQualityScoreMapper(), gyroscopeQualityScoreMapper: QualityScoreMapper<BodyKinematicsSequence<StandardDeviationTimedBodyKinematics>> = DefaultGyroscopeQualityScoreMapper(), magnetometerQualityScoreMapper: QualityScoreMapper<StandardDeviationBodyMagneticFluxDensity> = DefaultMagnetometerQualityScoreMapper())

Constructor.

Types

Interface to notify when a new accelerometer calibration measurement is generated.

Link copied to clipboard

Interface to notify when a new gyroscope calibration measurement is generated.

Interface to notify when a new magnetometer calibration measurement is generated.

Interface to notify when initial accelerometer bias guess is available. If isAccelerometerGroundTruthInitialBias is true, then initial bias is considered the true value after solving calibration, otherwise, initial bias is considered only an initial guess.

Link copied to clipboard

Interface to notify when initial gyroscope bias guess is available. If isGyroscopeGroundTruthInitialBias is true, then initial bias is considered the true value after solving calibration, otherwise, initial bias is considered only an initial guess.

Interface to notify when initial hard iron guess is available. If isMagnetometerGroundTruthInitialHardIron is true, then initial hard iron is considered the true value after solving calibration, otherwise, initial hard iron is considered only an initial guess.

Link copied to clipboard

Interface to notify when gravity norm estimation is unreliable. This only happens if no location is provided and gravity sensor becomes unreliable.

Properties

Link copied to clipboard
open override val accelerometerAverageTimeInterval: <Error class: unknown class>

Gets average time interval between accelerometer samples expressed in seconds (s). This is only available once the internal generator completes initialization.

Link copied to clipboard
open override val accelerometerAverageTimeIntervalAsTime: <Error class: unknown class>

Gets average time interval between accelerometer samples. This is only available once the internal generator completes initialization.

Link copied to clipboard
open override val accelerometerBaseNoiseLevel: <Error class: unknown class>

Gets accelerometer measurement base noise level that has been detected during initialization expressed in meters per squared second (m/s^2). This is only available once internal generator completes initialization.

Link copied to clipboard
open override val accelerometerBaseNoiseLevelAsMeasurement: <Error class: unknown class>

Gets accelerometer measurement base noise level that has been detected during initialization. This is only available once internal generator completes initialization.

Link copied to clipboard
open override val accelerometerBaseNoiseLevelPsd: <Error class: unknown class>

Gets measurement base noise level PSD (Power Spectral Density) expressed in (m^2 * s^-3). This is only available once internal generator completes initialization.

Link copied to clipboard
open override val accelerometerBaseNoiseLevelRootPsd: <Error class: unknown class>

Gets measurement base noise level root PSD (Power Spectral Density) expressed in (m * s^-1.5). This is only available once internal generator completes initialization.

Link copied to clipboard
val accelerometerInitialBiasAsTriad: <Error class: unknown class>

Gets initial bias coordinate used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the values used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasAsTriad will be equal to this value, otherwise estimatedAccelerometerBiasAsTriad will be the estimated bias after solving calibration, which will differ from estimatedAccelerometerBiasAsTriad.

Link copied to clipboard
val accelerometerInitialBiasX: <Error class: unknown class>

Gets x-coordinate of accelerometer bias used as an initial guess and expressed in meters per squared second (m/s^2). This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasX will be equal to this value, otherwise estimatedAccelerometerBiasX will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasX.

Link copied to clipboard
val accelerometerInitialBiasXAsMeasurement: <Error class: unknown class>

Gets accelerometer X-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasX will be equal to this value, otherwise estimatedAccelerometerBiasX will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasX.

Link copied to clipboard
val accelerometerInitialBiasY: <Error class: unknown class>

Gets y-coordinate of accelerometer bias used as an initial guess and expressed in meters per squared second (m/s^2). This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasY will be equal to this value, otherwise estimatedAccelerometerBiasY will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasY.

Link copied to clipboard
val accelerometerInitialBiasYAsMeasurement: <Error class: unknown class>

Gets accelerometer Y-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasY will be equal to this value, otherwise estimatedAccelerometerBiasY will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasY.

Link copied to clipboard
val accelerometerInitialBiasZ: <Error class: unknown class>

Gets z-coordinate of accelerometer bias used as an initial guess and expressed in meters per squared second (m/s^2). This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasZ will be equal to this value, otherwise estimatedAccelerometerBiasZ will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasZ.

Link copied to clipboard
val accelerometerInitialBiasZAsMeasurement: <Error class: unknown class>

Gets accelerometer Z-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasZ will be equal to this value, otherwise estimatedAccelerometerBiasZ will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasZ.

Link copied to clipboard
var accelerometerInitialMa: <Error class: unknown class>

Gets or sets initial accelerometer scaling factors and cross coupling errors matrix.

Link copied to clipboard
var accelerometerInitialMxy: <Error class: unknown class>

Gets or sets initial x-y cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialMxz: <Error class: unknown class>

Gets or sets initial x-z cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialMyx: <Error class: unknown class>

Gets or sets initial y-x cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialMyz: <Error class: unknown class>

Gets or sets initial y-z cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialMzx: <Error class: unknown class>

Gets or sets initial z-x cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialMzy: <Error class: unknown class>

Gets or sets initial z-y cross coupling error for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialSx: <Error class: unknown class>

Gets or sets initial x scaling factor for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialSy: <Error class: unknown class>

Gets or sets initial y scaling factor for accelerometer calibration.

Link copied to clipboard
var accelerometerInitialSz: <Error class: unknown class>

Gets or sets initial z scaling factor for accelerometer calibration.

Link copied to clipboard
val accelerometerMeasurements: <Error class: unknown class>

List of accelerometer measurements that have been collected so far to be used for accelerometer calibration. Items in return list can be modified if needed, but beware that this might have consequences on solved calibration result.

Link copied to clipboard
val accelerometerQualityScoreMapper: QualityScoreMapper<StandardDeviationBodyKinematics>

mapper to convert collected accelerometer 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
val accelerometerResultUnreliable: <Error class: unknown class>

Indicates if accelerometer result is unreliable. This can happen if no location is provided and gravity estimation becomes unreliable. When this happens result of calibration should probably be discarded.

Link copied to clipboard
var accelerometerRobustConfidence: <Error class: unknown class>

Confidence of estimated accelerometer 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 accelerometerRobustMethod is specified.

Link copied to clipboard
var accelerometerRobustMaxIterations: <Error class: unknown class>

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

Link copied to clipboard
var accelerometerRobustMethod: <Error class: unknown class>

Indicates robust method used to solve accelerometer calibration. If null, no robust method is used at all, and instead an LMSE solution is found.

Link copied to clipboard
var accelerometerRobustPreliminarySubsetSize: <Error class: unknown class>

Size of preliminary subsets picked while finding a robust accelerometer calibration solution. By default this is the minimumRequiredAccelerometerMeasurements, which results in the smallest number of iterations to complete robust algorithms. Larger values can be used to ensure that error in each preliminary solution is minimized among more measurements (thus, softening the effect of outliers), but this comes at the expense of larger number of iterations. This properly is only taken into account if a not-null accelerometerRobustMethod is specified.

Link copied to clipboard
var accelerometerRobustStopThresholdFactor: <Error class: unknown class>

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 accelerometer calibration.

Link copied to clipboard
var accelerometerRobustThreshold: <Error class: unknown class>

Threshold to be used to determine whether a measurement is considered an outlier by robust accelerometer calibration algorithms or not. Threshold varies depending on chosen accelerometerRobustMethod. By default, if null is provided, the estimated accelerometerBaseNoiseLevel 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 accelerometerRobustMethod is specified.

Link copied to clipboard
var accelerometerRobustThresholdFactor: <Error class: unknown class>

Factor to be used respect estimated accelerometer base noise level to consider a measurement an outlier when using robust calibration methods. By default this is 3.0 times accelerometerBaseNoiseLevel, 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.

Link copied to clipboard
open override val accelerometerSensor: <Error class: unknown class>

Gets accelerometer sensor being used for interval detection. This can be used to obtain additional information about the sensor.

Link copied to clipboard

Delay of accelerometer sensor between samples.

Link copied to clipboard

One of the supported accelerometer sensor types.

open override val accelerometerTimeIntervalStandardDeviation: <Error class: unknown class>

Gets estimated standard deviation of time interval between accelerometer measurements expressed in seconds (s). This is only available once internal generator completes initialization.

open override val accelerometerTimeIntervalStandardDeviationAsTime: <Error class: unknown class>

Gets estimated standard deviation of time interval between accelerometer measurements. This is only available once internal generator completes initialization.

Link copied to clipboard
open override val accelerometerTimeIntervalVariance: <Error class: unknown class>

Gets estimated variance of time interval between accelerometer measurements expressed in squared seconds (s^2). This is only available once internal generator completes initialization.

Link copied to clipboard

listener to notify when sensor accuracy changes.

Link copied to clipboard
val averageGravityNorm: <Error class: unknown class>

Gets estimated average of gravity norm expressed in meters per squared second (m/s^2). This is only available if no location is provided and initialization has completed.

Link copied to clipboard
val averageGravityNormAsMeasurement: <Error class: unknown class>

Gets estimated average gravity norm as Acceleration. This is only available if no location is provided and initialization has completed.

Link copied to clipboard
open override var baseNoiseLevelAbsoluteThreshold: <Error class: unknown class>

Gets or sets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes. This threshold is expressed in meters per squared second (m/s^2).

open override var baseNoiseLevelAbsoluteThresholdAsMeasurement: <Error class: unknown class>

Gets or sets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes.

Link copied to clipboard
open override val context: Context

Android context.

Link copied to clipboard
val estimatedAccelerometerBiasAsTriad: <Error class: unknown class>

Gets estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasAsTriad.

val estimatedAccelerometerBiasStandardDeviationNorm: <Error class: unknown class>

Gets norm of estimated standard deviation of accelerometer bias expressed in meters per squared second (m/s^2), or null if not available.

Link copied to clipboard
val estimatedAccelerometerBiasX: <Error class: unknown class>

Gets x coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2). If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasX.

Link copied to clipboard
val estimatedAccelerometerBiasXAsMeasurement: <Error class: unknown class>

Gets x coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasX.

Link copied to clipboard
val estimatedAccelerometerBiasY: <Error class: unknown class>

Gets y coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2). If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasY.

Link copied to clipboard
val estimatedAccelerometerBiasYAsMeasurement: <Error class: unknown class>

Gets y coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasY.

Link copied to clipboard
val estimatedAccelerometerBiasZ: <Error class: unknown class>

Gets z coordinate of estimated accelerometer bias expressed in meters per squared second (m/s^2). If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasZ.

Link copied to clipboard
val estimatedAccelerometerBiasZAsMeasurement: <Error class: unknown class>

Gets z coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasZ.

Link copied to clipboard
val estimatedAccelerometerChiSq: <Error class: unknown class>

Gets estimated chi square value for accelerometer or null if not available.

Link copied to clipboard
val estimatedAccelerometerCovariance: <Error class: unknown class>

Gets estimated covariance matrix for estimated accelerometer parameters or null if not available. When bias is known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): sx, sy, sz, mxy, mxz, myz, mzx, mzy. When bias is not known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): bx, by, bz, sx, sy, sz, mxy, mxz, myx, myz, mzx, mzy, where bx, by, bz corresponds to bias or hard iron coordinates.

Link copied to clipboard
val estimatedAccelerometerMa: <Error class: unknown class>

Gets estimated accelerometer scale factors and cross coupling errors, or null if not available. This is the product of matrix Ta containing cross coupling errors and Ka containing scaling factors. So tat:

Link copied to clipboard
val estimatedAccelerometerMse: <Error class: unknown class>

Gets estimated mean square error respect to provided accelerometer measurements or null if not available.

Link copied to clipboard
val estimatedAccelerometerMxy: <Error class: unknown class>

Gets estimated accelerometer x-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerMxz: <Error class: unknown class>

Gets estimated accelerometer x-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerMyx: <Error class: unknown class>

Gets estimated accelerometer y-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerMyz: <Error class: unknown class>

Gets estimated accelerometer y-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerMzx: <Error class: unknown class>

Gets estimated accelerometer z-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerMzy: <Error class: unknown class>

Gets estimated accelerometer z-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedAccelerometerSx: <Error class: unknown class>

Gets estimated accelerometer x-axis scale factor or null if not available.

Link copied to clipboard
val estimatedAccelerometerSy: <Error class: unknown class>

Gets estimated accelerometer y-axis scale factor or null if not available.

Link copied to clipboard
val estimatedAccelerometerSz: <Error class: unknown class>

Gets estimated accelerometer z-axis scale factor or null if not available.

Link copied to clipboard
val estimatedGyroscopeBiasAsTriad: <Error class: unknown class>

Gets estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasAsTriad.

val estimatedGyroscopeBiasStandardDeviationNorm: <Error class: unknown class>

Gets norm of estimated standard deviation of accelerometer bias expressed in radians per second (rad/s), or null if not available.

Link copied to clipboard
val estimatedGyroscopeBiasX: <Error class: unknown class>

Gets x coordinate of estimated gyroscope bias expressed in radians per second (rad/s). If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasX.

Link copied to clipboard
val estimatedGyroscopeBiasXAsMeasurement: <Error class: unknown class>

Gets x coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasX.

Link copied to clipboard
val estimatedGyroscopeBiasY: <Error class: unknown class>

Gets y coordinate of estimated gyroscope bias expressed in radians per second (rad/s). If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasY.

Link copied to clipboard
val estimatedGyroscopeBiasYAsMeasurement: <Error class: unknown class>

Gets y coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasY.

Link copied to clipboard
val estimatedGyroscopeBiasZ: <Error class: unknown class>

Gets z coordinate of estimated gyroscope bias expressed in radians per second (rad/s). If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasZ.

Link copied to clipboard
val estimatedGyroscopeBiasZAsMeasurement: <Error class: unknown class>

Gets z coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasZ.

Link copied to clipboard
val estimatedGyroscopeChiSq: <Error class: unknown class>

Gets estimated chi square value for gyroscope or null if not available.

Link copied to clipboard
val estimatedGyroscopeCovariance: <Error class: unknown class>

Gets estimated covariance matrix for estimated gyroscope parameters or null if not available. When bias is known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): sx, sy, sz, mxy, mxz, myz, mzx, mzy. When bias is not known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): bx, by, bz, sx, sy, sz, mxy, mxz, myx, myz, mzx, mzy, where bx, by, bz corresponds to bias or hard iron coordinates.

Link copied to clipboard
val estimatedGyroscopeGg: <Error class: unknown class>

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

Link copied to clipboard
val estimatedGyroscopeMg: <Error class: unknown class>

Gets estimated gyroscope scale factors and cross coupling errors, or null if not available. This is the product of matrix Tg containing cross coupling errors and Kg containing scaling factors. So tat:

Link copied to clipboard
val estimatedGyroscopeMse: <Error class: unknown class>

Gets estimated mean square error respect to provided gyroscope measurements or null if not available.

Link copied to clipboard
val estimatedGyroscopeMxy: <Error class: unknown class>

Gets estimated gyroscope x-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeMxz: <Error class: unknown class>

Gets estimated gyroscope x-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeMyx: <Error class: unknown class>

Gets estimated gyroscope y-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeMyz: <Error class: unknown class>

Gets estimated gyroscope y-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeMzx: <Error class: unknown class>

Gets estimated gyroscope z-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeMzy: <Error class: unknown class>

Gets estimated gyroscope z-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedGyroscopeSx: <Error class: unknown class>

Gets estimated gyroscope x-axis scale factor or null if not available.

Link copied to clipboard
val estimatedGyroscopeSy: <Error class: unknown class>

Gets estimated gyroscope y-axis scale factor or null if not available.

Link copied to clipboard
val estimatedGyroscopeSz: <Error class: unknown class>

Gets estimated gyroscope z-axis scale factor or null if not available.

Link copied to clipboard
val estimatedMagnetometerChiSq: <Error class: unknown class>

Gets estimated chi square value for magnetometer or null if not available.

Link copied to clipboard
val estimatedMagnetometerCovariance: <Error class: unknown class>

Gets estimated covariance matrix for estimated magnetometer parameters or null if not available. When hard iron is known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): sx, sy, sz, mxy, mxz, myz, mzx, mzy. When hard iron is not known, diagonal elements of the covariance matrix contains variance for the following parameters (following indicated order): bx, by, bz, sx, sy, sz, mxy, mxz, myx, myz, mzx, mzy.

Link copied to clipboard
val estimatedMagnetometerHardIronAsTriad: <Error class: unknown class>

Gets estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronAsTriad.

Link copied to clipboard
val estimatedMagnetometerHardIronX: <Error class: unknown class>

Gets x coordinate of estimated magnetometer hard iron expressed in Teslas (T). If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronX, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronX.

val estimatedMagnetometerHardIronXAsMeasurement: <Error class: unknown class>

Gets x coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronXAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronXAsMeasurement.

Link copied to clipboard
val estimatedMagnetometerHardIronY: <Error class: unknown class>

Gets y coordinate of estimated magnetometer hard iron expressed in Teslas (T). If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronY, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronY.

val estimatedMagnetometerHardIronYAsMeasurement: <Error class: unknown class>

Gets y coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronYAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronYAsMeasurement.

Link copied to clipboard
val estimatedMagnetometerHardIronZ: <Error class: unknown class>

Gets z coordinate of estimated magnetometer hard iron expressed in Teslas (T). If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronZ.

val estimatedMagnetometerHardIronZAsMeasurement: <Error class: unknown class>

Gets z coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronZAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronZAsMeasurement.

Link copied to clipboard
val estimatedMagnetometerMm: <Error class: unknown class>

Gets estimated magnetometer soft-iron matrix containing scale factors and cross coupling errors., or null if not available. This is the product of matrix Tm containing cross coupling errors and Km containing scaling factors. So tat:

Link copied to clipboard
val estimatedMagnetometerMse: <Error class: unknown class>

Gets estimated mean square error respect to provided magnetometer measurements or null if not available.

Link copied to clipboard
val estimatedMagnetometerMxy: <Error class: unknown class>

Gets estimated magnetometer x-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerMxz: <Error class: unknown class>

Gets estimated magnetometer x-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerMyx: <Error class: unknown class>

Gets estimated magnetometer y-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerMyz: <Error class: unknown class>

Gets estimated magnetometer y-z cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerMzx: <Error class: unknown class>

Gets estimated magnetometer z-x cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerMzy: <Error class: unknown class>

Gets estimated magnetometer z-y cross-coupling error or null if not available.

Link copied to clipboard
val estimatedMagnetometerSx: <Error class: unknown class>

Gets estimated magnetometer x-axis scale factor or null if not available.

Link copied to clipboard
val estimatedMagnetometerSy: <Error class: unknown class>

Gets estimated magnetometer y-axis scale factor or null if not available.

Link copied to clipboard
val estimatedMagnetometerSz: <Error class: unknown class>

Gets estimated magnetometer z-axis scale factor or null if not available.

Link copied to clipboard
val gravityNorm: <Error class: unknown class>

Contains gravity norm (either obtained by the gravity sensor, or determined by current location using WGS84 Earth model). Expressed in meters per squared second (m/s^2).

Link copied to clipboard
val gravityNormStandardDeviation: <Error class: unknown class>

Gets estimated standard deviation of gravity norm expressed in meters per squared second (m/s^2). This is only available if no location is provided and initialization has completed.

val gravityNormStandardDeviationAsMeasurement: <Error class: unknown class>

Gets estimated standard deviation of gravity norm as Acceleration. This is only available if no location is provided and initialization has completed.

Link copied to clipboard
val gravityNormVariance: <Error class: unknown class>

Gets estimated variance of gravity norm expressed in (m^2/s^4). This is only available if no location is provided and initialization has completed.

Link copied to clipboard
val gravityPsd: <Error class: unknown class>

Gets PSD (Power Spectral Density) of gravity norm expressed in (m^2 * s^-3). This is only available if no location is provided and initialization has completed.

Link copied to clipboard
val gravityRootPsd: <Error class: unknown class>

Gets root PSD (Power Spectral Density) of gravity norm expressed in (m * s^-1.5). This is only available if no location is provided and initialization has completed.

Link copied to clipboard
val gravitySensor: <Error class: unknown class>

Gets gravity sensor being used for gravity estimation. This can be used to obtain additional information about the sensor.

Link copied to clipboard
val gyroscopeBaseNoiseLevel: <Error class: unknown class>

Gets gyroscope measurement base noise level that has been detected during initialization expressed in radians per second (rad/s). This is only available once generator completes initialization.

Link copied to clipboard
val gyroscopeBaseNoiseLevelAsMeasurement: <Error class: unknown class>

Gets gyroscope measurement base noise level that has been detected during initialization. This is only available once generator completes initialization.

Link copied to clipboard
val gyroscopeInitialBiasAsTriad: <Error class: unknown class>

Gets gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasAsTriad will be equal to this value, otherwise estimatedGyroscopeBiasAsTriad will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasAsTriad.

Link copied to clipboard
val gyroscopeInitialBiasX: <Error class: unknown class>

Gets x-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s). This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasX will be equal to this value, otherwise estimatedGyroscopeBiasX will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasX.

Link copied to clipboard
val gyroscopeInitialBiasXAsMeasurement: <Error class: unknown class>

Gets x-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasX will be equal to this value, otherwise estimatedGyroscopeBiasX will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasX.

Link copied to clipboard
val gyroscopeInitialBiasY: <Error class: unknown class>

Gets y-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s). This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasY will be equal to this value, otherwise estimatedGyroscopeBiasY will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasY.

Link copied to clipboard
val gyroscopeInitialBiasYAsMeasurement: <Error class: unknown class>

Gets y-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasY will be equal to this value, otherwise estimatedGyroscopeBiasY will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasY.

Link copied to clipboard
val gyroscopeInitialBiasZ: <Error class: unknown class>

Gets z-coordinate of gyroscope bias used as an initial guess and expressed in radians per second (rad/s). This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasZ will be equal to this value, otherwise estimatedGyroscopeBiasZ will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasZ.

Link copied to clipboard
val gyroscopeInitialBiasZAsMeasurement: <Error class: unknown class>

Gets z-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasZ will be equal to this value, otherwise estimatedGyroscopeBiasZ will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasZ.

Link copied to clipboard
var gyroscopeInitialGg: <Error class: unknown class>

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

Link copied to clipboard
var gyroscopeInitialMg: <Error class: unknown class>

Gets or sets initial gyroscope scaling factors and cross coupling errors matrix.

Link copied to clipboard
var gyroscopeInitialMxy: <Error class: unknown class>

Gets or sets initial x-y cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialMxz: <Error class: unknown class>

Gets or sets initial x-z cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialMyx: <Error class: unknown class>

Gets or sets initial y-x cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialMyz: <Error class: unknown class>

Gets or sets initial y-z cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialMzx: <Error class: unknown class>

Gets or sets initial z-x cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialMzy: <Error class: unknown class>

Gets or sets initial z-y cross coupling error for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialSx: <Error class: unknown class>

Gets or sets initial x scaling factor for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialSy: <Error class: unknown class>

Gets or sets initial y scaling factor for gyroscope calibration.

Link copied to clipboard
var gyroscopeInitialSz: <Error class: unknown class>

Gets or sets initial z scaling factor for gyroscope calibration.

Link copied to clipboard
val gyroscopeMeasurements: <Error class: unknown class>

List of gyroscope measurements that have been collected so far to be used for gyroscope calibration. Items in return list can be modified if needed, but beware that this might have consequences on solved calibration result.

Link copied to clipboard
val gyroscopeQualityScoreMapper: 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
var gyroscopeRobustConfidence: <Error class: unknown class>

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 gyroscopeRobustMethod is specified.

Link copied to clipboard
var gyroscopeRobustMaxIterations: <Error class: unknown class>

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 gyroscopeRobustMethod is specified.

Link copied to clipboard
var gyroscopeRobustMethod: <Error class: unknown class>

Indicates robust method used to solve gyroscope calibration. If null, no robust method is used at all, and instead an LMSE solution is found.

Link copied to clipboard
var gyroscopeRobustPreliminarySubsetSize: <Error class: unknown class>

Size of preliminary subsets picked while finding a robust gyroscope calibration solution. By default this is the minimumRequiredGyroscopeMeasurements, which results in the smallest number of iterations to complete robust algorithms. Larger values can be used to ensure that error in each preliminary solution is minimized among more measurements (thus, softening the effect of outliers), but this comes at the expense of larger number of iterations. This properly is only taken into account if a not-null gyroscopeRobustMethod is specified.

Link copied to clipboard
var gyroscopeRobustStopThresholdFactor: <Error class: unknown class>

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 accelerometer calibration.

Link copied to clipboard
var gyroscopeRobustThreshold: <Error class: unknown class>

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 gyroscopeRobustMethod. By default, if null is provided, the estimated gyroscopeBaseNoiseLevel 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 gyroscopeRobustMethod is specified.

Link copied to clipboard
var gyroscopeRobustThresholdFactor: <Error class: unknown class>

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 gyroscopeBaseNoiseLevel, 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.

Link copied to clipboard
val gyroscopeSensor: <Error class: unknown class>

Gets gyroscope sensor being used to obtain measurements, or null if not available. This can be used to obtain additional information about the sensor.

Link copied to clipboard

Delay of gyroscope sensor between samples.

Link copied to clipboard

One of the supported gyroscope sensor types.

Link copied to clipboard
val initialMagneticFluxDensityNorm: <Error class: unknown class>

Norm of average magnetic flux density obtained during initialization and expressed in Teslas.

Link copied to clipboard
open override var initialStaticSamples: Int

Gets or sets number of samples to be processed initially by the internal measurement generator, while keeping the sensor static in order to find the base noise level when device is static.

Link copied to clipboard

Gets or sets factor to determine that a sudden movement has occurred during initialization if instantaneous noise level exceeds accumulated noise level by this factor amount. This factor is unit-less.

Link copied to clipboard
var isAccelerometerCommonAxisUsed: <Error class: unknown class>

Indicates or specifies whether z-axis is assumed to be common for magnetometer and gyroscope. When enabled, this eliminates 3 variables from Ma matrix during accelerometer calibration.

Link copied to clipboard
var isAccelerometerGroundTruthInitialBias: <Error class: unknown class>

Indicates whether accelerometer initial bias is considered a ground-truth known bias. When true, estimated biases are exactly equal to initial biases, otherwise initial biases are just an initial guess and estimated ones might differ after solving calibration.

Link copied to clipboard
open override val isDynamicIntervalSkipped: <Error class: unknown class>

Indicates whether last dynamic interval must be skipped.

Link copied to clipboard
var isGDependentCrossBiasesEstimated: <Error class: unknown class>

Indicates or specifies whether G-dependent cross biases are being estimated or not. When enabled, this adds 9 variables from Gg matrix.

Link copied to clipboard
val isGravityNormEstimated: <Error class: unknown class>

Indicates whether gravity norm is estimated during initialization. If location is provided, gravity is not estimated and instead theoretical gravity for provided location is used.

Link copied to clipboard
var isGyroscopeCommonAxisUsed: <Error class: unknown class>

Indicates or specifies whether z-axis is assumed to be common for gyroscope. When enabled, this eliminates 3 variables from Mg matrix during gyroscope calibration.

Link copied to clipboard
var isGyroscopeGroundTruthInitialBias: <Error class: unknown class>

Indicates whether gyroscope initial bias is considered a ground-truth known bias. When true, estimated biases are exactly equal to initial biases, otherwise initial biases are just an initial guess and estimated ones might differ after solving calibration.

Link copied to clipboard
val isInitialMagneticFluxDensityNormMeasured: <Error class: unknown class>

Indicates whether initial magnetic flux density norm is measured or not. If either location or timestamp is missing, magnetic flux density norm is measured, otherwise an estimation is used based on World Magnetic Model.

Link copied to clipboard
var isMagnetometerCommonAxisUsed: <Error class: unknown class>

Indicates or specifies whether z-axis is assumed to be common for magnetometer and gyroscope. When enabled, this eliminates 3 variables from Ma matrix.

Link copied to clipboard
var isMagnetometerGroundTruthInitialHardIron: <Error class: unknown class>

Indicates whether initial hard iron is considered a ground-truth known bias. When true, estimated hard irons are exactly equal to the initial ones, otherwise initial hard irons are just an initial guess and estimated ones might differ after solving calibration.

Link copied to clipboard
val isReadyToSolveAccelerometerCalibration: <Error class: unknown class>

Indicates whether enough measurements have been picked at static intervals so that the accelerometer calibration process can be solved.

Link copied to clipboard

Indicates whether enough measurements have been picked at static or dynamic intervals so that the calibration process can be solved.

Link copied to clipboard
val isReadyToSolveGyroscopeCalibration: <Error class: unknown class>

Indicates whether enough measurements have been picked at dynamic intervals so that the gyroscope calibration process can be solved.

Link copied to clipboard
val isReadyToSolveMagnetometerCalibration: <Error class: unknown class>

Indicates whether enough measurements have been picked at static intervals so that the calibration process can be solved.

Link copied to clipboard
open override val isStaticIntervalSkipped: <Error class: unknown class>

Indicates whether last static interval must be skipped.

Link copied to clipboard

Location of device when running calibration. If location is provided, WGS84 Earth model is used to determine gravity norm at such location, otherwise gravity norm is estimated during initialization by using the gravity sensor of device. Additionally, if both location and timestamp are provided, magnetometer calibration uses World Magnetic Model, otherwise magnetometer calibration uses measured norm of magnetic field.

Link copied to clipboard
val magnetometerAverageTimeInterval: <Error class: unknown class>

Gets average time interval between magnetometer samples expressed in seconds (s). Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Link copied to clipboard
val magnetometerAverageTimeIntervalAsTime: <Error class: unknown class>

Gets average time interval between magnetometer samples. Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Link copied to clipboard
val magnetometerBaseNoiseLevel: <Error class: unknown class>

Gets magnetometer measurement base noise level that has been detected during initialization expressed in Teslas (T). This is only available once generator completes initialization.

var magnetometerBaseNoiseLevelAbsoluteThreshold: <Error class: unknown class>

Gets or sets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes. This threshold is expressed in Teslas (T).

Gets or sets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes.

Link copied to clipboard
val magnetometerBaseNoiseLevelAsMeasurement: <Error class: unknown class>

Gets magnetometer measurement base noise level that has been detected during initialization. This is only available once generator completes initialization.

Link copied to clipboard
val magnetometerBaseNoiseLevelPsd: <Error class: unknown class>

Gets magnetometer measurement base noise level PSD (Power Spectral Density) expressed (T^2 * s). This is only available once initialization is completed.

Link copied to clipboard
val magnetometerBaseNoiseLevelRootPsd: <Error class: unknown class>

Gets magnetometer measurement base noise level root PSD (Power Spectral Density) expressed in (T * s^0.5). This is only available once initialization is completed.

Link copied to clipboard
val magnetometerInitialHardIronAsTriad: <Error class: unknown class>

Gets initial hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronAsTriad will be equal to this value, otherwise estimatedMagnetometerHardIronAsTriad will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronAsTriad.

Link copied to clipboard
val magnetometerInitialHardIronX: <Error class: unknown class>

Gets X-coordinate of hard iron used as an initial guess and expressed in Teslas (T). This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronX will be equal to this value, otherwise estimatedMagnetometerHardIronX will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronX.

val magnetometerInitialHardIronXAsMeasurement: <Error class: unknown class>

Gets X-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronX will be equal to this value, otherwise estimatedMagnetometerHardIronX will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronX.

Link copied to clipboard
val magnetometerInitialHardIronY: <Error class: unknown class>

Gets Y-coordinate of hard iron used as an initial guess and expressed in Teslas (T). This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronY will be equal to this value, otherwise estimatedMagnetometerHardIronY will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronY.

val magnetometerInitialHardIronYAsMeasurement: <Error class: unknown class>

Gets Y-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronY will be equal to this value, otherwise estimatedMagnetometerHardIronY will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronY.

Link copied to clipboard
val magnetometerInitialHardIronZ: <Error class: unknown class>

Gets Y-coordinate of hard iron used as an initial guess and expressed in Teslas (T). This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronZ will be equal to this value, otherwise estimatedMagnetometerHardIronZ will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronZ.

val magnetometerInitialHardIronZAsMeasurement: <Error class: unknown class>

Gets Z-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronZ will be equal to this value, otherwise estimatedMagnetometerHardIronZ will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronZ.

Link copied to clipboard
var magnetometerInitialMm: <Error class: unknown class>

Gets or sets initial magnetometer scaling factors and cross coupling errors matrix.

Link copied to clipboard
var magnetometerInitialMxy: <Error class: unknown class>

Gets or sets initial x-y cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialMxz: <Error class: unknown class>

Gets or sets initial x-z cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialMyx: <Error class: unknown class>

Gets or sets initial y-x cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialMyz: <Error class: unknown class>

Gets or sets initial y-z cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialMzx: <Error class: unknown class>

Gets or sets initial z-x cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialMzy: <Error class: unknown class>

Gets or sets initial z-y cross coupling error for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialSx: <Error class: unknown class>

Gets or sets initial x scaling factor for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialSy: <Error class: unknown class>

Gets or sets initial y scaling factor for magnetometer calibration.

Link copied to clipboard
var magnetometerInitialSz: <Error class: unknown class>

Gets or sets initial z scaling factor for magnetometer calibration.

Link copied to clipboard
val magnetometerMeasurements: <Error class: unknown class>

List of magnetometer measurements that have been collected so far to be used for magnetometer calibration. Items in return list can be modified if needed, but beware that this might have consequences on solved calibration result.

Link copied to clipboard
val magnetometerQualityScoreMapper: QualityScoreMapper<StandardDeviationBodyMagneticFluxDensity>

mapper to convert collected magnetometer 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
var magnetometerRobustConfidence: <Error class: unknown class>

Confidence of estimated magnetometer 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 magnetometerRobustMethod is specified.

Link copied to clipboard
var magnetometerRobustMaxIterations: <Error class: unknown class>

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

Link copied to clipboard
var magnetometerRobustMethod: <Error class: unknown class>

Indicates robust method used to solve magnetometer calibration. If null, no robust method is used at all, and instead an LMSE solution is found.

Link copied to clipboard
var magnetometerRobustPreliminarySubsetSize: <Error class: unknown class>

Size of preliminary subsets picked while finding a robust magnetometer calibration solution. By default this is the minimumRequiredMagnetometerMeasurements, which results in the smallest number of iterations to complete robust algorithms. Larger values can be used to ensure that error in each preliminary solution is minimized among more measurements (thus, softening the effect of outliers), but this comes at the expense of larger number of iterations. This properly is only taken into account if a not-null magnetometerRobustMethod is specified.

Link copied to clipboard
var magnetometerRobustStopThresholdFactor: <Error class: unknown class>

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 magnetometer calibration.

Link copied to clipboard
var magnetometerRobustThreshold: <Error class: unknown class>

Threshold to be used to determine whether a measurement is considered an outlier by robust magnetometer calibration algorithms or not. Threshold varies depending on chosen magnetometerRobustMethod. By default, if null is provided, the estimated magnetometerBaseNoiseLevel 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 magnetometerRobustMethod is specified.

Link copied to clipboard
var magnetometerRobustThresholdFactor: <Error class: unknown class>

Factor to be used respect estimated magnetometer base noise level to consider a measurement an outlier when using robust calibration methods. By default this is 3.0 times magnetometerBaseNoiseLevel, 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 tat in the estimated solution, will be considered an outlier and be discarded.

Link copied to clipboard
val magnetometerSensor: <Error class: unknown class>

Gets magnetometer sensor being used to obtain measurements, or null if not available. This can be used to obtain additional information about the sensor.

Link copied to clipboard

Delay of magnetometer sensor between samples.

Link copied to clipboard

One of the supported magnetometer sensor types.

Link copied to clipboard
val magnetometerThreshold: <Error class: unknown class>

Gets estimated threshold to determine static/dynamic period changes expressed Teslas (T). This is only available once initialization is completed.

Link copied to clipboard
val magnetometerThresholdAsMeasurement: <Error class: unknown class>

Gets estimated threshold to determine static/dynamic period changes. This is only available once initialization is completed.

val magnetometerTimeIntervalStandardDeviation: <Error class: unknown class>

Gets estimated standard deviation of time interval between magnetometer measurements expressed in seconds (s). Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

val magnetometerTimeIntervalStandardDeviationAsTime: <Error class: unknown class>

Gets estimated standard deviation of time interval between magnetometer measurements. Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Link copied to clipboard
val magnetometerTimeIntervalVariance: <Error class: unknown class>

Gets estimated variance of time interval between magnetometer measurements expressed in squared seconds (s^2). Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Link copied to clipboard
val minimumRequiredAccelerometerMeasurements: <Error class: unknown class>

Gets minimum number of required measurements to start accelerometer calibration. Each time that the device is kept static, a new measurement is collected. When the required number of measurements for all sensors is collected, calibration can start.

Link copied to clipboard
val minimumRequiredGyroscopeMeasurements: <Error class: unknown class>

Gets minimum number of required measurements to start gyroscope calibration. Each time that the device is moved, a new measurement is collected. When the required number of measurements for all sensors is collected, calibration can start.

Link copied to clipboard
val minimumRequiredMagnetometerMeasurements: <Error class: unknown class>

Gets minimum number of required measurements to start magnetometer calibration. Each time that the device is kept static, a new measurement is collected. When the required number of measurements for all sensors is collected, calibration can start.

Link copied to clipboard
open override val minimumRequiredMeasurements: Int

Gets minimum number of required measurements to start calibration. Each time that the device is kept static or moved, new accelerometer and gyroscope measurements are collected. When the required number of measurements is collected, calibration can start.

open override val numberOfProcessedAccelerometerMeasurements: <Error class: unknown class>

Number of accelerometer measurements that have been processed.

Link copied to clipboard
val numberOfProcessedGyroscopeMeasurements: <Error class: unknown class>

Number of gyroscope measurements that have been processed.

Link copied to clipboard
open override val processedDynamicSamples: <Error class: unknown class>

Gets number of samples that have been processed in a dynamic period so far.

Link copied to clipboard
open override val processedStaticSamples: <Error class: unknown class>

Gets number of samples that have been processed in a static period so far.

Link copied to clipboard

listener to notify when enough measurements have been collected and calibrator is ready to solve calibration.

Link copied to clipboard
open override var requiredMeasurements: <Error class: unknown class>

Required number of measurements to be collected before calibration can start. The number of required measurements must be greater than minimumRequiredMeasurements, otherwise at least minimumRequiredMeasurements will be collected before calibration can start.

Link copied to clipboard
open override val running: Boolean

Indicates whether calibrator is running. While calibrator is running, calibrator parameters cannot be changed.

Link copied to clipboard

true to automatically solve calibration once enough measurements are available, false otherwise.

Link copied to clipboard
open override val threshold: <Error class: unknown class>

Gets estimated threshold to determine static/dynamic period changes expressed in meters per squared second (m/s^2). This is only available once internal generator completes initialization.

Link copied to clipboard
open override val thresholdAsMeasurement: <Error class: unknown class>

Gets estimated threshold to determine static/dynamic period changes. This is only available once internal generator completes initialization.

Link copied to clipboard
open override var thresholdFactor: Double

Gets or sets factor to be applied to detected base noise level in order to determine a threshold for static/dynamic period changes. This factor is unit-less.

Link copied to clipboard
var timestamp: <Error class: unknown class>

Gets or sets current timestamp. This is only taken into account if both location and timestamp are provided to determine Earth's magnetic field according to provided World Magnetic Model. If either location or timestamp is missing, then measurement of magnetic field norm will be used instead.

Link copied to clipboard
open override var windowSize: Int

Gets or sets length of number of samples to keep within the window being processed to determine instantaneous sensor noise level during initialization of the internal calibrator measurement generator. Window size must always be larger than allowed minimum value, which is 2 and must have an odd value.

Link copied to clipboard
var worldMagneticModel: <Error class: unknown class>

Sets Earth's magnetic model. Null indicates that default model is being used.

Functions

Link copied to clipboard
open override fun calibrate(): Boolean

Solves calibration using collected measurements. This must be explicitly called after enough measurements are collected if solveCalibrationWhenEnoughMeasurements is false.

open override fun getAccelerometerAverageTimeIntervalAsTime(result: Time): Boolean

Gets average time interval between accelerometer measurements. This is only available once the internal generator completes initialization.

open override fun getAccelerometerBaseNoiseLevelAsMeasurement(result: Acceleration): Boolean

Gets sensor measurement base noise level that has been detected during initialization. This is only available once detector completes initialization.

Link copied to clipboard
fun getAccelerometerInitialBiasAsTriad(result: AccelerationTriad): Boolean

Gets initial bias coordinates used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the values used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasAsTriad will be equal to this value, otherwise estimatedAccelerometerBiasAsTriad will be the estimated bias after solving calibration, which will differ from estimatedAccelerometerBiasAsTriad.

Gets accelerometer X-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasX will be equal to this value, otherwise estimatedAccelerometerBiasX will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasX.

Gets accelerometer Y-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasY will be equal to this value, otherwise estimatedAccelerometerBiasY will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasY.

Gets accelerometer Z-coordinate of bias used as an initial guess. This value is determined once the calibrator starts. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the accelerometer hardware calibration. If accelerometerSensorType is AccelerometerSensorType.ACCELEROMETER, then accelerometer sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isAccelerometerGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedAccelerometerBiasZ will be equal to this value, otherwise estimatedAccelerometerBiasZ will be the estimated bias after solving calibration, which will differ from accelerometerInitialBiasZ.

Link copied to clipboard
fun getAccelerometerInitialMa(result: Matrix)

Gets initial accelerometer scale factors and cross coupling errors matrix.

Gets estimated standard deviation of time interval between accelerometer measurements. This is only available once internal generator completes initialization.

Link copied to clipboard
fun getAverageGravityNormAsMeasurement(result: Acceleration): Boolean

Gets estimated average gravity norm as Acceleration. This is only available if no location is provided and initialization has completed.

open override fun getBaseNoiseLevelAbsoluteThresholdAsMeasurement(result: Acceleration)

Gets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes.

Link copied to clipboard
fun getEstimatedAccelerometerBiasAsTriad(result: AccelerationTriad): Boolean

Gets estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasAsTriad.

Gets x coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasX.

Gets y coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasY.

Gets z coordinate of estimated accelerometer bias. If isAccelerometerGroundTruthInitialBias is true, this will be equal to accelerometerInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from accelerometerInitialBiasZ.

Link copied to clipboard
fun getEstimatedGyroscopeBiasAsTriad(result: AngularSpeedTriad): Boolean

Gets estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasAsTriad.

Link copied to clipboard

Gets x coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasX, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasX.

Link copied to clipboard

Gets y coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasY, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasY.

Link copied to clipboard

Gets z coordinate of estimated gyroscope bias. If isGyroscopeGroundTruthInitialBias is true, this will be equal to gyroscopeInitialBiasZ, otherwise it will be the estimated value obtained after solving calibration, that might differ from gyroscopeInitialBiasZ.

Link copied to clipboard
fun getEstimatedMagnetometerHardIronAsTriad(result: MagneticFluxDensityTriad): Boolean

Gets estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronAsTriad, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronAsTriad.

Gets x coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronXAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronXAsMeasurement.

Gets y coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronYAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronYAsMeasurement.

Gets z coordinate of estimated magnetometer hard iron. If isMagnetometerGroundTruthInitialHardIron is true, this will be equal to magnetometerInitialHardIronZAsMeasurement, otherwise it will be the estimated value obtained after solving calibration, that might differ from magnetometerInitialHardIronZAsMeasurement.

Gets estimated standard deviation of gravity norm as Acceleration. This is only available if no location is provided and initialization has completed.

Link copied to clipboard

Gets gyroscope measurement base noise level that has been detected during initialization. This is only available once generator completes initialization.

Link copied to clipboard
fun getGyroscopeInitialBiasAsTriad(result: AngularSpeedTriad): Boolean

Gets gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasAsTriad will be equal to this value, otherwise estimatedGyroscopeBiasAsTriad will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasAsTriad.

Link copied to clipboard

Gets x-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasX will be equal to this value, otherwise estimatedGyroscopeBiasX will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasX.

Link copied to clipboard

Gets y-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasY will be equal to this value, otherwise estimatedGyroscopeBiasY will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasY.

Link copied to clipboard

Gets z-coordinate of gyroscope bias used as an initial guess. This value is determined once the calibrator starts. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, this will be equal to the value used internally by the device as part of the gyroscope hardware calibration. If gyroscopeSensorType is GyroscopeSensorType.GYROSCOPE, then gyroscope sensor measurements are assumed to be already bias compensated, and the initial bias is assumed to be zero. If isGyroscopeGroundTruthInitialBias is true, this is assumed to be the true bias, and estimatedGyroscopeBiasZ will be equal to this value, otherwise estimatedGyroscopeBiasZ will be the estimated bias after solving calibration, which will differ from gyroscopeInitialBiasZ.

Link copied to clipboard
fun getGyroscopeInitialMg(result: Matrix)

Gets initial gyroscope scale factors and cross coupling errors matrix.

Link copied to clipboard

Gets average time interval between magnetometer measurements. Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Gets overall absolute threshold to determine whether there has been excessive motion during the whole initialization phase. Failure will be detected if estimated base noise level exceeds this threshold when initialization completes.

fun getMagnetometerBaseNoiseLevelAsMeasurement(result: MagneticFluxDensity): Boolean

Gets magnetometer measurement base noise level that has been detected during initialization. This is only available once generator completes initialization.

Link copied to clipboard
fun getMagnetometerInitialHardIronAsTriad(result: MagneticFluxDensityTriad): Boolean

Gets initial hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronAsTriad will be equal to this value, otherwise estimatedMagnetometerHardIronAsTriad will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronAsTriad.

fun getMagnetometerInitialHardIronXAsMeasurement(result: MagneticFluxDensity): Boolean

Gets X-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronX will be equal to this value, otherwise estimatedMagnetometerHardIronX will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronX.

fun getMagnetometerInitialHardIronYAsMeasurement(result: MagneticFluxDensity): Boolean

Gets Y-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronY will be equal to this value, otherwise estimatedMagnetometerHardIronY will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronY.

fun getMagnetometerInitialHardIronZAsMeasurement(result: MagneticFluxDensity): Boolean

Gets Z-coordinate of hard iron used as an initial guess. This value is determined once the calibration starts. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER_UNCALIBRATED, this will be equal to the value used internally by the device as part of the magnetometer hardware calibration. If magnetometerSensorType is MagnetometerSensorType.MAGNETOMETER, then magnetometer sensor measurements are assumed to be already hard iron compensated, and the initial hard iron is assumed to be zero. If isMagnetometerGroundTruthInitialHardIron is true, this is assumed to be the true hard iron, and estimatedMagnetometerHardIronZ will be equal to this value, otherwise estimatedMagnetometerHardIronZ will be the estimated hard iron after solving calibration, which will differ from magnetometerInitialHardIronZ.

Link copied to clipboard
fun getMagnetometerInitialMm(result: Matrix)

Gets initial magnetometer scale factors and cross coupling errors matrix.

Link copied to clipboard
fun getMagnetometerThresholdAsMeasurement(result: MagneticFluxDensity): Boolean

Gets estimated threshold to determine static/dynamic period changes. This is only available once initialization is completed.

Gets estimated standard deviation of magnetometer time interval between measurements. Time interval is estimated only while initialization is running, consequently, this is only available once initialization is completed.

Link copied to clipboard
open override fun getThresholdAsMeasurement(result: Acceleration): Boolean

Gets estimated threshold to determine static/dynamic period changes. This is only available once internal generator completes initialization.

fun setAccelerometerInitialCrossCouplingErrors(accelerometerInitialMxy: Double, accelerometerInitialMxz: Double, accelerometerInitialMyx: Double, accelerometerInitialMyz: Double, accelerometerInitialMzx: Double, accelerometerInitialMzy: Double)

Sets initial cross coupling errors for accelerometer calibration.

Link copied to clipboard
fun setAccelerometerInitialScalingFactors(accelerometerInitialSx: Double, accelerometerInitialSy: Double, accelerometerInitialSz: Double)

Sets initial scaling factors for accelerometer calibration.

fun setAccelerometerInitialScalingFactorsAndCrossCouplingErrors(accelerometerInitialSx: Double, accelerometerInitialSy: Double, accelerometerInitialSz: Double, accelerometerInitialMxy: Double, accelerometerInitialMxz: Double, accelerometerInitialMyx: Double, accelerometerInitialMyz: Double, accelerometerInitialMzx: Double, accelerometerInitialMzy: Double)

Sets initial scaling factors and cross couping errors for accelerometer calibration.

Link copied to clipboard
fun setGyroscopeInitialCrossCouplingErrors(gyroscopeInitialMxy: Double, gyroscopeInitialMxz: Double, gyroscopeInitialMyx: Double, gyroscopeInitialMyz: Double, gyroscopeInitialMzx: Double, gyroscopeInitialMzy: Double)

Sets initial cross coupling errors for gyroscope calibration.

Link copied to clipboard
fun setGyroscopeInitialScalingFactors(gyroscopeInitialSx: Double, gyroscopeInitialSy: Double, gyroscopeInitialSz: Double)

Sets initial scaling factors for gyroscope calibration.

fun setGyroscopeInitialScalingFactorsAndCrossCouplingErrors(gyroscopeInitialSx: Double, gyroscopeInitialSy: Double, gyroscopeInitialSz: Double, gyroscopeInitialMxy: Double, gyroscopeInitialMxz: Double, gyroscopeInitialMyx: Double, gyroscopeInitialMyz: Double, gyroscopeInitialMzx: Double, gyroscopeInitialMzy: Double)

Sets initial scaling factors and cross coupling errors for gyroscope calibration.

fun setMagnetometerInitialCrossCouplingErrors(magnetometerInitialMxy: Double, magnetometerInitialMxz: Double, magnetometerInitialMyx: Double, magnetometerInitialMyz: Double, magnetometerInitialMzx: Double, magnetometerInitialMzy: Double)

Sets initial cross coupling errors for magnetometer calibration.

Link copied to clipboard
fun setMagnetometerInitialScalingFactors(magnetometerInitialSx: Double, magnetometerInitialSy: Double, magnetometerInitialSz: Double)

Sets initial scaling factors for magnetometer calibration.

fun setMagnetometerInitialScalingFactorsAndCrossCouplingErrors(magnetometerInitialSx: Double, magnetometerInitialSy: Double, magnetometerInitialSz: Double, magnetometerInitialMxy: Double, magnetometerInitialMxz: Double, magnetometerInitialMyx: Double, magnetometerInitialMyz: Double, magnetometerInitialMzx: Double, magnetometerInitialMzy: Double)

Sets initial scaling factors and cross couping errors for magnetometer calibration.

Link copied to clipboard
open override fun start()

Starts calibrator. This method starts collecting sensor measurements. When calibrator is started, it begins with an initialization stage where sensor noise is estimated while device remains static. Once initialization is completed, calibrator determines intervals where device remains static when device has different poses, so that measurements are collected to solve calibration. If solveCalibrationWhenEnoughMeasurements is true, calibration is automatically solved once enough measurements are collected, otherwise a call to calibrate must be done to solve calibration.

Link copied to clipboard
open override fun stop()

Stops calibrator. When this is called, no more sensor measurements are collected.