Coursera自动驾驶课程第4讲:Safety Assurance for Autonomous Vehicles

在上一讲《Coursera自动驾驶课程第3讲:Self-Driving Hardware and Software Architectures》中我们了解了自动驾驶汽车常用的传感器和硬件组件软件系统

本讲我们将学习新的模块,也是自动驾驶汽车最重要的模块之一:安全模块

B站视频链接:https://www.bilibili.com/video/BV1WE411D74g?p=1


文章目录

      • 1. Safety Assurance for Self Driving
        • 1.1 Autonomous driving crashes
        • 1.2 Formal definitions
        • 1.3 Major hazard sources
        • 1.4 NHTSA
      • 2. Industry Methods for Safety Assurance & Testing
        • 2.1 Waymo Safety Perspective
          • 1) Safety Levels
          • 2) Safety Processes
          • 3) Levels of testing to ensure safety
        • 2.2 General Motors Safety Perspective
          • 1) Safety
          • 2) Safety Processes
          • 3) Data driven safety
      • 3. Safety Frameworks for Self Driving
        • 3.1 Generic Safety Frameworks
          • 1)Fault Trees
          • 2)FMEA
          • 3)HAZOP
        • 3.2 Automotive Safety Frameworks
          • 1)Functional Safety
          • 2)Safety of Intended Functionality

1. Safety Assurance for Self Driving

在本课程中,我们将讨论一些自动驾驶汽车安全事故。然后,我们将定义一些基本安全概念并列出一些导致自动驾驶汽车危险的常见原因

1.1 Autonomous driving crashes

这里我们简单介绍2018年Uber自动驾驶汽车的一起安全事故。

事故发生在夜间,在一条宽阔的多车道分开的道路上。行人在一个没有标记的区域内骑着自行车穿过马路。受害人Elaine Herzberg是坦佩市的一名49岁妇女。从鸟瞰图描绘的汽车和场景,可以从图像底部看到行人从左侧进入,而车辆沿着道路行驶。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

初步调查显示,有多个因素导致此事件:

  • 首先,没有对安全驱动程序进行实时检查。在这种情况下,安全驾驶员注意力不集中,据说当时正在Hulu上观看视频。安全驾驶员可以做任何事情,而Uber却没有任何方法来评估驾驶员的注意力。由于自动驾驶系统的运行是一项艰巨的任务,因此,拥有一个安全的驾驶员监控系统非常重要。
  • 其次,软件检测系统存在明显的混乱。在六秒钟内初步检测到撞击时,受害​​者首先被检测为未知物体,然后被错误分类为车辆,然后被错误分类为自行车。
  • 最终,在撞车发生前1.3秒,沃尔沃紧急制动系统确实检测到行人,并会迅速制动以降低撞击速度,从而有可能挽救Elaine Herzberg的生命。但是,Uber在自主模式下已禁用了沃尔沃系统

感知系统无法正确识别行人,自行车以及规划系统无法避免侦探对象(即使其类别不确定)的结合,导致自主性故障以及缺乏人为或紧急制动最终导致了死亡。从这一系列事件中我们可以看到自动驾驶系统的各个方面。感知,规划和控制都可能导致失败和崩溃,并且往往多个系统或多个决策的交互作用可能导致无法预料的后果


1.2 Formal definitions

现在让我们认识一些基本的安全术语

  • Harm一词来指代对生物的物理伤害。
  • Risk一词来描述事件发生的可能性以及事件可能造成的伤害的严重性。
  • Safety描述为避免对生物造成不合理伤害的过程。 例如,在交通信号灯为红色时驶入交叉路口是不安全的,这会导致不合理的危险,从而损害车辆乘员以及通过交叉路口的其他车辆。
  • Hazard是造成不合理伤害风险或威胁安全的潜在来源。 在这里插入图片描述

1.3 Major hazard sources

现在,我们来了解一些自动驾驶汽车中常见的危险源,大致可以分为8种:

  • 机械原因,例如制动系统的错误组装导致的故障。
  • 电气原因,例如汽车内部总线错误引起的故障。
  • 自动驾驶的计算硬件的故障。
  • 软件故障。
  • 不良或嘈杂的传感器数据不正确的感知引起的故障。
  • 还有可能由于错误的规划,对危险行为选择忽视而引起的故障。
  • 或者自动驾驶汽车被某些恶意实体入侵,被黑客控制

以上就是常见的8种危险源:机械,电气,计算硬件,软件,感知,规划,驾驶任务反馈和网络安全。我们在评估整体系统安全性时,每种危害都需要使用不同的方法来评估。
在这里插入图片描述


1.4 NHTSA

美国NHTSA定义了包含十二个方面的安全框架,以构建自动驾驶的安全评估。该框架是作为建议性而非强制性框架于2017年发布的。该框架本身包含12个领域或要素。大致可以分为三方面:

  • Systems engineering approach to safety
  • Autonomy Design
  • Testing & Crash Mitigation

1)Autonomy Design
Autonomy Design包含6个方面:
在这里插入图片描述

2)Testing & Crash Mitigation
Testing & Crash Mitigation包含5个方面:
在这里插入图片描述
NHTSA的主要目标是在不过度限制创新的情况下指导公司制造自动驾驶汽车


2. Industry Methods for Safety Assurance & Testing

在本课程中,我们将讨论有关安全和测试的各种行业观点。具体来说,我们将首先分析行业中两个知名企业的安全性观点:Waymo和GM。然后,我们将讨论两种不同的评估安全性的方法:分析性与经验性

2.1 Waymo Safety Perspective

1) Safety Levels

Waymo涵盖了NHTSA的全部12个方面,但将它们组织成五级安全

  • 首先,Waymo系统旨在在行为层面执行安全驾驶。这包括遵循交通规则的决策,可以处理ODD内的各种情况,并通过它维护车辆安全。
  • 其次,Waymo确保系统具有备份和冗余。这样一来,即使发生故障,汽车也可以切换到辅助组件,以最大程度地减少故障的严重性并使车辆返回安全状态,并尽可能继续行驶。这称为功能安全
  • 接下来,Waymo强调NHTSA推荐的碰撞安全性。系统可确保在发生事故时对车内人员造成的伤害最小。
  • 接下来,操作安全。这意味着其界面既实用又方便且直观。这里的重点是允许乘客对车辆进行某种程度的控制,但只能以保持系统安全的方式进行。
  • 最后,Waymo促进了非碰撞安全性。这是指将对可能以某种方式与系统进行交互的人员(急救人员,机械师,硬件工程师等)的危险降至最低的系统设计。
    在这里插入图片描述

2) Safety Processes

现在介绍安全过程

  • 首先,Waymo团队会尽可能多的识别危险情况,并针对每种情况分析可能的缓解策略,即,如何确保发生危险时车辆仍能达到安全状态。
  • 然后,他们使用危害评估方法来确定更具体的安全要求。 他们使用的各种方法是对可能的安全风险进行初步分析,从动态驾驶任务的角度对自上而下进行故障树危害评估,以及从下至上评估影响的一些设计失效模式和影响分析。
  • 最后,他们进行了扩展测试以确保满足安全需求
    在这里插入图片描述

3) Levels of testing to ensure safety

让我们来介绍一下Waymo常进行的测试,大致可以分为三类:仿真测试,闭路测试,实车测试

  • 首先,他们以每天1000万英里的里程进行仿真测试。Waymo会在挑战性场景中挖掘所有驾驶经验,并进行系统的场景模糊测试,这会随机更改其他车辆和行人的位置和速度参数,因此他们可以测试自车在所有情况下是否安全运行。
  • 然后,他们进行闭路测试。涵盖了加州大学伯克利分校的一项研究确定的28种核心场景,以及Waymo添加的19种其他场景。这些情况的组织是为了避免发生四种最常见的事故情况,即追尾,交叉路口,道路偏离和变道。这些类别中的每种类别显然都有很多变体,但它们合起来占所有交通事故的84%以上。
  • 最后,他们进行实车测试,这些测试经常在美国许多不同城市的街道上进行,包括在Google主校区附近的加利福尼亚山景城。在测试过程中让人们监视自动驾驶软件。
在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2 General Motors Safety Perspective

1) Safety

通用汽车于2016年收购了Cruise Automation,并因此在自动驾驶开发中处于领先地位。 GM非常严格地遵循NHTSA安全框架,并分别涉及12个主要领域。

通用汽车的安全策略不是试图重组或简化NHTSA指南,而是专注于其实施策略以实现所需的安全评估。通用汽车首先强调其迭代设计模型。

  • 该模型首先分析场景,然后构建软件,然后模拟场景测试其软件。最后,将他们的软件部署在现实世界的汽车上,他们不断地对需求和自动驾驶系统进行迭代改进和。
  • 其次,Waymo依靠OEM来设计车辆,并且只讨论与其自动驾驶硬件有关的机械和电气危害,而GM则完全自己制造汽车,因此可以在整个自动驾驶硬件中实施具有一致质量标准的更具集成性的设计。
  • 接下来,通用汽车通过全面的风险管理确保安全。他们识别并解决风险,并试图完全消除风险,而不仅仅是减轻风险
  • 最后,它们的所有系统都遵循内部定义明确的安全性,可靠性等标准。他们在汽车行业开发车辆方面拥有多年的经验,因此开发了广泛的安全流程。
在这里插入图片描述在这里插入图片描述

2) Safety Processes

·安全过程·涉及三种类型的分析。

  • 首先,他们通过故障树方法进行演绎分析,并找出可能存在故障的组件并加以解决。
  • 接下来,他们通过·FMEA设计·进行归纳分析。因此,他们会对设计方案进行故障模式和效果分析,并尝试从下至上确保安全性。
  • 最后,他们使用危害和可操作性研究进行探索性分析,并找出系统何时可能无法按预期工作。
    在这里插入图片描述

让我们谈谈安全阈。所有通用汽车都必须至少遵守两个关键的安全阈值。

  • 首先,GM为不同组件定义了一套清晰的故障保险柜,备份系统和冗余,以使系统即使在发生故障后仍可以继续工作。
  • 其次,组件必须通过SOTIF评估。通过此评估,我们确保在已知和未知场景中都评估所有关键功能。

最后,通用汽车遵循严格的测试机制,包括性能测试,需求验证,故障注入,侵入式测试,耐久性测试以及基于仿真的测试

在这里插入图片描述在这里插入图片描述

3) Data driven safety

让我们讨论可用于评估自动驾驶系统安全性的各种方法。我们有两种可能的方法:分析或数据驱动的安全评估。下面是二者的定义:
在这里插入图片描述


3. Safety Frameworks for Self Driving

本课中,首先我们将讨论一些流行的安全框架。包括故障树故障模式和影响分析(FMEA),以及危害和可操作性分析(HAZOP)。 然后,我们将讨论功能安全以及预期功能安全(SOTIF)

3.1 Generic Safety Frameworks

1)Fault Trees

故障树是自上而下的流程。故障树中的最高节点是根事件或最高事件。故障树中的中间节点是逻辑门,它们定义了根事件的可能原因。通过使用布尔逻辑来分析故障树。

让我们分析一个简单的示例,车祸为根本事件。发生车祸的原因可以分为软件故障或硬件故障。粗略地讲,硬件故障可能是由于制造缺陷或材料缺陷造成的。同样,软件故障可能是由于代码故障或某些网络安全问题所致。我们还可以继续进行软件子系统和这些子系统内的特定计算,从而在每个连续分支处加深故障树深度。最终,得出特定的故障率,我们可以为这些故障率分配每小时或每英里运行的发生概率。

现在,我们到达了故障树的叶子节点。通过使用逻辑门结构,我们可以在评估各个叶节点故障率的情况下显式计算总体故障率的统计数据。当事件遵循集合论时,用于向上传播这些概率的操作将与概率规则相同。例如,对于独立事件,OR和AND概率将是子节点概率的总和或乘积。

在这里插入图片描述在这里插入图片描述

2)FMEA

现在让我们看一下FMEA,它代表故障模式和影响分析。FMEA是一个自下而上的过程,它查看各个原因并确定发生的所有可能的影响。故障模式是整个系统的特定组件可能导致系统故障的模式。效果分析是指分析这些模式故障可能导致的所有效果。

我们来谈谈FMEA背后的构想。按优先级对故障模式进行分类。因此,我们提出这些问题:影响有多严重,这些故障多久发生一次,检测这些故障有多容易?然后,我们使用优先级值对所有故障进行量化,然后首先开始处理具有最高优先级的故障。

在这里插入图片描述在这里插入图片描述

FMEA步骤如下:

  • 首先与现场专家进行讨论,创建FMEA表。
  • 然后,列出所有故障可能性。
  • 然后,针对每种失败可能性,确定可能的后果,并将每种后果的严重性等级指定为1到10,其中10为最严重。
  • 对于每种结果,确定可能的根本原因,对于每种路线原因,我们在1到10之间分配另一个数字,以表示此原因发生的频率。
  • 然后,我们评估整体模式检测的可能性。
  • 最后,计算出一个称为风险优先级数字的最终数字,该数字是严重性,发生概率和检测概率的乘积。该值越高,优先级越高。
  • 在这里插入图片描述

3)HAZOP

与FMEA相比,HAZOP更像是一个定性过程,在FMEA中,我们试图定量地定义风险。 在HAZOP中,主要目的是针对可能发生的一系列潜在危险进行有效的头脑风暴在这里插入图片描述


3.2 Automotive Safety Frameworks

1)Functional Safety

现在,让我们讨论用于汽车发的现有安全框架,这些框架通常用于评估自动驾驶汽车的硬件和软件故障。特别地,让我们讨论ISO 26262中描述的功能安全方法以及在ISO/PAR 21448.1中定义的预期功能安全

功能安全(FUSA)指的是不存在因汽车硬件和软件故障而导致的故障行为,或因其预期设计而引起的意外行为带来的不合理风险。ISO26262标准定义了四个汽车安全完整性等级(ASIL)。 ASIL-D最严格,ASIL-A最低。每个级别都有与之相关的特定开发要求,认证必须遵守这些要求。

功能安全过程遵循V形流程。从需求规范的左上角开始,然后分析危害和风险,并进行功能实施。然后,我们爬到正确的分支以确认已达到设计目标。我们从低层验证开始,例如软件单元测试,然后通过仿真,测试跟踪,操作和道路测试进行子系统和完整系统验证。
在这里插入图片描述


2)Safety of Intended Functionality

最后,我们简要地探讨一下在ISO/PAS 21448.1文档中正式定义的预期功能安全(SOTIF)。 SOTIF关注与系统性能限制可预见的系统误用相关的故障原因。

当前的SOTIF标准将自动化级别定为零,一和二。它还指出,其方法可以应用于三级,四级和五级,但是可能需要其他措施。

SOTIF可以看作是功能安全流程的扩展,专门针对自动驾驶功能的挑战而设计。因此,它遵循几乎相同的V形开发理念,但具有增强的组件。 SOTIF还使用HARA来识别由于性能限制和滥用引起的危害。然后执行类似的设计,单元测试以及验证和确认序列,以确认已满足安全要求。
在这里插入图片描述
总结,让我们总结本讲学到的知识:

  • 我们首先讨论了为什么安全性很重要,特别是广泛的不同故障如何导致自动驾驶事故。
  • 然后,我们正式定义了安全概念,并讨论了NHTSA对自动驾驶汽车的安全建议。
  • 然后,我们讨论了WaymoGM如何考虑自动驾驶安全性。 然后我们描述了分析和数据驱动的方法来演示安全性。
  • 最后,我们讨论了常见的安全评估框架。 包括故障树,故障模式和影响分析,功能安全性和预期功能的安全

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

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

相关文章

【Codeforces - 1000C】Covered Points Count(思维,离散化,差分)

题干: You are given nn segments on a coordinate line; each endpoint of every segment has integer coordinates. Some segments can degenerate to points. Segments can intersect with each other, be nested in each other or even coincide. Your task i…

Coursera自动驾驶课程第5讲:Vehicle Dynamic Modeling

在上一讲《Coursera自动驾驶课程第4讲:Safety Assurance for Autonomous Vehicles》中我们了解了自动驾驶汽车中一个非常重要的模块:安全模块。 本讲我们将学习新的模块:汽车运动学和动力学模块。(这部分可能需要一定的理论力学和…

Java同步锁——lock与synchronized 的区别【转】

在网上看来很多关于同步锁的博文,记录下来方便以后阅读 一、Lock和synchronized有以下几点不同: 1)Lock是一个接口,而synchronized是Java中的关键字,synchronized是内置的语言实现,synchronized是在JVM层面…

Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control

在上一讲《Coursera自动驾驶课程第5讲:Vehicle Dynamic Modeling》中我们了解了汽车运动学和动力学模块。 本讲我们继续学习新的模块:汽车纵向控制。具体地,我们将学习PID控制算法,看看该算法是如何在自动驾驶汽车中应用的。 B站…

Java并发:线程共享变量可见性原理

0、线程安全性:线程安全性包括两个方面,①可见性。②原子性。 0.1、线程之间的通信:线程的通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种共享内存和消息传递。 (1)在共…

Coursera自动驾驶课程第7讲:Vehicle Lateral Control

在上一讲《Coursera自动驾驶课程第6讲:Vehicle Longitudinal Control》中我们了解了如何使用PID算法进行汽车纵向控制。 本讲我们继续学习新的模块:汽车横向控制。具体地,我们将学习三种控制算法:Pure pursuit,Stanle…

Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision

在上一讲《Coursera自动驾驶课程第7讲:Vehicle Lateral Control》中我们了解了如何对汽车进行横向控制。 本课程第一个篇章就暂时告一段落了,接下来我们开始学习新的篇章。 课程第二个篇章是状态估计和定位模块。不过在这里我做了一下调整,我…

Coursera自动驾驶课程第9讲:Visual Features Detection Description and Matching

在上一讲《Coursera自动驾驶课程第8讲:Basics of 3D Computer Vision》中我们学习了计算机视觉基本知识。 本讲我们将学习计算机视觉中的视觉特征模块。 B站视频链接:https://www.bilibili.com/video/BV1PE411D72p 文章目录1. Introduction to Image f…

Coursera自动驾驶课程第10讲:Feedforward Neural Networks

在上一讲《Coursera自动驾驶课程第9讲:Visual Features Detection Description and Matching》中我们学习了如何进行图像特征检测,特征匹配以及如何构建视觉里程计来估计相机的运动。 本讲我们将学习神经网络模块,关于神经网络或深度学习网上…

守护进程和守护线程

对于JAVA而言,一般一个应用程序只有一个进程——JVM。除非在代码里面另外派生或者开启了新进程。 而线程,当然是由进程开启的。当开启该线程的进程离开时,线程也就不复存在了。 所以,对于JAVA而言,线程是完全可以由自…

Coursera自动驾驶课程第11讲:2D Object Detection

在上一讲《Coursera自动驾驶课程第10讲:Feedforward Neural Networks》中我们学习了神经网络的基础知识,包括损失函数,梯度下降,正则化,卷积网络等。 本讲我们将学习深度学习的一个重要应用:图像目标检测。…

Coursera自动驾驶课程第12讲:Semantic Segmentation

在上一讲《Coursera自动驾驶课程第11讲:2D Object Detection》我们学习了深度学习的一个重要应用:目标检测。 本讲我们将学习深度学习的另一个重要应用:语义分割。这是图片像素级的一个重要应用。 B站视频链接:https://www.bili…

多线程知识梳理(2) - 并发编程的艺术笔记

layout: post title: 《Java并发编程的艺术》笔记 categories: Java excerpt: The Art of Java Concurrency Programming. <img src"http://upload-images.jianshu.io/upload_images/658453-a94405da52987372.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240…

Coursera自动驾驶课程第13讲:Least Squares

在上一讲《Coursera自动驾驶课程第12讲&#xff1a;Semantic Segmentation》我们学习了深度学习的另一个重要应用&#xff1a;语义分割。至此&#xff0c;本课程的视觉感知模块就介绍完了。 从本讲开始&#xff0c;我们将学习一个新的模块&#xff0c;也是本课程的第三个模块&…

Coursera自动驾驶课程第14讲:Linear and Nonlinear Kalman Filters

在上一讲《Coursera自动驾驶课程第13讲&#xff1a;Least Squares》我们学习了最小二乘法相关知识。 本讲我们将学习20世纪最著名的一个算法&#xff1a;卡尔曼滤波。具体包括线性卡尔曼滤波&#xff08;KF&#xff09;&#xff0c;扩展卡尔曼滤波(EKF)&#xff0c;误差状态卡…

详解两阶段3D目标检测网络 Voxel R-CNN:Towards High Performance Voxel-based 3D Object Detection

本文介绍一篇两阶段的3D目标检测网络&#xff1a;Voxel R-CNN&#xff0c;论文已收录于AAAI 2021。 这里重点是理解本文提出的 Voxel RoI pooling。 论文链接为&#xff1a;https://arxiv.org/pdf/2012.15712.pdf 项目链接为&#xff1a;https://github.com/djiajunustc/Voxe…

java容器类1:Collection,List,ArrayList,LinkedList深入解读

1、 Iterable 与 Iterator Iterable 是个接口&#xff0c;实现此接口使集合对象可以通过迭代器遍历自身元素. public interface Iterable<T> 修饰符和返回值方法名描述Iterator<T>iterator()返回一个内部元素为T类型的迭代器default voidforEach(Consumer<?…

无限场景开放式仿真器 PGDrive:Improving the Generalization of End-to-End Driving through Procedural Generation

本文介绍一个拥有无限场景开放式驾驶仿真器&#xff1a;PGDrive&#xff0c;通过 Procedural Generation 技术可以生成无限多的驾驶场景&#xff0c;由香港中文大学周博磊团队开发。 论文地址&#xff1a;https://arxiv.org/pdf/2012.13681.pdf 项目地址&#xff1a;https://…

java容器类2:Map及HashMap深入解读

Java的编程过程中经常会和Map打交道&#xff0c;现在我们来一起了解一下Map的底层实现&#xff0c;其中的思想结构对我们平时接口设计和编程也有一定借鉴作用。(以下接口分析都是以jdk1.8源码为参考依据) 1. Map An object that maps keys to values. A map cannot contain du…

两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

本文介绍一篇两阶段的3D目标检测网络&#xff1a;SIENet。 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Information Enhancement module。 论文链接为&#xff1a;https://arxiv.org/abs/2103.15396 项目链接为&#xff1a;https://githu…