带你了解自动驾驶中的功能安全

谈一谈自动驾驶中的功能安全

image

附赠自动驾驶学习资料和量产经验:链接

一 概述

汽车涉及到人的生命财产安全,谈汽车首先要谈的就是安全。目前自动驾驶的安全主要分为三大块:功能安全,网络(信息)安全,和预期功能安全。

功能安全作为老大哥,起源最早,应用最广,也最为成熟;网络安全和预期功能安全分析方法在一定程度沿用了功能安全,所以今天简单看一下功能安全,主要是general的介绍。

二 谈一谈

目的?

随着汽车电子件的增加,电子电气失效复杂度和频率增大,需要一种方法去减少因为汽车电子电气非预期的失效导致的安全事故。

来源?

ISO 26262,它总共由10个部分组成,其中9个是规范性的,还有一个,也就是第10部分,是一个额外的指南,提供了如何分解ASIL(Automotive Safety Integrity Levels),如何结合FMEA和FTA的所谓的“已被论证的”示例。

第1部分定义了ISO 26262中使用的词汇,第2部分一般功能安全管理,第8部分是支持过程(例如配置或变更管理,包括对软件工具或软件或硬件组件的资格),第9部分说明了ASIL分解的过程。

剩下的3到7部分具体介绍了整个产品开发生命周期的各个步骤(概念阶段,系统阶段,硬件阶段,软件阶段,生产阶段),并要求它们对所需的输入、活动本身的解释和结果输出(所谓的工作产品)进行解释。

image

范围?

功能安全只针对电子电气件,例如掉电了,信号发错了等;机械等失效不在考虑范围内,例如转向杆断了是不管的。

失效?

功能安全主要解决的是2种失效:

  • **系统性失效,**由于系统设计不合理导致的系统性问题;例如刹车减速度应该小于1个G,但是由于设计不合理,导致最大减速度限值的逻辑忘了加或者加错了,实际车辆搞出个2G加速度,刹车如撞车…

  • **随机失效,**例如电路板某些部分坏了,某个电平应该发高电平,却发成了低电平。这种失效是随机的,而且符合统计学规律,故称为随机失效。

玄学?

功能安全是一套方法论,规范了开发的流程和设计的要求,但没有给出具体的实现机制。

归纳演绎的方法,加上依赖经验和统计学的判断,以及场景考虑是否全面,导致很难有确定的结果。所以遵从同一个法规做出的东西,不同的厂家做出来的可能完全不一样。

科学?

好在,ISO 26262也给出了功能安全需要工作产出(work product),让我们能review其分析的过程和结果是否合理。例如Item Defination,即分析对象;HARA(hazard analysis and risk assessment), 即危害分析和风险评估; FSR(Functional Safety Requirements), 功能安全需求;Safety Goal , 功能安全目标等等。

流程这东西,烦是挺烦的;但从企业和行业角度,流程是前车之鉴;流程可以让无数个人快速统一成一种想法,从而提高效率,也降低了风险,在一定程度上减少产品安全事故。

HARA(Hazard Analysis and Risk Assessment)?

主要通过三个维度对失效的等级进行评估:

  • 严重度(Severity)
    主要是失效发生后,人和车辆的损害程度。

  • 暴露度 (Exposure)
    主要是失效可能发生的概率。

  • 可控度 (Controbility)
    主要是失效发生后,通过驾驶员操作可以挽回损失较少危害的可能性。

根据每个维度的评级,最终通过查表确定某个失效的ASIL等级和功能安全目标,ASIL等级有QM, A, B,C, D五种,从左到右功能安全的要求越来越高。

image

功能安全分解?

有时候功能安全目标太高, 一个Item由于各种原因无法实现,可以进行功能安全分解。例如ASIL D的功能可以分解成如下的形式:

ASIL D = ASIL C(D) + ASIL A(D)

ASIL D = ASIL B(D) + ASIL B(D)

ASIL D = QM(D)+ ASIL D(D)

功能安全分解的前提是,要保持分解各个模块的独立性。也就是说两个模块之间,没有级联失效,也没有共因失效,例如功能安全目标分解到A和B两个模块,那么:

级联失效指的是,A模块坏掉,会导致B模块也坏掉。

共因失效指的是,如果C模块坏掉,会导致A模块和B模块都坏掉。

ASIL对硬件的要求?

单点故障标准,

image

ASIL B ≥ 90%

ASIL C ≥ 97%

ASIL D ≥ 99%

潜伏故障标准,

image

ASIL B ≥ 60%

ASIL C ≥ 80%

ASIL D ≥ 90%

随机硬件失效率,单位FIT(Failure in Time), 1 FIT表示1*10^9小时内只发生1次故障。

ASIL B <10-7 h-1

ASIL C <10-7 h-1

ASIL D <10-8 h-1

其中,

单点故障失效率:λ _SPF

残余故障失效率:λ _RF

多点故障失效率:λ _MPF

安全故障失效率:λ _S

安全相关故障失效率:λ

可探测的多点故障失效率:λ _MP_D

可感知的多点故障失效率:λ _MPF_P

潜伏故障失效率:λ _MPF_L

λ = λ _SPF + λ _RF + λ _MPF + λ _S

λ _MPF = λ _MPF_D + λ _ MPF_P + λ _MPF_L

故障种类?

  • 单点故障(Single-point fault)

没有安全机制保护的,且会违背安全目标的故障。

  • 残余故障(Residual fault)

有安全机制保护的(没保护全面),且会违背安全目标的故障。

  • 可探测的双点故障(Detected dual-point fault)

可被安全机制探测到,且与另外一个故障一起才会违反安全目标的故障。

  • 可感知的双点故障(Perceived dual-point fault)

可被驾驶员感知到的,且与另外一个故障一起才会违反安全目标的故障

  • 潜伏的双点故障(Latent dual-point fault)

不可被安全机制探测到,且不可被驾驶员感知到,且与另外一个故障一起才会违反安全目标的故障。

  • 安全故障(safe fault)

即使发生了也不违背安全目标的故障。

分析方法?

  • FMEA,
    自下而上,从失效原因(某个器件坏掉)找到失效对系统的影响,进而制定措施。

例如ESC坏掉了,可能会导致不能刹车,发生碰撞。

  • FTA,
    自上而下,从系统的影响出发,倒推可能导致的原因有哪些。

例如不能刹车发生了碰撞,可能是ESC坏掉了。

三 回到浅入浅出的主题

功能安全是个很大的topic,想用短文简单介绍,着实是大意了。只好挑着大概介绍下什么是功能安全,ASIL等级是怎样来的,如何分解,硬件怎样才算满足,和主要的分析方法。

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

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

相关文章

【LeetCode】--- 动态规划 集训(二)

目录 一、63. 不同路径 II1.1 题目解析1.2 状态转移方程1.3 解题代码 二、931. 下降路径最小和2.1 题目解析2.2 状态转移方程2.3 解题代码三、174. 地下城游戏3.1 题目解析3.2 状态转移方程3.3 解题代码 一、63. 不同路径 II 题目地址: 不同路径 II 一个机器人位于…

腾讯云(CVM)托管进行权限维持

前言 刚好看到一个师傅分享了一个阿里云ECS实战攻防,然后想到了同样利用腾讯云CVM的托管亦可实现在实战攻防中的权限维持。 简介 腾讯云自动化助手(TencentCloud Automation Tools,TAT)是一个原生运维部署工具,它可…

“Linux 三剑客”,通常指的是三个经典的命令行工具:grep、sed 和 awk

1、grep: 简介:grep 是一个强大的文本搜索工具,可以用于在文件中查找匹配特定模式的行。示例: 搜索包含特定关键词的行: grep "keyword" filename 递归搜索目录下所有文件: grep -r define zj…

java面试题(Redis)

事情干的差不多了,开刷面试题和算法,争取在短时间内快速成长,理解java面试的常见题型 一、redis使用场景: 缓存:穿透、击穿、雪崩 双写一致、持久化 数据过期、淘汰策略 分布式锁:setnx、redisson 计数…

Flutter Boost 3

社区的 issue 没有收敛的趋势。 设计过于复杂,概念太多。这让一个新手看 FlutterBoost 的代码很吃力。 这些问题促使我们重新梳理设计,为了彻底解决这些顽固的问题,我们做一次大升级,我们把这次升级命名为 FlutterBoost 3.0&am…

Redis -- 缓存穿透问题解决思路

缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。 常见的解决方案有两种: 缓存空对象 优点:实现简单,维护方便 缺点: 额外…

讲讲你对数据结构-线性表了解多少?

线性表 - 数组和矩阵 当谈到线性表时,数组和矩阵是两种常见的数据结构。 数组(Array): 数组是有序的元素集合,可以通过索引来访问和操作其中的元素。它是最简单、最基本的数据结构之一。数组的特点包括: …

paddlepaddle模型转换onnx指导文档

一、检查本机cuda版本 1、右键找到invdia控制面板 2、找到系统信息 3、点开“组件”选项卡, 可以看到cuda版本,我们这里是cuda11.7 cuda驱动版本为516.94 二、安装paddlepaddle环境 1、获取pip安装命令 ,我们到paddlepaddle官网&#xff…

2012年认证杯SPSSPRO杯数学建模C题(第二阶段)碎片化趋势下的奥运会商业模式全过程文档及程序

2012年认证杯SPSSPRO杯数学建模 C题 碎片化趋势下的奥运会商业模式 原题再现: 从 1984 年的美国洛杉矶奥运会开始,奥运会就不在成为一个“非卖品”,它在向观众诠释更高更快更强的体育精神的同时,也在攫取着巨大的商业价值&#…

idea2023.2.1 java项目-web项目创建-servlet类得创建

如何创建Java项目 1.1 方式1: 1.2 方式: 1.3 方式 如何创建web项目 方式 ----- 推荐 如何创建servlet类 复制6 中得代码 给servlet 配置一个路径 启动tomcat 成功了

【星海随笔】Ubuntu22.04忘记密码

服务器篇: 有问题可留言。 第一步 远程console界面进入该设备 并重启该设备 如果看到这个界面情况 则点击右上角按钮 【发送 CtrlAltDelete】 调出grub启动菜单 NOTE:启动的后半段去点击这个按钮,前半段一直点会一直重启 如果是直连服务器&a…

Linux-4 gcc和makefile

Linux编译器-gcc/g使用 1.设计样例 c语言:linux中用的stdc99版本--可能会出现其他问题 c:Linux中用的stdc11--使用c11版本 Linux没有文件格式的区分,但是编译器区分 gcc编译器的文件格式是filename.c g编译器的文件格式是filename.cc或者fil…

docker的安装及入门指令

目录 一、将docker安装到云服务器步骤 1.更新系统yum版本 2.安装所需依赖 3.添加docker仓库设置(使用的是阿里云) 4.安装docker引擎 5.启动docker并开启自动启动 6. 检查是否安装成功,成功会显示相应版本,否则安装失败 二、docker常用命令 1.从…

Javascript/Node.JS中如何用多种方式避免属性为空(cannot read property of undefined ERROR)

>>>>>>问题 "cannot read property of undefined" 是一个常见的 JavaScript 错误,包含我在内很多人都会遇到,表示你试图访问一个未定义(undefined)对象的属性。这通常是因为你在访问一个不存在的对象…

【第十六篇】使用BurpSuite实现匹配替换(实战案例)

在Burp中可配置匹配和替换规则,当我们使用浏览器请求程序时,这些规则会自动修改我们的请求和响应。 在某些环境下,我们可以修改 IP 地址,让服务器相信我们属于其本地网络,从而实现与原本无法访问的内部基础设施进行通信。下面将以IP欺骗为例进行操作讲解。 如图,admin目…

2024.4.2-[作业记录]-day07-CSS 盒子模型(显示模式、盒子模型)

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 作业 2024.4.2 学习笔记CSS标签元素显示模式1 块元素2 行内元素3 行内块元素4…

蓝桥杯每日一题:公约数(gcd)

题目描述: 给定两个正整数 a 和 b。 你需要回答 q 个询问。 每个询问给定两个整数 l,r,你需要找到最大的整数 x,满足: x 是 a和 b 的公约数。l≤x≤r。 输入格式 第一行包含两个整数 a,b。 第二行包含一个整数 q。 接下来…

Java 设计模式系列:备忘录模式

简介 备忘录模式是一种软件设计模式,用于在不破坏封闭的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定…

Mahalanobis距离(马氏距离)的本质

马氏距离是加权 ℓ 2 \ell_2 ℓ2​范数的特例。 马氏距离是一种基于样本分布的距离,加权矩阵是样本或总体协方差矩阵的逆,其本质为去相关数据标准化,通过数据变换,消除样本中不同特征维度间的相关性和量纲差异。

具有温度系数(Temperature)的Softmax函数

Softmax 函数 softmax 函数是一种激活函数,通常用作神经网络最后一层的输出函数。该函数是两个以上变量的逻辑函数的推广。 Softmax 将实数向量作为输入,并将其归一化为概率分布。 softmax函数的输出是与输入具有相同维度的向量,每个元素的…