场景的读者
将驾驶场景读入模型
- 库:
自动驾驶工具箱/驾驶场景和传感器建模
描述
的场景的读者类创建的场景文件中读取道路和参与者驾驶场景设计应用程序或从drivingScenario
对象。该块在自我载体的坐标系统或场景的世界坐标中输出演员的姿势。您还可以输出车道边界或输出自我车辆姿态,以供在3D模拟环境中使用。该模块还允许输出自我车辆状态,其中包括加速度测量,用于传感器模型。
为了从输出的参与者姿态和车道边界生成对象和车道边界检测,将姿态和边界输出传递给传感器块。使用这些传感器生成的合成检测来测试传感器融合算法、跟踪算法和其他自动驾驶辅助系统(ADAS)算法的性能。要可视化这些算法的性能,请使用鸟瞰的范围.
方法的输入,可以从场景中读取自我载体,也可以指定在模型中定义的自我载体场景的读者块。使用此选项可测试闭环车辆控制器算法,如自动紧急制动(AEB)、车道保持辅助(LKA)或自适应巡航控制(ACC)。
限制
的场景的读者块不从场景文件中读取传感器数据驾驶场景设计在Simulink中重现传感器金宝app®,在app中,打开包含传感器的场景文件。然后,从应用程序工具条中选择出口>导出传感器Simulink模金宝app型.将生成的传感器块复制到现有模型中。另外,选择出口>导出Simul金宝appink模型并从生成的数据开始一个新的模型场景的读者块和传感器块。
大型道路网络,包括ASAM OpenDRIVE®道路网络可能需要几分钟才能读取到模型中。
港口
输入
自我的车辆
-自我车辆姿势
金宝appSimulink总线包含MATLAB®结构
自我车辆姿态,指定为包含MATLAB结构的Simulink总线。金宝app
结构必须包含这些字段。
场 | 描述 |
---|---|
ActorID |
场景定义的参与者标识符,指定为正整数。 |
位置 |
参与者的位置,指定为形式为[的实值向量xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z-directions,指定为形式为[的实值向量vxvyvz].单位是米每秒。 |
卷 |
演员的滚动角度,指定为实值标量。单位是度。 |
球场 |
actor的俯仰角,指定为实值标量。单位是度。 |
偏航 |
动器的偏航角,指定为实值标量。单位是度。 |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z-directions,指定为形式为[的实值向量ωxωyωz].单位是度每秒。 |
在将角色从自我运载工具坐标转换为世界坐标以供在3D模拟环境中使用时,输出自我运载工具姿态。例如,请参见从虚幻引擎仿真环境中可视化传感器数据.
依赖关系
要启用该端口,请按如下顺序设置参数:
设置角色输出的坐标系统参数
车辆坐标
.设置自我载体的来源参数
输入端口
.
输出
演员
-场景演员的姿势
金宝appSimulink总线包含MATLAB结构
场景参与者姿势,作为包含MATLAB结构的Simulink总线返回。金宝app
该结构具有这些字段。
场 | 描述 | 类型 |
---|---|---|
NumActors |
演员人数 | 非负整数 |
时间 |
当前模拟时间 | 实值标量 |
演员 |
演员的姿势 | NumActors -length演员姿态结构数组 |
每个演员的姿势结构演员
有这些字段。
场 | 描述 |
---|---|
ActorID |
场景定义的参与者标识符,指定为正整数。 |
位置 |
参与者的位置,指定为形式为[的实值向量xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z-directions,指定为形式为[的实值向量vxvyvz].单位是米每秒。 |
卷 |
演员的滚动角度,指定为实值标量。单位是度。 |
球场 |
actor的俯仰角,指定为实值标量。单位是度。 |
偏航 |
动器的偏航角,指定为实值标量。单位是度。 |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z-directions,指定为形式为[的实值向量ωxωyωz].单位是度每秒。 |
自我载体的姿态被排除在演员
数组中。
要从块中返回参与者姿势,必须运行整个驾驶场景模拟直至完成。
车道边界
-场景车道边界
金宝appSimulink总线包含MATLAB结构
场景车道边界,作为包含MATLAB结构的Simulink总线返回。金宝app
该结构具有这些字段。
场 | 描述 | 类型 |
---|---|---|
NumLaneBoundaries |
车道边界数 | 非负整数 |
时间 |
当前模拟时间 | 真正的标量 |
LaneBoundaries |
车道边界从最左边的车道开始相对于自我车辆。 | NumLaneBoundaries 车道边界结构的长度数组 |
各车道边界结构在LaneBoundaries
有这些字段。
场 | 描述 |
|
车道边界坐标,指定为实值N-by-3矩阵,其中N是车道边界坐标的个数。车道边界坐标定义了沿道路中心,在距离车辆指定纵向距离的边界上的点的位置。
这个矩阵还包括与自我飞行器零距离的边界坐标。这些坐标分别位于自我车辆原点的左侧和右侧,原点位于后轴的中心下方。单位是米。 |
|
车道边界的每一行都有曲率坐标 矩阵,指定为实值N1的向量。N是车道边界坐标的个数。单位是弧度每米。 |
|
的每一行车道边界曲率的导数坐标 矩阵,指定为实值N1的向量。N是车道边界坐标的个数。单位是弧度每平方米。 |
|
初始车道边界航向角,指定为实标量。车道边界的航向角相对于车辆的航向。单位是度。 |
|
车辆自身位置与车道边界的横向偏移,指定为实标量。对自我车辆左侧车道边界的偏移为正。自我载体右边的偏移量是负的。单位是米。在这幅图中,自我车辆偏离左车道1.5米,偏离右车道2.1米。 |
|
车道边界标记的类型,指定为以下值之一:
|
|
车道边界标记的饱和强度,指定为从0到1的实标量。值为 |
|
车道边界宽度,指定为正实标量。在双线车道标记中,两行和行之间的间距使用相同的宽度。单位是米。 |
|
虚线中的虚线长度,指定为正实标量。在双线车道标记中,两条线使用相同的长度。 |
|
虚线中虚线之间的间隔长度,指定为正实标量。在虚线双线车道标记中,两条线使用相同的空间。 |
返回的车道边界结构的数目取决于输出的车道边界参数值。
依赖关系
要启用该端口,请按如下顺序设置参数:
设置角色输出的坐标系统参数
车辆坐标
.设置输出的车道边界参数
自我车道边界
或所有车道边界
.
自我工具姿势
-自我车辆姿势
金宝appSimulink总线包含MATLAB结构
自我车辆姿态,作为包含MATLAB结构的Simulink总线返回金宝app。
结构必须包含这些字段。
场 | 描述 |
---|---|
ActorID |
场景定义的参与者标识符,指定为正整数。 |
位置 |
参与者的位置,指定为形式为[的实值向量xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z-directions,指定为形式为[的实值向量vxvyvz].单位是米每秒。 |
卷 |
演员的滚动角度,指定为实值标量。单位是度。 |
球场 |
actor的俯仰角,指定为实值标量。单位是度。 |
偏航 |
动器的偏航角,指定为实值标量。单位是度。 |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z-directions,指定为形式为[的实值向量ωxωyωz].单位是度每秒。 |
依赖关系
要启用该端口,请按如下顺序设置参数:
设置角色输出的坐标系统参数
车辆坐标
.设置自我载体的来源参数
场景
.选择输出自我车辆姿态参数。
自我车辆状态
-自我车辆状态
金宝appSimulink总线包含MATLAB结构
自我车辆状态,作为包含MATLAB结构的Simulink总线返回。金宝app
结构必须包含这些字段。
场 | 描述 |
---|---|
位置 |
参与者的位置,指定为形式为[的实值向量xyz].单位是米。 |
速度 |
速度(v)的演员x-y- - - - - -,z-directions,指定为形式为[的实值向量vxvyvz].单位是米每秒。 |
取向 |
参与者的方向,指定为[的实值向量] |
AngularVelocity |
角速度(ω)的演员x-,y- - - - - -,z-directions,指定为形式为[的实值向量ωxωyωz].单位是度每秒。 |
加速度 |
加速度(一个)的演员x-y- - - - - -,z-directions,指定为形式为[的实值向量一个x一个y一个z].单位是米每秒的平方。 |
依赖关系
要启用该端口,请按如下顺序设置参数:
设置角色输出的坐标系统参数
车辆坐标
.设置自我载体的来源参数
场景
.选择输出自我车辆状态参数。
参数
驾驶场景来源
-驾驶场景来源
从文件
(默认)|从工作空间
驱动场景的来源,指定为以下选项之一:
从文件
-在驱动场景设计器文件名参数保存的场景文件的名称驾驶场景设计应用程序。从工作空间
-在MATLAB或模型工作区变量名参数时,指定MATLAB或模型工作区变量的名称drivingScenario
对象。
驱动场景设计器文件名
—场景文件名
EgoVehicleGoesStraight.mat
(默认)|场景文件的MATLAB搜索路径|场景文件的路径
场景文件名,指定为MATLAB搜索路径上的场景文件或场景文件的完整路径。场景文件必须是从驾驶场景设计app。如果自我载体的来源参数设置为场景
,那么这个场景必须包含一个自我载体。否则,块在模拟过程中返回错误。
如果指定的场景文件包含传感器,块将忽略它们。若要在模型中包括来自场景的传感器,请参见提示.
默认场景文件显示,一辆自我车辆在一条笔直的双车道道路上向北行驶,另一辆车辆在相反的车道上向南行驶。
若要将场景文件添加到MATLAB搜索路径,请使用目录
函数。例如,这段代码添加了包含预先构建的Euro NCAP的文件夹集®场景到MATLAB搜索路径。
Path = fullfile(matlabroot,“工具箱”,“共享”,“drivingscenario”,...“PrebuiltScenarios”,“EuroNCAP”);目录genpath(路径))
在驱动场景设计器文件名参数,然后可以指定位于这些文件夹中的任何场景的名称,而不必指定完整的文件路径。例如:AEB_PedestrianChild_Nearside_50width.mat
.
在模型中使用完场景后,可以使用rmpath
函数。
rmpath (genpath(路径))
依赖关系
若要启用此参数,请设置驾驶场景来源参数从文件
.
MATLAB或模型工作区变量名
—场景变量名称
场景
(默认)|drivingScenario
对象变量名
场景变量名,指定为包含有效的MATLAB或模型工作区变量的名称drivingScenario
对象。如果在MATLAB和模型工作空间中都出现了同名的场景变量,则块使用模型工作空间中定义的变量。
如果自我载体的来源参数设置为场景
,则drivingScenario
对象必须包含自我载体。来指定对象中的哪个行动者是自我载体,在自我车辆ActorID参数,指定ActorID
该参与者的属性值。
默认变量名,场景
的默认名称drivingScenario
对象生成的MATLAB函数,从驾驶场景设计默认情况下,该变量不包含在MATLAB或模型工作区中。
依赖关系
若要启用此参数,请设置驾驶场景来源参数从工作空间
.
角色输出的坐标系统
-角色输出坐标系统
车辆坐标
(默认)|世界坐标
输出角色的坐标系统,指定为以下值之一:
车辆坐标
-坐标是根据自我载具定义的。当您的场景只有一个自我车辆时,请选择此值。世界坐标
-坐标是根据驾驶场景定义的。在包含多个自我载体的多代理场景中选择此值。属性的模型可视化鸟瞰的范围不支持。金宝app
有关飞行器和世界坐标系的详细信息,请参见自动驾驶工具箱中的坐标系.
自我载体的来源
-自我车辆的来源
场景
(默认)|输入端口
自我载体的来源,指定为以下选项之一:
场景
命令指定的场景中定义的自我载具驱动场景设计器文件名或MATLAB或模型工作区变量名参数。自我载体的姿态被排除在演员输出端口。参与者位置位于车辆坐标中,这意味着它们相对于场景中自我车辆的世界坐标位置。选择此选项可测试开环ADAS算法,其中自我车辆行为是预定义的,不会随着场景的进展而改变。有关示例,请参见使用驾驶场景测试开环ADAS算法.
输入端口
-指定自我车辆使用自我的车辆输入端口。自我载具的姿态不包括在演员输出端口。使用此选项,模型中的自我车辆必须包含世界坐标中的起始位置。所有其他演员姿势都在车辆坐标中,并相对于自我车辆定位。有关具有已定义位置信息的自我车辆的示例,请参见车道保持辅助车道检测.在定义自我车辆的起始位置时,考虑使用场景中已经定义的位置。通过使用这个位置,如果你设置自我载体的来源来
场景
然后回到输入端口
,则无需手动更改起始位置。选择此选项可测试闭环ADAS算法,其中自我车辆会随着场景的进展对变化做出反应。有关示例,请参见使用驾驶场景测试闭环ADAS算法.
依赖关系
若要启用此参数,请设置角色输出的坐标系统参数车辆坐标
.
自我车辆ActorID
-自我车辆的角色ID
1
(默认值)|正整数
自我车辆的角色ID,指定为正整数。使用此参数模拟使用从对象中读取的自我载体drivingScenario
对象。
当自我载体的来源设置为
场景
,设置为anActorID
对象中存储的演员
属性。drivingScenario
对象。检查有效性ActorID
值,使用此语法,其中场景
是名字吗drivingScenario
变量的名字。actorid = [scenario.Actors.ActorID]
当自我载体的来源设置为
输入端口
,该参数必须设置为ActorID
值为自我的车辆块的输入端口。
依赖关系
若要启用此参数,请按以下顺序设置参数:
设置驾驶场景来源参数
从工作空间
.设置角色输出的坐标系统参数
车辆坐标
.
输出自我车辆姿态
-自我车辆的输出姿态
从
(默认)|在
选择此参数输出自我车辆的姿态自我工具姿势端口。
依赖关系
若要启用此参数,请设置角色输出的坐标系统参数车辆坐标
和自我载体的来源参数场景
.
输出自我车辆状态
-自我车辆的输出状态
从
(默认)|在
选择此参数可在自我车辆状态端口。
依赖关系
若要启用此参数,请设置角色输出的坐标系统参数车辆坐标
和自我载体的来源参数场景
.
属性来创建自我载具的轨迹,以输出自我载具状态smoothTrajectory
功能,或通过选择使用平滑的,限制颠簸的轨迹参数中的驾驶场景设计应用程序。
自我车辆跟随地面
-引导自我车辆沿着路面行驶
从
(默认)|在
选择此参数将自我车辆定位为跟随路面的仰角。该块更新自我车辆的仰角、横摇、俯仰和偏航,并输出相对于更新的自我车辆坐标的参与者和车道边界。该块不更新自我飞行器的速度或角速度。
在路网高程变化的闭环模拟中使用此参数。
请注意
在不同高程和倾斜角度的道路路口,更新的自我车辆值可能不准确。
在开环模拟中,其中自我载体的来源设置为场景
时,自动车辆沿驾驶场景中指定的仰角行驶。
依赖关系
若要启用该参数,请设置角色输出的坐标系统来车辆坐标
而且自我载体的来源来输入端口
.
取样时间(秒)
-模拟采样时间
0.1
(默认)|正实标量
模拟的采样时间,以秒为单位,指定为正实标量。不支持继承和连续采样时间。金宝app这个采样时间和这个采样时间是分开的驾驶场景设计应用程序和drivingScenario
在模拟过程中使用对象。
输出的车道边界
-输出的车道边界
没有一个
(默认)|自我车辆车道边界
|所有车道边界
输出的车道边界,指定为以下选项之一:
没有一个
-不输出任何车道边界。自我车辆车道边界
-输出自我车辆的左右车道边界。所有车道边界
-输出自我车辆行驶的道路的所有车道边界。
如果您选择自我车辆车道边界
或所有车道边界
时,该块返回车道边界输出端口。
依赖关系
若要启用此参数,请设置角色输出的坐标系统参数车辆坐标
.
计算边界距离自我载具(m)
-与自我车辆的距离,计算车道边界
linspace (-150150101)
(默认)|N-element实值向量
与自我车辆的距离,以计算车道边界,指定为N-element实值向量。N是距离值的个数。当从后置摄像头检测车道时,指定负距离。当从前置摄像头检测车道时,指定正距离。单位是米。
默认情况下,该块计算101个车道边界,范围从自我车辆后面150米到自我车辆前面150米。这些距离线性间隔为3米。
例子:1:0.1:10
在车辆前方1至10米范围内,每0.1米计算一个车道边界。
依赖关系
若要启用此参数,请设置输出的车道边界参数自我车辆车道边界
或所有车道边界
.
车道标记的边界位置
-车道边界位置
车道标记中心
(默认)|车道标记的内边缘
车道边界位置上的车道标记,指定为此表中的选项之一。
车道边界位置 | 描述 | 例子 |
---|---|---|
车道标记中心 |
车道边界以车道标记为中心。 | 一条三车道的道路有四个车道边界:每个车道都有一个标志。 |
车道标记的内边缘 |
车道边界位于车道标记的内边缘。 | 一条三车道的道路有六个车道边界:每个车道两个。 |
依赖关系
若要启用此参数,请设置输出的车道边界参数自我车辆车道边界
或所有车道边界
.
角色总线名称的源
-演员姿势总线名称的来源
汽车
(默认)|财产
对象中返回的actor姿态总线的名称的源演员输出端口,指定为以下选项之一:
汽车
-该块自动创建一个actor姿势总线名称。财产
属性指定角色姿势总线名称演员总线名称参数。
演员总线名称
-演员姿势巴士的名字
有效的总线名称
对象中返回的演员姿势总线的名称演员输出端口,指定为有效的总线名称。
依赖关系
若要启用该参数,请设置角色总线名称的源来财产
.
最大演员数量的来源
-最大演员数量的来源
场景
(默认)|财产
您在驾驶场景中可以拥有的最大参与者数量的来源,指定为以下选项之一:
场景
—该块设置的最大演员数为驾驶场景下的演员数。这个值等于NumActors
现场的公共汽车返回了演员输出端口。当您更改输入场景时,参与者的最大数量将更新以匹配新的NumActors
价值。财产
—使用命令指定最大演员数最大演员人数参数。当您希望跨具有不同数量参与者的场景重用相同的参与者总线时,例如从引用的模型输出参与者时,请选择此选项。
最大演员人数
—最大演员数
One hundred.
(默认值)|正整数
场景中可以拥有的最大参与者数量,指定为正整数。
依赖关系
若要启用此参数,请设置最大演员数量的来源参数财产
.
车道边界总线名称的来源
-车道边界总线名称的来源
汽车
(默认)|财产
中返回的车道边界总线的名称的源车道边界输出端口,指定为以下选项之一:
汽车
-该块自动创建一个车道边界总线名称。财产
属性指定车道边界总线名称车道边界巴士名称参数。
依赖关系
启用该参数。
设置角色输出的坐标系统参数
车辆坐标
.设置输出的车道边界参数
自我车辆车道边界
或所有车道边界
.
车道边界巴士名称
-车道边界巴士名称
有效的总线名称
返回的车道边界公共汽车的名称车道边界输出端口,指定为有效的总线名称。
依赖关系
启用该参数。
设置角色输出的坐标系统参数
车辆坐标
.设置输出的车道边界参数
自我车辆车道边界
或所有车道边界
.设置车道边界总线名称的来源参数
财产
.
最大数量的车道边界的来源
-最大车道边界数的来源
场景
(默认)|财产
您在驾驶场景中可以拥有的最大车道边界数量的来源,指定为以下选项之一:
场景
—该块设置的最大车道边界数为实际驾驶场景下的车道边界数。这个值等于NumLaneBoundaries
现场的公共汽车返回了车道边界输出端口。当您更改输入场景时,车道边界的最大数量将更新以匹配新的NumLaneBoundaries
价值。财产
参数指定车道边界的最大数目最大车道边界数参数。当您希望跨具有不同车道边界数量的场景重用相同的车道边界总线时,例如从引用模型输出车道边界时,请选择此选项。
依赖关系
启用该参数。
设置角色输出的坐标系统参数
车辆坐标
.设置输出的车道边界参数
所有车道边界
.
最大车道边界数
-最大车道边界数
10
(默认值)|正整数
在该场景中可以拥有的最大车道边界数,指定为正整数。
依赖关系
启用该参数。
设置角色输出的坐标系统参数
车辆坐标
.设置输出的车道边界参数
所有车道边界
.设置最大数量的车道边界的来源参数
财产
.
自我车辆姿态总线名称的来源
-自我车辆姿态总线名称的来源
汽车
(默认)|财产
中返回的自我车辆姿态总线的名称的源自我工具姿势输出端口,指定为以下选项之一:
汽车
-该块自动创建一个自我车辆姿态总线名称。财产
参数指定自我车辆姿态总线名称自我车辆姿态巴士名称参数。
依赖关系
要启用此参数,请选择输出自我车辆姿态参数。
自我车辆姿态巴士名称
-自我车辆姿态总线的名称
有效的总线名称
中返回的自我车辆姿态总线的名称自我工具姿势输出端口,指定为有效的总线名称。
依赖关系
要启用此参数,请选择输出自我车辆姿态参数,并设置自我车辆姿态总线名称的来源参数财产
.
自我车辆状态总线名称的源
-自我车辆状态总线名称的来源
汽车
(默认)|财产
中返回的自我车辆状态总线的名称的源自我车辆状态输出端口,指定为以下选项之一:
汽车
-该块自动创建一个自我车辆状态总线名称。财产
属性指定自我车辆状态总线名称自我车辆状态总线名称参数。
依赖关系
要启用此参数,请选择输出自我车辆状态参数。
自我车辆状态总线名称
-自我车辆状态总线的名称
有效的总线名称
对象中返回的自我车辆状态总线的名称自我车辆状态输出端口,指定为有效的总线名称。
依赖关系
要启用此参数,请选择输出自我车辆状态参数,并设置自我车辆状态总线名称的源参数财产
.
显示坐标标签
-输入输出坐标系统显示
在
(默认)|从
对象上显示块输入和输出的坐标系场景的读者框图中的块。
的自我的车辆输入和输出总是在世界坐标中。
的车道边界输出总是在车辆坐标中。
您可以返回演员车辆坐标或世界坐标的输出,取决于角色输出的坐标系统参数的选择。
模拟使用
-要运行的模拟类型
解释执行
(默认)|代码生成
解释执行
-使用MATLAB解释器对模型进行仿真。该选项可缩短启动时间。在解释执行
模式下,可以调试该块的源代码。代码生成
-使用生成的C/ c++代码模拟模型。第一次运行模拟时,Simulink为该块生成C/ c++代码。金宝app只要模型没有改变,C代码就可以在后续的模拟中重用。这个选项需要额外的启动时间。
模型的例子
提示
为了达到最佳效果,只使用一种活性物质场景的读者每个模型块。要在一个模型中使用多个Scenario Reader块,可以通过在不同的子系统中指定它们来在块之间进行切换。
要在驾驶场景的变化上测试您的算法,您可以在模拟之间更新场景。
如果场景源为场景文件,请在工具中打开场景文件驾驶场景设计App,更新参数,重新保存文件。
如果场景来源为
drivingScenario
对象,在MATLAB或模型工作区中更新对象。或者,将对象导入到应用程序中,在应用程序中修改场景,然后从应用程序中生成一个新对象。有关详细信息,请参见以编程方式创建驾驶场景变化.
当需要在不同参数设置的场景之间切换时,可以使用金宝app仿真软件测试™软件有关示例,请参见高速公路车道跟随自动化测试.
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。金宝app
使用注意事项和限制:
当模型处于快速加速模式时,场景的读者Block不会根据两次模拟之间对驾驶场景所做的更改自动重新生成代码。要重新生成这些更改,请手动删除Simulink项目文件夹,金宝app
slprj
,这是由之前的模拟生成的。然后,重新运行模拟。属性来更改模式或禁用代码生成模拟使用参数解释执行
.的驱动场景设计器文件名而且MATLAB或模型工作区变量名参数是字符向量。中描述的限制代码生成中的字符编码(金宝app模型)应用于这些参数。
版本历史
在R2019a中引入
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。