navlie.lib.imu

A module for IMU data and kinematics.

Note that the treatment of IMU kinematics in this module is different from typical treatments in the sense that it is done directly on \(SE_2(3)\). A PDF describing the detailed derivations can be found at the following link.

Functions

G_matrix(gravity, dt)

G_matrix_inv(gravity, dt)

L_matrix(unbiased_gyro, unbiased_accel, dt)

Computes the jacobian of the nav state with respect to the input.

M_matrix(phi_vec)

The M matrix from the derivation document.

N_matrix(phi_vec)

The N matrix from Barfoot 2nd edition, equation 9.211

U_matrix(omega, accel, dt)

U_matrix_inv(omega, accel, dt)

U_tilde_matrix(omega, accel, dt)

adjoint_IE3(X)

Adjoint matrix of the "Incremental Euclidean Group".

delta_matrix(dt)

get_unbiased_imu(x, u)

Removes bias from the measurement.

inverse_IE3(X)

Inverse matrix on the "Incremental Euclidean Group".

Classes

IMU(gyro, accel, stamp[, bias_gyro_walk, ...])

Data container for an IMU reading.

IMUKinematics(Q[, gravity])

The IMU Kinematics refer to the following continuous time model:

IMUState(nav_state, bias_gyro, bias_accel[, ...])

The IMU state is a composite state that contains the navigation state (attitude, velocity, position), and the gyro and accelerometer biases.