主要内容

场景的读者

将驾驶场景读取到模型中

  • 库:
  • 自动化驾驶工具箱/驾驶场景和传感器建模

  • 场景读者块

描述

场景的读者块从使用的方案文件中读取道路和演员驾驶场景设计师应用程序或drivingScenario对象。该块在自我车辆的坐标系或场景的世界坐标中输出参与者的姿势。您还可以输出车道边界或输出EGO车辆姿势以用于3D仿真环境。该块还允许EGO车辆状态的输出,包括加速度测量,与传感器模型一起使用。

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

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

限制

  • 场景的读者块不从保存的场景文件中读取传感器数据驾驶场景设计师在Simulink中复制传感器金宝app®,在应用程序中打开包含传感器的场景文件。然后,从应用程序工具条,选择出口>导出传感器Simulink模金宝app型.复制生成的传感器块到现有的模型。另外,选择出口>出口仿真软件模金宝app型并从生成的模型开始一个新的模型场景的读者块和传感器块。

  • 大型道路网络,包括Asam Opendrive®道路网络,可以花费几分钟来解读模型。

港口

输入

展开全部

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

结构必须有这些字段。

描述
ActorID

场景定义的参与者标识符,指定为一个正整数。

位置

行动者的位置,指定为形式的实值向量[xyz].单位是米。

速度

速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。

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

球场

作用器的俯仰角,指定为实值标量。单位是度。

偏航

作用器的偏航角,指定为实值标量。单位是度。

AngularVelocity

角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。

当你将角色从ego车辆坐标转换为3D仿真环境中使用的世界坐标时,输出ego车辆的姿态。例如,请参见可视化传感器数据从虚幻引擎模拟环境

依赖性

要启用该端口,请依次设置以下参数:

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定自我载体的来源参数输入端口

输出

展开全部

场景演员的姿势,作为一个包含MATLAB结构的Simulink总线返回。金宝app

结构有这些领域。

描述 类型
NumActors 许多演员 非负整数
时间 当前仿真时间 实值标量
演员 演员的姿势 NumActors- 演员姿势结构的长度阵列

每个演员的姿势结构都在演员这些字段。

描述
ActorID

场景定义的参与者标识符,指定为一个正整数。

位置

行动者的位置,指定为形式的实值向量[xyz].单位是米。

速度

速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。

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

球场

作用器的俯仰角,指定为实值标量。单位是度。

偏航

作用器的偏航角,指定为实值标量。单位是度。

AngularVelocity

角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。

自我载体的姿态被排除在演员数组中。

要从块返回actor姿态,您必须运行整个驾驶场景模拟直到完成。

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

结构有这些领域。

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

各车道边界结构在巷道这些字段。

描述

坐标

车道边界坐标,指定为真实值N- 3矩阵,在哪里N为车道边界坐标的个数。车道边界坐标在沿着道路中心定义了远离自助式车辆的指定纵向距离的边界上的点位置。

  • 在MATLAB中,使用“XDistance”名称 - 值对论证laneBoundaries函数。

  • 在Si金宝appmulink中,通过使用计算边界的自我车辆距离(m)参数的场景的读者块或用于计算车道边界的父母的距离参数的仿真三维视觉检测生成器块。

这个矩阵还包括与自我飞行器零距离处的边界坐标。这些坐标是左和右的自我车辆原点,这是位于中心的后桥。单位是米。

曲率

每一行的线边界曲率坐标矩阵,指定为实值N1的向量。N为车道边界坐标的个数。单位是弧度/米。

CurvatureDerivative

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

HeadingAngle

初始车道边界标题角度,指定为真正的标量。车道边界的标题相对于自我车辆标题。单位是度。

LateralOffset

自我车辆位置从车道边界的侧向偏移量,指定为实标量。自我车辆左侧的车道边界偏移量为正。自我载体右侧的偏移量为负。单位是米。在这张图中,ego车辆与左车道偏移1.5米,右车道偏移2.1米。

车道上的自我车辆

BoundaryType

行车线界线标记的类型,指定为以下值之一:

  • “未标记”—不存在物理车道标志

  • '坚硬的'-单行不间断

  • “冲”-单线虚线车道标记

  • “DoubleSolid”-两条不间断的线

  • “DoubleDashed”-两条虚线

  • “SolidDashed”—左侧实线,右侧虚线

  • “DashedSolid”—左侧为虚线,右侧为实线

力量

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

宽度

车道边界宽度,指定为正实标量。在双线车道标记中,两条线以及线与线之间的空间使用相同的宽度。单位是米。

长度

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

空间

虚线中短线之间的空间长度,指定为正实标量。在虚线的双线车道标记中,两条线使用相同的空间。

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

依赖性

要启用该端口,请依次设置以下参数:

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定输出车道边界参数自我车道边界所有车道边界

自我车辆姿态,返回的Simulink总线包含一个MATLAB结构金宝app。

结构必须包含这些字段。

描述
ActorID

场景定义的参与者标识符,指定为一个正整数。

位置

行动者的位置,指定为形式的实值向量[xyz].单位是米。

速度

速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。

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

球场

作用器的俯仰角,指定为实值标量。单位是度。

偏航

作用器的偏航角,指定为实值标量。单位是度。

AngularVelocity

角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。

依赖性

要启用该端口,请依次设置以下参数:

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定自我载体的来源参数场景

  3. 选择输出自我载体姿态参数。

EGO车辆状态,作为包含MATLAB结构的SIMULINK总线返回金宝app。

结构必须包含这些字段。

描述
位置

行动者的位置,指定为形式的实值向量[xyz].单位是米。

速度

速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。

取向

行动者的方向,指定为[的实值向量辊距偏航)的角度。单位是度。

AngularVelocity

角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。

加速度

加速度(一个)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[一个x一个y一个z].单位是米每秒的平方。

依赖性

要启用该端口,请依次设置以下参数:

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定自我载体的来源参数场景

  3. 选择输出自我车辆状态参数。

参数

展开全部

场景

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

  • 从文件——在驱动场景设计器文件名参数中保存的场景文件的名称驾驶场景设计师应用程序。

  • 从工作空间——在matlab或modelspace变量名称参数,指定包含的MATLAB或模型工作区变量的名称drivingScenario对象。

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

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

默认的场景文件显示,一辆自我车辆在一条直的双车道道路上向北行驶,另一辆车在对面的车道上向南行驶。

要将场景文件添加到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或模型工作区中。

依赖性

要启用该参数,请设置驾驶场景来源参数从工作空间

输出参与者的坐标系统,指定为以下值之一:

  • 车辆坐标- 相对于自助载体定义坐标。当您的方案只有一个自助车辆时,请选择此值。

  • 世界坐标-根据驾驶场景定义坐标。在包含多个自我载体的多主体场景中选择此值。如果选择此值,则使用鸟瞰不支持。金宝app

有关车辆和世界坐标系统的更多细节,请参阅自动驾驶工具箱中的坐标系统

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

  • 场景-使用场景中定义的ego工具驱动场景设计器文件名matlab或modelspace变量名称参数。自我载体的姿态被排除在演员输出端口。行动者的位置在车辆坐标中,这意味着他们相对于场景中自我车辆的世界坐标位置。

    选择此选项来测试开环ADAS算法,其中自我车辆行为是预定义的,不会随着场景的进展而改变。例如,请参见使用驾驶场景测试开环ADAS算法

  • 输入端口-指定自我车辆使用自我的车辆输入端口。自我载体的姿态不包括在演员输出端口。

    有了这个选项,模型中的ego车辆必须包含一个在世界坐标中的起始位置。所有其他行动者的姿势都在车辆坐标中,并相对于自我车辆进行定位。有关带有已定义位置信息的ego车辆的示例,请参见车道保持辅助车道检测.当定义ego车辆的起始位置时,考虑使用场景中已经定义的位置。通过使用这个位置,如果你自我载体的来源场景然后回到输入端口,则无需手动改变起始位置。

    选择这个选项来测试闭环ADAS算法,在这个算法中,随着场景的进展,ego车辆会对变化做出反应。例如,请参见使用驾驶场景测试闭环ADAS算法

依赖性

要启用该参数,请设置演员输出的坐标系参数车辆坐标

自我车辆的行动者ID,指定为正整数。使用此参数来模拟使用从a中读取的ego车辆drivingScenario对象。

  • 自我载体的来源被设置为场景,设置为anActorID的值演员指定的属性drivingScenario对象。检查有效ActorID值,使用此语法,其中场景是这个名字drivingScenario变量名。

    actorIDs = [scenario.Actors.ActorID]
  • 自我载体的来源被设置为输入端口,则该参数必须设置为ActorID价值在自我的车辆块的输入端口。

依赖性

要启用该参数,请依次设置以下参数:

  1. 设定驾驶场景来源参数从工作空间

  2. 设定演员输出的坐标系参数车辆坐标

选择此参数输出自我车辆在自我车辆姿势端口。

依赖性

要启用该参数,请设置演员输出的坐标系参数车辆坐标自我载体的来源参数场景

选择此参数以输出EGO车辆的状态自我的车辆状态端口。

依赖性

要启用该参数,请设置演员输出的坐标系参数车辆坐标自我载体的来源参数场景

为了输出自我车辆状态,您必须使用的是使用自我车辆的轨迹smoothTrajectory函数的驱动场景API或通过选择使用平滑的,限制跳动的轨迹参数在驾驶场景设计师应用程序。

选择此参数以使自我车辆定位,沿着路面的高度遵循。该块更新自我车辆的高度,卷,俯仰和偏航,并相对于更新的自我车辆坐标输出演员和车道边界。该块不更新自助式车辆的速度或角速度。

使用这个参数在闭环模拟中,道路网络的高程变化。

请注意

在不同高度和倾斜角度的路口,更新后的自我车辆值可能不准确。

在开环模拟中自我载体的来源被设置为场景,自我车辆遵循驾驶场景中规定的高程。

依赖性

要启用该参数,请设置演员输出的坐标系车辆坐标自我载体的来源输入端口

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

车道

输出的通道边界,指定为以下选项之一:

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

  • 自我车辆车道边界-输出自我车辆的左右车道边界。

  • 所有车道边界-输出自我车辆行驶道路上的所有车道边界。

如果您选择自我车辆车道边界所有车道边界,然后block返回车道边界车道边界输出端口。

依赖性

要启用该参数,请设置演员输出的坐标系参数车辆坐标

用于计算车道边界的自我车辆的距离,指定为N元实值向量。N是距离值的数量。当从面向后的相机检测通道时,请指定负距离。当从面向前置摄像机检测通道时,请指定正距离。单位是米。

默认情况下,该块将101个车道边界计算在自助车后面150米的范围内,以150米进入自动升降机。这些距离相距3米线性间隔。

例子:1:0.1:10每0.1米计算一个车道边界,范围从1到10米的自我车辆。

依赖性

要启用该参数,请设置输出车道边界参数自我车辆车道边界所有车道边界

车道标记上的车道边界位置,指定为本表中的选项之一。

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

一个三车道的道路有四个车道边界:一个车道标记。

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

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

依赖性

要启用该参数,请设置输出车道边界参数自我车辆车道边界所有车道边界

端口设置

属性中返回的actor pose总线的名称的来源演员输出端口,指定为这些选项之一:

  • 汽车-该块自动创建一个actor pose总线名称。

  • 财产-通过使用演员总线名称参数。

演员的名字摆出的公共汽车返回演员输出端口,指定为有效的总线名称。

依赖性

要启用该参数,请设置演员巴士名称的来源财产

在驾驶场景中可以拥有的最大参与者数量的来源,指定为以下选项之一:

  • 场景—该块将最大参与者数量设置为驾驶场景中参与者的数量。这个值等于NumActors田野的巴士由演员输出端口。当您更改输入场景时,将更新参与者的最大数量以匹配新的NumActors价值。

  • 财产—使用最大行动者数量参数。当您希望跨具有不同数量参与者的场景重用相同的参与者总线时,例如从引用的模型输出参与者时,请选择此选项。

场景中可以拥有的参与者的最大数量,指定为正整数。

依赖性

要启用该参数,请设置最大参与者数量的来源参数财产

来源的名称为车道边界巴士返回车道边界输出端口,指定为这些选项之一:

  • 汽车-该块自动创建一个车道边界巴士名称。

  • 财产—使用车道边界总线名称参数。

依赖性

启用该参数。

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定输出车道边界参数自我车辆车道边界所有车道边界

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

依赖性

启用该参数。

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定输出车道边界参数自我车辆车道边界所有车道边界

  3. 设定车道边界巴士名称的来源参数财产

在驾驶场景中,你可以拥有的最大车道边界数的来源,指定为以下选项之一:

  • 场景—阻塞将最大车道边界数设置为驾驶场景下的车道边界数。这个值等于NumLaneBoundaries田野的巴士由车道边界输出端口。当您更改输入场景时,车道边界的最大数量将更新以匹配新的NumLaneBoundaries价值。

  • 财产—使用命令配置最大车道边界数最大车道边界数参数。当您希望跨具有不同数量的车道边界的场景重用相同的车道边界总线时,例如从引用的模型输出车道边界时,请选择此选项。

依赖性

启用该参数。

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定输出车道边界参数所有车道边界

在场景中您可以拥有的最大车道边界数,指定为正整数。

依赖性

启用该参数。

  1. 设定演员输出的坐标系参数车辆坐标

  2. 设定输出车道边界参数所有车道边界

  3. 设定最大车道边界数的来源参数财产

自我车辆姿势公交车的名称来源自我车辆姿势输出端口,指定为这些选项之一:

  • 汽车-该块自动创建一个自我车辆姿势总线名称。

  • 财产-通过使用自我车辆姿势公交车名称参数。

依赖性

要启用该参数,请选择输出自我载体姿态参数。

名称自负的车辆姿势巴士返回自我车辆姿势输出端口,指定为有效的总线名称。

依赖性

要启用该参数,请选择输出自我载体姿态参数,并设置来源自我车辆pose巴士名称参数财产

源的名称为自我车辆状态总线中返回的自我的车辆状态输出端口,指定为这些选项之一:

  • 汽车-该块自动创建一个自我车辆状态总线名称。

  • 财产- 通过使用使用的自我车辆状态总线名称自我车辆状态总线名称参数。

依赖性

要启用该参数,请选择输出自我车辆状态参数。

自我车辆的名称状态总线返回自我的车辆状态输出端口,指定为有效的总线名称。

依赖性

要启用该参数,请选择输出自我车辆状态参数,并设置自我车辆国家总线名称的来源参数财产

选择此参数将显示块输入和输出的坐标系统场景的读者块图中的块。

  • 自我的车辆输入和输出总是在世界坐标中。

  • 车道边界输出始终处于车辆坐标。

  • 你可以退回演员输出在车辆或世界坐标,取决于演员输出的坐标系参数的选择。

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

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

提示

  • 为了达到最好的效果,只使用一种活性成分场景的读者每个模型。要在一个模型中使用多个Scenario Reader块,可以通过在一个可变子系统中指定它们来在块之间进行切换。

  • 为了在不同的驾驶场景中测试你的算法,你可以在模拟之间更新场景。

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

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

  • 要在具有不同参数设置的场景之间切换,可以使用金宝app仿真软件测试™软件例如,请参见高速公路车道跟踪自动测试

扩展能力

介绍了R2019a