# 如何从GPS模块获取速度分量以修正IMU积分得到的速度

> 原文链接：https://robotics.hellobike.com/pitfalls/2024-10-09-robotics-se-113234
> 频道：pitfalls | 更新日期：2024-10-09 | 标签：auto, stackexchange, kalman-filter
> 核心摘要：开发者做移动机器人定位时无法从NEO 6M GPS获取速度分量，解决方法是读取GPS对应的NAV类报文得到速度信息。

# 如何从GPS模块获取速度分量以修正IMU积分得到的速度

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[How to determine velocity components from the GPS module?](https://robotics.stackexchange.com/questions/113234/how-to-determine-velocity-components-from-the-gps-module)（Robotics Stack Exchange #113234）

**状态**：已解决

## 问题

开发者搭建转运移动机器人，用GPS和IMU做绝对位姿跟踪时，仅能从NEO 6M GPS获取对地绝对速度，无法得到单独的速度分量来修正IMU单积分得到的速度。

## 环境

移动机器人，传感器为NEO 6M GPS、含加速度计/陀螺仪/磁力计的IMU，使用NED坐标系、Madgwick滤波。

## 解决办法

1. 检查GPS模块是否输出NAV-VELECEF和NAV-VELNED报文包；
2. 参照接收器说明文档，对NAV-VELNED或NAV-VELECEF报文进行编码，即可获取对应速度分量信息。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #113234：How to determine velocity components from the GPS module?](https://robotics.stackexchange.com/questions/113234/how-to-determine-velocity-components-from-the-gps-module)