tf
/tf 数据通道(channel)是 Apollo 系统的定位模块输出的世界坐标系到车身坐标系转换矩阵的通道。
本文档主要介绍 /tf 通道里各数据字段的含义。
前提条件
您需要提前了解:
通道数据解释
/tf 通道示例
参考快速上手播放 demo_3.5.record 的数据包后,您可以通过 CyberMonitor 工具查看数据包里的全部的通道信息。其中,/tf 通道内的数据如下所示:
ChannelName: /tf
MessageType: apollo.transform.TransformStampeds
FrameRatio: 0.00
RawMessage Size: 103 Bytes
transforms: +[1 items]整个数据通道内的数据可以分为两部分:CyberRT 框架定义的元数据和通道对应的消息格式(Message)所定义的消息数据。
CyberRT 框架定义的元数据
该部分包括 ChannelName、MessageType、FrameRatio、RawMessage Size 数据字段,详情参见 数据通道。
ChannelName: /tf
MessageType: apollo.transform.TransformStampeds
FrameRatio: 0.00
RawMessage Size: 103 Bytes其中,MessageType 定义了当前通道对应的消息格式(Message)为apollo.transform.TransformStampeds。
消息格式(Message)所定义的消息数据
该部分数据字段由 apollo.transform.TransformStampeds 消息格式(Message)定义。
transforms: +[1 items]下一小节,将逐一详细介绍这部分消息的数据字段含义。
apollo.transform.TransformStampeds 等消息格式(Message)定义的数据字段
apollo.transform.TransformStampeds 消息格式(Message)
其定义了如下重要数据字段。
| 数据名称 | 数据解释 | Protobuf Message 定义 |
|---|---|---|
| transforms | 定位信息列表,列表中每个数据描述了定位的详细信息 | 由 apollo.transform.TransformStamped(注意没有"s") 定义 |
transforms: +[1 items]apollo.transform.TransformStamped 消息格式(Message)
在 Cyber Monitor 工具中查看 /tf 通道信息时,可以通过键盘的方向键【->】进入下一层查看 transforms 字段的具体数据,该字段数据是由 apollo.transform.TransformStamped 消息格式(Message)定义的数据 列表。同时,可以通过键盘上的 N 和 M 键来遍历 transforms 列表中的每一个具体数据。
transforms 示例如下:
ChannelName: /tf
MessageType: apollo.transform.TransformStampeds
FrameRatio: 0.00
transforms: [0]
header:
timestamp_sec: 1545095747.783071041
frame_id: world
child_frame_id: localization
transform:
translation:
x: 587683.869015718
y: 4141270.222336658
z: -32.204680524
rotation:
qx: -0.009878772
qy: 0.010147095
qz: -0.125375473
qw: 0.992008285apollo.transform.TransformStamped 消息格式(Message)定义了如下的重要数据字段。
| 数据名称 | 数据解释 | 取值 | 单位 |
|---|---|---|---|
| header-timestamp_sec | 消息时间戳 | (0.0, +∞) | s |
| header-frame_id | 目标坐标系唯一标识 | - | - |
| child_frame_id | 源坐标系唯一标识 | - | - |
| transform-translation-x | 平移矩阵x坐标 | (-∞, +∞) | m |
| transform-translation-y | 平移矩阵y坐标 | (-∞, +∞) | m |
| transform-translation-z | 平移矩阵z坐标 | (-∞, +∞) | m |
| transform-rotation-qx | 旋转矩阵qx | (-∞, +∞) | - |
| transform-rotation-qy | 旋转矩阵qy | (-∞, +∞) | - |
| transform-rotation-qz | 旋转矩阵qz | (-∞, +∞) | - |
| transform-rotation-qw | 旋转矩阵qw | (-∞, +∞) | - |
深入了解 TransformStampeds 数据类型
深入了解 apollo.transform.TransformStampeds 等消息格式(Message)定义,参见 transform.proto 文件。关于 protobuf 与 消息格式(Message)的关系,参见 消息格式。
文档意见反馈
如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。