自动驾驶测试场景生成案例研究
面向网联自动驾驶汽车的测试场景库生成,第二部分: 案例研究
摘要
测试场景库生成(TSLG)是网联自动驾驶汽车(CAVs)开发与部署中的关键步骤。在本研究第一部分中,提出了一种通用的TSLG方法,并对网联自动驾驶车辆评估的准确性和效率相关的理论特性进行了研究。本文旨在提供实施示例和指导方针,并在高维场景下进一步完善所提出的方法。本文设计并研究了三个典型案例,包括切入、高速公路出口和跟车。针对每个案例,详细阐述了测试场景库生成及网联自动驾驶车辆评估的过程。为应对高维度带来的挑战,采用强化学习技术对所提出的方法进行了改进。在所有三个案例中,结果表明,与实路测试方法相比,所提出的方法能够在保持相同评估准确性的前提下,将网联自动驾驶车辆评估过程加速多个数量级。
关键词 —网联与自动驾驶汽车,测试场景库,安全性,功能,强化学习。
一、引言
TESTING 测试与评估是网联自动驾驶汽车(CAVs)研发和部署过程中的关键步骤。在过去几年中,越来越多的研究致力于解决测试场景库生成(TSLG)问题[1]–[7](详见本研究第一部分[8])。然而,以往所有方法在可处理的场景类型(例如仅限低维场景)、适用的网联自动驾驶汽车模型(例如仅限特定网联自动驾驶汽车)或可评估的性能指标(例如仅限安全性评估)方面均存在局限性。
为了克服这些局限性,在本研究第一部分[8]中,我们提出了一种针对测试场景生成问题的通用方法,适用于不同的场景类型、CAV模型和性能指标。测试场景通过一种新提出的度量方法——场景临界性进行评估,该指标可计算为操作挑战与暴露频率的组合。这一新度量方法与大多数现有研究有本质区别,因为现有研究通常过于重视最坏情况场景[5],[9]。在我们所提出的方法中,现实中发生概率更高且操作挑战更高的场景将在网联自动驾驶车辆评估中具有更高优先级。
第一部分论文阐述了方法论基础,并从理论上证明了统计准确性和效率。然而,在实施所提出的方法时,仍存在若干间隙:
首先,尽管所提出的框架具有通用性,但某些子问题因案例而异,例如辅助目标函数设计、自然驾驶数据分析和代理模型构建。精心选择的案例研究将为整体框架的实施提供示例。
其次,展示所提出方法在处理不同性能指标方面的能力具有重要意义。大多数现有研究仅关注安全性评估,这对于可部署的网联自动驾驶汽车而言是必要的,但并不充分。除了安全性之外,功能也是另一个重要的性能指标,它体现了网联自动驾驶汽车及时完成驾驶任务的能力。因此,有必要设计和实施用于功能评估的测试场景。
最后,直接将所提出的方法应用于高维情况可能会存在问题,因为关键场景搜索的计算复杂度会随着维度的增加呈指数级增长。然而,大多数驾驶场景本质上都是高维的。因此,如何处理高维测试场景成为一个需要解决的重要问题。需要注意的是,大多数现有研究也受到“维度灾难”的困扰。例如,PEGASUS项目[3]采用了穷尽搜索方法来查找所有场景,这在高维场景下是不可能实现的。文献[4]中提出的加速评估方法在标定重要性函数方面也存在困难,其计算复杂度随维度呈指数增长。
本文旨在填补这些空白。本文将讨论三种常见的测试案例,包括切入情况、高速公路出口和跟车(见图1)。切入情况将说明场景库生成过程的每个步骤。
以及我们的评估框架。由于切入情况属于低维场景,便于可视化结果,有助于读者更好地理解所提出的方法。高速公路出口场景侧重于功能评估,与安全性评估的主要区别在于场景库生成过程中辅助目标函数的设计,即如何量化与功能相关的操作挑战。跟车场景旨在展示所提出方法在高维场景下的能力。为此,在第一部分中提出的方法结合了强化学习(RL)技术进行增强。该强化学习增强方法展示了第一部分所提框架在处理高维场景方面的强大能力。
在所有三个案例中,结果均表明,所提出的框架能够有效生成测试场景库,并在保持相同评估准确性的前提下,相比实路测试方法,将网联自动驾驶车辆评估过程加速多个数量级。
本文的其余部分组织如下。为了方便读者,第二节简要回顾了第一部分中所提出的方法。第三节研究切入情况用于安全评估。第四节研究高速公路出口场景用于功能评估。第五节针对高维跟车场景开发了强化学习增强方法。第六节讨论了该方法的主要优势和局限性。最后,第七节对论文进行了总结。
第二部分. 重新审视第一部分所提出的方法
为方便读者,本节简要回顾第一部分中所提出的方法 [8],包括问题建模、场景库生成和网联自动驾驶车辆评估。相关变量的符号列于表I中。
A. 问题建模
所提出的方法的目标是生成一组关键场景,可用于针对某些性能指标评估网联自动驾驶汽车。如果将涉及网联自动驾驶汽车的关注事件(例如,事故事件)表示为A,则可通过该事件的发生来定量评估网联自动驾驶汽车的性能概率(例如,事故率):
$$
P(A|\theta)= \sum_{x\in X} P(A|x, \theta)P(x|\theta), \tag{1}
$$
其中x表示场景的决策变量,X表示由运行设计域(ODD)确定的可行集,θ表示在运行设计域(ODD)下的预设参数,例如道路类型、车道数量、天气条件,etc。
本质上,实路测试是在自然驾驶环境中测量$P(A|\theta)$
$$
P(A|\theta) \approx \frac{1}{n} \sum_{i=1}^{n} P(A|x_i, \theta), \quad x_i \sim P(x|\theta),
\approx \frac{m}{n}, \tag{2}
$$
其中n表示测试总数,m表示事件A的发生次数。此处场景变量xi遵循自然驾驶数据(NDD)中的分布,即$xi \sim P(x|\theta)$。在本论文中,实车道路测试或在自然驾驶环境中的仿真均称为NDD评估。由于在NDD评估中事件A通常是罕见的,因此在合理精度[10]下所需的测试次数大到难以接受。
为缓解此问题,[4]应用了重要性采样技术
$$
P(A|\theta)= \sum_{x\in X} P(A|x, \theta)\frac{P(x|\theta)}{q(x)} q(x),
\approx \frac{1}{n} \sum_{i=1}^{n} \frac{P(A|x_i , \theta)P(x_i| \theta)}{q(x_i)}, \quad x_i \sim q(x), \tag{3}
$$
其中$q(x)$表示一个重要性函数。根据重要性采样理论 [11],为了获得一定的估计精度,所需测试次数(n)由重要性函数决定,而如何构建合适的重要性函数仍然是一个挑战。构造得当的重要性函数对于实现场景库生成的目标至关重要。
B. 库生成
库生成的基本思想是定义场景的临界性,并搜索关键场景以构建库。场景的临界性定义为
$$
V(x|\theta) \overset{\text{def}}{=} P(S|x, \theta)P(x|\theta), \tag{4}
$$
其中,S表示网联自动驾驶汽车代理模型(SM)中的关注事件,$P(S| x, \theta)$表示在场景$(x, \theta)$中事件S的发生概率。
如公式(4)所示,场景临界性由操作挑战($P(S| x, \theta)$)和暴露频率($P(x|\theta)$)共同构成。由于关键性函数存在过多局部最优解,直接搜索关键场景效率低下。为解决此问题,采用多起点优化与基于种子填充的搜索方法,并设计辅助目标函数以提供搜索方向。SM与辅助目标函数将根据具体案例分别讨论。
C. 网联自动驾驶车辆评估
在生成库后,使用 ε‐贪婪策略从库中采样测试场景,并根据测试结果估计性能指标($P(A|\theta)$)。为达到特定的估计精度,需要最少数量的测试。
基于 ε‐贪婪策略的采样分布推导为
$$
\bar{P}(x_i|\theta)=
\begin{cases}
(1 - \epsilon)V(x_i|\theta)/W, & x_i \in \mathbb{K} \
\epsilon/(N(X) - N(\mathbb{K})), & x_i \in X\backslash\mathbb{K}
\end{cases} \tag{5}
$$
其中 $N(X)$ 表示可行场景的总数,$\mathbb{K}$ 表示关键场景集合, $\epsilon$ 的选择在理论上进行了分析(见推论1第一部分论文),且W为归一化因子
$$
W= \sum_{x_i \in \mathbb{K}} V(x_i|\theta). \tag{6}
$$
在使用采样场景对网联自动驾驶汽车进行测试后,可估计指标$P(A|\theta)$
$$
\hat{P}(A|\theta) \overset{\text{def}}{=} \frac{1}{n} \sum_{i=1}^{n} \frac{P(x_i| \theta)}{\bar{P}(x_i| \theta)} P(A|x_i , \theta), \tag{7}
$$
其中$P(A| x_i , \theta)$由测试结果估计得出。
最小测试次数如下所示。如果估计值的相对半宽度小于预设阈值 $\beta$[4],[12],[13],则测试过程停止
$$
z_{\mu}\hat{\alpha} \sqrt{\text{Var}(\hat{\mu})} \le \beta, \tag{8}
$$
其中$z_\alpha$是在置信水平为$100(1 - \alpha)\%$时的常数, $\hat{\mu}= P(A|\theta)$是指标的估计值,$\text{Var}(\hat{\mu})= \sigma^2/n$是估计方差,其随着测试次数n的增加而减小。
III. 切入情况案例研究
在介绍切入情况的案例研究之前,图2给出了网联自动驾驶汽车测试的一般实施流程。对于三项案例研究,我们将按照问题建模、场景库生成和网联自动驾驶车辆评估的顺序进行阐述。
对于图 1(a) 所示的切入情况,决策变量和性能指标在 III.A 小节中进行了表述。在 III.B 小节中,设计了用于关键场景搜索的辅助目标函数,分析了 NDD 以提供暴露频率,并构建了安全模型来衡量操作频率。利用生成的库,在 III.C 小节中对一种典型的网联自动驾驶汽车进行了测试与评估。
A. 问题建模
与大多数现有研究类似[3],[4], ,切入情况的决策变量被简化为两个维度,即
$$
x=[R, \dot{R}]^T,
$$
其中R和$\dot{R}$分别表示切入时刻的纵向距离(前车后保险杠与自车前保险杠之间的纵向距离)和距离变化率(纵向速度差)。在此简化模型中,假设背景车辆(BV)在切入行为发生后保持恒定速度,且道路环境的参数为预设参数。所有这些预设参数记为 θ。采用事故率来衡量网联自动驾驶汽车在切入情况下的安全性能。通过模拟实路测试方法来估计事故率作为基线。
B. 库生成
为了实现场景库生成方法,需要具体回答三个问题,即辅助目标函数设计、NDD分析和代理模型构建。
1) 辅助目标函数设计
为了为关键场景提供搜索方向,设计了一个辅助目标函数,该函数由估计的操作挑战和暴露频率组合而成。
操作挑战通过最小归一化正增强碰撞时间(mnpETTC)进行估算。如[14],[15]中所述,ETTC是变速度场景安全性评估中最广泛使用的指标之一,其定义为
$$
ETTC(t)= \frac{-\dot{R}(t) - \sqrt{ \dot{R}^2(t) -2u_r(t)R(t)}}{u_r(t)}, \tag{9}
$$
其中$R(t)$和$\dot{R}(t)$分别为时刻t的距离和距离变化率,$u_r(t)$为相对加速度。不同场景下的ETTC值可通过仿真获得。
为了使该指标具有可比性,引入归一化因子UI,其通过 NDD 分析进行标定。ETTC的负值表示安全情况,将被设为1。然后可计算最小归一化正增强碰撞时间(mnpETTC)为
$$
\text{mnp}ETTC(t)= \min_t \text{np}ETTC(t), \tag{10}
$$
其中
$$
\text{np}ETTC(t)=
\begin{cases}
ETTC(t)/ UI, & ETTC(t) \ge 0 \
1, & ETTC(t)< 0
\end{cases}. \tag{11}
$$
场景的暴露频率通过该场景与公共集(即高暴露频率的场景)之间的距离来估计。公共集由NDD分析确定,距离定义为
$$
d(x,\Omega)= \min_{y\in \Omega} d(x, y),
= \min_{y\in \Omega} \sqrt{ \frac{1}{m_d} \sum_{i=1}^{m_d} \frac{(x_i - y_i)^2}{U^2_{F,i}} }, \tag{12}
$$
其中$\Omega$表示公共集,$m_d$为决策变量的维度,$U_{F,i}$是第i维的归一化因子,通过NDD分析进行校准。
切入情况下的安全性评估辅助目标函数被表述为
$$
\min_x J(x)= \min_x (\text{mnp}ETTC(x)+ w\times d(x,\Omega)), \tag{13}
$$
其中 $w \in(0, 1]$ 是一个平衡权重。注意辅助目标函数的目标是提供搜索方向,因此某些粗糙性(例如由 $w$ 引起的)是合理且可接受的。辅助目标函数参数的取值列于表 II中。
2) NDD分析
NDD 被分析以提供暴露频率测量,确定辅助目标函数的参数,并标定代理模型。
密歇根大学的Safety Pilot Model Deployment(SPMD)项目的NDD被用于切入案例。SPMD数据库是全球最大的数据库之一,记录了在密歇根州安娜堡的 2842辆装备车辆行驶3.49亿英里所产生的自然驾驶行为。
该数据库中包含98辆轿车,这些车辆配备了数据采集系统和Mobileye,能够以10赫兹的频率测量自车、前车以及车道线之间的纵向和横向距离。通过分析这些横向距离,可以识别出切入事件。对于每个切入事件,切入时刻由前车跨越车道线的时间点确定,并记录该时刻的距离和距离变化率,用于NDD分析。在本文中,设计了以下查询条件以从数据库中提取所有切入事件:(a)切入时刻的车辆速度属于(2m/s,40m/s);(b)切入时刻的距离属于 (0.1m,90m)。最终成功获得了414,770个符合条件的切入事件。暴露频率分布(即$P(x|\theta)$)如图3所示,其中更亮的颜色表示更高的暴露频率。距离和距离变化率分别以2m和0.4m/s进行离散化处理。NDD评估方法等效于从此概率分布中采样测试场景。
我们现在讨论如何确定辅助目标函数中的参数。首先,公共集可以通过寻找具有高概率的场景的最小矩形或超矩形来确定(即$P(x|\theta) > 10^{-3}$)。如图3所示,红色虚线矩形表示切入情况下的公共集边界(即[6, 88]表示距离,[-2.4,1.2]表示距离变化率)。对于更复杂的场景,公共集可进一步简化为最常见场景,例如R= 14,$\dot{R}$= 0。
其次,归一化因子由场景与公共集之间的最大距离确定。例如,场景与公共集之间的最大相对速度小于18,因此距离变化率的归一化因子设为18。
3) 代理模型构建
代理模型构建是库生成过程中的一个非常重要的步骤。它代表了我们对网联自动驾驶汽车通用特征的了解。“通用特征”捕捉了网联自动驾驶汽车的基本行为,例如与周围车辆保持安全距离。类似于人类驾驶员,不同驾驶员有不同的驾驶习惯,而通用特征则存在于所有驾驶员之中。理想的代理模型应像人类驾驶模型标定一样,基于真实网联自动驾驶汽车驾驶数据进行标定[18]。然而,在当前阶段,可供公共研究使用的公开网联自动驾驶汽车数据非常有限。因此,我们建议基于人类驾驶数据(即NDD)来标定代理模型。
在此案例研究中,选择标定的智能驾驶模型(IDM) [19]作为切入事件后跟车行为的安全模型:
$$
u(k+1)=\alpha_{IDM} \left(1-\left(\frac{v(k)}{\beta_{IDM}}\right)^{c_{IDM}} - \frac{s_{IDM}(v(k), \dot{R}(k))}{R(k) - L_{IDM}}\right)^2, \tag{14}
$$
其中,k表示离散时间步长,u表示加速度, $\alpha_{IDM}$、 $\beta_{IDM}$、 $c_{IDM}$、$L_{IDM}$为常数参数,且
$$
s_{IDM}(v(k), \dot{R}(k))= s_0+ v(k)T+ \frac{v(k) \dot{R}(k)}{2\sqrt{\alpha_{IDM}b_{IDM}}}, \tag{15}
$$
其中$s_0$, $b_{IDM}$和T为常数参数。类似于[20],添加了加速度和速度约束,以使模型更实用(即模拟易发事故行为)。
$$
v_{min} \le v \le v_{max}, \quad a_{min} \le u \le a_{max}. \tag{16}
$$
事故事件定义为车辆间距小于阈值,即$R(t)< d_{acci}$。标定值列于表III中。图4显示了选定的代理模型的安全性能,其中该代理模型在黄色区域的场景中发生事故。
4) 场景库生成
采用本研究第一部分提出的基于优化和种子填充的方法[8]来搜索关键场景并构建库。在本案例中,均匀采样50个点作为初始起点。根据第一部分中推论2 的讨论,关键场景的阈值被确定为
$$
\gamma= \frac{m}{N(X) - N(\mathbb{K})} \approx \frac{m}{N(X)} = 2.9\times 10^{-4}, \tag{17}
$$
其中$m= 1$,且$N(X)= 47 \times 76= 3,420$。<距离 和相对速度>的<离散化间隔>为2m和0.4m/s,<距离和相对速度>的<边界>分别为(0, 90]和[-20, 10]。
图5显示了库生成过程后获得的概率分布。颜色表示场景的概率,该概率通过归一化临界值计算得出。与仅考虑暴露频率的图3相比,新的分布同时考虑了场景的操作挑战和暴露频率。所有临界值超过阈值 $\gamma$的场景都将被包含在库中。在这种情况下,生成的库总共包含184个场景,约占所有场景的5.38%。
C. 网联自动驾驶车辆评估
在此步骤中,使用生成的库对特定的网联自动驾驶汽车进行评估。对于实地应用,应测试真实的网联自动驾驶汽车。在本论文中,采用模拟的CAV模型作为概念验证,以验证所提出的方法。
本案例采用在[4]中使用的仿真模型,该模型结合了自适应巡航控制和自动紧急制动功能。以NDD评估方法作为基线,从场景中采样测试场景
图3中的NDD分布。对于所提出的方法,测试场景从图5生成的库中采样。采用$\epsilon$‐greedy采样策略,其值为 $\epsilon= 0.05$,该值根据第一部分论文中的推论1 确定。所选的网联自动驾驶汽车模型在采样场景中进行测试,并记录事故事件。
图6展示了两种评估方法的比较。蓝线代表NDD评估方法的结果,底部的x轴表示其测试次数。红线代表所提出的方法的结果,顶部的x轴表示其测试次数。如图6所示,两种方法均可在预设的相对半宽度下获得事故率的准确估计。本文中,我们设定 $\alpha= 0.95$和 $\beta= 0.3$。图6(b)显示,所提出的方法在51次测试后达到该置信水平,而NDD评估方法需要$9.63\times10^4$次测试。所提出的方法比NDD评估方法快约1,888倍。
IV. 高速公路出口案例研究
如图1(b)所示,对于高速公路出口场景,测试网联自动驾驶汽车需要在一定距离内向右变道并驶出高速公路。
与安全性评估相比,功能评估的主要区别在于关键场景搜索中辅助目标函数的设计。为此,引入了几个新概念提出,即任务、任务解决方案、任务解决方案难度和任务难度。基于这些概念,设计了一种辅助目标函数。
A. 问题建模
高速公路出口场景的决策变量包括CAV的初始状态、 BV的数量以及每辆BV的轨迹,这些变量维度较高。为了简化问题并专注于功能评估,CAV的初始位置和初始速度被预先确定为$p_0$和$v_0$,并且仅考虑两辆BV。这两辆BV将保持其初始速度,除非它们之间的距离小于阈值$d_{cf}$;在这种情况下,后方的BV将调整其速度与前导BV相同。因此,决策变量被表述为
$$
x=[p_{0,1}, v_{0,1}, p_{0,2}, v_{0,2}]^T, \tag{18}
$$
其中$p_{0,i}$和$v_{0,i}$分别表示第i辆背景车辆的初始位置和速度。
时间与位置的离散间隔分别选择为$\Delta t$和$\Delta p$。在本案例研究中,初始问题设置汇总于表IV。
B. 库生成
库生成方法与切入情况中所述的方法相同。为了使论文简洁,仅详细阐述功能评估的辅助目标函数设计。
1) 辅助目标函数设计
与切入情况类似,辅助目标函数由估计暴露频率和操作挑战组成。为了评估通用功能的操作挑战,提出了四个新概念,即任务、任务解决方案、任务解决方案难度和任务难度。“任务”基于功能定义,例如从高速公路上驶出。“任务解决方案” $f$表示完成该任务的可行网联自动驾驶车辆轨迹,即 $f \in F$。 F表示网联自动驾驶车辆轨迹的可行集。“任务解决方案难度” 表示完成任务解决方案的难度,即 $W(f)$,其中$W(f)$为负值,且$W(f)$越大表示难度越高。最后,“任务难度” 表示任务的难度,可通过所有任务解决方案难度的求和来评估
$$
M_f(x)= \sum_{f \in F} W(f). \tag{19}
$$
此定义可以同时表示在找到任务的可行解以及完成该可行解方面的难度。
对于指定的高速公路出口场景,操作挑战基于所提出的概念进行评估。任务是在到达匝道位置之前向右变道。
任务解决方案定义为一个可行的变道点 $f=(t,p)$,其中 $t$为变道时间,$p$为变道位置。可行变道区域 $F$ 由最大/最小速度($v_{max}$, $v_{min}$)、高速公路出口位置(L)、安全碰撞时间间隙($t_{min}$)以及最大/最小加速度($a_{max}$, $a_{min}$)确定。图7展示了特定场景下可行变道区域的一个示例,即 $x=[-25, 34.5,-100, 40]^T$。网联自动驾驶汽车的初始位置设为零。变道边界(以红色虚线表示)由最大/最小速度和匝道位置决定。可行变道区域(以绿色线条表示),即 F,包含三个分离的区域,这些区域被背景车辆的轨迹(以黑色线条表示)分隔开。
为简化起见,我们假设本案例的所有任务解决方案具有相同的任务解决方案难度。然后,任务难度可估计为
$$
M_f(x)= \sum_{f \in F} W(f)= -S(F), \tag{20}
$$
其中$S(F)$表示可行变道区域的面积。为了使该指标与暴露频率具有可比性,引入一个归一化因子,记为$U_S$,其值可通过变道边界所围成的面积获得。最终,高速公路出口场景的辅助目标函数设计为
$$
\min_x J(x)= \min_x (S(F)/ U_S+ w\times d(x,\Omega)), \tag{21}
$$
其中$w$为权重,$d(x,\Omega)$可类似于切入情况(公式(12))获得。本例中的公共集($\Omega$)可通过最常见场景构建。辅助目标函数的参数值列于表V中。
2) 自然驾驶数据分析
本研究采用集成车载安全系统(IVBSS)项目的NDD数据,以提供暴露频率信息[21]。在 IVBSS项目中,来自不同年龄的108名随机抽样驾驶员使用十六辆本田雅阁车辆以无监督方式进行驾驶,持续时间超过
40天。在本论文中,高速公路出口场景的暴露频率由最右侧车道的两辆背景车辆的跟车事件确定。设计查询条件以从数据库中提取跟车事件,具体如下:(1)车辆在高速公路上行驶;(2)车辆行驶速度至少为20 m/s(≈45 mph);(3)巡航控制功能未激活;(4)干燥路面条件;(5)白天光照条件。最终得到的数据集共包含$5 \times 10^4$个跟车事件和$1.47 \times 10^6$个跟车轨迹点。高速公路出口场景的暴露频率可估计为
$$
P(x|\theta)= P(p_{0,1}|\theta)P(v_{0,1}, R, v_{0,2}|\theta), \tag{22}
$$
其中$R=p_{0,1} -p_{0,2}$, $P(p_{0,1}|\theta)$表示前导BV的初始位置概率,可通过均匀分布进行估计,而$P(v_{0,1}, R, v_{0,2}|\theta)$则从 NDD中的跟驰轨迹分布获得。
3) 代理模型构建
MOBIL(“通过变道最小化整体制动”)模型由[22]提出,用于推导自主性与强制性变道的人类变道规则。该模型提供了效用度量方法,以确定哪个间隙具有理想的变道位置
$$
U_{LG}= \tilde{u} - u+ p_{LG}(\tilde{u}
{new} - u
{new}+ \tilde{u}
{old} - u
{old}), \tag{23}
$$
其中, $\tilde{u}$表示网联自动驾驶汽车变道后的新加速度,$p_{LG}$为礼貌因子,$u_{new},u_{old}$分别表示新后车与原后车的加速度。由于期望顺利完成变道,礼貌因子设为接近零的值,例如$p_{LG}= 0.1$。为了预测变道前网联自动驾驶汽车的轨迹,采用模型预测控制(MPC)[23] ,并选择具有更高变道预测效用(即$U_{LG}$)的轨迹作为该任务的解决方案。
4) 场景库生成
与切入情况类似,采用一百个点作为优化方法的初始起点进行均匀采样,并确定关键场景的阈值为
$$
\gamma= \frac{1}{N(X)} = 6.1\times 10^{-7}, \tag{24}
$$
类似于公式(17)。总场景规模为$N(X) =n_p^2 \times n_v^2 = 1.64 \times 10^6$,其中$n_p= 61$和$n_v= 21$分别表示变量$p_{0,i}$和$v_{0,i}$的可行值数量。应用临界场景搜索方法后,生成了高速公路出口场景的测试场景库。该库中的临界场景总数为1,895,约占所有场景的0.12%。
面向网联自动驾驶汽车的测试场景库生成,第二部分: 案例研究
V. 跟车案例研究
跟车场景旨在展示所提出的方法在解决高维度测试场景生成问题方面的能力,
高维度。如图1(c)所示,测试网联自动驾驶汽车在一段时间内跟随一辆背景车辆。决策变量包括前导BV的初始条件和加速度曲线:
$$
x=\left[v_0, R_0, \dot{R}_0, u_1, u_2,…, u_m \right]^T, \quad x \in X \tag{25}
$$
其中,$v_0$表示前导BV的初始速度,$R_0$和$\dot{R}_0$表示BV与 CAV之间的初始距离和距离变化率,$m$表示总时间步长,$u_1, u_2,…, u_m$表示BV的加速度序列。若BV每1s被控制一次,对于一个持续30s的跟车场景,该场景的维度为33。由于计算复杂度随维度呈指数增长,该问题面临“维度灾难”。据我们所知,现有的方法均无法应用于解决高维情况下的测试场景生成问题。
处理高维度的关键是将测试场景库生成问题(TSLG problem)表述为马尔可夫决策过程(MDP)问题。设$s=(v_{BV}, R, \dot{R}) \in X$表示状态,其中$v_{BV}$表示背景车辆的速度,$R$为距离,$\dot{R}$为距离变化率,$X$为可行状态集。令$u \in U$表示动作,其中 $U$为前导BV的可行加速度集合。假设马尔可夫性成立,即下一动作仅依赖于当前状态,也就是说,背景车辆的加速度仅取决于其当前速度。那么公式(25)中的测试场景$x$可以描述为一系列状态和动作(即$s_1 \xrightarrow{u_1} s_2 \xrightarrow{u_2}…$),可行场景集 $X$可用决策树表示,如图9所示。从初始状态到终止状态(即叶节点)的每一分支对应一个测试场景。此时,库生成问题转化为寻找用于网联自动驾驶车辆评估的关键分支问题。
为了计算每个场景的临界性,此处我们定义每个状态-动作对 $Q(s,u)$ 的值为
$$
Q(s_k, u_k)= P(S|u_k, s_k)P(u_k|s_k), \quad k= 1,\cdots, m. \tag{26}
$$
Q的定义与所提出的临界性定义一致。如公式(26)所示,左侧项$P(S|u_k, s_k)$表示“当场景当前处于状态$s_k$并采取动作$u_k$时,事件S发生的概率”,用于衡量操作挑战。右侧项$P(u_k|s_k)$表示“当场景当前处于状态$s_k$时,采取动作$u_k$的概率”,即暴露频率。
根据这样的定义,我们可以证明场景临界性可以被计算为
$$
V(x)= C(x) \prod_{k=1}^{m} Q(s_k, u_k),
$$
其中$C(x)$是场景$x$的归一化因子,且为简化符号表示省略了$\theta$。该方程的证明见定理1。
为了获得$Q(s,u)$,采用时序差分(TD)强化学习(RL)技术。背景车辆是RL方案中的“智能体”,测试网联自动驾驶汽车的状态是“环境”,该环境由一个确定性状态机表示。状态转移受到背景车辆和确定性状态机的共同影响。TD-RL方法基于对下一个状态值$Q(s_{k+1},u_{k+1})$的估计(即[25]中的TD(0)方法)来更新$Q(s_k, u_k)$。迭代更新基于TD误差,该误差用于衡量当前对$Q(s_k, u_k)$的估计与新估计之间的差异。令$\delta_k$表示在时间步$k$的TD误差,则可得到一个迭代方程
$$
Q(s_{k+1}, u_{k+1}) \leftarrow Q(s_k, u_k)+ \alpha\delta_k,
$$
其中 $\alpha$是学习率,例如0.1。在定理2中,我们证明了在TD-RL训练过程之后,$Q(s,u)$可以收敛到公式(26)中定义的值,如果TD误差被定义为
$$
\delta_k= \left( \sum_{u_{k+1}\in U} Q(s_{k+1}, u_{k+1}) \right) P(u_k|s_k) - Q(s_k, u_k). \tag{27}
$$
通过剪枝决策树中的非关键状态-动作对,关键场景库包含所有满足$V(x|\theta)> 0$的分支。如图9所示,连续的红色节点和箭头组成的分支代表关键场景。
A. 跟车案例的问题建模
在跟车场景中,选择安全性作为性能指标,并使用事故率来表示安全性。场景状态包含三个变量,即前导BV的速度($v_{BV}$)、前导BV与测试网联自动驾驶汽车之间的距离($R$)以及距离变化率($\dot{R}$)。
$$
s=(v_{BV}, R, \dot{R}) \in X. \tag{28}
$$
前导BV的加速度($u$)被定义为动作。我们将距离($R \in(0, 115]$)、距离变化率($\dot{R} \in[-10, 8]$)、速度($v \in[20, 40]$)和加速度($u \in[-4, 2]$)分别以1米、1米/秒、1米/秒和0.2米²/秒进行离散化。前导BV每1秒控制一次。对于一个30秒跟车案例,完整场景空间的大小为$N(X) = 21 \times115\times19\times31^{30}$。完整状态空间的大小为$N(X) =21\times115\times19= 45,885$,完整状态-动作空间的大小为$N(X) \times N(U) = 45, 885\times 31 \approx 1.4 \times 10^5$,两者均远小于完整场景空间$N(X)$。
B. 库生成
在跟车情况下使用了相同的高速公路出口情况的NDD,其中提取了跟车事件和自由驾驶事件。跟车事件被用于
计算状态$P(s)$的暴露频率,同时利用自由驾驶事件来估计动作$P(u|s)$的暴露频率。
为了提高关键场景的搜索效率,将状态空间划分为三个区域,即碰撞区、危险区和安全区。碰撞区由状态 $X_c={s \in X|R \le d_{acci}}$定义,其中$d_{acci}$为事故的距离阈值,例如1m。安全区 $X_s$定义为即使前导BV采取最极端的动作(即以最大减速度减速)也不会导致事故的状态。危险区 $X_d$包含可能导致事故的状态。随后,可获得不同区域中状态的$P(S|u_k, s_k)$的值
$$
P(S|u_k, s_k)=
\begin{cases}
0, & s_k \in X_s \
1, & s_k \in X_c
\end{cases}
$$
如图10所示,一个非平凡的跟车测试场景应从危险状态(即根状态)开始,并在碰撞状态或安全状态(即终止状态)结束。关键场景应包含碰撞区内的状态。所采用的跟车SM与公式(14)中相同。通过对SM进行仿真,得到危险区,该区域由约5000个状态(占所有状态的10%)组成。
初始的Q值从NDD获取。为了提高训练效率,采用均匀分布作为训练策略,从而确保如果训练尚未停止,则所有状态-动作对均可被无限次访问[25]。TD误差的绝对值被定义为停止准则 $|\delta_t| < \delta_0$,其中 $\delta_0$为预设阈值,例如 $10^{-10}$。
训练在配备 Intel i7-7700 CPU 和16G内存 的工作站上使用 Matlab 2018 进行,大约需要 20分钟 达到收敛。
绝对TD误差的训练结果和(b) 在状态 s=(38,6,−2) 处动作的概率分布。)
图11(a) 显示了绝对TD误差随学习迭代的收敛情况。状态-动作对 的值在经过约$3 \times 10^6$步迭代后收敛。图11(b) 展示了一个危险状态 下动作概率分布的示例,即 $s=(38, 6,-2)$。NDD 得到的分布用蓝线 表示(即 $P(u|s)$),而生成的由强化学习增强方法得到的分布以红线表示(即$P(u|s,S)$)。可以看出,生成的分布在极端减速度处的概率更高,行为比NDD更具激进性。最高概率出现在$u= -3.4\ m/s^2$,而不是$u= -4 m/s^2$,这与结合了操作挑战和暴露频率的临界性定义一致。
C. 网联自动驾驶车辆评估
经过上述步骤后,生成了跟车场景的测试场景库。测试场景可以从该场景库中进行采样。初始状态由公式(32)生成,背景车辆的加速度由公式(34)生成。与之前的案例类似,在采样过程中应用了 $\epsilon$-贪心采样策略,其中 $\epsilon= 0.1$。如图11(b)中的红线所示,加速度大于‐3的概率为零,即不在库中。然而,通过采用 $\epsilon$-贪心策略,这些加速度值可以以较小的概率被采样。同样,初始状态也可以从安全状态中以较小概率进行采样。使用切入案例研究 [4]中相同的网联自动驾驶车辆跟车模型,并利用生成的库对其进行评估。NDD评估方法被用作基线。
图12显示了两种评估方法的比较。蓝线代表NDD评估方法的结果,红线代表所提出的方法的结果。如图12所示,两种方法均可获得准确的在相同的估计精度($\beta= 0.2$)下进行事故率估计。图 12(b)显示,所提出的方法在50次测试后达到了该估计精度,而NDD评估方法需要$1.875\times10^7$次测试。所提出的方法比NDD评估方法快约$3.75 \times 10^5$倍。
六、讨论
在本节中,基于三项案例研究的结果,讨论了所提出的方法的优势和局限性。
A. 所提出的方法的优势
如案例研究所示,所提出的方法具有通用性,可应用于不同性能指标(如安全性和功能)的评估,并适用于不同设计运行域下的网联自动驾驶汽车模型。该方法能够加速网联自动驾驶汽车在低维和高维场景中的测试。
如所有三个案例所示,与实路测试方法相比,所提出的方法能够显著减少测试次数,以达到所需的评估准确性。由于网联自动驾驶车辆评估过程中最耗时且成本最高的步骤预计为车辆测试,因此所提出的方法可显著节省成本。同样,该方法也可应用于仿真平台中同样的优势,因为在高保真仿真中测试网联自动驾驶汽车也是最耗时的步骤。
所提出的方法保证了场景的统计覆盖,因为所有场景都有可能被测试。该方法利用了更多的领域知识(例如,场景临界性),并优于枚举覆盖(例如,以特定分辨率枚举所有可能的场景),后者会受到“维度灾难”的影响。
此外,性能指标$P(A|\theta)$可以定量且可解释地衡量网联自动驾驶汽车在自然驾驶环境中的性能。以安全性评估为例,事故率是评估安全性能最自然的指标。
B. 所提方法的局限性
如第一部分论文中的定理2所示,所提出的方法的效率受到安全模型与被测网联自动驾驶汽车之间“差异性”的影响,即$P(A| x, \theta) -P(S| x, \theta)$。这是导致三种情况加速效果不同的主要原因,其加速效果从255倍到$3.75\times10^5$倍不等。本文采用了常用的人类驾驶模型(如切入情况和跟车场景中的IDM)作为安全模型,这些模型表现合理,可作为测试场景库生成的起点。为解决差异性问题,针对不同网联自动驾驶汽车对安全模型进行自适应修正是值得进一步研究的方向。对于网联自动驾驶汽车开发者而言,该问题可以自然解决,因为可以直接使用网联自动驾驶汽车模型进行场景生成。
大规模NDD是计算场景暴露频率所必需的,这可能成为应用所提出方法的一个限制。然而,随着车载和基础设施传感器的部署,大规模NDD的收集成本将降低,变得更加可获取。例如,研究机构[27]和企业(如 Waymo、Tesla、Mobileye,etc.)正在收集此类数据。
VII. 结论
本文通过提供三个案例研究(即切入、高速公路出口和跟车)来补充第一部分论文中开发的通用测试场景库生成方法论。更重要的是,第一部分中所提出的方法结合了时序差分强化学习(TD-RL)方法,以高效地生成高维场景。在所有这三个案例中,我们的结果表明,所提出的方法能够有效且高效地生成测试场景库,与NDD评估方法相比,可将评估过程加速255至$3.75\times10^5$倍,同时保持相同的准确性。
结合《第一部分》和《第二部分》论文,据我们所知,这是首个为低维和高维场景、不同性能指标以及不同的网联自动驾驶汽车模型提供系统性框架和实施指南的研究。
有许多有趣的课题可以进一步研究。对于所提出的测试场景库生成(TSLG)方法,由于安全模型(SM)与测试网联自动驾驶汽车(CAV)之间的差异是导致评估效率低下的主要原因,因此安全模型(SM)以及生成的库可以利用测试过程中收集的数据进行自适应更新。另一个重要课题是研究极高维度下的场景生成方法,例如包含数百辆背景车辆的高速公路驾驶环境。由于空间和时间复杂度将显著增加,本文提出的强化学习增强方法需要进一步改进。这些课题将留待未来的研究工作。
更多推荐
所有评论(0)