生成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