imu_corrector#
Purpose#
imu_corrector_node
is a node that correct imu data.
- Correct yaw rate offset b by reading the parameter.
- 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] |