基于仿真驱动的设计与测试:AI驱动的自动驾驶车辆的安全性

2024-07-26 14:45:26·  来源:功能安全  
 

摘要


自动驾驶车辆(AV)整合了复杂的感知和定位组件,以创建周围世界的模型,并据此安全导航。机器学习(ML)模型被广泛应用于这些组件中,以从嘈杂的传感器数据中提取物体信息。由于现代AV部署了许多传感器(摄像头、雷达和LiDAR),实时处理所有数据导致工程师不得不在某些驾驶情景中做出权衡,可能导致系统次优。由于缺乏对各个组件的精确要求,模块化测试和验证也变得具有挑战性。


本文提出了从顶级驾驶情景仿真中推导出用于安全AV行为的抽象世界模型精度的计算问题。这一过程计算量很大,因为世界模型可能包含许多具有多个属性的物体,且AV在每个时间步都会提取一个世界模型。我们描述了有效解决这一问题的方法,并推导出组件级的要求和测试方法。


一、引言


随着传感器和计算技术的进步,自动驾驶领域迅速发展。由于AV必须在各种条件下运行,其系统实现的复杂性,确保AV的安全性是一个具有挑战性的任务。AV中的定位和感知组件利用传感器和地图信息创建世界模型,以捕捉AV周围的环境。这个世界模型然后传递给规划模块,基于其目标创建一个安全的行驶轨迹。基于摄像头和LiDAR的感知组件越来越多地使用ML模型进行2D和3D物体检测。


对于ML驱动的感知组件的安全性要求很难进行推理,因为不明确感知不准确是否(以及如何)违反顶级安全目标。在实际操作中,不同AV组件的要求由主题专家驱动,主要基于经验。此外,这些要求通常设置得比较保守,并且在不同的驾驶条件和操作设计域(ODD)中是通用的。例如,在繁忙的交叉路口,本地化组件应相对更准确,而在稀疏的乡村道路上则不然。同样,在高速公路上,感知组件应具有高召回率和高精度,但在行人区则只需高召回率。在理想情况下,人们希望使用高分辨率摄像头(例如24MP)以高帧率(例如120FPS)感知周围的一切,并采用多个高精度、复杂的DNN模型。由于AV运行在资源受限的平台上,系统设计师需要进行权衡,设计一个足够准确的系统(例如,使用2-8MP摄像头、30FPS和经过优化/量化的DNN模型,精度稍低)。这种基于通用要求的解决方案可能导致某些需要高精度感知的条件下的系统不够安全(例如,在交叉路口从侧面快速接近的物体可能需要增强跟踪)。


硬件在环(HIL)和软件在环(SIL)仿真提供了有效的端到端AV系统测试方法。hil测试使用汽车硬件、传感器以及可能的执行器进行系统验证和确认。SIL仿真用于设计阶段以及单元和集成测试,输入单元或组件的输入参数要么是自动生成的,要么是手工制作的,以模拟不同输入参数的有效性。


为了实现更安全驾驶的AV系统设计,我们提出了一种仿真驱动的方法来计算世界模型精度要求。由于这种基于仿真的方法计算量大,我们还描述了有效的状态空间探索方法。我们的方法提供了以下好处:(i)允许从顶级系统要求和驾驶情景推导组件级要求,实现可追溯性;(ii)促进针对驾驶情景定制世界模型精度要求,允许通过提高其他组件的精度来弥补某些组件的不准确性;(iii)导致一种正式框架,用于根据传统安全标准ISO 26262和预期功能安全性(SOTIF)在集成和系统级测试中调查组件级故障,这在顶级驾驶情景仿真中目前是缺失的。


二、相关工作


关于顶级情景仿真以建立对AV行为的信心已经有大量研究。OpenScenario是一种用于描述仿真情景的高级语言。Waymo最近发表了他们的研究,展示了AV在事故情景中的表现。其他研究进一步探索了情景操控以发现不安全的AV行为。


某研究团队使用模糊测试操控情景并发现不安全的AV行为。同样,另一研究团队开发了一个基于仿真的对抗性测试框架。智能情景生成加速搜索和罕见事件概率评估也得到了探索。还有研究采用了一种方法来生成对抗性情景,并提出了一种根据AV维护安全的难易程度对其进行表征。另一研究团队开发了一个名为Suraksha的框架,研究感知退化对AV安全性的影响。还有研究分析了一种情景抽象方法,并提出了一种根据ISO 26262标准开发过程设计车辆引导系统的方法。ML白盒测试分析了基于神经元覆盖率的情景。


图片

图 1. AV 架构


由于机器学习在自动驾驶中的重要性,最近的工作重点放在机器学习在安全关键应用中的鲁棒性。某研究团队讨论了扩展经典汽车标准到ML安全性的挑战和想法。另一团队探讨了汽车系统设计对基于ML的感知的影响。最近的UL4600标准和ML安全生命周期提供了建立基于ML的感知组件安全性的指南,但依赖于一种健全的需求工程方法来实现这种感知组件。同样,《自动驾驶安全白皮书》建议使用基于检查表的方法来开发感知相关任务的规范,但也承认这种检查表容易过时。将这种方法扩展到不同的感知相关任务具有挑战性。还有研究承认基于ML的系统的需求工程(RE)面临的挑战。他们认为,RE生命周期需要分为诸如提取、分析、规范、验证和确认等活动,需要科学家、需求工程师、法律专家和客户之间的紧密协调。某研究团队提出了一种方法,用于规范基于ML的感知组件对输入的小扰动的鲁棒性要求。这种方法没有分解系统级要求,而是使用人类表现作为基准。


三、设计和测试AVs


现代自动驾驶车辆(AV)由以下组件组成:一组传感器用于观察环境,一个感知模块用于检测环境中的静态和动态物体,一个定位模块用于估计AV在地图上的位置,一个轨迹预测模块用于预测动态物体的行为,一个规划模块用于生成驾驶轨迹,以及一个控制模块用于生成控制命令驱动车辆(包括一个在线碰撞预测和避免模型)。为了我们的目的,我们简化了这个架构,让规划模块包括预测和控制模块。


3.1. 驾驶情景


感知和定位模块的输出是一个世界模型,捕捉所有静态和动态物体以及自车的状态。物体的属性包括其类别(或类型)、形状、位置、速度、加速度以及准确和舒适驾驶所需的其他信息。我们用σ表示给定时刻的世界模型状态。


ODD规定了AV安全分析的约束。这些约束(例如,带有车辆速度限制的区域或道路段)限定了空间,允许进行实际分析。对于给定的ODD,使用ISO 26262和21448(SOTIF)标准进行危害和风险分析(HARA)。对于每个危害,导出一组安全目标。例如,在高速公路ODD中,一个危害是由于自车速度突然变化而导致的纵向碰撞。这产生了一个安全目标,即AV应防止意外的纵向加速/减速。

对于每个安全目标g ∈ G,可以创建一组驾驶情景Θg进行测试。每个情景θ ∈ Θg包括环境的变化、参与者的数量、他们的起始位置和在情景过程中的行为。情景包括参与者和AV行驶的地图部分、环境条件(例如天气和道路状况)、一组参与者和AV的初始速度和位置、执行过程中每个参与者将采取的一组操作。我们假设参与者遵循智能驾驶员模型(IDM)。情景θ从时间0开始,到T结束。我们说如果AV在情景的任何时间步都没有接近任何其他物体r距离内,则AV在情景中是安全的。参数r取决于安全目标。在这项工作中,我们只考虑在假设AV的IDM情况下是安全的情景。


3.2. 设计挑战


经典的汽车安全标准ISO 26262从项目定义开始,然后进行危害和风险分析(HARA)。对于所有需要进一步处理的风险,导出安全目标。安全目标产生对车辆不同模块的要求。对于AV,这些包括感知、规划、控制和执行。与此类似,ISO 21448提出了保证预期功能安全的要求,特别是对于使用ML组件的AV。然而,由于AV中有许多物体属性可能影响安全(例如,在时间步t,世界模型中的物体数量可能从10增加到1000),这使得在较长时间范围内进行可靠推理成为一个具有挑战性的任务。此外,由于许多物体的状态随时间变化以及这些属性之间的关系,这些要求变得非常复杂。


3.3 测试挑战


对于安全目标 ggg 的一般验证问题是确保自动驾驶汽车(AV)在所有驾驶场景 Θg\Theta_gΘg 中都是安全的。由于可能的场景数量理论上是无限的:两个场景可以在速度、位置、物体的大小或物体总数上有所不同,因此这是不可行的。相反,汽车安全标准要求通过单元、集成和系统级测试进行严格的分层验证。单元测试通过结构覆盖确保各单元的正常运行。集成测试确保单元之间的静态和动态交互得到充分测试。系统测试验证系统行为。ISO 26262 要求在每个级别上满足多个目标以尽量减少安全风险。例如,强烈建议系统级测试包括等价类分析和故障注入测试。


目前,仅限于顶级场景仿真不足以满足传统安全标准的期望。我们展示了我们的自顶向下需求推导如何有助于执行更系统的测试。


四、仿真驱动的需求推导


我们现在描述我们的方法,利用顶级场景仿真来表征安全的世界模型误差,并创建组件级需求。


4.1 方法和公式


我们利用驾驶场景仿真框架将安全需求分解到自动驾驶堆栈中,以推导出组件级需求。我们的方法总结如图2所示。对于一个场景 θ\thetaθ,目标是获得 Γθ\Gamma_\thetaΓθ,一组感知世界模型误差值序列,这些序列不会导致安全违规。


图片

图 2. 计算世界模型误差安全轮廓并推导组件级别要求的方法


我们将误差序列称为 γ^∈Γθ\hat{\gamma} \in \Gamma_\thetaγ^∈Γθ,将每个时间步的误差称为 γ0...γT\gamma_0...\gamma_Tγ0...γT(下标表示时间步),其中场景 θ\thetaθ 为隐含表示,TTT 是场景 θ\thetaθ 的长度。


在场景 θ\thetaθ 的每个时间步 tit_iti,将误差分量 γi\gamma_iγi 添加到世界模型状态 σi\sigma_iσi 并作为输入传递给规划算法,然后生成执行值(动作)。执行改变了模拟器中自动驾驶汽车在下一个时间步 ti+1t_{i+1}ti+1 的状态。模拟器还根据场景描述更新所有其他参与者的状态,并将状态 σt+1\sigma_{t+1}σt+1 传递给自动驾驶汽车用于 ti+1t_{i+1}ti+1。


直观上,Γθ\Gamma_\thetaΓθ 指定了感知和定位任务的需求,即在场景 θ\thetaθ 期间,如果观察到的误差小于 Γθ\Gamma_\thetaΓθ 中的值,自动驾驶汽车将是安全的。


4.2 组件级需求推导


我们的方法通过模拟和优化技术来有效地探索误差空间,并推导出组件级需求。我们将模拟分为多个阶段,包括单元测试、集成测试和系统测试。在每个阶段,我们都会进行故障注入测试以验证安全轮廓分析的准确性。


图片

图 3. N 维空间的可视化示例(N=2) 对于 },其中每个绿色点代表一个序列世界模型误差 ^ 这不会影响给定的安全性设想。两个轴代表每个中的世界模型误差两个时间步(代表本例中的维度)。


4.3 挑战


尽管描述了高效状态空间探索的技术,但应用该方法仍然面临几个挑战。第4.4节中描述的用于感知和定位需求的参数化模型可以包含更多参数。需要研究以了解使用简单与复杂参数化对系统效率的影响。此外,需要在现实环境中测试通过这种仿真驱动方法获得的需求的充分性,主要是为了确保模拟器的工件不会影响现实世界的安全性。


五、结论


自动驾驶系统由多个组件组成,包括定位和感知,以创建一个世界模型,然后传递给规划组件以生成轨迹。不同组件的需求是基于经验并自下而上驱动的,而自动驾驶系统的安全性通常通过顶级场景仿真来保证。


我们提出了一种方法,从顶级驾驶场景中推导出组件需求。我们将允许的世界模型误差表征为一个安全轮廓,并讨论了高效计算近似安全轮廓的技术。然后,我们提出了从安全轮廓推导组件级需求的想法,并提出了一种针对各组件的测试方法。这种方法为高效的自顶向下需求推导和模块化测试开辟了新的研究方向。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号