Leveled Relative Attitude Estimator2
Estimates a leveled relative attitude, where only yaw Euler angle is relative to the start instant of this estimator. Roll and pitch Euler angles are leveled using accelerometer or gravity sensors.
Parameters
Device location.
true to use accurate leveling, false to use a normal one.
true to use accurate relative attitude, false to use a normal one.
Constructors
Types
Interface to notify when sensor (either accelerometer, gravity or gyroscope) accuracy changes.
Interface to notify when a new attitude measurement is available.
Interface to notify when a buffer gets completely filled. When buffers get filled, internal collectors will continue collection at the expense of loosing old data. Consumers of this listener should decide what to do at this point (which might require stopping this estimator).
Properties
an averaging filter for accelerometer samples to obtain sensed gravity component of specific force. (Only used if useAccelerometer is true).
One of the supported accelerometer sensor types. (Only used if useAccelerometer is true).
listener to notify changes in accuracy.
Indicates whether gravity norm must be adjusted to either Earth standard norm, or norm at provided location. If no location is provided, this should only be enabled when device is close to sea level.
listener to notify when a new attitude measurement is available.
listener to notify that some buffer has been filled. This usually happens when consumer of measurements cannot keep up with the rate at which measurements are generated.
true to estimate coordinate transformation, false otherwise. If not needed, it can be disabled to improve performance and decrease cpu load.
true to estimate euler angles, false otherwise. If not needed, it can be disabled to improve performance and decrease cpu load.
One of the supported gyroscope sensor types.
Gets time interval between gyroscope samples expressed in seconds.
Factor to take into account when interpolation value is computed and useIndirectInterpolation is enabled to determine actual interpolation value based on current relative attitude rotation velocity.
Interpolation value to be used to combine both leveling and relative attitudes. Must be between 0.0 and 1.0 (both included). The closer to 0.0 this value is, the more resemblance the result will have to a pure leveling (which feels more jerky when using accelerometer). On the contrary, the closer to 1.0 this value is, the more resemblance the result will have to a pure non-leveled relative attitude (which feels softer but might have arbitrary roll and pitch Euler angles).
Threshold to determine that leveling has largely diverged and if situation is not reverted soon, attitude will be reset to leveling
Threshold to determine that current leveling appears to be an outlier respect to estimated fused attitude. When leveling and fused attitudes diverge, fusion is not performed, and instead only gyroscope relative attitude is used for fusion estimation.
Threshold to determine when fused attitude has largely diverged for a given number of samples and must be reset.
Delay of sensors between samples.
indicates whether start offsets will be computed when first measurement is received or not. True indicates that offset is computed, false assumes that offset is null.
true to use accelerometer sensor, false to use system gravity sensor for leveling purposes.
Indicates whether accurate leveling must be used or not.
Indicates whether accurate non-leveled relative attitude estimator must be used or not.
Indicates whether fusion between leveling and relative attitudes occurs based on changing interpolation value that depends on actual relative attitude rotation velocity.