RelativePoseEstimator

constructor(context: Context, sensorDelay: SensorDelay = SensorDelay.GAME, useAccelerometerForAttitudeEstimation: Boolean = false, accelerometerSensorType: AccelerometerSensorType = AccelerometerSensorType.ACCELEROMETER_UNCALIBRATED, gyroscopeSensorType: GyroscopeSensorType = GyroscopeSensorType.GYROSCOPE_UNCALIBRATED, accelerometerAveragingFilter: AveragingFilter = LowPassAveragingFilter(), useAccurateLevelingEstimator: Boolean = false, useAccurateRelativeGyroscopeAttitudeEstimator: Boolean = true, poseAvailableListener: RelativePoseEstimator.OnPoseAvailableListener? = null, accelerometerMeasurementListener: AccelerometerSensorCollector.OnMeasurementListener? = null, gyroscopeMeasurementListener: GyroscopeSensorCollector.OnMeasurementListener? = null, gravityEstimationListener: GravityEstimator.OnEstimationListener? = null, initialSpeed: SpeedTriad = SpeedTriad(), initialLocation: Location? = null)

Constructor.

Parameters

context

Android context.

sensorDelay

Delay of sensors between samples.

accelerometerSensorType

One of the supported accelerometer sensor types. It is suggested to avoid using non-calibrated accelerometers.

gyroscopeSensorType

One of the supported gyroscope sensor types. It is suggested to avoid using non-calibrated gyroscopes.

accelerometerAveragingFilter

an averaging filter for accelerometer samples to obtain sensed gravity component of specific force.

useAccurateLevelingEstimator

true to use accurate leveling, false to use a normal one.

useAccurateRelativeGyroscopeAttitudeEstimator

true to use accurate relative attitude, false to use a normal one.

poseAvailableListener

notifies when a new estimated pose is available.

accelerometerMeasurementListener

listener to notify new accelerometer measurements.

gyroscopeMeasurementListener

listener to notify new gyroscope measurements.

gravityEstimationListener

listener to notify when a new gravity estimation is available.

initialSpeed

initial device speed expressed in NED system of coordinates. If not provided it is assumed that initial speed is zero.

initialLocation

initial device location when estimator starts. Only when an initial location is provided useAccurateLevelingEstimator is actually taken into account, otherwise it is ignored.