PreScan快速入门到精通第三十六讲:PreScan中使用车道线传感器

智驾社
关注

车道标记传感器提供有关道路上存在的车道线的信息。这些信息以车道线和扫描线相对于传感器的交叉点的形式提供。车道标记传感器的功能和使用可以在车道保持的例子中找到。

车道标记数据

主要是,车道标记传感器提供描述车道线和路边线上交叉点的数据。交叉点最多可以计算四个前方扫描平面。前瞻扫描垂直于传感器的孔径,并以传感器正前方为中心。扫描线的可视化见下图。

扫描线的可视化

每次扫描都会测量与车道上存在的车道线的交点。这些线是数学定义的近似值,近似值的精度受实验的模型生成设置影响。由于车道标线传感器是一个理想化的传感器,路口数据来源于车道定义线,因此不一定与可见的车道标线重合。从图1中也可以看出这一点。标记图案的Lateral Offset也不影响定义线的检测。所以如果只定义了一个Lateral Offset相对较高的标记图案,那么可视标记和检测到的定义线是不重合的。 车道标记传感器每次扫描都会确定以下交叉点: o 左边最近的路边线交叉点。o 右边最近的路边线交叉点。o 左边最近的三条车道线交叉口。o 右边最近的3个车道线交叉口。 这里的术语 "最近"、"左 "和"右 "是相对于扫描中心(不是传感器)而言的,扫描中心总是在传感器的正前方。 交叉口的可用数据如下:o 车道线类型(无、车道、中心或路边)o 与行相关的标签o 交叉点的绝对位置。o 距离扫描中心的距离。o 可视化车道或路边线的标记的颜色、宽度、长度和间距。o 车道标记的方向(度数)。o 交叉处的曲率车道标记传感器提供的交叉点要进一步解释。例如,一些交叉点可能与行为人不在的道路相交。车道标记传感器将中心线和路边线视为常规车道线,因此,与路边线的交叉点可以与车道线的交叉点完全相同。 车道标线传感器是一个地面实况传感器。与PreScan中的任何其他地面真相传感器一样,提供的输出不考虑遮挡情况。这样做的目的是为了让客户的算法必须对遮挡进行补偿,有绝对的数据进行比较。 交叉口的航向和曲率是由车道标记的几何形状得出的。因此,这些值可能与它们的准确预期值略有不同。生成的车道标记定义的准确性可以在传感器设置面板中调整。

传感器属性编辑

在传感器编辑器中,车道标记可以以多种方式可视化。 通过单击工具栏中的 "打开/关闭车道定义 "按钮,可以打开或关闭车道定义的可视化(默认为关闭)。通过单击工具栏中的 "Label Lane Lines "按钮,可以打开或关闭(默认为关闭)车道标签的可视化。请参阅下图的示例。

可视化例子描述

默认车道线

显示添加到路段的车道标记。车道定义

显示车道定义,车道标记传感器使用这些车道定义来查找其交叉点。车道定义以颜色编码:车道线为蓝色中心线为绿色路缘线为红色。车道标签

车道定义与其相关标签一起显示。每个标签值都被映射到用于显示车道定义和标签的颜色上。

配置

对象配置包含以下选项卡系统定位和方向可以相对于包含车道标记传感器的行为体进行配置。输出输出"选项卡可配置传感器提供的信息。传感器在距离传感器的指定距离生成最多四个扫描的输出。可使用  "锁定到 FOV "选项将这些扫描的宽度锁定到传感器的方位角 FOV。最后,可以设置传感器的帧率。

车道标签操作

不同配置的车道标签可用于检测不同的情况或交通状况的变化。例如车道标签可用于检测车辆何时越过另一行驶车道。可以对场景进行相应的配置。 当车道标签在构建区域中可视化时,可以选择车道定义线。选定车道定义后,其类型和标签会显示在属性编辑器中,可以手动设置标签。

此外,在车道定义的上下文菜单中,有一个选项可以将其Label扩展到多个路段的连接车道定义。

Simulink表示法

车道标记传感器为PreScan编译表提供了一个输入端口。在交通参与者的子系统中,可以找到一个LaneMarkerSensor_Data块,该块可以输出数据供Simulink模型使用。输出总是一个包含所有扫描数据的总线信号。要识别总线的内容,请从上下文菜单或编译表的编辑菜单中选择 "更新图"。为了从总线中提取信息,可以使用 "Simulink/信号路由 "库中的 "总线选择器"。 车道标记传感器在Simulink中的表示方法见下图:

Simulink总线结构

车道标记传感器数据的主输出总线信号的结构描述如下。需要注意的是,主总线中信号的名称可能会让人略感困惑。旧版本的车道标记传感器带有一个固定在传感器位置的片断,它被称为基本扫描。这个基础扫描已经被一个完全可配置的扫描所取代,但总线中的旧信号名称仍然存在,以确保与旧实验的兼容性。LaneMarkerData主总线包含5个信号。sliceCount [int]使用的展望距离数。ScanAtSensor [sub-bus: LaneMarkerSliceData]第一次扫描的数据ScanAtDistance1(,2,3)  [sub-bus: LaneMarkerSliceData]第1、2、3次扫描数据。 在PreScan 7.6和更早的版本中,sliceCount的范围从0到3,在后来的版本中,这个范围已经调整为1-4,以防止混淆。 每个LaneMarkerSliceData总线包含以下信号:PerformedScan [boolean]是否进行了此次扫描CenterCoordinates [X,Y,Z double]扫描中心的绝对位置。对于基础扫描,这是传感器的位置。RoadIdUnderSliceCenter [int]位于扫描中心正下方的路段的唯一标识符。RoadCurvatureUnderSliceCenter  [double]路段的曲率。此值仅适用于直线和弯道路段。对于其他路段类型,该值为零。SliceDistance [double]传感器与扫描中心的距离{Left,Right}CurbIntersection  [sub-bus: LaneMarkerIntersectionData]扫描中心左右两边最近的路边线的交点数据。LeftLaneCount,  RightLaneCount [int]扫描中心左右侧发现的交叉点数量。{Left,Right}LaneIntersection{1, 2, 3} [sub-bus: LaneMarkerIntersectionData]扫描中心左右两边最近的车道线(最多3条)的交汇数据。 每个LaneMarkerIntersectionData总线包含以下信号。FoundIntersection [boolean]该总线信号是否包含描述交叉口命中的数据。LaneLineType [enum]交叉口的车道定义类型。值可以是None  (0)、LaneLine (1)、CenterLine (2)或CurbLine (3)。Label [uint8]与车道定义线相关的数字标签。WorldCoordinate [X,Y,Z double]交叉口的绝对位置。DistanceFromScanCenter  [double]交叉口与片中心的距离。MarkerColor {R,G,B} [uint8]可视化车道的车道/路边标记的RGB颜色分量。Marker{Length,Spacing,Width}  [double]视觉化车道的车道/路边标记的尺寸。如果在定义线上没有定义标记图案,则报告尺寸为0。 如果定义了多个标记图案,则只报告相对面积最大的图案(按比率)。Heading [deg]交叉口的车道标记的走向。Curvature2交叉口的车道标记的曲率。 来自LaneMarkerSensor_Data块的总线信号具有固定的大小。因此,所有的信号总是存在于公交车中。如果一次扫描只发现了一个左车道交叉口,则LeftLaneCount将为1,两个交叉口信号将包含全零数据,IntersectionFound设置为false。 给定点的曲率是通过首先将圆的周长拟合到车道标记线来确定的。然后通过这个圆的半径的倒数来定义曲率。曲率的符号取决于车道标记交叉点和圆心在传感器参考框架中的位置。如果圆心在交叉点的左边,符号为正,否则为负。换句话说,从传感器的角度看,当道路向左转弯时,曲率为正,否则为负。

                                                                          正曲率                                                                  负曲率

       原文标题 : PreScan快速入门到精通第三十六讲PreScan中使用车道线传感器

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存