Prescan——Lane Marker Sensor

车道标记传感器提供有关道路上车道线的信息。该信息作为车道线与相对于传感器的扫描线之间的交点提供。

一、车道标志数据

车道标记传感器主要提供描述车道和路边线交叉点的数据。交点计算最多四个前视扫描平面。前视扫描垂直于传感器的轴视,并直接集中在传感器的前面。扫描线的可视化见下图。


 

每次扫描都测量与世界上存在的车道线相交的点。这些线是数学定义的近似值,近似值的精度受到实验模型生成设置的影响。由于车道标记传感器是一种理想化的传感器,交叉口数据源于车道定义线,因此不一定与可见的车道标记一致。这也可以在图1中看到。标记模式的横向偏移也不影响定义线的检测。因此,如果只定义具有相对较高横向偏移量的标记模式,则视觉标记和检测到的定义线不会重合。

车道标记传感器每次扫描确定以下交点:

  • 左侧最近的路边线交点。
  • 右侧最近的路边线交点。
  • 左侧最近的三个车道交点。
  • 右侧最近的三条车道交点

注意:这里的“最近”,“左”和“右”在这里是相对于扫描中心(不是传感器)而言。

每个交点处可用的数据如下:

  • 车道线类型(无、车道、中心或路缘)
  • 与线条相关的标签
  • 交点的绝对坐标位置。
  • 扫描中心的距离。
  • 用于可视化车道或路缘线的标记的颜色、宽度、长度和间距。
  • 车道标线的第4个箭头方向(以度数表示)
  • 交点的曲率

注1:车道标记传感器提供的是需要进一步解释的交点。例如,某些交点可能与车辆所在的道路不相交。
注2: 车道标记传感器将中心线和路缘线视为普通的车道线,因此与路缘线的交叉点可能与与车道线的交叉点完全相同。
注意3:车道标记传感器是一种真值传感器。与PreScan中的其他真值传感器一样,提供的输出未考虑遮挡因素。这样做是为了让需要补偿遮挡的客户算法拥有可供比较的绝对数据。
注4:交叉口的车头指向和曲率取自车道标线的几何形状。因此,这些值可能与预期的精确值略有不同。可以在“传感器”设置面板中调整生成的车道标线定义的精度。


二、预扫描实验编辑器

在实验编辑器中,车道标记可以通过几种方式可视化。

通过单击工具栏中的“切换车道定义”按钮,可以打开或关闭车道定义的可视化(默认关闭)。

通过单击工具栏中的“标签车道线”按钮,可以打开或关闭车道标签的可视化(默认关闭)。

请参见下图中的示例。

Lane Markers (default) 显示添加到路段的车道标记。
Lane Definitions

显示车道定义,车道标记传感器使用这些定义来查找其交点。球道的定义是用颜色编码的:

车道线为蓝色
·中心线为绿色
·路边线是红色的

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


三、对象配置


对象配置包含以下选项卡:

1、系统:定位和方向可以相对于包含车道标记传感器的参与者进行配置

2、输出:Output选项卡配置传感器提供的信息。在距离传感器指定的距离处,传感器最多可产生四次扫描输出,可以通过add和remove添加和删除(目前这里有两个)。其中FOV是视场角,这些扫描的宽度可以锁定到传感器的方位FOV,使用选项“锁定到FOV”,当勾上勾时,Reach(宽度)不能修改,会随着FOV变化而变化。最后可以设置传感器的帧率。

四、车道标签操作

不同配置的车道标签可以检测不同的情况或交通情况的变化。例如,车道标签可用于检测车辆何时驶入另一条车道。可以根据需要配置场景。

当车道标签在构建区域中可视化时,可以选择车道定义线。在选择了通道定义之后,它的类型和标签将显示在属性编辑器中,在这里可以手动设置标签。

此外,从车道定义的上下文菜单中,可以选择将其标签扩展到跨多个路段的连接车道定义。

五、模型表示


车道标记传感器为预扫描编译表提供了一个输入端口。在参与者的子系统中,可以找到一个LaneMarkerSensor_Data块,它输出用于Simulink模型的数据。输出总是一个包含所有扫描数据的总线信号。为了从总线中提取信息,可以使用Bus Selector。

车道标记传感器数据的主要输出总线信号结构如下所述。LaneMarkerData总线包含5个信号:

将Bus Selector接上之后,双击Bus Selector可以看到

sliceCount (int)         使用的前视距离的数量。
ScanAtSensor  第一次扫描数据
ScanAtDistance1(,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 交点的车道标志的曲率。

注1:来自LaneMarkerSensor_Data块的总线信号有固定的大小。因此,所有的信号总是存在于总线中。如果扫描中只发现一个左车道交叉口,LeftLaneCount将为1,两个交叉口信号将包含全零数据,IntersectionFound设置为false。

注2:给定点的曲率由首先将圆的周长拟合到车道标记线来确定。曲率由圆半径的倒数来定义。

曲率的符号取决于传感器参考系中车道标志、交叉口和圆心的位置。如果圆心在交点左侧,符号为正,否则符号为负。换句话说,从传感器的角度来看,当道路向左转弯时,曲率为正,否则为负。

第一张图是正曲率,第二张图是负曲率

参考文章:

视场角FOV的原理及应用 (rea-vis.com)

猜你喜欢

转载自blog.csdn.net/qq_47885795/article/details/143511478