测试使用Simulink测试车道跟随控制器万博1manbetx

执行基于需求的测试用于汽车下列车道系统。

这个例子说明了如何:

  1. 笔者高水平测试用于实现以下车道算法闭环模型的要求。

  2. 在测试的Simulink™笔者测万博1manbetx试,以验证安全运行为每一个需求。

  3. 执行测试和审核验证状态。

介绍

这个例子说明了如何验证算法使用测试管理器,且阻挡来自模型验证库的自动车道保持辅助。本实施例中是类似的里在与传感器融合和Lane检测控制例如,在模型预测控制工具箱™。有关控制算法和细节闭环系统模型,看里在与传感器融合和Lane检测控制(模型预测控制工具箱)。

设置示例文件并打开项目

创建和打开项目文件的工作副本。该项目组织的文件分成几个文件夹。控制器和系统模型文件都在楷模夹。用于控制器高电平要求在捕获LaneFollowingTestRequirements.slreqx要求夹。测试经理测试文件是在测试夹。

[projectFolder,〜] = matlab.internal.project.example.projectDemoSetUp...(完整文件(matlabroot,'工具箱''万博1manbetxsimulinktest''万博1manbetxsimulinktestdemos'...'sltestLaneFollowing.zip'),[],[]);PROJ = 万博1manbetxsimulinkproject(projectFolder);

打开系统模型

打开LaneFollowingTestBenchExample模型。

  • 车道下列控制器由一个模型块实现。

  • 车辆动力学和驾驶环境中的建模汽车与环境子系统。

  • 道路,车道和交通场景使用由自动驾驶系统工具箱™,这是保存在生成​​的合成数据数据夹。

  • 方案读卡器块在汽车与环境子系统模拟过程中读剧本数据。

MDL ='LaneFollowingTestBenchExample';open_system(MDL);

驾驶情形的要求

该数据包括九个驾驶情况下,为每个场景高水平的测试要求。打开从Simulink®的要求,要求编辑器™查看需求集。万博1manbetx在应用程序选项卡,单击要求经理在模型验证,验证和测试部分。然后,单击要求编辑器在要求选项卡,然后选择LaneFollowingTestRequirements.slreqx文件。您还可以输入:

开放( 'LaneFollowingTestRequirements.slreqx');

每个需求代表一驱动方案。控制算法的前四个要求的测试跟踪能力。接下来的几个要求,以下各种路况条件下的能力评价道:

  • 方案1:ACC_ISO_TargetDiscriminationTest。这是一个基本的测试以确保控制器可以跟踪一个领头的车在行驶车道。

  • 方案2:ACC_ISO_AutoRetargetTest。测试控制器是否可以在行车线重新定位到新车时的当前目标切换车道。

  • 方案3:ACC_ISO_CurveTest。测试控制器是否可以在行车线追踪汽车减速航行时的道路曲率。

  • 方案4:ACC_StopnGo。在行车线由于交通拥挤该测试模拟停止和运动

  • 方案5:LFACC_DoubleCurveDecelTarget。通过两个S曲线轨道减速领跑车。

  • 方案6:LFACC_DoubleCurve_AutoRetarget。测试能力进行重新定位到一个新的领跑车的曲线上。

  • 方案7:LFACC_DoubleCurveStopnGo。该测试模拟停止和运动在弯曲的公路。

  • 场景8:LFACC_Curve_CutInOut。此测试确保控制器能识别汽车切割进,出行车线

  • 方案9:LFACC_Curve_CutInOut_TooClose。该试验重复先前测试与自我和铅汽车之间的距离短的间隔距离。

评估标准

有用来验证控制器的令人满意的操作三个主要评估标准:

  1. 防撞:确保自我汽车驾驶情形期间不发生碰撞导致汽车的任何一点。

  2. 安全距离:确保自我汽车和引线轿厢之间的时间间隔是大于0 787-8。两辆车之间的时间间隙被定义为所计算出的进展的比率和自我汽车速度。

  3. 泳道下面的:确保从车道的中心线的横向偏差为0.2米以内

前两个标准由验证LaneFollowingTestBenchExample /冲突检测/试验评估测试序列块。一个校验语句检查如果碰撞是在模拟过程中任何点检测。

一秒校验声明检查是否两辆车之间的计算时间间隔低于0.8秒。该持续时间操作者允许瞬态故障由于道路状况或传感器输入的突然变化。该持续时间运营商允许失败这一评估在一个时间长达5秒。

车道如下评价包括在测试程序块LFRefMdl /测试评估

一个校验使用语句持续时间操作者确认从所述行驶车道的中心线横向偏离的绝对值不同时超过0.2米超过5秒。

运行交互式仿真

要配置交互式仿真,请按照下列步骤操作:

  1. 通过设置选择的驱动方案scenarioId变量在MATLAB®基工作区1-9之间的值。

  2. 跑过helperLFSetUp脚本负载所需类型和数据。

  3. 打开鸟瞰范围使用的Simulink模型工具栏上的可视化下拉列表和设置它,观察通过单击模拟万博1manbetx查找信号

  4. 模拟模型可视化所选择的驾驶场景。

  5. 运行脚本plotLFResults评估控制器的性能脚本。

您还可以运行以下命令来运行第一个场景模拟和情节的结果:

scenarioId = 1;helperLFSetUp;SIM(MDL);plotLFResults(logsout);万博1manbetxSimulink.sdi.view;

打开仿真数据检查,查看的结果校验测试程序块内的语句。

评估使用MATLAB情节数字控制器性能。有两个地块 - 一个用于评估评估横向间距的性能表现和另一个。有关如何评估这些地块的详细信息,请参阅里在与传感器融合和Lane检测控制(模型预测控制工具箱)。

系统的测试与测试管理

打开LaneFollowingTestScenarios.mldatx在测试管理器的测试文件。测试文件具有一组九个测试情况下,一个用于上述每个九个测试场景。

sltestmgr;sltest.testmanager.load('LaneFollowingTestScenarios.mldatx');

每个测试用例使用后负荷回调设置适当的场景ID和运行设置实用程序。另外,每个测试情况下,也链接到在要求编辑器可追溯性相应要求。

通过单击运行测试按钮或输入sltest.testmanager.run

的测试管理器显示结果部分汇总的所有九个测试案例的结果。对于每一个测试的情况下,校验声明汇总来计算整体通过/失败结果。

您可以查看测试结果概要窗格中的评估数字。

打开要求编辑器并选择显示>验证状态看到每个需求的验证状态摘要。绿色和红色条表示的测试结果和设置要求的汇总结果。

清理

关闭所有打开的窗口和模型。

close_system(MDL,0);明确MDL;sltest.testmanager.clear;sltest.testmanager.clearResults;关闭(PROJ);sltest.testmanager.close;万博1manbetxSimulink.sdi.close;