apollo_perception_obstacles

/apollo/perception/obstacles 数据通道(channel)是 Apollo 系统的感知模块输出的包含障碍物等感知数据消息的通道。本文档主要介绍 /apollo/perception/obstacles 通道里各数据字段的含义。

前提条件

您需要提前了解:

通道数据解释

/apollo/perception/obstacles 通道示例

参考快速上手播放 demo_3.5.record 数据包后,您可以通过 CyberMonitor 工具查看数据包里的全部的通道信息。 其中,/apollo/perception/obstacles 通道内的数据如下所示:

ChannelName: /apollo/perception/obstacles
MessageType: apollo.perception.PerceptionObstacles
FrameRatio: 0.00
RawMessage Size: 16863 Bytes (16.47 KB)
perception_obstacle: +[16 items]
header:
  timestamp_sec: 1545095781.195163250
  module_name: perception_obstacle
  sequence_num: 30778
  lidar_timestamp: 1545095781068947968
  camera_timestamp: 0
  radar_timestamp: 0
error_code: OK

整个数据通道内的数据可以分为两部分:CyberRT 框架定义的元数据和通道对应的消息格式(Message)所定义的消息数据。

CyberRT 框架定义的元数据

该部分包括 ChannelName、MessageType、FrameRatio、RawMessage Size 数据字段。详情参见 数据通道。

ChannelName: /apollo/perception/obstacles
MessageType: apollo.perception.PerceptionObstacles
FrameRatio: 0.00
RawMessage Size: 16863 Bytes (16.47 KB)

其中,MessageType 定义了当前通道对应的消息格式(Message)为apollo.perception.PerceptionObstacles。

消息格式(Message)所定义的消息数据

该部分数据字段由 apollo.perception.PerceptionObstacles 消息格式 (Message)定义。

perception_obstacle: +[16 items]
header:
  timestamp_sec: 1545095781.195163250
  module_name: perception_obstacle
  sequence_num: 30778
  lidar_timestamp: 1545095781068947968
  camera_timestamp: 0
  radar_timestamp: 0
error_code: OK

下一小节,将逐一详细介绍这部分消息的数据字段含义。

apollo.perception.PerceptionObstacles 等消息格式(Message)定义的数据字段

apollo.perception.PerceptionObstacles 消息格式(Message)

其定义了如下 3 个重要数据字段。

数据名称 数据解释 Protobuf Message 定义
perception_obstacle 障碍物列表,列表中每个数据描述了障碍物的详细信息。 由 apollo.perception.PerceptionObstacle(注意没有"s")定义
header 头信息。 由 apollo.common.Header 定义
error_code 错误码。 由 apollo.common.ErrorCode 定义
perception_obstacle: +[16 items]
header:
  timestamp_sec: 1545095781.195163250
  module_name: perception_obstacle
  sequence_num: 30778
  lidar_timestamp: 1545095781068947968
  camera_timestamp: 0
  radar_timestamp: 0
error_code: OK

apollo.perception.PerceptionObstacle 消息格式(Message)

在 Cyber Monitor 工具中查看 /apollo/perception/obstacles 通道信息时,可以通过键盘的方向键【->】进入下一层查看 perception_obstalce 字段的具体数据,该字段数据是由apollo.perception.PerceptionObstacle 消息格式(Message)定义的数据 列表。同时,可以通过键盘上的 N 和 M 键来遍历 perception_obstalce 列表中的每一个具体数据。

perception_obstacle 示例如下:

ChannelName: /apollo/perception/obstacles
MessageType: apollo.perception.PerceptionObstacles
FrameRatio: 0.00
perception_obstacle: [0]
  id: 29813
  position:
    x: 587691.039460494
    y: 4141433.734868622
    z: -34.271560068
  theta: 1.305205584
  velocity:
    x: 0.000000000
    y: 0.000000000
    z: 0.000000000
  length: 4.255475521
  width: 1.711036682
  height: 3.235262394
  polygon_point: +[18 items]
  tracking_time: 1.800000906
  type: VEHICLE
  timestamp: 1545095767.368937969
  acceleration:
    x: -0.000000661
    y: -0.000002654

apollo.perception.PerceptionObstacle 消息格式(Message)定义了如下的重要数据字段。

数据名称 数据解释 取值 单位
id 障碍物的唯一编号标识 0-1000000 -
position-x 障碍物位置的x轴世界坐标值 (-∞, +∞) m
poxition-y 障碍物位置的y轴世界坐标值 (-∞, +∞) m
position-z 障碍物位置的z轴世界坐标值 (-∞, +∞) m
theta 障碍物在世界坐标系下的航向角 (-π, +π) radian
velocity-x 障碍物速度矢量的x轴世界坐标值 (-∞, +∞) m/s
velocity-y 障碍物速度矢量的y轴世界坐标值 (-∞, +∞) m/s
velocity-z 障碍物速度矢量的z轴世界坐标值 (-∞, +∞) m/s
length 障碍物的长度 (0.0, +∞) m
width 障碍物的宽度 (0.0, +∞) m
height 障碍物的高度 (0.0, +∞) m
polygon_point 障碍物在x-y平面上的轮廓曲线(世界坐标系下轮廓点的集合) - -
tracking_time 已跟踪该障碍物的时长 (0.0, +∞) s
type 障碍物类别(车、行人、非机动车等) UNKNOWN, UNKNOWN_MOVABLE, UNKNOWN_UNMOVABLE, PEDESTRIAN, BICYCLE, VEHICLE -
timestamp 障碍物时间戳 (0.0, +∞) s
acceleration-x 障碍物加速度矢量的x轴世界坐标值 (-∞, +∞) m/s2
acceleration-y 障碍物加速度矢量的y轴世界坐标值 (-∞, +∞) m/s2
acceleration-z 障碍物加速度矢量的z轴世界坐标值 (-∞, +∞) m/s2
anchor_point-x 障碍物稳定点的x轴世界坐标值 (-∞, +∞) m
anchor_point-y 障碍物稳定点的y轴世界坐标值 (-∞, +∞) m
anchor_point-z 障碍物稳定点的z轴世界坐标值 (-∞, +∞) m
bbox2d-xmin 仅用于视觉感知,障碍物2d检测框的左上角x像素坐标 (0.0, 相机分辨率x轴最大值) -
bbox2d-ymin 仅用于视觉感知,障碍物2d检测框的左上角y像素坐标 (0.0, 相机分辨率y轴最大值) -
bbox2d-xmax 仅用于视觉感知,障碍物2d检测框的右下角x像素坐标 (0.0, 相机分辨率x轴最大值) -
bbox2d-ymax 仅用于视觉感知,障碍物2d检测框的右下角y像素坐标 (0.0, 相机分辨率y轴最大值) -
sub_type 障碍物详细子类别(交通锥桶等) - -
measurements 融合的各传感器检测该障碍物详细数据 - -
height_above_ground 障碍物在地面以上的高度 (-∞, +∞) m
position_covariance 障碍物位置变化的协方差 3*3矩阵 -
velocity_covariance 障碍物速度变化的协方差 3*3矩阵 -
acceleration_covariance 障碍物加速度变化的协方差 3*3矩阵 -

图中红圈标记出来的障碍物是 perception_obstacle 列表中下标为 0 的障碍物数据(ID:29849)。

image.png


深入了解 PerceptionObstacles 数据类型

深入了解 apollo.perception.PerceptionObstacles 等消息格式(Message)定义,参见 perception_obstacle.proto文件。关于 protobuf 与 消息格式(Message)的关系,参见 消息格式。

文档意见反馈

如果您在使用文档时遇到任何问题,请到我们在【开发者社区】建立的 反馈意见收集问答页面,反馈相关的问题。我们会根据反馈意见对文档进行迭代优化。

Channel数据格式文档介绍apollo_perception_traffic_light