apollo_sensor_gnss_odometry
/apollo/sensor/gnss/odometry
数据通道(channel)是 Apollo 系统的定位模块输出的包含定位数据消息的通道。
本文档介绍 /apollo/sensor/gnss/odometry
通道里各数据字段的含义。
前提条件
您需要提前了解:
通道数据解释
/apollo/sensor/gnss/odometry 通道示例
参考快速上手播放 demo_3.5.record 的数据包后,您可以通过 Cyber Monitor 工具查看数据包里的全部的通道信息。
其中,/apollo/sensor/gnss/odometry
通道内的数据如下所示。
ChannelName: /apollo/sensor/gnss/odometry
MessageType: apollo.localization.Gps
FrameRatio: 100.01
RawMessage Size: 109 Bytes
header:
timestamp_sec: 1545095771.920000076
localization:
position:
x: 587720.654646889
y: 4141421.395960513
z: -32.215782625
orientation:
qx: 0.009137707
qy: -0.012021321
qz: -0.117630235
qw: 0.992942656
linear_velocity:
x: 0.009694227
y: 0.002680696
z: -0.006922377
整个数据通道内的数据可以分为两部分:CyberRT 框架定义的元数据和通道对应的消息格式(Message)所定义的消息数据。
CyberRT 框架定义的元数据
该部分包括 ChannelName
、MessageType
、FrameRatio
、RawMessage Size
数据字段,参见 数据通道。
ChannelName: /apollo/sensor/gnss/odometry
MessageType: apollo.localization.Gps
FrameRatio: 100.01
RawMessage Size: 109 Bytes
其中,MessageType
定义了当前通道对应的消息格式(Message)为 apollo.localization.Gps。
消息格式(Message)所定义的消息数据
该部分数据字段由 apollo.localization.Gps
消息格式(Message)定义。
header:
timestamp_sec: 1545095771.920000076
localization:
position:
x: 587720.654646889
y: 4141421.395960513
z: -32.215782625
orientation:
qx: 0.009137707
qy: -0.012021321
qz: -0.117630235
qw: 0.992942656
linear_velocity:
x: 0.009694227
y: 0.002680696
z: -0.006922377
下一小节,将逐一详细介绍这部分消息的数据字段含义。
apollo.localization.Gps 等消息格式(Message)定义的数据字段
apollo.localization.Gps 消息格式(Message)
apollo.localization.Gps
中定义了如下几个重要数据字段。
数据名称 | 数据解释 | Protobuf Message 定义 |
---|---|---|
header | 头信息 | 由 apollo.common.Header 定义 |
localization | 位置姿态 | 由 apollo.localization.Pose 定义 |
apollo.localization.Pose 消息格式(Message)
在 CyberMonitor 工具中查看 /apollo/sensor/gnss/odometry
可以看到第一部分 localization
字段的具体数据,该字段数据是由 apollo.localization.Pose
消息格式(Message)定义的。
localization
示例如下:
localization:
position:
x: 587720.654646889
y: 4141421.395960513
z: -32.215782625
orientation:
qx: 0.009137707
qy: -0.012021321
qz: -0.117630235
qw: 0.992942656
linear_velocity:
x: 0.009694227
y: 0.002680696
z: -0.006922377
gnss/odometry
Channel 中使用了 apollo.localization.Pose
消息格式(Message)的以下数据字段。
数据名称 | 数据解释 | 取值范围 | 单位/字段类型 |
---|---|---|---|
position | ENU 坐标系下的位置坐标 | - | apollo.common.PointENU |
position-x | ENU 坐标系下的 x 轴位置坐标 | -∞,+∞ | m |
poxition-y | ENU 坐标系下的 y 轴位置坐标 | -∞,+∞ | m |
position-z | ENU 坐标系下的 z 轴位置坐标 | -∞,+∞ | m |
orientation | ENU 坐标系下的姿态值(四元数) | - | apollo.common.Quaternion |
orientation-x | ENU 坐标系下的 x 轴姿态值(四元数) | -1.0, 1.0 | 1 |
orientation-y | ENU 坐标系下的 y 轴姿态值(四元数) | -1.0, 1.0 | 1 |
orientation-z | ENU 坐标系下的 z 轴姿态值(四元数) | -1.0, 1.0 | 1 |
orientation-w | ENU 坐标系下的 w 轴姿态值(四元数) | -1.0, 1.0 | 1 |
linear_velocity | 线速度 | - | apollo.common.Point3D |
linear_velocity-x | x 轴线速度 | 0,+∞ | m |
linear_velocity-y | y 轴线速度 | 0,+∞ | m |
linear_velocity-z | z 轴线速度 | 0,+∞ | m |
深入了解 Gps 数据类型
深入了解 apollo.localization.Gps
等消息格式(Message)定义,参见 localization.proto 文件。关于 protobuf 与消息格式(Message)的关系,参见 消息格式。
文档意见反馈
如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。