方案读卡器

将驾驶场景读入模型

  • 图书馆:
  • 自动驾驶工具箱/驾驶情形和测量建模

描述

方案读卡器块从使用驾驶场景设计师应用程序或从drivingScenario对象。该块输出在任一自主车辆的坐标系或场景的世界坐标行动者的姿势。您还可以输出车道边界或输出自身车辆的姿态在3D模拟环境中使用。

从输出行动者位姿和车道边界生成目标和车道边界检测,将位姿和车道边界输出传递给视觉检测发电机雷达探测发电机传感器模块。使用生成的、合成的检测来测试传感器融合算法、跟踪算法和其他自动驾驶辅助系统(ADAS)算法的性能。若要可视化这些算法的性能,请使用鸟瞰的范围

您可以从场景中读取自我车辆,或者指定模型中定义的自我车辆作为到方案读卡器块。使用此选项测试闭环车辆控制器算法,如自动紧急制动(AEB),车道保持辅助(LKA),或自适应巡航控制(ACC)。

限制

  • 方案读卡器块中保存的场景文件中不读取传感器数据驾驶场景设计师应用程序。要重现传感器在Simulink金宝app®在应用程序中,打开包含传感器的场景文件。然后,从app工具栏中选择出口>出口传感器Simulink模金宝app型。复制生成雷达探测发电机视觉检测发电机传感器块到一个现有的模型。另外,选择出口>出口Simul金宝appink模型并开始从产生的一种新模式方案读卡器块和传感器块。

  • 大型公路网络,包括OpenDRIVE®道路网络,可以在几分钟内读取模型。

港口

输入

全部展开

车辆姿态,指定为包含MATLAB结构的Simulink总线。金宝app

结构必须有这些字段。

领域 描述
actorId来

场景定义的演员的标识符,指定为一个正整数。

位置

演员的位置,指定为以下形式的实值向量[Xÿž]。单位为米。

速度

速度(v)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[vXvÿvž]。单位是米每秒。

演员的滚动角度,指定为实标量。单位为度。

球场

演员的俯仰角,指定作为一个真正的标量。单位为度。

偏航

actor的偏航角,指定为实标量。单位为度。

角速度

角速度 (ω)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[ωXωÿωž]。单位是每秒度。

输出当您从自车辆坐标转换角色,以世界坐标在3D模拟环境中使用自车辆姿态。例如,看可视化三维模拟传感器覆盖和检测

依赖

要启用该端口,设置顺序这些参数:

  1. 协调演员输出的系统车辆坐标

  2. 自车辆的来源输入端口

产量

全部展开

方案演员的姿态,返回包含MATLAB结构的Simulink的总线。金宝app

该结构具有这些领域。

领域 描述 类型
NumActors 演员人数(自我车辆除外) 非负整数
时间 当前仿真时间 真正的标量
演员 演员姿势 NumActors-演员位姿结构的长度数组

每个演员的姿态结构演员这些字段。

领域 描述
actorId来

场景定义的演员的标识符,指定为一个正整数。

位置

演员的位置,指定为以下形式的实值向量[Xÿž]。单位为米。

速度

速度(v)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[vXvÿvž]。单位是米每秒。

演员的滚动角度,指定为实标量。单位为度。

球场

演员的俯仰角,指定作为一个真正的标量。单位为度。

偏航

actor的偏航角,指定为实标量。单位为度。

角速度

角速度 (ω)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[ωXωÿωž]。单位是每秒度。

自身车辆的姿态被从排除演员阵列。

场景中的车道边界,作为Simulink总线返回,包含MATLAB结构。金宝app

该结构具有这些领域。

领域 描述 类型
NumLaneBoundaries 车道界限数 非负整数
时间 当前仿真时间 真正的标量
LaneBoundaries 车道边界 NumLaneBoundaries-车道边界结构长度数组

每个车道的边界结构LaneBoundaries这些字段。

领域 描述

坐标

车道边界坐标,指定为实值ñ-by-3矩阵,其中ñ为车道边界坐标个数。车道边界坐标定义的点的边界上的位置以指定的纵向距离从自主车辆走,沿着道路的中心。

  • 在MATLAB中,用'XDistance'的名称 - 值对参数laneBoundaries函数。

  • 在Si金宝appmulink中,指定使用这些距离计算边界的自我车辆距离(m)参数的方案读卡器块。

该矩阵还包括在零距离自主车辆的边界的坐标。这些坐标是到左边和右边的自车辆原点,位于后轴的中心之下的。单位为米。

曲率

在的每一行车道边界曲率坐标矩阵,指定为实值ñ×1向量。ñ为车道边界坐标个数。单位是弧度每米。

CurvatureDerivative

的每一行巷边界曲率的导数坐标矩阵,指定为实值ñ×1向量。ñ为车道边界坐标个数。单位是弧度每平方米。

HeadingAngle

初始车道边界航向角,指定作为一个真正的标量。车道边界的航向角是相对于所述自身车辆的航向。单位为度。

LateralOffset

从自身车辆位置车道边界,指定作为一个真正的标量的距离。偏移到车道边界自车辆的左侧为正。偏移到自身车辆的右侧为负。单位为米。

BoundaryType

车道边界标记,指定为这些值之一的类型:

  • “无名”- 无物理车道标线存在

  • “固体”-单线不间断

  • '虚线'- 虚线车道标记的单线

  • 'DoubleSolid'——两条不间断的线

  • 'DoubleDashed'-两条虚线

  • 'SolidDashed'- 在左边实线和右侧的虚线

  • 'DashedSolid'-左边虚线,右边实线

强度

车道边界标记的饱和强度,指定为从0到1的实标量。的值0对应于颜色完全不饱和的标记。标记为灰色。的值1对应于颜色已完全饱和的标记。

宽度

车道边界宽度,指定为正实数标量。在双线车道标记,同样的宽度既用于线和线之间的空间中。单位为米。

长度

虚线中虚线的长度,指定为正实标量。在双线标记中,两条线的长度相同。

空间

的以虚线虚线之间的空间长度,指定为正实数标量。在虚线的双线车道标记,相同的空间被用于两行。

返回的车道边界结构的个数取决于车道输出边界参数值。

依赖

要启用该端口,设置顺序这些参数:

  1. 协调演员输出的系统车辆坐标

  2. 车道输出边界自我车道边界所有车道边界

自我车辆位姿,作为Simulink总线返回,包含MATLAB结构金宝app。

结构必须包含这些字段。

领域 描述
actorId来

场景定义的演员的标识符,指定为一个正整数。

位置

演员的位置,指定为以下形式的实值向量[Xÿž]。单位为米。

速度

速度(v)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[vXvÿvž]。单位是米每秒。

演员的滚动角度,指定为实标量。单位为度。

球场

演员的俯仰角,指定作为一个真正的标量。单位为度。

偏航

actor的偏航角,指定为实标量。单位为度。

角速度

角速度 (ω)的演员X- - - - - -,ÿ- 和ž-方向,指定为形式的实值向量[ωXωÿωž]。单位是每秒度。

依赖

要启用该端口,设置顺序这些参数:

  1. 协调演员输出的系统车辆坐标

  2. 自车辆的来源脚本

  3. 选择输出自车辆姿态

参数

全部展开

驾驶场景的来源,指定为这些选项之一:

  • 从文件- 在里面驾驶场景设计文件名参数,指定从保存的场景文件的名称驾驶场景设计师应用程序。

  • 从工作区- 在里面MATLAB或模型工作区变量名参数,指定包含一个或MATLAB模型工作变量的名称drivingScenario对象。

场景文件名,指定为MATLAB的搜索路径上的场景文件或完整路径的场景文件。一个场景文件,必须从保存MAT文件驾驶场景设计师应用程序。如果自车辆的来源参数设置为脚本,那么场景必须包含一个自我载体。否则,块将在模拟期间返回一个错误。

如果指定的场景文件包含传感器,则块将忽略它们。要在模型中包含来自场景的传感器,请参见提示

默认的场景文件显示一辆ego车辆在一条笔直的双车道道路上向北行驶,而另一辆车辆在相反的车道上向南行驶。

要添加场景文件到MATLAB的搜索路径,使用目录函数。例如,这段代码添加了一组包含预构建的Euro NCAP的文件夹®场景到MATLAB的搜索路径。

路径= fullfile (matlabroot,“工具箱”“驾驶”“drivingdata”...'PrebuiltScenarios'“EuroNCAP”);目录genpath(路径))

驾驶场景设计文件名参数,则可以指定位于这些文件夹中的任何方案的名称,而不必指定完整的文件路径。例如:AEB_PedestrianChild_Nearside_50width.mat

当您在模型中使用该场景时,您可以使用rmpath函数。

rmpath (genpath(路径))

依赖

若要启用此参数,请设置驾驶场景来源从文件

场景变量名,指定为包含有效变量的MATLAB或模型工作区变量的名称drivingScenario对象。如果在MATLAB和模型工作区中都出现具有相同名称的场景变量,则块将使用在模型工作区中定义的变量。

如果自车辆的来源参数设置为脚本,那么drivingScenario客体必须包含自我载体。要指出对象中的哪个行动者是自我的载体自车辆的actorId参数,指定actorId来该演员的属性值。

当连接演员输出端口雷达探测发电机视觉检测发电机块,更新这些块直接从获得的演员型材drivingScenario对象。在演员简介每个块的标签中,设置选择方法来指定演员型材参数MATLAB的表情。然后,设置MATLAB表达对演员谱参数来调用actorProfiles在对象上的功能。例如:actorProfiles(场景)

默认变量名,脚本的默认名称drivingScenario对象由从导出的MATLAB函数产生驾驶场景设计师默认情况下,这个变量不包括在MATLAB或模型工作区中。

依赖

若要启用此参数,请设置驾驶场景来源从工作区

坐标的输出的行动者,指定为这些值中的一个的系统:

  • 车辆坐标- 坐标相对于所述自身车辆所定义。当您的方案只有一个自车辆选择此值。

  • 世界坐标- 坐标相对于驾驶情形定义。选择在包含多个自车辆多代理场景这个值。如果选择此值,模型可视化使用鸟瞰的范围不支持。金宝app

有关车辆和世界坐标系统的详细信息,请参阅坐标系统在自动驾驶的工具箱

自我车辆的来源,指定为这些选项之一:

  • 脚本-使用由。指定的场景中定义的自我车辆驾驶场景设计文件名MATLAB或模型工作区变量名参数。自身车辆的姿态被从排除演员输出端口。参与者位置在车辆坐标中,这意味着他们相对于场景中自我车辆的世界坐标位置。

    选择此选项可测试开环ADAS算法,在自身车辆的行为是预定义的,不改变的情况下前进。对于一个示例,请参见使用驾驶场景测试开环ADAS算法

  • 输入端口-指定自我车辆使用自我的车辆输入端口。自我交通工具的姿势不包括在内演员输出端口。

    有了这个选项,你的模型中的自我车辆必须包含一个世界坐标的起始位置。所有其他演员的姿势都是在车辆坐标和定位相对于自我车辆。有关具有定义位置信息的ego车辆的示例,请参见车道保持协助车道检测。在定义ego vehicle的起始位置时,考虑使用场景中已经定义的位置。通过使用这个位置,如果你设置自车辆的来源脚本然后回输入端口,您不必手动更改起始位置。

    选择此选项可测试闭环ADAS算法,在自身车辆到做出反应变化方案的进展。对于一个示例,请参见使用驾驶场景测试闭环ADAS算法

依赖

若要启用此参数,请设置协调演员输出的系统车辆坐标

选择此参数以输出在点处的自我车辆的姿态自我的车辆端口。

依赖

若要启用此参数,请设置协调演员输出的系统车辆坐标自车辆的来源脚本

选择此参数可使车辆的方向随路面高度变化。块更新自我车辆的高度、横摇、俯仰和偏航,并输出相对于更新的自我车辆坐标的参与者和车道边界。块不更新自我车辆的速度或角速度。

在路网高程变化的闭环仿真中使用该参数。

注意

在不同海拔和倾斜角度的路口,更新的车辆价值可能不准确。

在开环仿真中自车辆的来源被设置为脚本, ego车辆遵循在驾驶场景中指定的海拔。

依赖

若要启用此参数,请设置协调演员输出的系统车辆坐标自车辆的来源输入端口

自身车辆的演员ID,指定为一个正整数。当你想使用从读自车辆模拟使用此参数drivingScenario对象。块获得从ID值actorId来存储在所述车辆的属性演员财产的drivingScenario对象。

车辆必须是车辆使用车辆函数。ID值必须是有效的actorId来在方案中。

要检查有效actorId来值的drivingScenario对象,使用此语法。

actorIDs = [scenarioVariableName.Actors.ActorID]

依赖

要启用此参数,设置按以下顺序进行参数:

  1. 驾驶场景来源从工作区

  2. 协调演员输出的系统车辆坐标

  3. 自车辆的来源脚本

模拟的样本时间,以秒为单位,指定为正实标量。不支持继承和连续采样时间。金宝app这个样本时间和这个样本时间是分开的驾驶场景设计师应用程序和drivingScenario对象使用了模拟。

车道边界输出,指定为这些选项之一:

  • 没有一个- 不输出任何巷道边界。

  • 车辆道界线-输出ego车辆的左车道和右车道边界。

  • 所有车道边界- 输出其自身车辆正在行驶的道路的所有车道边界。

如果您选择车辆道界线所有车道边界,则该块返回车道边界输出端口。

依赖

若要启用此参数,请设置协调演员输出的系统车辆坐标

从ego车辆到计算车道边界的距离,指定为ñ- 元素实值向量。ñ是距离值的数目。当检测到来自后置摄像头车道,指定负的距离。当检测来自前置照相机车道,指定正距离。单位为米。

默认情况下,块计算101车道边界的范围从自我车辆后面150米到自我车辆前面150米。这些距离是间隔3米的线性距离。

例子:1:0.1:10计算边界每0.1米在从前方的自主车辆的1至10米的范围内的车道。

依赖

若要启用此参数,请设置车道输出边界车辆道界线所有车道边界

在行车道标志,指定为在此表中的选项之一车道边界位置。

车道边界位置 描述 例子
车道标线的中心 车道边界以车道标志为中心。

一个三车道的道路有四车道的边界:每车道标志之一。

道路标记的内边缘 车道边界位于车道标记的内侧边缘。

三车道的道路有六个车道边界:每个车道两个。

依赖

若要启用此参数,请设置车道输出边界车辆道界线所有车道边界

名称的来源在返回的演员姿势总线演员输出端口,指定为以下选项之一:

  • 汽车块自动创建一个actor构成总线名。

  • 财产- 通过使用指定演员的姿势总线名称演员总线名称参数。

在返回的演员姿势总线的名称演员输出端口,指定为有效的总线名。

依赖

若要启用此参数,请设置参与者总线名称的来源财产

中返回的车道边界总线的名称的源车道边界输出端口,指定为以下选项之一:

  • 汽车块自动创建一个车道边界总线名称。

  • 财产- 通过指定车道边界总线名称车道边界总线名称参数。

依赖

若要启用此参数,请设置车道输出边界车辆道界线所有车道边界

在返回的车道边界总线的名称车道边界输出端口,指定为有效的总线名。

依赖

启用此参数:

  1. 车道输出边界车辆道界线所有车道边界

  2. 车道边界总线名称的来源财产

选择此参数显示的所述块的输入和输出的坐标系方案读卡器在方框图中的块。

  • 自我的车辆输入和输出始终处于世界坐标。

  • 车道边界输出总是在车辆坐标中。

  • 您可以返回演员输出在车辆或世界坐标,取决于协调演员输出的系统参数的选择。

  • 解释执行- 模拟使用MATLAB解释模型。此选项缩短启动时间。在解释执行模式下,可以调试代码块的源代码。

  • 代码生成-使用生成的C/ c++代码模拟模型。第一次运行模拟时,Simulink为块生成C/ c++代码。金宝app只要模型不变,C代码就可以在后续的模拟中重用。此选项需要额外的启动时间。

提示

  • 为了达到最佳效果,只能使用一个活动方案读卡器每个模型块。在一个模型中使用的多个场景阅读器块,通过在一个变型子系统指定它们在块之间进行切换。

  • 为了测试您的驾驶场景的变化算法,可以更新模拟的场景。

    • 如果场景的源是一个场景文件,请在驾驶场景设计师应用程序,更新参数,并重新保存文件。

    • 如果场景的源是adrivingScenario对象,更新MATLAB或模型工作区中的对象。或者,将对象导入应用程序,修改应用程序中的场景,然后从应用程序生成一个新对象建立驾驶场景的变化编程

  • 要在具有不同参数设置的场景之间切换,可以使用金宝app仿真软件测试™软件对于一个示例,请参见使用Simulink测试一个跟随控制程序金宝app(金宝appSimulink的测试)。

扩展功能

介绍了在R2019a