技术文章

一种基于模型的自动验证方法 ——以高级驾驶员辅助(ADAS)系统为例

时间:2024-07-04

作者·王向港

该文来源于卡尔斯鲁厄理工学院产品工程研究所(KIT)的Mr. Constantin Mandel等发表的Model-Based Approaches for the Automation of Validation Activities on the Example of Advanced Driver Assistance Systems (ADAS)文章,限于篇幅仅摘录其中的案例进行介绍,详情可见原文。

该方法由需求和系统模型、测试计划和分析环境以及不同的验证环境与测试台三部分组成,通过将测试结果与需求和系统模型中的需求直接关联,可以实现对产品工程中需求持续的、可跟踪的验证,而测试数据可以由实时测试平台和仿真环境得到,或者使用诸如蒙特卡洛分析或实验设计以及部分自动化、远程控制等方法产生,从而对产品开发过程中的不同阶段均可进行验证。

图 1 基于模型的自动验证方法示意图

以紧急制动辅助(AEB)系统的开发为例,该系统的关键性能参数包括检测距离、减速距离、最大减速度、剩余距离,通过计算这些参数可以观察不同验证环境下的系统行为,并分析出与开发目标的符合度。

(1) 检测距离

该值描述了系统识别障碍物的距离,通过该值可以计算出采取措施防止碰撞的时间。该值受传感器系统性能及其评估逻辑的显著影响。

(2) 减速距离

减速距离表示制动执行器使车辆停止的距离,该值为AEB系统检测到障碍物,并决策出采取制动后的减速距离值。

(3) 最大减速度

最大减速度有两个制约条件,一方面,车辆使用者认为强烈的,突然发生的延迟是不愉快的,因此它们在开发中的积累必须通过应用工作设置为可容忍的水平。另一方面,只有适当的减速才能防止与障碍物的碰撞。

因此,最大减速度的设计直接取决于探测距离和减速距离。越早检测到障碍物,车辆降低速度的可用距离就越大,这意味着必须采用较低的最大减速度。

(4) 剩余距离

如果车辆在碰撞前可以完全减速,则剩余距离为与障碍物的剩余距离。如果自动化无法做到这一点,则使用与障碍物接触时的速度进行功能评估。

 

一、需求和系统模型

 

该案例的需求和系统模型是使用SysML语言,通过Cameo system Modeler软件搭建的。需求建模的重点是ACC和AEB系统的需求,其来源包括外部定义的法规(如强制性标准)或利益相关者的期望,如驾驶舒适性。建模方法可以采用如OOSEM或SYSMOD,按方法论可以建立系统体系架构对需求的可追溯性。此外,Mandel等人描述了一种MBSE方法,该方法由SysML语言扩展、方法和框架组成,可以对需求进行连续的验证。使用Mandel等人的方法,对验证目标进行建模,并将其与已经建模的系统需求和用户需求联系起来。当计划一个基于特定验证目标的测试时,可以根据建立的追溯关系,自动相关用例、系统架构元素、需求、涉众和环境系统提取出来,如下图所示。

图 2 AEB系统模型相关信息

 

二、自动化过程

 

该案例采用ModelCenter对需求和系统模型中的测试目标进行计算,采用蒙特卡洛分析的方式进行概率计算,选择输入参数(例如:从一辆车到另一辆车的初始距离)以及它们的范围,选择分析的输出参数(例如:根据需求模型和系统模型的信息选择紧急制动后的剩余距离)。

输入参数在脚本中进行进一步处理,该脚本以文件的形式生成驱动场景,该文件可用于所选验证环境的输入。例如使用Matlab脚本计算一个简单的场景:研究的车辆,在城外一条开阔的直路上跟踪一辆目标车辆,目标车辆以恒定速度行驶,在某一时刻突然刹车(如下图所示)。为了示例的简单性,在蒙特卡洛分析中,目标车辆的初始速度和制动过程中目标车辆的减速度都是不同的。然后,Matlab脚本将场景转换为输入文件,以便在软件CarMaker中进行仿真。然后将该文件保存在服务器上。

 

图 3 驾驶场景调查示例

为了在验证环境中读取创建的测试运行场景文件,执行测试并将测试结果反馈到测试计划和分析环境中,需要在ModelCenter和验证环境之间进行通信。如上所述,本案例使用了汽车制造商作为验证环境。

该连接是用python脚本实现的,通过Microsoft内置服务电传网络(telnet) -客户端和-服务器以及网络协议传输信息,可以访问和调整内部网数据,以及发送有关测试、输出数量、验证的启动/停止命令和等待特定状态的信息

 

三、验证环境

 

该案例中使用的验证环境基于软件CarMaker,该软件既可以用作虚拟仿真环境,也可以用在半物理仿真环境中。滚子试验台环境包括仿真环境,实时系统用于静车仿真和BMWi3滚轮试验台(如下图所示)。

通过加载生成的测试运行场景文件,可以根据当前输入参数调整模拟环境的设置。测试计划和分析环境中的进一步支持脚本允许更改要记录的输出参数以及模拟时间。该场景可以在与滚轮试验台连接的实时系统上运行,也可以仅在汽车制造商中作为全虚拟仿真运行。在验证环境中运行的测试结果存储在服务器上。

 

图 4 ADAS的验证环境

 

四、后处理

 

测试结果的后处理可以用三种不同的方法。首先,ModelCenter内置的功能可以生成例如箱形图或散点图,图的数据来源于ModelCenter中的参数。

验证环境可能生成带有更多参数的结果文件。因此,第二个后处理选项,以附加的Matlab脚本的形式使用,例如绘制附加变量的图(如下图所示)。AEB场景显示了三个参数随时间的变化:被调查车辆的重心加速度、与目标车辆的距离(例如由相机传感器确定)和制动参与者的制动(1=100%制动)。

 

图 5 后处理结果曲线

在测试开始时,被调查车辆静止不动。两秒后,自动驾驶汽车开始加速。在大约7秒后,检测到的与目标的距离减小导致加速度甚至制动的减小。当目标车辆在大约29秒后突然刹车,并且与目标的距离变得非常低时,被调查车辆就会执行AEB机动,直到制动结束,自动驾驶汽车再行驶几米直到场景结束。

第三种后处理方式,来自验证环境的结果被链接回SysML模型。通过这种方式,测试结果可以直接与需求进行比较,以检查哪些需求满足给定的测试参数(如下图所示)。

 

图 6 基于验证环境的结果对需求满足度的分析

此外,在SysML模型中建立的可追溯性可以帮助识别受测试结果影响的需求、系统元素等。下图举例显示了AEB测试反馈结果的关系映射。SysML模型的分析图可以帮助确定优先级,并计划后续开发步骤的可能目标。

图 7 使用SysML模型的追溯关系来评估测试结果的影响

 

五、Matlab环境下的应用

 

如上所述,该验证方法可以应用于涵盖不同验证目标的不同验证环境。该方法还可以与基于Matlab Simulink的仿真环境集成使用。仿真环境管理了自适应巡航控制(ACC)和自动紧急制动(AEB)的不同场景。

对于AEB,可以实现以下场景:

  1. 车对车后方固定-城市
  2. 车对车后方固定-乡镇
  3. 车对车后方移动-乡镇
  4. 车对车后制动-乡镇

所选场景、车辆参数、测试轨道参数以及其他道路使用者的参数都可以进行调整,从而可以在ModelCenter中作为测试计划和分析环境进行操作。仿真环境的模型由数据感知模型和控制器模型组成。数据感知模型利用视觉、雷达和测试轨道的曲率来计算相对速度和到最近目标的距离。控制器模型的输入参数有相对速度、距离和实际速度,用于计算被调查车辆的设定加速度。AEB验证环境使用的模型如下图所示。

 

图 8 Matlab Simulink中的AEB试验台

 

 结论

该案例通过探讨在高级驾驶员辅助系统(ADAS)验证中使用基于模型的方法,验证了可以采用MBSE的方法,使用ModelCenter连接各种模型,包括(车辆)仿真模型和基于模型的需求描述,从而建立测试自动化验证环境,以持续验证高级驾驶员辅助系统。

当然,该方法仍然存在可以改进的地方,比如需求和系统模型的扩展(例如,模型中测试平台描述的进一步集成)和验证环境(例如,规范和标准所需的所有场景的覆盖),以及完全自动化的场景生成(例如基于ASAM标准的OpenScenario),此外,还可以进一步实现单个硬件的集成,如相机测试台,以实现更多的功能和不同验证环境之间的无缝变化。

技术文章

姓名

公司

电话

邮箱