论文阅读:《Collision Avoidance Testing of the Waymo Automated Driving System》

news2024/9/24 5:23:08

文章目录

  • 1 背景
  • 2 方法
    • 2.1 Overview
    • 2.2 安全测试目标
      • 2.2.1 测试目标设定方法(Method to Set the Test Objective)
      • 2.2.2 测试目标度量方法(Metrics to Measure the Test Objectives)
    • 2.3 基于潜在危机情况的测试场景(Test Scenarios based on Potentially Critical Situations)
    • 2.4 测试用例分配(Test Case Allocation)
      • 2.4.1 测试用例分配的指导原则(Guiding Principles for Test Case Allocation)
      • 2.4.2 数据收集的安全性(Safety for Data Collection)
      • 2.4.3 虚拟测试平台的性能(Capabilities of the Virtual Test Platform)
      • 2.4.4 测试执行(Test Execution)
      • 2.4.5 安全评估(Safety Evaluation)
  • 3 结果
  • 4 总结(个人)

1 背景

   这是一篇来自国外自动驾驶公司,waymo关于测试L4自动驾驶车安全性的论文。

   文章主要讨论了Collision Avoidance Testing(CAT) methodology,避撞测试方法是如何进行的。当然CAT方法仅仅是waymo评估自动驾驶系统(ADS)安全性的众多方法之一。

  CAT方法的本质是基于场景的测试方法(scenario-based testing method),方法可以简要描述为:对比自动驾驶系统(ADS)行为参考模型在陷入其他道路使用者发起的冲突时,二者的性能优劣。其中,行为参考模型即代表人类。所以通俗来讲,可以把这个测试当做ADS与人类司机的对比。

  另外,值得关注的是“scenario-based testing method”,它的定义是:“a temporal sequence of scene elements, with actions and events of the participating elements occurring within this sequence.” (Riedmaier et al. 2020).。 “一个场景元素的时间序列,参与元素的动作和事件都发生在这个序列中”。这个测试方法已经有大量的工作在做了,有很多挑战,比如说“什么样的场景才能够有效揭示安全性”。这里先记下来,暂时留个印象,毕竟这篇文章主要还是讲CAT的。

2 方法

2.1 Overview

  CAT方法的范围是,ADS作为“响应方”,当其他道路使用者做出出乎意料行为时,ADS采取紧急制动避免或减轻碰撞的性能。图糊了,这里自己重画一个。

请添加图片描述

2.2 安全测试目标

2.2.1 测试目标设定方法(Method to Set the Test Objective)

  ISO起草的基于场景的安全测试提供了两种可能的方法来设定安全测试目标:

  1. “an upper boundary value of the acceptable occurrence rate of a measurable behavior of the ADS”。ADS 可测量行为的可接受发生率的上限值”。比如说“系统危险行为在系统操作范围内每小时不得发生一次”。个人理解就是一些可以揭示安全的指标的上限,超出这个上限就认为ADS性能不行
  2. “a performance reference model regarding the capability of the ADS to handle certain scenarios safely, based on minimum performance levels required for these scenarios”。“根据这些场景所需的最低性能水平,建立一个关于 ADS 安全处理这些场景的能力的性能参考模型”。比如说“任何信心的人类司机能够避免的安全事故,ADS都应该避免掉”

  waymo的话,CAT是以上两种方法的结合,这里使用的人类行为参考模型被称作“NIEON”,它的全称是:the Non-Impaired and Eyes ON the conflict model driver。这个模型表现出一种在当前人类驾驶人群中不存在的表现水平,换言之,就是没有人类在避撞下可以比NIEON开的更好。该模型的响应时间和规避动作都是基于最先进的人类驾驶数据研究得到的。

  研究表明,这个NIEON模型能够减轻84%的严重碰撞。当然了NIEON模型在应用中也会简化一些建模,不过它仍然可以当做是一种基准。毕竟84%这个数字在这摆着呢。

2.2.2 测试目标度量方法(Metrics to Measure the Test Objectives)

  ADS对比NIEON的性能具体设计成一个聚合评分,这个评分是根据场景组做的。这里waymo将用于测试的场景划分成不同的“安全组”,这里的安全组是根据“冲突类型”和“冲突参与者”定义的,且安全组下包含子类。这里画了个图,论文里的图片不知怎么变成了全损画质,有些字都看不清,这里我勉强重新画了一下。这样划分场景测试的好处也是方便多维度去对比ADS和NIEON的性能。
请添加图片描述

  性能对比主要基于以下两个维度,当然对比的目标就是期望ADS在这两个维度下都比NIEON好,以此证明自动驾驶比人类开得好。

  • 碰撞发生的数量
  • 碰撞造成的严重损伤事件

相应地,度量的标准,也就是metric,主要有两个:

  • 碰撞是否发生:这里将ADS静止的场景、ADS被追尾的场景去除在外
  • 碰撞导致的伤害:这里使用冲击动力学和伤害风险模型做评估,伤害风险模型的评估使用 P ( M A I S 3 + ) P(MAIS3+) P(MAIS3+)作为输出,通俗来讲可以理解为,发生严重伤害碰撞的概率。这个Metric不会去除ADS被追尾的场景

ADS在面临危险情况做出行为,例如停下来或者变道这种,可能导致其他车辆与之碰撞。这种情况不在CAT的评估范围内,而是属于对其他道路使用者行为的概率估计。

  上述严重损伤事件根据设定 P ( M A I S 3 + ) P(MAIS3+) P(MAIS3+)阈值来定义:

  • 机动车-机动车碰撞: P ( M A I S 3 + ) ≥ 5 % P(MAIS3+) \ge 5\% P(MAIS3+)5%
  • 儿童: P ( M A I S 3 + ) ≥ 1.5 % P(MAIS3+) \ge 1.5\% P(MAIS3+)1.5%
  • 其他行人、摩托、自行车等: P ( M A I S 3 + ) ≥ 10 % P(MAIS3+) \ge 10\% P(MAIS3+)10%

比如说对于机动车,如果 P ( M A I S 3 + ) ≥ 5 % P(MAIS3+) \ge 5\% P(MAIS3+)5%,就认为是严重碰撞。另外对于NIEON模型参数的选择也有一定的原则,NIEON模型具体参考的另外一篇论文的工作。

2.3 基于潜在危机情况的测试场景(Test Scenarios based on Potentially Critical Situations)

  这一小节主要介绍的是用于CAT方法的场景是如何得到的。大概可以概括成下图这样,这里我不展开看了。具体的代表性场景的选择会在下一节去介绍。

请添加图片描述

2.4 测试用例分配(Test Case Allocation)

2.4.1 测试用例分配的指导原则(Guiding Principles for Test Case Allocation)

  用于测试的场景选择遵循以下几点原则:

  1. 参考模型可以轻易避免,或者完全没机会避免的场景不应选择在内。因为这种场景对于ADS和NIEON的结果应该是一样的,说明不了问题
  2. CAT方法使用的场景,更倾向于采用分段方法来确定所有危险场景的代表性场景。 ISO 34502建议了这种分段方法。具体可以去参考一下看看。
  3. 虚拟平台的仿真高保真度对于准确测试ADS的性能来说是必要的

2.4.2 数据收集的安全性(Safety for Data Collection)

  这一小节主要就是解释了数据收集确保安全,虽然说这个CAT方法是在虚拟仿真下进行测试的,但是数据却是实际收集来的。看waymo的描述,他们会在一个封闭的演习区域去分配人员,然后进行实际的道路测试,可能会人为制造实际的危险场景。只做大致了解。

2.4.3 虚拟测试平台的性能(Capabilities of the Virtual Test Platform)

  这小节也是主要对虚拟测试平台性能、准确性的介绍,毕竟CAT方法就是在这里面做的,测试结果的可靠性强依赖于平台的性能。只做大致了解。

2.4.4 测试执行(Test Execution)

  这一节简要介绍了测试的执行过程,从场景选择,到最后的执行流程。waymo这里说是使用一个“问题管理系统”去提供每一个阶段的追踪和审计。只做大致了解。

2.4.5 安全评估(Safety Evaluation)

  安全评估就是利用CAT方法,去评估新老版本软件的性能变化。每个版本都评价上述介绍的两个度量标准。

3 结果

  这一节主要介绍了一下Waymo应用CAT方法得到的一些结果,验证了ADS符合了预期。同时也给出了一些Case Study用作分析。只做大致了解。

4 总结(个人)

  waymo的这篇文章介绍了他们在评估自动驾驶安全性的众多维度之一。从场景的选取、指标的设计、人类行为模型的实现、虚拟平台的准确性,都进行了详尽的考虑,尽可能达到严谨。值得学习。另外这篇文章参考了众多ISO标准,以及其他相关领域的论文,对这些材料的了解也有助于更好地理解这篇文章。持续学习中~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/176450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

17种编程语言实现排序算法-希尔排序

开源地址 https://gitee.com/lblbc/simple-works/tree/master/sort/ 覆盖语言:C、C、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。 覆盖平台:安卓(Java、Kotlin)、iOS(SwiftUI)、Flutter(Dart)、Window桌面(C#)、…

Unity HurricaneVR 插件中的 VRIK 设置

IK(反向动力学)有利于提升 VR 应用中的沉浸感,比如我们可以通过对手部的追踪,再结合 IK,来模拟 VR 中人物的手臂和手肘的姿态。 Final IK 是 Unity 一款功能强大的 IK 插件,其中拥有适用于 VR 的 IK 功能&…

基于微信小程序的自驾游拼团小程序

文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…

逻辑陷阱型蜜罐合约

蜜罐是传统安全领域中的一个概念,通常指安全人员设置一些陷阱(比较明显的漏洞),让攻击者自己掉入我们设置好的陷阱中,以便安全人员分析攻击者的作恶手法。蜜罐合约(HoneyPots Contract)也是类似…

pandarallel 是一个简单而有效的工具,可以在所有可用的 CPUs 上并行执行 pandas 操作

文章目录 一、简介二、特点三、用户指南CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、简介 官方文档地址:https://nalepae.github.io/pandarallel/ Github 链接:https://github.com/nalepae/pandarallel pandarallel 是一个简单而有效的工具,可以在所有可用的 CPU…

06 |「栈和队列」简析

前言 前言:研究一个数据结构的时候,首先讲的是增删改查。 文章目录前言一、简介1. 结构2. 特点3. 存储二、栈1. 类比举例2. 操作3. 实现1)顺序栈(常用)a. 核心b. 要素c. 入栈d. 出栈2)链式栈三、队列1. 类比…

【手写 Vue2.x 源码】第四十篇 - 组件部分 - 组件的生命周期

一,前言 上篇,介绍了组件部分-组件的编译,主要涉及以下几部分: 组件编译流程介绍:html->render->vnode创建组件虚拟节点:createComponent 本篇,组件部分-组件的生命周期; 二…

logstash + logback实现分布式日志采集

😊 作者: 一恍过去💖 主页: https://blog.csdn.net/zhuocailing3390🎊 社区: Java技术栈交流🎉 主题: logstash logback实现分布式日志采集⏱️ 创作时间: 2023年1…

Logback基本使用

文章目录Logback的使用1. logback入门2. logback 配置3. logback-access的使用Logback的使用 Logback是由log4j创始人设计的另一个开源日志组件,性能比log4j要好官方网站:https://logback.qos.ch/index.htmlLogback主要分为三个模块: logbac…

基于高通平台的dToF Sensor开机点亮教程

作为一个优秀的驱动工程师,迅速点亮目前市面上的Soc平台是非常必须的。如果你花费了很多时间无法Set up起平台,那你这驱动开发可能还有待提升,特别如今这市场,想要更高更强,驱动开发变得吃香了。一般圈子里的朋友,驱动开发都是大杀四方,比如高通平台,全志平台,MTK平台…

【Python】司徒卢威函数

文章目录简介图像其他相关函数简介 最开始看到这个名字,我也很激动,终于有个中文姓氏的数学公式了,然鹅司徒卢威是个俄国人,而且司徒卢威完全是音译,就离谱。 司徒卢威函数是下面的非齐次贝赛尔方程的一组解&#xf…

2022年,经历了两段实习后,我学会了……

前言: 大家好,我是小威。借着csdn的这个活动,我也来对自己的2022做一个回顾,同时对2023做一个合理的规划,希望我的经历也能对诸佬们带来绵薄之力。 感谢诸位大佬对小威这年的支持,祝诸佬们新年快乐哟~&…

Unix\Linux多线程复健

线程是程序中完成一个独立任务的完整执行序列(是一个可调度的实体) 一个进程可以包含多个线程 查看指定进程的线程号: ps -Lf pid 进程是CPU分配资源的最小单位,线程是操作系统调度执行的最小单位 分类: 内核线程:切换由内核控制&…

代码随想录--字符串习题总结

代码随想录–字符串习题总结 1.LeetCode344 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&…

Spring AOP 详解

Spring AOP 详解一、什么是 Spring AOP二、为何要用 AOP三、Spring AOP3.1 AOP 组成3.1.1 切面 (Aspect)3.1.2 连接点 (Join Point)3.1.3 切点 (Pointcut)3.1.4 通知 / 增强方法 (Advice)3.1.5 小结3.2 Spring AOP 使用3.2.1 添加 AOP 框架支持3.2.2 定义切面和切点3.2.3 定义相…

Python---字典相关知识

专栏:python 个人主页:HaiFan. 专栏简介:本专栏主要更新一些python的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下。 字典思维导图字典是什么创建字典查找键key字典的…

十分钟入门Zigbee

大部分教程通常都是已Zigbee原理开始讲解和学习,各种概念让初学者难以理解。本教程从一个小白的角度出发,入门无需任何Zigbee底层原理知识,只需要基本的MCU研发经验就可以掌握,让您快速实现zigbee组网和节点之间通信。 本教程采用…

JDBC快速入门,如何使用JDBC操作数据库?

文章目录1. 前言2. JDBC 概述2.1 概念2.2 优点3. JDBC 快速入门Java编程基础教程系列1. 前言 在 Java 开发中,使用 Java 语言操作数据库是非常重要的一部分,那么 Java 语言是如何操作数据库的呢?我们需要使用不同厂商的数据库时,…

23种设计模式(二十二)——访问者模式【行为变化】

文章目录 意图什么时候使用访问者真实世界类比访问者模式的实现访问者模式的优缺点亦称:Visitor 意图 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于其内部各个元素的新操作。 什么时候使用访问者 1、如果你需要对一个复杂对象…

Redis脑裂为何会导致数据丢失?

1 案例 主从集群有1个主库、5个从库和3个哨兵实例,突然发现客户端发送的一些数据丢了,直接影响业务层数据可靠性。 最终排查发现是主从集群中的脑裂问题导致:主从集群中,同时有两个主节点都能接收写请求。 影响 客户端不知道应…