通过编程方式创建驾驶场景变化
这个例子展示了如何以编程方式创建不同的驾驶场景建成使用驾驶场景设计师应用。以编程方式创建一个场景的变化使您能够快速测试算法在多种条件下开车。
创建编程驾驶场景的变化,遵循这些步骤:
通过使用交互式地建立一个驾驶场景驾驶场景设计师应用程序。
出口一个MATLAB®函数生成的MATLAB代码相当于这个场景。
在MATLAB编辑器中,修改导出的函数来创建原始场景的变化。
调用这个函数来生成一个
drivingScenario
对象代表了场景。场景对象导入到应用程序来模拟修改场景或者产生额外的场景。另外,模拟仿真软件的修改场景®,将对象导入到一个通过使用仿真软件模型万博1manbetx场景的读者块。
图中显示了一个可视化表示的工作流。
构建场景的应用
使用驾驶场景设计师交互式地建立一个驾驶场景来测试你的算法。建筑场景的更多细节,请参阅创建驾驶场景交互并生成合成传感器数据。
这个例子使用一个驾驶场景基于一个预先构建的场景,您可以加载的驾驶场景设计师应用程序。
打开场景文件的应用程序。
drivingScenarioDesigner (“LeftTurnScenarioNoSensors.mat”)
点击运行模拟场景。在这种情况下,自我汽车旅行北部和直接通过一个十字路口。与此同时,一辆来自左边前面的十字路口转左,最终自我车辆,在相邻车道上。
为简单起见,这个场景中不包括传感器安装在自我。
出口的MATLAB函数的场景
在视图和模拟场景之后,您可以导出的场景MATLAB命令行。从驾驶场景设计师应用程序将来发布,选择出口> MATLAB函数。导出的函数包含MATLAB代码用于生产应用程序中创建的场景。打开导出的函数。
开放LeftTurnScenarioNoSensors.m;
调用这个函数返回的这些方面驾驶场景。
场景
——公路和演员的场景,作为一个返回drivingScenario
对象。egoVehicle
——自我车辆中定义的情况下,作为一个返回车辆
对象。详情,请参阅车辆
函数。
如果您的场景包含传感器,然后返回的函数用于生成传感器包括额外的代码。如果你模拟场景中包含那些传感器,那么产生的函数也可以生成检测传感器。
修改函数来创建场景的变化
通过修改导出的MATLAB函数中的代码,您可以生成多个单个场景的变化。一个常见的变异是测试自我车辆速度不同。在导出的MATLAB函数中,自我车辆的速度设置为一个常数的价值10米/秒(速度= 10
)。生成不同的自我车辆速度,你可以速度变量转换成一个输入参数的函数。打开导出的函数的脚本包含一个修改版本。
开放LeftTurnScenarioNoSensorsModified.m;
在这个修改功能:
egoSpeed
包括作为输入参数。速度
常数变量,删除。计算自我车辆轨迹,
egoSpeed
而不是使用速度
。
这个图显示了这些脚本修改。
产生额外的变化,考虑:
修改道路和检测参数的影响
修改或起始位置的车辆轨迹
修改的尺寸车辆
调用函数来生成编程场景
使用修改后的功能,生成变化的场景,在该场景中,自我车辆旅行以恒定的速度20米/秒。
场景= LeftTurnScenarioNoSensorsModified (20)% m / s
场景与属性= drivingScenario: SampleTime: 0.0400 StopTime:正SimulationTime: 0正在:1演员:[1 x2 driving.scenario。车辆障碍:[0 x0 driving.scenario。屏障)停车场(0 x0 driving.scenario.ParkingLot):
修改后的场景导入到应用程序中
导入修改场景与修改后的车辆进入应用程序,使用drivingScenarioDesigner
函数。指定drivingScenario
对象作为输入参数。
drivingScenarioDesigner(场景)
在此之前,其他车辆通过路口。现在,随着自我车辆增加的速度从10到20米/秒,首先自我车辆通过路口。
在处理drivingScenario
应用程序中的对象,记住这些点。
尝试不同的自我车辆速度,再次调用导出的函数,然后导入新
drivingScenario
对象使用drivingScenarioDesigner
函数。应用程序不包括进口这些对象的菜单选项。如果你的场景包括传感器,你可以重启的场景和传感器通过使用这种语法:
drivingScenarioDesigner(场景、传感器)
。如果你表现出明显的改变的尺寸一个演员,一定的
ClassID
对应于一个房地产的演员类ID值中指定的应用程序。例如,在应用,汽车有一个类ID的1
和卡车有一个类ID的2
。如果您以编程方式更改一辆卡车的维度,更新ClassID
财产的车辆1
(汽车)2
(卡车)。
修改后的场景导入仿真软件万博1manbetx
修改后的场景导入仿真软件模型,使用万博1manbetx场景的读者块。该块读取道路和演员从一个场景从应用程序或文件保存drivingScenario
模型变量保存到MATLAB工作区或工作区。添加一个场景读者块模型和设置这些参数。
集源的驾驶场景来
从工作空间
。集MATLAB或模型工作空间变量名的名称
drivingScenario
变量在工作区中。
在处理drivingScenario
在模型对象,记住这些点万博1manbetx。
当自我车辆来源被设置为
场景
,该模型使用自我车辆中定义drivingScenario
对象。块确定哪些演员自我基于指定的车辆ActorID
的演员。这个演员必须是车辆
对象(如车辆
)。改变指定的自我,更新自我车辆ActorID参数。当连接输出演员对传感器模块,确认传感器模块,参数用于指定演员个人资料设置为源
从场景中读者块
。选择这个选项,传感器模块获取演员资料直接从演员中指定drivingScenario
对象。