Bootstrap

自动驾驶系统的虚拟测试:验证方法综述

22年4月来自意大利 Uni Systems 和 JRC 的论文“Virtual Testing of Automated Driving Systems. A Survey on Validation Methods”。

本文概述支持自动驾驶系统 (ADS) 虚拟测试工具链验证的最新成果。这项工作建立在众所周知的物理测试局限性的基础上,同时将虚拟测试视为高自动化水平 ADS 认证的基本要素。这项研究的目的是总结计算工具、验证方法以及由最先进的模拟工具链提供的相应保真度水平。最终目标是确定模拟如何有效地发挥 ADS 认证“虚拟试验场”的作用,而不受任何特定的 ADS 实施/有效性的影响。

该成果包括经典的高级验证方法和现代特定的计算工具,可根据所分析的数据类型采用这些工具。此外,为了完整起见,调查涵盖了科学界和技术法规中采用的方法。最终,确定两种高级验证方案:集成环境和基于子系统的解决方案。此外,从子系统级方法来看,ADS 虚拟传感器的建模和验证是最欠缺的领域。另一方面,ADS 与其他虚拟交通参与者之间的闭环交互,使得很难直接将实验结果与模拟生成的证据进行比较,因为 ADS 的突发行为可能会放大环境之间的微小差异。

验证过程通常旨在确定产品满足其目的和所需应用期望的能力。与验证任务相反,验证过程在产品完成时进行,以确保制造出“正确”的产品。相反,验证主要涉及将概念(或数学)模型 [10] 正确实施到实际产品中。如图以图形方式强调了这些考虑因素,其中显示典型的 V 模型产品开发工作流程。

请添加图片描述

在 [16] 中,提出了一种三步验证方法,如图所示。更详细地说,首先将虚拟模型与真实模型的预测输出进行比较。其次,对所需域进行插值/外推分析。第三,表征预测不确定性。

请添加图片描述

[14] 提出了一种广泛认可的用于验证模拟模型的实用方法,如图所示。该方法预见了“概念化”(即模型的数学/逻辑表示)和“计算机化”(即概念模型在编程语言方面的实现)之间的区别。然后通过确定是否采用了合理的理论/假设(“概念验证”)、计算机实现的正确性(“计算机模型验证”,即静态和动态代码测试)以及实现的虚拟模型的准确性(“操作验证”)来进行验证。最后,“数据有效性”程序应评估是否有准确的数据可用于构建概念模型,允许其计算机化,并对真实性进行定量评估。

请添加图片描述

验证的限制

然而,所引用的文献强调了固有的验证注意事项。第一点(也是最重要的一点)与有效性分析的上下文相关性质有关:绝对有效性通常是无法实现的。因此,模拟模型将始终是对现实世界现象的近似,并且仅满足其旨在复制的特定应用的需求。

第二点是,缺乏全球定义的用户接受标准。尽管在验证流程方面引用了杰出的贡献,但在现实世界中,验证程序是根据特定的应用和操作设计领域 (ODD) 量身定制的。这种限制导致了大量验证工具和相应的合规性阈值。

利用虚拟测试的现有法规

最近,乘用车法规开始采用模拟模型进行型式认证。例如,根据 UNECE 分类方案,欧盟 2018/858 [19] 规定了 M{1,2,3}、N{1,2,3} 和 O{1,2,3,4} 类机动车的型式认证,允许对一系列监管行为使用虚拟测试,其中包括上部结构的强度和内部可见性。如下流程图还给出并报告了有关如何进行模型验证及其与认证过程的关系的通用指南。

请添加图片描述

验证工作通常是一种多步方法,包含多种技术。验证流程的共同起点是概念验证活动。验证过程的下一层需要评估模拟模型与真实系统之间的差异程度。应从不确定性分析的角度研究模拟模型。

虚拟实现的概念验证

在对模拟结果进行任何定量/定性评估之前,验证任务必须证明在虚拟化真实过程时实施了正确的系统理论,并且模拟模型能够表示目标设备的结构、输入/输出关系和功能逻辑 [14]、[15]、[21]、[22]。因此,概念模型验证主要涉及检查建模假设和细节水平与模型旨在实现的目标的一致性 [17]。

此外,概念验证可能涉及研究用于开发模型的数据的有效性。在此阶段,评估人员可能会质疑用于构建模拟模型的数据集是否具有足够的信息量来捕捉与目标应用相关现实世界的所有细微差别。

关于车辆动力学,[23] 和 [24] 都提出了提供概念验证框架的早期尝试。这些工作根据虚拟实现需要复制的目标机动来描述建模方法的适当性。然而,建立适用性的努力大多需要经验丰富的工程师,因此总体评估很大程度上是主观的。

从那时起,概念验证逐渐开始从科学讨论中淡出,因为计算能力的提高使用响应分析的技术在更大的领域进行更广泛的虚拟实验和验证成为可能。

尽管如此,随着复杂的信息物理系统 [25]、[26] 和基于智体的模拟 [27] 的出现,这一概念引起了新的关注,例如本研究的案例。在 ADAS/ADS 应用中,要虚拟化的整个系统可以按功能分解为层(垂直分解)或子模型(水平分解)。如图显示了 ADS 虚拟测试工具链的典型功能组织。[28] 和 [4] 中也提出了类似的建模抽象框架。基于子模型流水线的概念验证应评估每个组件是否是针对给定目的的相应物理对应物的合理虚拟化。例如,为燃料消耗应用研究建模汽车动力系统所需的细节水平,远远高于微观交通模拟框架所要求的水平。另一方面,虚拟传感器的建模理念对 ADS 起着至关重要的作用。因此,它们需要合适的概念化方法来确保所需的保真度水平。

请添加图片描述

通过响应分析进行模型验证

在评估用于开发模型的理论之后,验证应确定模拟模型与物理实现之间的差异程度,是否低于规定的阈值水平。这一阶段通常通过定义 KPI 选择和适当的计算方法来比较记录的信号来完成。选择合适的信号列表并非易事,而且针对 ADS 特定情况的文献也没有支持这一点。一般来说,要研究的变量列表应该足够大,以涵盖要以足够信心复制的模型尝试现象。

一旦确定了合格的列表,就必须应用计算工具来有效地将模型的输出与物理系统的响应进行对比。设计人员可以采用多种选择如下。

  • 图形比较
  • 标量
  • 时域历史
  • 相关
  • 频域
  • 统计测试
  • 统计差异

敏感性分析和不确定性量化

除了模型精度之外,验证还应量化模型中预期的不确定性,这些不确定性是由输入数据误差和建模近似值引起的。在之前验证方法的基础上,能够明确解决模拟模型不确定性内容的技术组合,产生了验证、确认和不确定性量化 (VV&UQ) 方法 [61]。VV&UQ 方法旨在通过专门解决与仅基于相关阈值的验证实践相关的一些关键方面来改进传统的验证活动。

具体而言,VV&UQ 可以:

  1. 考虑标定/验证数据集中的不确定性,这对于难以获得直接测量值或成本高昂的应用尤其重要;
  2. 克服二元验证结果,即,通过对有效性程度的估计,模型可以是有效的,也可以是无效的;
  3. 研究验证域附近的外推能力。

如图所示是通过蒙特卡洛方法的不确定性量化:

请添加图片描述

ADS 虚拟测试可以利用大量仿真工具来帮助设计和开发自动驾驶功能。然而,ADS 技术的验证仍然主要基于物理测试,使用基于场景的方法 [75] 或接管前的行驶里程数 [76]。虚拟测试将成为未来 ADS 认证的重要支柱。

这里提出的考虑从一个基本假设开始,即无论具体的 ADS 实现如何,都会进行虚拟测试工具链的验证。虚拟测试环境在此被视为一个整体模拟框架,一旦插入 ADS,即可运行模拟。通过虚拟测试验证 ADS 首先要证明所涉及工具链的有效性,这在某种程度上只针对物理测试进行。

从文献分析中,可以将虚拟测试环境的验证分为两种方法:“集成系统”,其中整体模拟工具链经过调整以复制不同的机动,和“基于子模型”,其中模拟流水线的每个成分都根据其物理对应部分进行单独验证。如 [28] 所述,还预见以级联方式结合集成系统和基于子模型验证的混合解决方案。但是,文献中尚未出现这种方法的实际应用。

ADS 仿真的虚拟环境

现代仿真软件的灵活性使得混合仿真/真实硬件测试配置,称为“X-in-the-Loop”(XiL)方法,能够组合。科学文献和工业实践中的常见分类是区分:
模型在环:(MiL)在通用计算系统上进行全工具链仿真;
软件在环:(SiL)使用编译代码进行全工具链仿真;
硬件在环:(HiL)将模拟模型与真实硬件组件相结合的混合解决方案;
车辆硬件在环:(VEHiL)混合方法将真实车辆放置在底盘测力计上,同时通过数据注入或传感器激发提供环境信息;
车辆在环:(ViL)车辆可以在试验场上行驶,但虚拟传感器信息仍由模拟环境通过信号注入或传感器激发提供。

有关使用基于 XiL 的方法进行测试的更多细节超出了本文的范围,读者可以参考广为认可的调查研究,例如 [77]–[79]。

集成系统验证

这套验证方法涉及参考操作的定义和模拟环境的调整,以虚拟方式重现驾驶任务。根据此方法,验证针对代表完整(闭环)模拟环境的 KPI 列表进行,而不是代表组成工具链的模型(例如虚拟传感器和虚拟车辆模型)。此外,这些技术通常采用基于场景的方法 [75]。

从立法角度来看,目前正在讨论一种遵循这一理念的方法,用于基于临时设计的计算方法的 AEBS 虚拟测试 [80]。UN/ECE R140 [20] 中已经实施了类似的方法,用于电子稳定控制 (ESC) 型式认证,其中给出了关于模拟模型结构和用于验证的相关 KPI 的通用指南,尽管没有提供确切的相关阈值。

科学文献中也发现了几种建议,特别是在 [45]、[51] 和 [39] 中。[45] 通过将真实世界实验与模拟环境生成的证据进行比较,研究了车辆硬件在环 (VeHIL) 设置在 MiL 环境中可以提供的保真度水平。鉴于 VeHIL 不允许转向动作的局限性,所选的 KPI 仅代表纵向动力学。特别是,比较了相对车辆间距、自车速度和纵向加速度时间变化曲线。通过分析平均值、标准差和 Pearson 相关性来进行相关性分析。总体而言,VeHIL 的保真度明显优于 MiL。在 [51] 中,提出了一种方法,首先检查验证场景覆盖范围,然后通过考虑特定 VeHIL 环境的随机效应,计算车道保持应用的模拟和记录横向加速度之间的相关性。与 [45] 类似,在 [39] 中,使用摄像头激发而不是信号注入,研究了 VeHIL 设置对于日益复杂的驾驶场景可实现的保真度。除了传统的差异分析技术外,本文还补充了统计验证方法。KPI 选择包括自车速度和纵向加速度,为其提供 95% 的置信区间,这是在 VeHIL 环境中进行多次重复的结果。

从积极的一面来看,这种方法不预见组成虚拟测试环境的每个模拟子模型验证,从而减少验证工作量。相反,主要关注的是在全球范围内为所考虑的特定 KPI 提供与真实世界数据的高度相关性。缺点是,这种理念几乎没有提供关于工具链如何在验证域之外推断的信息,这影响了所开发解决方案的可信度 [28]。

虚拟子模型的验证

测试环境的验证也可以通过验证组成工具链的每个单独的仿真模型来进行。该方法基于将虚拟测试工具链功能分解为复制物理对应物的子模型。一般来说,一种普遍的方法是采用如图所示的分解,这是一种常见的解决方案,在 [28]、[4] 和最近发布的 ISO/TR 文档 [81] 中也有描述。

工具链在功能上分为 4 个主要模块:传感器模型、车辆模型、虚拟世界模型和 ADS 实现。

传感器模型

[82] 对虚拟传感器与真实传感器进行了初步定性研究。该研究重点介绍了模拟环境“虚拟试驾”(VTD),但也提供了有关如何生成合成数据和可重用(参数化)传感器模型的细微差别。最后,报告了几张图表,比较了静态交通障碍物的记录位置与虚拟工具链复制的相同设置。该研究没有提供可以直接推广到其他案例研究的接受阈值或验证方法。然而,它强调了模型保真度水平与虚拟环境生成的合成数据质量之间存在的强耦合。

在 [83] 中,作者研究了传感器的建模方法,从白盒建模(即基于实际传感器设备中发生的物理现象的复制)到黑盒方法(仅关注复制观察到的统计 I/O 关系)。此外,作者提出了第三种灰盒建模理念作为权衡解决方案,以结合白盒和黑盒方法的优点。这种建模方法定义了传感器组件的功能分解,而不是物理重建,以实现多功能和可重复使用的模型参数化。

[84] 的作者专注于传感器的虚拟验证,并提出了一种两步方法,其中虚拟模型最初通过与真实传感器输出的直接比较来评估。其次,ADS 链中的下一层被输入合成数据,并将其输出与来自真实输入的结果进行比较。作者声称,直接比较传感器的模型是必要的,但还不够,因为传感器与 ADS 管道中的连续层高度耦合。

最近,在 [85] 中,除了难以在模拟环境中以与传感器验证所需的保真度相匹配的精度复制轨迹外,还强调了其他建模领域(例如车辆动力学)缺乏经验和明确定义的要求。科学工作是通过在不同场景中重复 [86] 中的指标计算并获得相似的分数来完成的。

总体而言,尽管总体分类仍在讨论中 [83]、[85]–[87],但设计人员有几种机会对传感器进行建模:
低保真度:也称为“黑盒”模型或“目标列表”。低保真度模型直接从模拟环境内核检索交通目标的列表和状态。这种建模范式不提供与感知相关的统计方面,例如误报/漏报率。但是,低保真模型可能会考虑基本的传感器效应,例如视场 (FoV) 和遮挡,以过滤整个目标列表;
中保真度:根据 [85] 中提出的分类,也称为“灰盒”[83] 或“现象学/数据驱动”。它们具有与低保真模型相同的基本工作原理。尽管如此,它们引入对假阳性/假阴性率、交通目标的形状和纹理对检测的影响以及大气退化等环境影响进行建模的可能性;
高保真度:也称为“白盒”或“基于物理”。高保真模型试图在模拟中复制调节传感器与外部环境之间相互作用的物理现象。通常,采用先进的计算机图形技术,例如光线追踪和光栅化来渲染 3D 模拟环境。

与建模理念密切相关的是执行 KPI 计算的信息级别。可行的机会取决于建模抽象,可以总结为:
目标检测级别:传感器模型提供的最高级别信息,例如目标的类别和大小。此选项仅在采用无法提供像素级详细信息的最低保真度虚拟传感器模型时可用;
占用网格:(OG)中级传感器信息,指的是像素被障碍物占用的概率;
原始数据:在使用任何跟踪/分类算法之前提取的最低级传感器信息。它需要将静态障碍物(例如建筑物、围栏等)数字化并包含在模拟环境中,以实现结果的像素级可比性。

车辆模型

车辆动力学建模是一项成熟的活动,得到了技术法规和广泛认可的科学文献(包括优秀的教科书)的支持。

诸如 [32]、[38] 之类的技术法规提供了有关如何虚拟化和验证用于电子稳定控制 (ESC) 应用的车辆模型的规范。最近的法规 [105] 还指出了与建模方法相关的保真度水平。

在科学文献中,[46] 给出了车辆动力学模型的建模和验证方法的全面回顾。这项工作有效地总结了从车辆建模诞生之初到当代科学努力的最新贡献。描述了车辆动力学建模的两个主要应用:为驾驶模拟器平台制作工件和设计模拟模型以支持车辆技术的发展。关于第一个研究案例,该主题已在 [106] 中得到广泛讨论,并且超出了本文的范围,因为人为反馈在验证驾驶模拟器模型方面发挥着重要作用,而这一方面与 ADS 应用无关。在第二类中,模型通常针对特定用例,例如操控或驾驶研究,并且每个应用程序通常由专门设计的验证程序支持。大多数工作没有指定或建议验证的相关阈值。相反,主要报告基于定性评估的主观标准和图表选择。此外,很少发现用于模拟模型有效性的统计分析和置信区间定义。另一方面,有相当广泛的文献可用于定义机动以便稍后表征车辆模型的参数,从而实现 Sargent [14] 提出的“数据有效性”目标。 [46] 的作者基于所进行的大量文献调查,提出应建立自上而下的方法,其中:
1)必须根据模型要求定义验证操作。特别是,数据集应包括重复的稳态和瞬态开环操作,目的是隔离不同车辆参数的贡献并建立置信区间;
2)验证程序包括能够解释不确定性的时域和频域指标;
3)由于无法进行全局验证,因此最终定义仿真模型的有效性域。例如,可以使用一组横向加速度和/或转向输入频率间隔来限制域的有效性。

在 [47] 中,使用真实世界轨迹验证两个不同的模型,研究降阶对模型保真度的影响。有趣的是,在时域指标中,没有观察到明显的差异。然而,当比较传递函数时,可以检测到低阶模型在复制高频分量方面存在明显的缺陷。这种差异是由于低阶模型缺少极点和零点,无法复制真实系统的高频行为。尽管如此,即使是一个简单的模型也被证明能够忠实地再现不涉及高于 1 Hz 频率分量的稳态响应和机动。

最近,在 [107] 中,提出了一个框架,将模型的不确定性分析引入验证活动。该框架的基础是候选模型应在对模型进行适当校准后满足多辆车辆(或不同车辆配置)的验证阈值。换句话说,作者试图将模型结构的有效性与实际参数化分离,以隔离模型固有的不确定性并提高所开发的模拟框架的可信度。

虽然该方法特别有前景,因为它可以解决验证的一些关键方面,即大多数验证程序中缺乏敏感性和不确定性表征,但只提供了活动的正式描述,而实际应用则推迟到未来的工作。此外,考虑到人工执行器的驾驶特性与人类驾驶的不同,一些方面可能仍会从 ADAS/ADS 技术的逐步引入中出现。例如,相对于人类驾驶,执行器的更高带宽可能会激发系统的更高频率极点 [31]。

最后,在 [108] 中,通过将四类复杂度不断增加的模型与结冰和干燥道路上的实际测量值进行比较,研究了不同建模方法的影响。据报道,即使是“简单”模型也能够出奇地准确地预测干燥道路上记录的行驶速度和路径,而详细的建模方法被认为是预测曲线开始和出口处的瞬态所必需的,尤其是在低摩擦场景中。

从所分析的文献中,可以根据它们可以提供的保真度将建模方法总结为三类:
低保真度:点-质量或运动学模型。主要用于控制器合成和不需要详细车辆建模的模拟,例如微观交通研究;
中保真度:底盘模型,如单轨、双轨和集结质量 [47],带有线性或非线性轮胎。它们的应用范围从模型预测控制器的综合 [31]、[109] 到涉及 ADAS/ADS 功能测试和原型设计的中级保真度模拟;
高保真度:多体模型 [110]、[111],包括悬架几何形状、底盘柔顺性、发动机悬置刚度和阻尼特性、传动系动力学和轮胎接触点,以提供最高程度的忠实度。

关于 VV&UQ 方法,提出一项关于车辆动力学仿真模型中不确定性内容估计的调查 [73],该调查确定了导致不确定性的四个关键方面:

  1. 用于执行虚拟测试的输入信号重构;
  2. 输入模型参数的偶然性和认知不确定性;
  3. 模型的参数化;
  4. 模型的输出。

本文从“统计验证度”(DSV)的角度总结了 [46] 中讨论的科学贡献。它强调了统计验证概念应用于车辆动力学领域在解决传统验证局限性方面的潜在有益效果。

虚拟世界模型

“虚拟世界”代表了一组广泛的模型,其中包括任何能够实现自我车辆与虚拟环境闭环交互的虚拟实体。这些包括:虚拟道路、交通智体和天气模型。

a:道路布局

道路布局的虚拟化得到了广泛使用的 ASAM 建模标准的良好支持:
OpenCRG:标准化车道的局部属性,例如沥青粒度和坑洼位置;
OpenDRIVE:规范道路几何形状的定义,包括车道数、曲率半径、车道标记和坡度/外倾角;
OpenSCENARIO:制定标准方法来模拟道路使用者和交通代理的行为。
虽然没有对列出的建模方法进行明确的验证活动,但它们被广泛认为是忠实地复制道路几何形状,以便在实际模拟实践中进行 ADAS/ADS 虚拟测试 [4],[112]。

b:交通智体

交通模型涉及参与和/或与模拟交互的自车外部智体。这些包括行人 [113]、司机 [114]。由于人类行为具有内在的随机性,因此交通模型的验证在文献中是一个开放的领域,这使得从根本上不可能获得真值信息。此外,在基于场景的方法中,高保真交通模型甚至可能不是必需的,因为目标的轨迹是预先分配的[115]。

c:静态目标

这些包括建筑物、护栏和构成虚拟环境的任何其他目标。目前,没有旨在标准化此类组件的建模方法的建模标准。在基于物理的传感器模型的情况下,复制静态障碍物的光学和反射特性尤为重要,因为由于涉及的复杂现象,可能会出现假阳性/假阴性。

d:碰撞模型

每当发生碰撞时,交通参与者和交通目标所依据的刚体假设可能不再成立。因此,可以根据用例建立碰撞模型并将其分配给执行虚拟测试的目标。根据 [81],可以采取以下几种方法:
低保真度:使用相对速度和航向角直接估计碰撞造成的损害;
中保真度:使用相关智体的运动学来确定加速度并据此对损害进行分类;
高保真度:使用 FEM 精确计算碰撞期间施加的力。

e:天气

众所周知,恶劣的天气条件会使摄像机的输出模糊和变暗 [116];吸收和散射雷达的脉冲 [117];在激光雷达的情况下,反向散射并降低表面反射率 [118]。尽管存在广泛的指标来评估生成的图像的质量,例如结构相似性 (SSIM) [119],但实际的重点是人类的感知,并且仍然缺少能够掌握传感器感知属性的双重解决方案。

在 [120] 中,提出了一种基于模型的方法,通过对渲染帧进行后处理来引入特定于传感器的雨水效应。[120] 中提出的方法使用射线追踪来模拟虚拟摄像机的雨水噪声和雷达传感器的等效 RCS。进行的初步验证分析表明,所提出的方法能够为所有类型的传感器实现更高的保真度。

其他软件组件和验证

提出的子组件划分涵盖了虚拟工具链的大部分组成部分。但是,为了进行虚拟测试,还需要引入其他工具。其中包括:时间步骤、求解器和耦合算法,这些超出了建立模拟或联合模拟框架所需的工艺。

尽管采用了经过验证的子组件,但由于集成和软件实现问题,整体虚拟测试的结果可能与现实相去甚远,这些问题应使用软件验证技术来解决。即[121]所示
代码验证:关注测试的执行,证明没有数字/逻辑缺陷影响虚拟模型;
计算验证:处理影响 M&S 工具链的数值误差的估计。

代码和计算验证方法是许多工程应用中行之有效的实践。例如,在 FEM/CFD(计算流体力学)模拟中,空间和时间离散化通常会不断迭代,直到结果收敛到平衡值 [122]。然而,在 ADAS/ADS 模拟中,同样的概念常常被忽视,因为在 ADAS/ADS 模拟中,时间步长很少被讨论。

;