# IMU 航向滞后 100ms 如何融合里程计

> 原文链接：https://robotics.hellobike.com/pitfalls/2020-07-25-robotics-se-8931
> 频道：pitfalls | 更新日期：2020-07-25 | 标签：auto, stackexchange, mobile-robot, imu, odometry
> 核心摘要：差速机器人 IMU 航向相对里程计滞后，可用互补滤波按权重融合两路航向估计。

# IMU 航向滞后 100ms 如何融合里程计

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[How to combine odometry information with time-shifted information from IMU?](https://robotics.stackexchange.com/questions/8931/how-to-combine-odometry-information-with-time-shifted-information-from-imu)（Robotics Stack Exchange #8931）

**状态**：已解决

## 问题

差速驱动机器人使用轮轴编码器里程计和 BNO055 IMU 航向角估计位姿；里程计易受打滑影响，IMU 相对里程计最多滞后 100 ms。

## 环境

Linux / ROS 机器人软件与控制通用开发环境

## 解决办法

1. 将两路理论上描述同一信息的传感器输出作为传感器融合问题处理。
2. 使用互补滤波：`filterOutput = blend*sensor1 + (1-blend)*sensor2`。
3. 短期更可靠的传感器给更高权重；常见 `blend` 约为 `0.95`。
4. 该场景可先设里程计权重 `0.95`、IMU 权重 `0.05`，观察效果后再调整。

原问题作者：jstanle1；采纳答案作者：Chuck。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #8931：How to combine odometry information with time-shifted information from IMU?](https://robotics.stackexchange.com/questions/8931/how-to-combine-odometry-information-with-time-shifted-information-from-imu)