今天给大家分享一篇加州大学伯克利学校的paper,文中以LGSVL仿真器为例,提出一种基于场景的自动驾驶汽车自动化安全测试的方法,尤其针对AI模组模拟仿真评估和真实驾驶测试。

可以通过根据碰撞数据分析和自然驾驶数据分析创建的场景来构建测试集,这些场景利用人类驾驶数据来生成测试场景。

paper链接:https://www.aliyundrive.com/s/Wvq56JtXXRA

ASAM规定了ADAS仿真场景准:OpenDRIVEOpenSCENARIOOpenCRG。分别对应静态路网、动态场景、路面材质。三者联合组成专用ADAS测试的场景库。

1. 仿真工具

OpenSCENARIO 定义了一种文件格式,基于可扩展标记语言 (extensible markup language,XML)描述驾驶和交通模拟器的动态内容。

伯克利提出一种高级语言SCENIC,对比M-SDL可测场景描述语言是最近的一种类似于 SCENIC 更高级 DSL,但对于概率、几何建模的支持不如SCENIC

伯克利开源VERIFAI工具包,提供了一个统一框架来设计和分析基于AI/ML的cyber-physical系统,VERIFAI 首先明确定义参数范围,或可以用SCENIC 语言来参数化感兴趣的环境空间和系统配置。工具包的地址如下。

https://link.zhihu.com/?target=https%3A//github.com/lgsvl/simulator

2. 仿真步骤

a. 环境构建

使用LGSVL仿真作为仿真场景的搭建软件,环境通过收集数百GB的激光雷达点云、相机图像和位置数据创建,所有的数据转化为3D网格。网格被加载到 LGSVL 模拟器去注释可行驶区域的细节,包括车道线、人行横道、交通标志等。

上图为场景的BEV图,自驾车在十字路口右转,遇到一个犹豫不决地过马路的行人,自动驾驶系统控制车辆直接通过。

b.仿真脚本

如下为测试场景编码的SCENIC程序:

ego = TgoCar at 38.6 @ 183.9,
			facing 10 deg relative to roadDirection,
			with behavior DriverTo(40 @ 225.2)
ped = Pedestrian at 19.782 @ 225.680,
			facting 90 deg relative to roadDirection,
  		with behavior hesitate,
      with startDelay (7, 15),
      with walkDistance (4, 7),
      with hesitateTime (1, 3)

c.场景生成

定义SCENIC 程序之后,用 VERIFAI 来伪造场景,从分布中采样参数,在 LGSVL 模拟器中运行相应测试,并监视违反“安全”规范的情况。 一共生成1294 个测试用例,其中 2% 违反“安全”规范。 VERIFAI 的误差表存储所有此类情况的参数值,以及规范的定量满意度值;实验中将 VERIFAI 配置为存储安全运行,并且区分稳健安全的运行和几乎事故的运行。

3.实验数据

测试车是 林肯 MKZ 混合动力车,用**DataSpeed **线控功能和多个传感器进行增强,包括一个 Velodyne VLS-128 LiDAR、三个USB 摄像头和一个RTK Novatel PwrPak7 双天线 GPS/IMU,保证 2 厘米的位置精度。 使用GPU GTX-1080TI的 x86 工控机,采用开源 Apollo 3.5自动驾驶软件进行测试。

为了帮助track testing的实现,固定自驾车和行人的初始位置和方向,并将行人轨迹定义为具有 3 个参数的直线:delay-过马路的延迟时间、distance-犹豫前行走距离和time-犹豫的时间。

如图是Satisfaction value,关于延迟delay和距离distance的函数:

其中可以看到两个明显的聚类,左下方和右上方。为此选择了7个测试用例,两个失败(不安全),两个成功(安全)和3个中间(勉强安全)。

在 GoMentum 执行 7 个测试用例,其参数如表所示。

对每个测试场景进行了多次运行,总共获得了 23 次运行。

橘黄色标注显示是违反“安全”的运行,而白色行满足“安全”。 突出显示行的颜色表示不安全行为的程度:红色代表碰撞,橙色代表在视觉上归类为接近碰撞,黄色表示违反“安全但不是接近碰撞” 。

下图是是两个测试用例的轨迹:track test和5次再仿真,自驾车(绿色/蓝色)和行人(橙色和黄色)的轨迹

模拟轨迹和真实轨迹显示重叠很多,但也存在差异:例如,尽管希望模拟的自驾车,从真实轨迹相同的位置开始,但阿波罗系统拒绝从该位置开始行驶,不得不对其进行略微调整。 更有趣的是,模拟的自驾车转弯比真实的更急,可能是模拟器对上坡驾驶的影响不精确建模造成。 最后,5 个模拟紧密聚集,但并不完全相同,这表明即使是单个测试用例也可以产生一系列不同的模拟轨迹。

上表是是真实和重仿真轨迹之间的平均距离:Skorokhod metric测量两个定时轨迹的最坏情况偏差,可用于证明一致性,即Skorokhod metric显示的模拟轨迹与真实轨迹之间界限,允许从模拟到现实的迁移;Dynamic Time Warping (DTW) distance则给出整个轨迹而不是最坏点的平均相似性度量。

参考链接

1.https://github.com/lgsvl/simulator

2.https://www.bianchengquan.com/article/219836.html

3.https://zhuanlan.zhihu.com/p/398051316

4.https://arxiv.org/abs/2003.07739

5.https://link.zhihu.com/?target=http%3A//bit.ly/GoM