# GPS 与 IMU 扩展卡尔曼滤波状态难确定

> 原文链接：https://robotics.hellobike.com/pitfalls/2016-12-09-robotics-se-11178
> 频道：pitfalls | 更新日期：2016-12-09 | 标签：auto, stackexchange, localization, kalman-filter, imu, gps
> 核心摘要：Ackermann 机器人用 GPS+IMU 做 EKF 定位时，建议利用油门/转角并先验证 IMU 欧拉角到旋转矩阵的转换。

# GPS 与 IMU 扩展卡尔曼滤波状态难确定

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Kalman Filter GPS + IMU](https://robotics.stackexchange.com/questions/11178/kalman-filter-gps-imu)（Robotics Stack Exchange #11178）

**状态**：已解决

## 问题

提问者不确定 EKF 中状态量和传感器预测函数应如何设计：GPS 给纬度经度，IMU 给融合后的欧拉角，机器人无编码器，难以预测 yaw 或位置。

## 环境

Ackermann 转向移动机器人；无编码器；搭载 GPS 和 IMU；IMU 含陀螺仪、加速度计、磁力计并输出欧拉角。

## 解决办法

1. 若能获取油门和转向角，即使不够准确也可作为模型输入，优于完全不用。
2. 确认 IMU 的加速度输出是否已按姿态修正；若未修正，需要用合适的欧拉角旋转矩阵转换，答案中倾向使用 `XYZ Tait-Bryan`，但需向厂商确认。
3. 录制多组 IMU 测试数据，用 `time = cumsum(sampleIntervals)` 等方式按时间回放姿态，自己实现 `EulerToRotationMatrix` 并可视化验证。
4. 从不同路径移动到相同姿态，检查回放结果是否一致，以确认旋转矩阵处理正确。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #11178：Kalman Filter GPS + IMU](https://robotics.stackexchange.com/questions/11178/kalman-filter-gps-imu)