Skip to content

雷达数据消息#

总结#

总而言之,Autoware 使用 radar 数据类型,如下所示.

点云的雷达数据消息#

消息定义#

std_msgs/Header header
radar_msgs/RadarReturn[] returns
# 以下所有变量均以雷达自身坐标系为参考系。
# 该消息不建议单独使用,需要嵌入带时间戳的消息或数组消息中使用。

float32 range            # 距离(m):传感器到检测回波目标的距离
float32 azimuth          # 方位角(弧度):传感器与检测目标在方位平面内的夹角
                         #    遵循REP‑0103规范:逆时针为正角度,顺时针为负角度
float32 elevation        # 俯仰角(弧度):传感器与检测目标在俯仰平面内的夹角
                         #    负值代表目标位于传感器水平面下方;二维雷达该值恒为0
float32 doppler_velocity # 多普勒速度(m/s):目标回波对应的多普勒径向速度
float32 amplitude        # 回波幅值(dB):雷达回波信号的幅值强度

关键名词说明

  • radar`s frame of reference:雷达本体坐标系 / 雷达自身参考系,所有测量值都是雷达自身视角输出,不是世界坐标系。
  • detected return:雷达术语,回波,雷达发射电磁波打到目标反射回来的信号。
  • azimuth 方位角:水平面内角度;REP‑0103 是 ROS 官方几何坐标系标准,逆时针角度为正。
  • elevation 俯仰角:垂直面角度;负数 = 往下看,2D 雷达无俯仰探测,填 0。
  • doppler_velocity 多普勒速度:径向速度,代表目标靠近 / 远离雷达的速度,不是绝对对地速度。
  • amplitude(dB):回波强度,分贝,值越大代表目标反射信号越强。
  • stamped or array message:ROS 里带 Header 时间戳的消息,或者目标点数组消息,该消息只是单目标数据结构,不能单独发布。

跟踪对象的雷达数据消息#

消息定义#

# 目标分类(允许厂商自定义扩展分类,自定义分类编号从32000开始,例如:车辆Car)
uint16 NO_CLASSIFICATION=0    # 未分类
uint16 STATIC=1               # 静态目标
uint16 DYNAMIC=2              # 动态目标

unique_identifier_msgs/UUID uuid        # 雷达生成的目标唯一标识符
                                        # 注意:进行二维目标跟踪时,本消息所有字段的z分量均忽略不计
geometry_msgs/Point position            # 当前跟踪目标质心的 x、y、z 坐标
geometry_msgs/Vector3 velocity          # 目标在各个空间维度下的速度
geometry_msgs/Vector3 acceleration      # 目标在各个空间维度下的加速度
geometry_msgs/Vector3 size              # 雷达输出的目标尺寸,可代表长、宽、高;也可以是椭球体模型在x、y、z三轴的直径
                                        # 所有尺寸数值均基于雷达传感器坐标系
uint16 classification                   # 可选字段,目标分类编号(参考上方分类定义)
float32[6] position_covariance          # x、y、z三轴位置协方差矩阵的上三角元素
float32[6] velocity_covariance          # x、y、z三轴速度协方差矩阵的上三角元素
float32[6] acceleration_covariance      # x、y、z三轴加速度协方差矩阵的上三角元素
float32[6] size_covariance              # x、y、z三轴尺寸协方差矩阵的上三角元素

RadarTracks 的消息使用#

  • 对象分类

radar_msgs/msg/RadarTrack.msg 的对象分类中,可以从 32000 开始的数字使用其他分类标签.

为了表示 Autoware 标签定义,Autoware 为 RadarTracks.msg 定义对象分类,如下所示.

uint16 UNKNOWN = 32000;
uint16 CAR = 32001;
uint16 TRUCK = 32002;
uint16 BUS = 32003;
uint16 TRAILER = 32004;
uint16 MOTORCYCLE = 32005;
uint16 BICYCLE = 32006;
uint16 PEDESTRIAN = 32007;

有关详细实现,请参见 radar_tracks_msgs_converter.

备注#

雷达消息调查#

根据传感器制造商及其用途,每个传感器可能会交换原始的后处理数据.本节介绍有关开源社区中以前开发的消息传递系统的调查.虽然输出种类繁多,但雷达主要采用点云和物体两种类型作为输出.ros-perception 中消息定义的相关讨论是 PR #1PR #2PR #3.这些 PR 总结了现有的雷达开源软件.