Press "Enter" to skip to content

自动驾驶中环岛场景的安全评估方法:采用强化学习的博弈交互

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

介绍一篇2021年7月在IEEE TechRxiv(未经同行审阅,可能比arXiv正规些?)上传的论文“Comprehensive Safety Evaluation of Highly Automated Vehicles at the Roundabout Scenario“,作者来自University of Michigan和Ford公司。

本文提出一种交互-觉察的安全评估框架,应用于环岛进入场景,一种具有各种交通情况的高度交互驾驶场景。没有假设 其他主要车辆 (POV, primary other vehicle ) 采取预定的操作,而是将 POV 建模为博弈论智体。为了捕捉 POV 和 被测车辆 (VUT, vehicle under test ) 之间的各种交互,用 k-级博弈论和社会价值取向( social value orientation,SVO )表征交互行为,并用 强化学习(RL) 训练多样化的 POV车辆库。这个博弈论库与初始条件一起,为双POV(两个车辆)环岛场景构成测试空间。

 

另一方面,本文提出一种基于自适应采样和随机优化的自适应测试用例生成方案,为测试空间 VUT 车辆有效地生成定制的具有挑战性用例。在模拟中,该测试空间设计在环形交叉路口场景中捕获广泛的交互情况。

 

基于场景(Scenario-based)的安全评估 已成为自动驾驶车 V&V (verification and validation)过程公认最佳的实践,将常见的驾驶分解为更简单但具有代表性的驾驶情况,即场景。 被测车辆 (VUT) 的安全功效可以通过各种场景的测试用例进行评估。

 

该流程已针对多种场景进行了研究,包括切入、无保护的左转和行人过路场景等。这些场景是“反应性场景(reactive scenarios)”,其中 VUT “出乎意料地”受到其他主要车辆(POV)的挑战,应该安全和快速地响应。 测试用例完全由挑战的初始条件决定。 这些场景的 POV 遵循预定的操作,不会进一步与 VUT 交互。

 

对于 SAE L3 级及以上的自动驾驶汽车,其 操作设计域 (ODD) 可能包括交互式场景,如高速公路合并和环路进入等等。在交互场景中,POV 和 VUT 相互影响未来的决策和运动规划。这种交互可以在一个时间范围内发生。更具体地说,与停车标志和交通信号相比,环形交叉路口具有显着优势而变得流行,成为交互式场景的一个很好例子。

 

由于在不同分支的多辆车带来无数交通情况和复杂的交互,环岛驾驶的研究变多。复杂的相互作用使得在环形交叉路口的决策和路径规划算法设计具有挑战性,更不用算法评估。与反应性场景(reactive scenarios)评估相比,环岛场景应考虑额外的因素。

 

一方面,来自相邻入口的车辆会预测并影响彼此未来的运动。因此,需要对 POV 和 VUT 之间的交互以及多个 POV 之间的交互进行建模。另一方面,在交互环境中,不同驾驶员即使在相同的初始条件下也可能表现出不同的行为,包括滑行、加速、让步等。 多样化的行为对 VUT 的行为预测和决策提出了挑战。

 

基于蒙特卡罗采样(MC sampling)的评估方法能够估计 VUT 的实际性能。不过在现实世界的测试中,达到估计收敛所需的样本量仍然非常大,尤其是当目标场景具有高维参数空间时,如环形交叉路口场景。同时,基于证伪(falsification)的评估方法试图生成初始条件或 POV 行为,但是迫使 VUT 在有限的测试运行中违反安全要求。

 

交互建模的方法可分成三种:

1) Rule-based models, 比如intelligent driver model (IDM,纵向), MOBIL model(横向);
2) Learning-based models, 比如variational auto-encoder (VAE), generative adversarial network (GAN)
3) Game-theoretic models.

这里3)博弈论的模型在可解释性、灵活性和数据有效性方面好过1)规则方法和2)学习方法。

 

安全评估分成两个任务:

首先,定义一个测试空间,确定要评估的所有可能的测试用例(带交互)。
其次,开发一种从测试空间选择测试用例的机制。

在第一个任务中,测试空间可以用两组属性来表征:第一组定义场景的初始条件; 第二组描述 POV 的交互和行为属性,然后制定 POV 库。 在第二个任务中,测试用例生成程序旨在通过有效的采样方案自适应地发现黑盒子VUT 的故障模式来评估黑盒子VUT 的安全性能。

 

如图即交互感知评估方法的总体概念:

实验场景可视图如下:(a) 用于测试的三辆车环岛场景的配置。 (b) 两个 POV 和一个 VUT 的参考路径。 (c) 变量的定义。

POV 库由驾驶员模型组成,这些模型捕捉目标场景中驾驶员的各种驾驶风格和行为。 为了近似人类驾驶员的决策过程,假设 POV 是一个有界理性的博弈论智体,根据其效用函数和针对对手的假设采取(接近)最优行动。

 

这里带交互行为的多智体建模为 Markov博弈(MG) ,MDP的广义模型,包括动作空间、奖励函数、策略函数等。这里为简单起见,假设每个 POV 都参与一个两人MG,只有一个 对手车 (OV,opponent vehicle) ,可能是 VUT 或另一个 POV。

 

k-级博弈论模型 (论文“ Unraveling in guessing games: An experimental study ,” The American Economic Review, 1995)基于智能代理(例如驾驶员)具有有限推理的思想。 对代理 A 和 B 的两人游戏,与其假设他们都无限理性与对手达到均衡,不如都假设每个代理比对手“聪明一级”。 该模型首先假设 0-级策略是先验已知的,一种以非交互方式运行的幼稚策略。 然后,一个 k-级代理 (k > 0) 遵循效用最大化策略,这里假设对手是一个 (k -1) 级代理。 这样以 0-级策略为起点,可以递归生成 k-级代理的最优策略。

 

由于不同级别的智体对对手有不同的假设,其代表有不同思维方式和复杂程度的智体,有助于 POV 库的多样性。 根据经济学的一项实验研究,人类决策者通常与2-级思考者一样思维。 为此,本研究只考虑2-级智能代理。

 

为了系统地为 POV 捕获一组不同的奖励函数,将 社会价值取向 (SVO) 纳入 POV 库的设计。 SVO 是社会心理学的一个概念,它表征了代理的自私程度(“ Social Value Orientation and Helping Behavior, ” Journal of Applied Social Psychology, 1989)。SVO量化了代理对自身结果与他人结果的偏好,可表示为二维平面的角度,如图的SVO环所示。

这里不同角度代表了一系列个性,包括利己主义、利他主义、竞争力等。在原始的博弈论设置中,代理是利己主义者,只会针对自己的效用函数进行优化,即角度为零。

 

当变量 SVO 与博弈论驾驶员模型结合时,可以提高轨迹预测的准确性,即更好地解释人类驾驶行为。此外,具有不同 SVO 的代理可以代表驾驶员的连续信号谱,这补充了 k -级博弈论框架,其中驾驶员具有离散类型并丰富了 POV 库。

 

基于 k-级博弈论和 SVO,创建一个包含以下类型 POV 代理的库:具有不同社会价值取向(SVO)的 0-级 POV、1-级 POV 和 2-级 POV。 由于驾驶任务的非竞争性,只考虑第一象限的 SVO 角。 SVO 仅用于 2-级 POV,因为 0-级 POV 是非交互式的,而 1-级 POV 假定其对手是 0-级故其SVO 未定义。

 

为了构建 POV 库,首先设计 0-级 POV 作为基线的策略,一种具有固定速度配置文件的非交互式策略,可捕获注意力不集中的驾驶员的行为。 接下来,要为 k-级 POV (k > 0) 生成策略,需要提前获得k-1 级 对手。 0-级 对手(OV) 策略的计算方式与 0-级 POV 策略相同。 因此,该过程从计算 POV 和 对手(OV )的 0-级策略开始,然后,假设已知k-1 级对手,依次分别生成k-级 (k > 0) POV 和 对手(OV)。 虽然目标是k-级POV,但需要k-级对手(OV)作为获得更高级POV的垫脚石。

 

当场景存在多个 POV 时,一个关键问题是 POV 之间的交互建模。 以前关于环岛决策的工作 假设每对交互车辆在整个场景中都处在两人游戏(two-player game)。 这种公式不仅使算法无法扩展到更多车辆,而且偏离了人类的驾驶行为。 实际上,环岛的车辆在整个场景会转移注意力。 在进入环岛之前,它会首先寻找来自环岛上游的进入交通; 进入后,它会查看正在进入的下游车辆来确保安全。

 

作者把POV策略分成两个阶段如下:

阶段-1 还没有进入环岛,在二人游戏中,需要让路给上游车辆。
阶段-2 在环岛内,和下游的环岛外车辆构成二人游戏。

这样k-级博弈论和 SVO 的组合对 POV 建模,每个阶段对应一组驾驶策略:

第 1 阶段 k-级 POV ,假设对手(OV)遵循 第 2 阶段 k-1 级策略;
出于同样的原因,第 2 阶段 k 级 POV 假定对手(OV)遵循第 1 阶段 k – 1 级策略
此外,如果 POV 处于第 1 阶段 ,但环岛内没有上游车辆,则假设 POV 遵循 第 1 阶段 0-级策略;
如果 POV 处于第 2 阶段,但环岛下游没有车辆,则 POV 遵循 第 2 阶段 0-级策略;
如果在第 2 阶段(环岛内)有多辆车辆,除了与第 1 阶段(环岛外)车辆进行交互之外,接下来的第 2 阶段 每个POV 将基于规则算法调节与前车的距离。

一般来讲,第2阶段0-级POV恒速运动;第1阶段0-级POV先减速,然后恒速运动。

 

如图是计算k-级代理的序列:分两个阶段的二人游戏,其中2-级POV带有额外的SVO角度

为确保多个POV彼此兼容,为测试空间找到以下4个二人游戏(#1和#2)的POV类别:

1) POV #1 level-0; POV #2 level-1;
2) POV #1 level-1; POV #2 level-0;
3) POV #1 level-1; POV #2 level-2 (任意角度SVO);
4) POV #1 level-2(任意角度SVO); POV #2 level-1.

为计算 k 级代理 (k > 0) 的驾驶策略,采用单智体 强化学习 (RL) 解决 MDP。 为训练 k-级 POV,建模一个 (k – 1)级对手(OV )组成的环境,运行代理。 同样的过程适用于 对手(OV)。 为结合 SVO 因素,在训练 2 级 POV 生成连续2 级 POV 时,将 SVO 角度视为模型额外状态。

 

为学习POV/OV的最佳策略,采用 Q-learning 技术。本文采用了 Double Deep-Q network (DDQN) ,即来自论文“ Playing atari with deep reinforcement learning, ” arXiv:1312.5602, 2013.

 

构建测试空间后,需要一个测试用例生成方案从测试空间中挑选测试用例来定位 VUT 的低分用例,即“ 故障模式(failure modes) ”。 主要挑战是,不同的 VUT 可能具有不同的性能概况和弱点,在测试开始时故障模式是未知的。 因此,应根据过去的测试结果选择新的案例,随着测试自适应地搜索每个 VUT 弱点。

 

测试用例生成方案的目标有两个:

1) 形成挑战:找到 VUT 表现不佳的测试用例(即识别弱点)。
2) 覆盖范围:尽可能多地探索(可能分离的)性能不佳的区域。

其目标就是最大化 故障模式 覆盖面,故障的确定来自定义的性能分数。

 

对连续属性和分类属性的 采样 需要区别对待,因为一个类别的样本与另一类别的样本几乎没有相关性。 因此,每批测试用例生成方案可以分为两个阶段。

第一个阶段,解决一个 随机优化 问题,可将样本数量分配到不同的POV类别中,即 分配多个案例进行测试。
第二阶段,基于 高斯过程回归 (GPR) 的 自适应采样 方案从测试空间每个类别中采样新的测试用例。

对每个 POV 类别,采用GPR元模型进行自适应采样。 自适应采样方法采取两个步骤交替完成:1)用先前的测试结果更新元模型;2)从新元模型中生成样本。 GPR 是一种非参概率模型,对复杂函数建模并推断未探索区域周围的值。 关键思想是,根据现有样本维护和更新基于GPR的元模型,并使用该元模型生成新样本。

 

自适应采样算法伪代码如下:

为实现故障模式的良好覆盖,在选择新一批样本时需要平衡开发和探索(exploitation and exploration)。 一方面,预测值低的样本代表更具挑战性的案例,这是挑战目标的首选。 另一方面,需要探索有高不确定性的区域,选择更多信息样本获得更好的元模型,这有助于故障模式覆盖。

 

这里探索和开发的样本质量评估测度采用 failure mode coverage(FMC)、 标准偏差和Bayesian优化方法的 Expected improvement(EI) 改进型。

 

BMB(behavior mode boundary ) 是行为模式的重要信息,其定义取决于场景。沿着BMB采样可以提高测试用例的FMC。如下是在BMB采样的算法伪代码:

MatLab仿真实验,针对基于规则的VUT测试本文的交互算法性能。

 

一些实验比较如下:

本文开发环形交叉路口进入场景评估黑盒子自动驾驶 的技术。两种博弈论公式:k 级博弈论和社会价值取向,用来生成交互式 POV 库。为每个 POV 制定一个分成2阶段的规划算法,使 POV 模型扩展到具有多个 POV 的场景。

 

作者设计一个两阶段自适应测试用例生成方案:基于随机优化的样本分配程序和基于高斯过程回归(GPR)的自适应采样程序。设计并实施了多种探索和开发方案。其中提出一个指标,故障模式覆盖率 (FMC),衡量测试样本的质量。

 

最后,用基于规则的 VUT 在模拟中运行测试来验证所提出的方法。POV 库捕捉各种交互行为。提出的采样方法可以自定义测试用例,高效发现VUT的故障模式。根据 FMC 指标,该采样方法优于其他方法。以后可以考虑其他交互场景,包括拥挤的停车场、无信号交叉口等。

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注