Skip to content

imu_corrector#

Purpose#

imu_corrector_node is a node that correct imu data.

  1. Correct yaw rate offset b by reading the parameter.
  2. Correct yaw rate standard deviation \sigma by reading the parameter.

Mathematically, we assume the following equation:

\tilde{\omega}(t) = \omega(t) + b(t) + n(t)

where \tilde{\omega} denotes observed angular velocity, \omega denotes true angular velocity, b denotes an offset, and n denotes a gaussian noise. We also assume that n\sim\mathcal{N}(0, \sigma^2).

Inputs / Outputs#

Input#

Name Type Description
~input sensor_msgs::msg::Imu raw imu data

Output#

Name Type Description
~output sensor_msgs::msg::Imu corrected imu data

Parameters#

Core Parameters#

Name Type Description
angular_velocity_offset_x double roll rate offset in imu_link [rad/s]
angular_velocity_offset_y double pitch rate offset imu_link [rad/s]
angular_velocity_offset_z double yaw rate offset imu_link [rad/s]
angular_velocity_stddev_xx double roll rate standard deviation imu_link [rad/s]
angular_velocity_stddev_yy double pitch rate standard deviation imu_link [rad/s]
angular_velocity_stddev_zz double yaw rate standard deviation imu_link [rad/s]
acceleration_stddev double acceleration standard deviation imu_link [m/s^2]

Assumptions / Known limits#

(Optional) Error detection and handling#

(Optional) Performance characterization#

(Optional) Future extensions / Unimplemented parts#