LawBreaker: An Approach for Specifying Traffic Laws and Fuzzing Autonomous Vehicles (ASE2022)

LawBreaker: An Approach for Specifying Traffic Laws and Fuzzing Autonomous Vehicles

原文链接

本文写得非常硬核,工作量极大。

0. 概括

自动驾驶系统显然是性命攸关的,所以在完投入应用于实际场景前会做大量的不同场景下的仿真以发现系统的缺陷。
在这里插入图片描述

Work Flow

本文提出的LawBreaker是一个自动化的框架。将场景信息、ADS的状态信息和交通法规作为输入,通过最大化规范覆盖率来搜索违反法规的不同方式。最终,发现了14个自动驾驶汽车违反中国交通法律的案例,其中有173个场景导致了自动驾驶系统决策出错并发生了交通事故。

注意,这里搜索的是场景(它由一系列现实的道路情况组成,如其他车辆的状态、天气情况、交通信号灯、指示牌),也就是说,LawBreaker发现了173个会导致自动驾驶汽车发生交通事故的场景。所以,我认为这项工作十分有意义。尤其在目前自动驾驶汽车频繁发生事故的今天。

在这里插入图片描述

Architecture

具体来说就是输入场景脚本,经过用于描述场景和情景的DSL翻译后让模拟器模拟场景,ADS会对这个场景做出相应的举措,比如转向、减速、刹车等。另设计了一个交通法组件描述了从驾驶员的角度测试oracles。然后模糊引擎从ADS中反复提取trace,根据规范对其进行评估,并使用结果生成新的测试用例供模拟器运行,新的用例对ADS来说更容易违反交通法或造成事故,如果鲁棒度>0则可以认为该场景下ADS的决策是一种违法行为,它们有大概率造成交通事故。

1. 建模

较大的工作量在于交通法组件的设计,作者调研了中国的交通法并给它建模,然后又设计了从驾驶员的角度的对场景的描述语言,几乎是提出了一种新的语法。

交通法规描述:
在这里插入图片描述

交通法#38

车辆及驾驶状况、道路、信号灯、交通和地图的多个描述参数:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2. 模糊引擎

把交通法规进行STL级别的描述,并把他们解耦成违反的这些约束的不同方式,注意,作者这里的解耦是完备的,他用归纳法证明了完备性。也就是说所有的违反方式都已经得到了:
在这里插入图片描述然后作者提出了一个鲁棒性度量,也是算法的核心,它可以衡量trace在一段时间内与上述违反约束的方式的贴合度。简单来说,该值<0代表这个trace越有可能是合法的,>=0则代表其一定是违法的,且数值越大越违法,即越有可能出现交通事故! 计算方法如下:
在这里插入图片描述
为了方便理解上面这些话,作者给了个例子,我把原文放这里:
在这里插入图片描述然后作者就可以通过遗传算法来搜索违法场景了,简单来说就是输入场景,然后得到trace和违反行为的一致度,>=0则代表这个场景是会引起违法行为发生的。<0则将场景进行变异、选择、杂交等操作。

算法流程:
在这里插入图片描述

3. 实验

实验上来说,其实并没有很好的baseline,因为作者可能是第一个做traffic law这件事情的,所以没有对比,但是确实找到了许多可以造成自动驾驶汽车发生事故的场景,点此查看更多视频

在这里插入图片描述在这里插入图片描述不过我认为,本文的小缺陷在于遗传算法并没有超出随机方法很多,但是考虑到整个流程和架构的novelty,这点缺陷并不影响。
在这里插入图片描述 T h e   E n d . The\ End. The End.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shihao Weng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值