67 uint64_t timestamp_ns,
69 struct xrt_vec3 const *ang_vel_variance);
96 uint64_t timestamp_ns,
98 struct xrt_vec3 const *accel_variance,
127 uint64_t timestamp_ns,
129 struct xrt_vec3 const *ang_vel_variance,
131 struct xrt_vec3 const *accel_variance,
150 uint64_t timestamp_ns,
175 uint64_t timestamp_ns,
int imu_fusion_incorporate_accelerometer(struct imu_fusion *fusion, uint64_t timestamp_ns, struct xrt_vec3 const *accel, struct xrt_vec3 const *accel_variance, struct xrt_vec3 *out_world_accel)
Predict and correct fusion with an accelerometer reading.
Definition: t_imu.cpp:80
struct imu_fusion * imu_fusion_create(void)
Create a struct imu_fusion.
Definition: t_imu.cpp:40
int imu_fusion_get_prediction(struct imu_fusion const *fusion, uint64_t timestamp_ns, struct xrt_quat *out_quat, struct xrt_vec3 *out_ang_vel)
Get the predicted state.
Definition: t_imu.cpp:105
int imu_fusion_get_prediction_rotation_vec(struct imu_fusion const *fusion, uint64_t timestamp_ns, struct xrt_vec3 *out_rotation_vec)
Get the predicted state as a rotation vector.
Definition: t_imu.cpp:137
int imu_fusion_incorporate_gyros(struct imu_fusion *fusion, uint64_t timestamp_ns, struct xrt_vec3 const *ang_vel, struct xrt_vec3 const *ang_vel_variance)
Predict and correct fusion with a gyroscope reading.
Definition: t_imu.cpp:60
int imu_fusion_incorporate_gyros_and_accelerometer(struct imu_fusion *fusion, uint64_t timestamp_ns, struct xrt_vec3 const *ang_vel, struct xrt_vec3 const *ang_vel_variance, struct xrt_vec3 const *accel, struct xrt_vec3 const *accel_variance, struct xrt_vec3 *out_world_accel)
Predict and correct fusion with a simultaneous accelerometer and gyroscope reading.
Definition: t_imu.cpp:164
void imu_fusion_destroy(struct imu_fusion *fusion)
Destroy a struct imu_fusion.
Definition: t_imu.cpp:51
C interface to math library.
A quaternion with single floats.
Definition: xrt_defines.h:216
A 3 element vector with single floats.
Definition: xrt_defines.h:271