首页 > 其他分享 >浅谈AEB的安全设计与技术进化

浅谈AEB的安全设计与技术进化

时间:2024-08-07 14:23:17浏览次数:13  
标签:触发 功能 浅谈 制动 目标 安全 AEB 进化

浅谈AEB的安全设计与技术进化

一、AEB的功能安全需求

从HARA角度进行AEB的功能安全分析,可以得出共识性最高的2个安全目标内容描述:非预期的制动过大和非预期的不可释放制动。随着下一步安全目标内容的分解,可以得出:

1. 非预期的制动过大(含误触发)的争论点:包括了非预期的AEB触发,那么多大的制动减速度为过大?不同的制动减速度应该对应的ASIL等级分别为多少?减速度控制在多大是最低的AEB的制动要求呢?

2. 非预期的不可释放制动的争论点:油门踩到多大可释放AEB是合理的?制动踩到多大的深度或多大的制动力可以接管AEB的控制呢?还有哪些方法可以释放非预期的AEB呢?

另有一点,就是在AEB正确触发的过程中,如果突然退出不进行制动,驾驶员能控制住车辆正常接管刹车吗?与正常的人类驾驶员的反应相比,这种情况是更安全了还是更不安全了?

除以上常用的安全目标描述,还有感知方面的技术争议点:

1. AEB的误触发:为什么AEB的正确触发是被允许的,而错误触发就是不被允许的呢?或者从安全目标本身来说,无论AEB是正确触发还是误触发,对本车和后车来说是相同的,设计条件和结果均相同。而对于AEB的目标本身不同而已。

如果正触发被认为是可以不限制次数和频率的,那也是不公平的定义,因为在目标是人的情况下,我们可以从综合伤害度来理解,但是,在目标是车辆的情况下,追尾未必会比被后车追的情况更严重。

2.AEB的漏识别:为什么AEB的漏识别无人谴责?因为没有法律定义必须能触发。那么取舍可想而知了,首要条件就是不产生动作的伤害。在感知无法达到准确率的情况下,只能侧重点舍去怀疑性目标和高速段的目标。

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

二、AEB的功能安全需求的论证

● 争论点安全目标描述1对应的有2个值:

1)制动减速度范围对应的ASIL;

2)制动的最大速度降对应的ASIL;

这里谈谈大约的取值情况,仅供参考,非标准化数值,各家对安全的门限值均可能不同,取决于各家对车辆特征和用户群体的模型的理解与定位:

根据各不同车速段的分布:

ASIL A:0.3g-0.4g;

ASIL C:大于0.7g-0.7g;

ASILC:大于0.7g.

总结:对于各家的AEB,如果触发的制动减速度低,相对危害就小,同时,对感知的识别和规划控制的要求也就高。

从以上分析可知:AEB的非预期制动的危害是确实存在的,那么,在一定需要AEB触发才会有更有利的场景设计的情况下,就要尽量避免这种危害,在最大速度降不超过60km/h情况下,对危害进行约束。

谈了功能安全的要求,再来对应聊下SOTIF的情况。在功能安全的框架内,均有SOTIF误触发和漏识别发生的概率和场景,如此,才出现了更明确的AEB车速一刀切的情况。做不好感知识别率的同伴们为保障安全,退而求其次,进行了降危害的车速约束。然而,关于如何的SOTIF指标是安全的,如何做到不约束车速的AEB,行业还欠缺一个解释。

SOTIF的风险接受准则与传统的AEB路试的对应关系如何?如果从风险场景的测试和场景发生概率论的角度能够对此进行定义,就是最佳的设计方案,可以取代以碰运气式的功能触发方式跑二十万公里或十万公里的各种道路的方案。相信ADAS行业在数据的不断完善下很快能给出一个合理的论证结果。

讲了这么多图方便来解决安全保障的事,那么矛盾又来了,约束了AEB的触发速度降,那100km/h怎么刹到0呢?

1)增加目标的识别率,进行全程均衡对接。是否称为AEB不重要,重要的是以达到正确的目标触发为最终导向。能做到此一次性刹到0的,最好不是高速误触发,因为通过以上的危害已经可以明确做到后车不追尾还是比较难的;

2)可以通过争论点2来解决误触发带来的危害问题。需要驾驶员相信自己的眼睛,若前方没有目标,自己有办法解除AEB的误制动的话,就可以规避危害。

受文章局限性,不进行S、E、C值的详细条件论证了,有疑问可后台联系工作人员进行研讨。

三、AEB系统的安全设计

● 创建可控性论证:

在对AEB系统的安全设计中,如果感知已经不可修订和提升识别准确率,那么在此情况下,基于现有条件设计出一套符合安全要求的AEB系统,就需要进行适配性论证,做到伤害度可接受。在各种不足设计中,取各项安全的平衡点是首要的。是否有AEB功能本身暂时没有定义是“对”或“错”,但触发了不安全肯定是有“错”的。

image

**对于AEB系统追求高的产品来说,需要考虑漏识别的目标的合理性,**比如,正常的行人过马路且在路口人行道上,且是正常的装扮,如果在客户没留意的情况下,进行了碰撞未识别,大多会有投诉,因为装了等于没装是不能被接受和理解的。尽管法律上未必约束了AEB必须能刹车,责任在客户不看路,但客户钱花了,没起到这个作用,心里的委屈总是要有发泄的路径。作为安全从业者,尽最大的努力设计一套客户需要的系统,是不变的职业追求。

如上的论述看上去并没有说清楚功能安全是哪些点,SOTIF又是哪些点,是因为两者混着说容易迷糊,如果再从示例里去认真思考一下背后的逻辑,就可以发现在ADAS中功能安全和SOTIF有很多设计论证上没有明确分割的点,两者相互补充和相互佐证就是最好的实践应用。

● 安全目标的分配:

在确认安全需求之后,安全目标的分配也是必选项。因为感知不到功能安全做与不做的区别,所以很多产品为省成本,前雷达和前摄像头均不做功能安全,但其实功能安全在此处是很有必要的。

功能安全可以对传感器等的故障情况进行反馈,让客户知道传感器等功能不可用了;而不做功能安全,就算传感器等坏了,因为没有反馈,客户会以为是正常的。再者,违反安全目标的事情的发生是不可避免的,如果没有这个正确的认识,就会导致错误的依赖、信任和危害。

当前行业中的一般选择是在摄像头做功能安全的链路,保障感知安全目标的分解。但如果只依靠某单一感知,局限性会无法对应漏识别的需要。因此,仍是需要采取融合策略,附件安全条件过滤。

对于故障探测的覆盖度,如果要求了功能安全,就可以保障误发目标的感知结果不会出现;而传感器的特征达不到识别到安全目标需要的识别能力特征,那就算功能安全再好,亦无用。所以,功能安全与SOTIF相辅相成。

● 安全条件的过滤:

根据第二节说明的内容,可以从场景拆解、特征过滤等多路径进行AEB的功能触发和危害条件的规避,目标的可信度是在开发中磨练起来的,但安全分析的方法论是有力的过程保障。本处交给专业的选手进行算法层的解答。

四、小结

ADAS系统的风险接受准则在行业里都是争论点。特别是L2级的辅助驾驶功能,没有绝对的对错之分。AEB系统配置的感知部件越多,算力越强,原则上性能和安全性应该就越好。将技术和配置拉到相同的平台上再进行PK,才是技术与价值方面最大的平衡。

标签:触发,功能,浅谈,制动,目标,安全,AEB,进化
From: https://blog.csdn.net/adas_l5/article/details/140991179

相关文章

  • 浅谈矩阵
    0.前言感谢远古神猴tz1带来的30分钟极速版矩阵乘法讲解,tql!1.矩阵作用矩阵本质是对一个向量的进行变换,也就是描述转移的东西,因此我们常常用其来加速转移过程。2.技巧让我们来结合几道题目来谈谈吧。2.1优化矩阵运算[CF1970E3]Trails首先,暴力矩阵转移是显然的,记\(p_i=l......
  • C#:具体类=>抽象类=>接口的进化过程详解
    文章目录简单复习继承与多态具体类抽象类及成员使用语法接口抽象类到接口的进化简单复习继承与多态下面,我用一个交通工具的例子来快速复习一下.1.首先我定义一个基类Vehicle,代表交通工具的总称.里面定义了一个可被重写的成员方法Run.classVehicle{......
  • 模拟实现 memcpy --浅谈C语言
    内存拷贝-memcpy描述C库函数void*memcpy(void*str1,constvoid*str2,size_tn)从存储区str2复制n个字节到存储区str1。memcpy是最快的内存到内存复制子程序。它通常比必须扫描其所复制数据的strcpy,或必须预防以处理重叠输入的memmove更高效。memcpy,memcpy......
  • 模拟实现 strcat(字符串追加) --浅谈C语言
    strcat描述char*strcat(char*dest,constchar*src)把src所指向的字符串追加到dest所指向的字符串的结尾。声明下面是strcat()函数的声明。char*strcat(char*dest,constchar*src)参数dest--指向目标数组,该数组包含了一个C字符串,且足够容纳追加后的字符......
  • 模拟实现 memset --浅谈C语言
    memset()描述C库函数void*memset(void*str,intc,size_tn)用于将一段内存区域设置为指定的值。memset()函数将指定的值c复制到str所指向的内存区域的前n个字节中,这可以用于将内存块清零或设置为特定值。在一些情况下,需要快速初始化大块内存为零或者特定值,memse......
  • 模拟实现 strcmp(字符串比较) --浅谈C语言
    C库函数-strcmp()描述C库函数intstrcmp(constchar*str1,constchar*str2)把str1所指向的字符串和str2所指向的字符串进行比较。声明下面是strcmp()函数的声明。intstrcmp(constchar*str1,constchar*str2)参数str1--要进行比较的第一个字符串。......
  • 浅谈SQL sever游标
    一、什么是游标?游标是一种用来遍历数据库结果集的机制,它允许用户逐行处理查询结果。在SQLServer中,游标是一种可编程的对象,可以在存储过程或触发器中使用。使用游标可以逐行处理查询结果,执行复杂的逻辑操作,以及在处理数据时进行一些特定的操作。游标通常用于需要逐行处理......
  • 模拟实现 memmove --浅谈C语言
    内存移动-memmove也是拷贝函数,源字符串可能会被覆盖,但保证目标是想要的描述C库函数void*memmove(void*str1,constvoid*str2,size_tn)从str2复制n个字符到str1,但是在重叠内存块这方面,memmove()是比memcpy()更安全的方法。如果目标区域和源区域有重叠的......
  • 模拟实现 strstr(字符串查找) --浅谈C语言
    C字符串查找-strstr()描述C库函数char*strstr(constchar*haystack,constchar*needle)在字符串haystack中查找第一次出现字符串needle的位置,不包含终止符'\0'。声明下面是strstr()函数的声明。char*strstr(constchar*haystack,constchar*needle)参......
  • 【Redis】全局命令/内部编码/浅谈单线程模型
    目录前言两个核心命令GET和SET全局命令KEYSEXISTS DELEXPIRETTLTYPE 数据结构的内部编码Redis的5中数据类型Redis数据结构和内部编码单线程架构前言Redis提供了5种数据结构,理解每种数据结构的特点对于Redis开发运维⾮常重要,同时掌握每种数据结构的常......