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] |