|
Monado OpenXR Runtime
|
SLAM tracking code. More...
#include "xrt/xrt_defines.h"#include "util/u_logging.h"#include "util/u_time.h"#include "math/m_filter_fifo.h"#include "math/m_vec3.h"#include "math/m_predict.h"#include "math/m_api.h"#include "t_dead_reckoning.h"
Functions | |
| void | t_apply_dead_reckoning (struct m_ff_vec3_f32 *gyro_ff, struct m_ff_vec3_f32 *accel_ff, const struct xrt_vec3 *gravity_correction, timepoint_ns when_ns, const struct xrt_space_relation *base_rel, timepoint_ns base_rel_ts, struct xrt_space_relation *out_relation) |
| Apply dead reckoning to a base relation using IMU data from filter fifos. More... | |
SLAM tracking code.
| void t_apply_dead_reckoning | ( | struct m_ff_vec3_f32 * | gyro_ff, |
| struct m_ff_vec3_f32 * | accel_ff, | ||
| const struct xrt_vec3 * | gravity_correction, | ||
| timepoint_ns | when_ns, | ||
| const struct xrt_space_relation * | base_rel, | ||
| timepoint_ns | base_rel_ts, | ||
| struct xrt_space_relation * | out_relation | ||
| ) |
Apply dead reckoning to a base relation using IMU data from filter fifos.
The filter fifos should be exclusively locked and unmodified during the runtime of this function.
| gyro_ff | The gyro filter fifo. |
| accel_ff | The accelerometer filter fifo. Can be NULL to only use gyro. |
| gravity_correction | Gravity correction to apply to accelerometer data. Can be NULL if accel_ff is NULL. |
| when_ns | The timestamp to predict to. |
| base_rel | The base relation to start dead reckoning from. |
| base_rel_ts | The timestamp of the base relation. |
| out_relation | The predicted relation output. |