主要内容

生成ACC目标切入场景的变体

这个例子展示了如何通过改变车辆速度从种子场景生成场景变体。使用此示例,您可以针对目标车辆进入自我车道的场景测试自适应巡航控制(ACC)应用程序。

创建种子场景

在本例中,您创建了一个种子场景,其中包含自我车辆和目标车辆,以便目标车辆切入自我车道。种子场景根据欧洲新车评估计划(Euro NCAP®)测试协议指定两辆车的位置、尺寸、速度值和轨迹。这个例子假设自我车辆在种子场景中与目标参与者发生碰撞。你可以通过改变自我速度来生成种子场景的变体,但保持碰撞点和碰撞时间不变。

创建ACC目标切入的种子场景helperCreateNCAPScenario函数。

seedScenario = helperCreateNCAPScenario“ACCTargetCutIn”
seedScenario = drivingScenario with properties: SampleTime: 0.0100 StopTime: Inf SimulationTime: 0 IsRunning: 1 Actors: [1x2 driving.scenario.][车辆]障碍:[0]驾驶场景。[0x0 driving.scenario.ParkingLot]

生成场景变量的设置参数

获取每个Euro NCAP ACC切入测试场景的预定义参数helperGetNCAPParameters函数。根据规范,检索一个变体的数据。

ACCParams = helperGetNCAPParameters“ACCTargetCutIn”
ACCParams =带有字段的结构体:radiusOfTurning: 250 changelth: 60 egoSpeed: 33.3333 targetSpeed: 19.4444 timeToCollision: 1.5000

为自我和目标参与者指定参与者标识符。你可以找到ActorID并通过检查演员的名字演员种子场景对象的属性。

egoID = 1;targetID = 2;

生成场景变体

创建一个ScenarioDescriptor对象,该对象包含场景变体helperGenerateVariant函数。此外,这个辅助函数返回用于可视化变体场景的标题。场景变体是通过改变种子场景的参与者和事件参数生成的。

[scenarioVariantDescriptors,gridPlotTitles] = helpergeneratvariant (“ACCTargetCutIn”seedScenario、ACCParams egoID targetID);

得到一个drivingScenario对象的场景变体scenarioDescriptor对象。getScenario函数。

numVariants =元素个数(scenarioVariantDescriptors);variantScenario = cell(1, numvariables);iter = 1: numvariables variantScenario{iter} = getScenario(scenarioVariantDescriptors{iter},模拟器=“DrivingScenario”);结束

可视化生成的变体

控件可视化种子场景和生成的变体helperVisualizeVariants函数。

helperVisualizeVariants (seedScenario variantScenario,ACC靶切入变异gridPlotTitles模式=“StandardFit”= 1,行、列= 2,传说=“关闭”路点=“上”);

{

导出到ASAM OpenSCENARIO

将生成的场景变量导出为ASAM OpenSCENARIO文件格式V1.0。

警告(“关闭”“开车:场景:ExportOpenScenarioODWarning”);iter = 1: numvariables export(variantScenario{iter})“OpenSCENARIO”“VariantScenarioACCTargetCut-In”+iter +“.xosc”);结束警告(“上”“开车:场景:ExportOpenScenarioODWarning”);

探索其他场景

在本例中,您已经探索了ACC测试的场景变体生成,其中目标车辆进入自我车道。您可以使用相同的步骤来创建多个场景变体。要创建多个场景变体,必须指定它们的相关参数。这个例子提供了一个选项“ACCTargetCutInModified”用作…的论据helperGetNCAPParameters函数,该函数返回用于创建五个场景变量的五组参数。

例如,要获取五组参数以用于生成相关的场景变量,请使用以下命令。

ACCParams = helperGetNCAPParameters("ACCTargetCutInModified")

每个参数集产生一个场景变体。要可视化五个生成的场景变量,请使用此命令。

helperVisualizeVariants (seedScenario variantScenario,……

“ACC目标切入的变异”,gridPlotTitles,Mode=“StandardFit”,…

行= 2,列= 3,传说=“关闭”,路径点=””);

参考文献

[1]辅助驾驶-公路辅助系统-测试和评估协议,2020年9月,版本1.0。可以从:https://cdn.euroncap.com/media/58813/euro-ncap-ad-test-and-assessment-protocol-v10.pdf

另请参阅

功能

相关的话题

Baidu
map