主要内容

通过编程方式创建驾驶场景变化

这个例子展示了如何以编程方式创建不同的驾驶场景建成使用驾驶场景设计师应用。以编程方式创建一个场景的变化使您能够快速测试算法在多种条件下开车。

创建编程驾驶场景的变化,遵循这些步骤:

  1. 通过使用交互式地建立一个驾驶场景驾驶场景设计师应用程序。

  2. 出口一个MATLAB®函数生成的MATLAB代码相当于这个场景。

  3. 在MATLAB编辑器中,修改导出的函数来创建原始场景的变化。

  4. 调用这个函数来生成一个drivingScenario对象代表了场景。

  5. 场景对象导入到应用程序来模拟修改场景或者产生额外的场景。另外,模拟仿真软件的修改场景®,将对象导入到一个通过使用仿真软件模型万博1manbetx场景的读者块。

图中显示了一个可视化表示的工作流。ScenarioVariationsWorkflow.png

构建场景的应用

使用驾驶场景设计师交互式地建立一个驾驶场景来测试你的算法。建筑场景的更多细节,请参阅创建驾驶场景交互并生成合成传感器数据

这个例子使用一个驾驶场景基于一个预先构建的场景,您可以加载的驾驶场景设计师应用程序。

打开场景文件的应用程序。

drivingScenarioDesigner (“LeftTurnScenarioNoSensors.mat”)

点击运行模拟场景。在这种情况下,自我汽车旅行北部和直接通过一个十字路口。与此同时,一辆来自左边前面的十字路口转左,最终自我车辆,在相邻车道上。

LeftTurnScenario.png

为简单起见,这个场景中不包括传感器安装在自我。

出口的MATLAB函数的场景

在视图和模拟场景之后,您可以导出的场景MATLAB命令行。从驾驶场景设计师应用程序将来发布,选择出口> MATLAB函数。导出的函数包含MATLAB代码用于生产应用程序中创建的场景。打开导出的函数。

开放LeftTurnScenarioNoSensors.m;

调用这个函数返回的这些方面驾驶场景。

  • 场景——公路和演员的场景,作为一个返回drivingScenario对象。

  • egoVehicle——自我车辆中定义的情况下,作为一个返回车辆对象。详情,请参阅车辆函数。

如果您的场景包含传感器,然后返回的函数用于生成传感器包括额外的代码。如果你模拟场景中包含那些传感器,那么产生的函数也可以生成检测传感器。

修改函数来创建场景的变化

通过修改导出的MATLAB函数中的代码,您可以生成多个单个场景的变化。一个常见的变异是测试自我车辆速度不同。在导出的MATLAB函数中,自我车辆的速度设置为一个常数的价值10米/秒(速度= 10)。生成不同的自我车辆速度,你可以速度变量转换成一个输入参数的函数。打开导出的函数的脚本包含一个修改版本。

开放LeftTurnScenarioNoSensorsModified.m;

在这个修改功能:

  • egoSpeed包括作为输入参数。

  • 速度常数变量,删除。

  • 计算自我车辆轨迹,egoSpeed而不是使用速度

这个图显示了这些脚本修改。

LeftTurnScenarioFunctionModified.png

产生额外的变化,考虑:

  • 修改道路和检测参数的影响

  • 修改或起始位置的车辆轨迹

  • 修改的尺寸车辆

调用函数来生成编程场景

使用修改后的功能,生成变化的场景,在该场景中,自我车辆旅行以恒定的速度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(场景)

LeftTurnScenarioModified.png

在此之前,其他车辆通过路口。现在,随着自我车辆增加的速度从10到20米/秒,首先自我车辆通过路口。

在处理drivingScenario应用程序中的对象,记住这些点。

  • 尝试不同的自我车辆速度,再次调用导出的函数,然后导入新drivingScenario对象使用drivingScenarioDesigner函数。应用程序不包括进口这些对象的菜单选项。

  • 如果你的场景包括传感器,你可以重启的场景和传感器通过使用这种语法:drivingScenarioDesigner(场景、传感器)

  • 如果你表现出明显的改变的尺寸一个演员,一定的ClassID对应于一个房地产的演员类ID值中指定的应用程序。例如,在应用,汽车有一个类ID1和卡车有一个类ID2。如果您以编程方式更改一辆卡车的维度,更新ClassID财产的车辆1(汽车)2(卡车)。

修改后的场景导入仿真软件万博1manbetx

修改后的场景导入仿真软件模型,使用万博1manbetx场景的读者块。该块读取道路和演员从一个场景从应用程序或文件保存drivingScenario模型变量保存到MATLAB工作区或工作区。添加一个场景读者块模型和设置这些参数。

  1. 源的驾驶场景从工作空间

  2. MATLAB或模型工作空间变量名的名称drivingScenario变量在工作区中。

在处理drivingScenario在模型对象,记住这些点万博1manbetx。

  • 自我车辆来源被设置为场景,该模型使用自我车辆中定义drivingScenario对象。块确定哪些演员自我基于指定的车辆ActorID的演员。这个演员必须是车辆对象(如车辆)。改变指定的自我,更新自我车辆ActorID参数。

  • 当连接输出演员对传感器模块,确认传感器模块,参数用于指定演员个人资料设置为源从场景中读者块。选择这个选项,传感器模块获取演员资料直接从演员中指定drivingScenario对象。

另请参阅

应用程序

功能

对象

相关的话题