将驾驶场景读取到模型中
自动化驾驶工具箱/驾驶场景和传感器建模
的场景的读者块从使用的方案文件中读取道路和演员驾驶场景设计师应用程序或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车辆的姿态。例如,请参见可视化传感器数据从虚幻引擎模拟环境.
要启用该端口,请依次设置以下参数:
设定演员输出的坐标系参数车辆坐标
.
设定自我载体的来源参数输入端口
.
演员
- 情景演员姿势场景演员的姿势,作为一个包含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为车道边界坐标的个数。车道边界坐标在沿着道路中心定义了远离自助式车辆的指定纵向距离的边界上的点位置。
这个矩阵还包括与自我飞行器零距离处的边界坐标。这些坐标是左和右的自我车辆原点,这是位于中心的后桥。单位是米。 |
|
每一行的线边界曲率坐标 矩阵,指定为实值N1的向量。N为车道边界坐标的个数。单位是弧度/米。 |
|
的每一行的车道边界曲率的导数坐标 矩阵,指定为实值N1的向量。N为车道边界坐标的个数。单位是弧度每平方米。 |
|
初始车道边界标题角度,指定为真正的标量。车道边界的标题相对于自我车辆标题。单位是度。 |
|
自我车辆位置从车道边界的侧向偏移量,指定为实标量。自我车辆左侧的车道边界偏移量为正。自我载体右侧的偏移量为负。单位是米。在这张图中,ego车辆与左车道偏移1.5米,右车道偏移2.1米。 |
|
行车线界线标记的类型,指定为以下值之一:
|
|
车道边界标记的饱和强度,指定为从0到1的实标量。的值 |
|
车道边界宽度,指定为正实标量。在双线车道标记中,两条线以及线与线之间的空间使用相同的宽度。单位是米。 |
|
虚线中虚线的长度,指定为正实标量。在双线车道标记中,两线使用相同的长度。 |
|
虚线中短线之间的空间长度,指定为正实标量。在虚线的双线车道标记中,两条线使用相同的空间。 |
返回车道边界结构的数量取决于输出车道边界参数值。
要启用该端口,请依次设置以下参数:
设定演员输出的坐标系参数车辆坐标
.
设定输出车道边界参数自我车道边界
或所有车道边界
.
自我车辆姿势
-自我载体姿态自我车辆姿态,返回的Simulink总线包含一个MATLAB结构金宝app。
结构必须包含这些字段。
场 | 描述 |
---|---|
ActorID |
场景定义的参与者标识符,指定为一个正整数。 |
位置 |
行动者的位置,指定为形式的实值向量[xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。 |
卷 |
演员的滚动角度,指定为真实值的标量。单位是度。 |
球场 |
作用器的俯仰角,指定为实值标量。单位是度。 |
偏航 |
作用器的偏航角,指定为实值标量。单位是度。 |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。 |
要启用该端口,请依次设置以下参数:
设定演员输出的坐标系参数车辆坐标
.
设定自我载体的来源参数场景
.
选择输出自我载体姿态参数。
自我的车辆状态
-自我车辆状态EGO车辆状态,作为包含MATLAB结构的SIMULINK总线返回金宝app。
结构必须包含这些字段。
场 | 描述 |
---|---|
位置 |
行动者的位置,指定为形式的实值向量[xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[vxvyvz].单位每秒米。 |
取向 |
行动者的方向,指定为[的实值向量 |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z- 指定为表格的真实值矢量[ωxωyωz].单位是每秒度。 |
加速度 |
加速度(一个)的演员x-y- - - - - -,z- 指定为表格的真实值矢量[一个x一个y一个z].单位是米每秒的平方。 |
要启用该端口,请依次设置以下参数:
设定演员输出的坐标系参数车辆坐标
.
设定自我载体的来源参数场景
.
选择输出自我车辆状态参数。
驾驶场景来源
-驾驶场景的来源从文件
(默认)|从工作空间
驾驶场景的来源,指定为以下选项之一:
从文件
——在驱动场景设计器文件名参数中保存的场景文件的名称驾驶场景设计师应用程序。
从工作空间
——在matlab或modelspace变量名称参数,指定包含的MATLAB或模型工作区变量的名称drivingScenario
对象。
驱动场景设计器文件名
—场景文件名EgoVehicleGoesStraight.mat
(默认)|场景文件在MATLAB中搜索路径|场景文件路径场景文件名,指定为MATLAB搜索路径上的场景文件或场景文件的完整路径。场景文件必须是从驾驶场景设计师应用程序。如果自我载体的来源参数设置为场景
,那么这个场景必须包含一个自我载体。否则,该块将在模拟期间返回一个错误。
如果指定的场景文件包含传感器,则块将忽略它们。要在模型中包含场景中的传感器,请参见提示.
默认的场景文件显示,一辆自我车辆在一条直的双车道道路上向北行驶,另一辆车在对面的车道上向南行驶。
要将场景文件添加到MATLAB搜索路径中,请使用目录
函数。例如,这段代码添加了一组包含预构建的Euro NCAP的文件夹®场景到MATLAB的搜索路径。
路径= fullfile (matlabroot,“工具箱”,“开车”,“drivingdata”,...“PrebuiltScenarios”,'euroncap');目录genpath(路径))
在驱动场景设计器文件名参数,则可以指定位于这些文件夹中的任何场景的名称,而不必指定完整的文件路径。例如:aeb_pedestrianchild_nearside_50width.mat
.
当您在模型中使用场景完成时,您可以通过使用rmpath
函数。
rmpath (genpath(路径))
要启用该参数,请设置驾驶场景来源参数从文件
.
matlab或modelspace变量名称
—场景变量名场景
(默认)|drivingScenario
对象变量名场景变量名,指定为MATLAB或模型工作区变量的名称,其中包含有效的drivingScenario
对象。如果在MATLAB和模型工作空间中同时出现同名的场景变量,则该块将使用在模型工作空间中定义的变量。
如果自我载体的来源参数设置为场景
,那么drivingScenario
对象必须包含自我载体。指定对象中的哪个行动者是自我载体,在自我车辆ActorID参数,指定ActorID
该演员的财产价值。
默认变量名,场景
的默认名称drivingScenario
的MATLAB函数生成的对象驾驶场景设计师默认情况下,这个变量不包含在MATLAB或模型工作区中。
要启用该参数,请设置驾驶场景来源参数从工作空间
.
演员输出的坐标系
-参与者输出的坐标系统车辆坐标
(默认)|世界坐标
输出参与者的坐标系统,指定为以下值之一:
车辆坐标
- 相对于自助载体定义坐标。当您的方案只有一个自助车辆时,请选择此值。
世界坐标
-根据驾驶场景定义坐标。在包含多个自我载体的多主体场景中选择此值。如果选择此值,则使用鸟瞰不支持。金宝app
有关车辆和世界坐标系统的更多细节,请参阅自动驾驶工具箱中的坐标系统.
自我载体的来源
-自我载体的来源场景
(默认)|输入端口
自我车辆的来源,指定为这些选项之一:
场景
-使用场景中定义的ego工具驱动场景设计器文件名或matlab或modelspace变量名称参数。自我载体的姿态被排除在演员输出端口。行动者的位置在车辆坐标中,这意味着他们相对于场景中自我车辆的世界坐标位置。
选择此选项来测试开环ADAS算法,其中自我车辆行为是预定义的,不会随着场景的进展而改变。例如,请参见使用驾驶场景测试开环ADAS算法.
输入端口
-指定自我车辆使用自我的车辆输入端口。自我载体的姿态不包括在演员输出端口。
有了这个选项,模型中的ego车辆必须包含一个在世界坐标中的起始位置。所有其他行动者的姿势都在车辆坐标中,并相对于自我车辆进行定位。有关带有已定义位置信息的ego车辆的示例,请参见车道保持辅助车道检测.当定义ego车辆的起始位置时,考虑使用场景中已经定义的位置。通过使用这个位置,如果你自我载体的来源来场景
然后回到输入端口
,则无需手动改变起始位置。
选择这个选项来测试闭环ADAS算法,在这个算法中,随着场景的进展,ego车辆会对变化做出反应。例如,请参见使用驾驶场景测试闭环ADAS算法.
要启用该参数,请设置演员输出的坐标系参数车辆坐标
.
自我车辆ActorID
-自我车辆的演员ID1
(默认)|正整数自我车辆的行动者ID,指定为正整数。使用此参数来模拟使用从a中读取的ego车辆drivingScenario
对象。
当自我载体的来源被设置为场景
,设置为anActorID
的值演员
指定的属性drivingScenario
对象。检查有效ActorID
值,使用此语法,其中场景
是这个名字drivingScenario
变量名。
actorIDs = [scenario.Actors.ActorID]
当自我载体的来源被设置为输入端口
,则该参数必须设置为ActorID
价值在自我的车辆块的输入端口。
要启用该参数,请依次设置以下参数:
设定驾驶场景来源参数从工作空间
.
设定演员输出的坐标系参数车辆坐标
.
输出自我载体姿态
-自我车辆的输出姿态从
(默认)|在
选择此参数输出自我车辆在自我车辆姿势端口。
要启用该参数,请设置演员输出的坐标系参数车辆坐标
和自我载体的来源参数场景
.
输出自我车辆状态
-自我车辆的输出状态从
(默认)|在
选择此参数以输出EGO车辆的状态自我的车辆状态端口。
要启用该参数,请设置演员输出的坐标系参数车辆坐标
和自我载体的来源参数场景
.
为了输出自我车辆状态,您必须使用的是使用自我车辆的轨迹smoothTrajectory
函数的驱动场景API或通过选择使用平滑的,限制跳动的轨迹参数在驾驶场景设计师应用程序。
自我车辆尾随地面
-定位自我车辆沿路面行驶从
(默认)|在
选择此参数以使自我车辆定位,沿着路面的高度遵循。该块更新自我车辆的高度,卷,俯仰和偏航,并相对于更新的自我车辆坐标输出演员和车道边界。该块不更新自助式车辆的速度或角速度。
使用这个参数在闭环模拟中,道路网络的高程变化。
请注意
在不同高度和倾斜角度的路口,更新后的自我车辆值可能不准确。
在开环模拟中自我载体的来源被设置为场景
,自我车辆遵循驾驶场景中规定的高程。
要启用该参数,请设置演员输出的坐标系来车辆坐标
和自我载体的来源来输入端口
.
采样时间
-模拟的采样时间0.1
(默认)|正实标量模拟的采样时间,以秒为单位,指定为正实标量。不支持继承和连续的样本时间。金宝app这个样本时间和样本时间是分开的驾驶场景设计师应用程序和drivingScenario
在模拟过程中使用的对象。
输出车道边界
-输出的车道边界没有一个
(默认)|自我车辆车道边界
|所有车道边界
输出的通道边界,指定为以下选项之一:
没有一个
-不要输出任何车道边界。
自我车辆车道边界
-输出自我车辆的左右车道边界。
所有车道边界
-输出自我车辆行驶道路上的所有车道边界。
如果您选择自我车辆车道边界
或所有车道边界
,然后block返回车道边界车道边界输出端口。
要启用该参数,请设置演员输出的坐标系参数车辆坐标
.
计算边界的自我车辆距离(m)
-计算车道边界时与自我车辆的距离linspace (-150150101)
(默认)|N元实值向量用于计算车道边界的自我车辆的距离,指定为N元实值向量。N是距离值的数量。当从面向后的相机检测通道时,请指定负距离。当从面向前置摄像机检测通道时,请指定正距离。单位是米。
默认情况下,该块将101个车道边界计算在自助车后面150米的范围内,以150米进入自动升降机。这些距离相距3米线性间隔。
例子:1:0.1:10
每0.1米计算一个车道边界,范围从1到10米的自我车辆。
要启用该参数,请设置输出车道边界参数自我车辆车道边界
或所有车道边界
.
行车线标记的界线位置
- 车道边界位置车道标志中心
(默认)|车道标记的内边缘
车道标记上的车道边界位置,指定为本表中的选项之一。
车道边界位置 | 描述 | 例子 |
---|---|---|
车道标志中心 |
车道边界以车道标记为中心。 | 一个三车道的道路有四个车道边界:一个车道标记。 |
车道标记的内边缘 |
车道边界位于车道标记的内边缘。 | 三车道的道路有六个车道边界:每车道两个。 |
要启用该参数,请设置输出车道边界参数自我车辆车道边界
或所有车道边界
.
演员巴士名称的来源
-演员姿势巴士的名字来源汽车
(默认)|财产
属性中返回的actor pose总线的名称的来源演员输出端口,指定为这些选项之一:
汽车
-该块自动创建一个actor pose总线名称。
财产
-通过使用演员总线名称参数。
演员总线名称
-演员姿势巴士的名字演员的名字摆出的公共汽车返回演员输出端口,指定为有效的总线名称。
要启用该参数,请设置演员巴士名称的来源来财产
.
最大参与者数量的来源
-最大参与者数量的来源场景
(默认)|财产
在驾驶场景中可以拥有的最大参与者数量的来源,指定为以下选项之一:
场景
—该块将最大参与者数量设置为驾驶场景中参与者的数量。这个值等于NumActors
田野的巴士由演员输出端口。当您更改输入场景时,将更新参与者的最大数量以匹配新的NumActors
价值。
财产
—使用最大行动者数量参数。当您希望跨具有不同数量参与者的场景重用相同的参与者总线时,例如从引用的模型输出参与者时,请选择此选项。
最大行动者数量
- 最大的演员数量One hundred.
(默认)|正整数场景中可以拥有的参与者的最大数量,指定为正整数。
要启用该参数,请设置最大参与者数量的来源参数财产
.
车道边界巴士名称的来源
-车道边界巴士的名称来源汽车
(默认)|财产
来源的名称为车道边界巴士返回车道边界输出端口,指定为这些选项之一:
汽车
-该块自动创建一个车道边界巴士名称。
财产
—使用车道边界总线名称参数。
启用该参数。
设定演员输出的坐标系参数车辆坐标
.
设定输出车道边界参数自我车辆车道边界
或所有车道边界
.
车道边界总线名称
-车道边界巴士的名称名称的车道边界巴士返回车道边界输出端口,指定为有效的总线名称。
启用该参数。
设定演员输出的坐标系参数车辆坐标
.
设定输出车道边界参数自我车辆车道边界
或所有车道边界
.
设定车道边界巴士名称的来源参数财产
.
最大车道边界数的来源
-最大车道边界数的来源场景
(默认)|财产
在驾驶场景中,你可以拥有的最大车道边界数的来源,指定为以下选项之一:
场景
—阻塞将最大车道边界数设置为驾驶场景下的车道边界数。这个值等于NumLaneBoundaries
田野的巴士由车道边界输出端口。当您更改输入场景时,车道边界的最大数量将更新以匹配新的NumLaneBoundaries
价值。
财产
—使用命令配置最大车道边界数最大车道边界数参数。当您希望跨具有不同数量的车道边界的场景重用相同的车道边界总线时,例如从引用的模型输出车道边界时,请选择此选项。
启用该参数。
设定演员输出的坐标系参数车辆坐标
.
设定输出车道边界参数所有车道边界
.
最大车道边界数
- 最大数量的车道边界数10
(默认)|正整数在场景中您可以拥有的最大车道边界数,指定为正整数。
启用该参数。
设定演员输出的坐标系参数车辆坐标
.
设定输出车道边界参数所有车道边界
.
设定最大车道边界数的来源参数财产
.
来源自我车辆pose巴士名称
-自我车辆姿势巴士的名称来源汽车
(默认)|财产
自我车辆姿势公交车的名称来源自我车辆姿势输出端口,指定为这些选项之一:
汽车
-该块自动创建一个自我车辆姿势总线名称。
财产
-通过使用自我车辆姿势公交车名称参数。
要启用该参数,请选择输出自我载体姿态参数。
自我车辆姿势公交车名称
- 自我车辆姿势公交车的名称名称自负的车辆姿势巴士返回自我车辆姿势输出端口,指定为有效的总线名称。
要启用该参数,请选择输出自我载体姿态参数,并设置来源自我车辆pose巴士名称参数财产
.
自我车辆国家总线名称的来源
-自我车辆状态总线的名称来源汽车
(默认)|财产
源的名称为自我车辆状态总线中返回的自我的车辆状态输出端口,指定为这些选项之一:
汽车
-该块自动创建一个自我车辆状态总线名称。
财产
- 通过使用使用的自我车辆状态总线名称自我车辆状态总线名称参数。
要启用该参数,请选择输出自我车辆状态参数。
自我车辆状态总线名称
-自我车辆状态总线的名称自我车辆的名称状态总线返回自我的车辆状态输出端口,指定为有效的总线名称。
要启用该参数,请选择输出自我车辆状态参数,并设置自我车辆国家总线名称的来源参数财产
.
显示坐标的标签
-显示输入和输出坐标系统在
(默认)|从
选择此参数将显示块输入和输出的坐标系统场景的读者块图中的块。
的自我的车辆输入和输出总是在世界坐标中。
的车道边界输出始终处于车辆坐标。
你可以退回演员输出在车辆或世界坐标,取决于演员输出的坐标系参数的选择。
模拟使用
-模拟运行的类型解释执行
(默认)|代码生成
解释执行
- 使用MATLAB解释器模拟模型。此选项缩短了启动时间。在解释执行
模式下,可以调试块的源代码。
代码生成
- 使用生成的C / C ++代码模拟模型。第一次运行模拟时,Simulink会为块生成C / C ++代码。金宝app只要模型不会改变,C代码就重复使用了随后的模拟。此选项需要额外的启动时间。
为了达到最好的效果,只使用一种活性成分场景的读者每个模型。要在一个模型中使用多个Scenario Reader块,可以通过在一个可变子系统中指定它们来在块之间进行切换。
为了在不同的驾驶场景中测试你的算法,你可以在模拟之间更新场景。
如果场景的来源是一个场景文件,则打开驾驶场景设计师应用程序,更新参数,并保存文件。
如果场景的来源是一个drivingScenario
对象,在MATLAB或模型工作区中更新对象。或者,将对象导入到应用程序中,在应用程序中修改场景,然后从应用程序中生成一个新对象以编程方式创建驾驶场景变化.
要在具有不同参数设置的场景之间切换,可以使用金宝app仿真软件测试™软件例如,请参见高速公路车道跟踪自动测试.
使用注意事项及限制:
当模型处于快速加速模式时场景的读者块不会根据在模拟之间对驾驶场景所做的更改自动重新生成代码。要重新生成这些更改,请手动删除Simulink项目文件夹,金宝appslprj.
,这是从先前的模拟生成的。然后,重新运行模拟。或者,通过设置来改变模式或禁用代码生成模拟使用参数解释执行
.
的驱动场景设计器文件名和matlab或modelspace变量名称参数是字符向量。中所述的局限性代码生成中的字符编码(金宝app模型)应用于这些参数。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウににに力
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。