科技王凡:如何保证自主泊车的安全

描述

2018自主泊车与代客泊车论坛在北京御汤山商务会所召开。上海纵目科技智能交通事业部的总经理王凡在会上做了《如何保证自主泊车的安全》的主题演讲。

王凡:大家好!我是纵目科技智能交通事业部的王凡。今天给大家分享我们在自主泊车安全方面的思考。

纵目科技有三个关键词,第一个关键词是零部件及核心算法一级供应商;第二个关键词是专注泊车系列产品,从L2的自动泊车到L4的自主泊车;第三个关键词是人工智能深度学习,车+AI。我们有一流的视觉算法,比如刚刚在KITTI上获得的单项第一,同时我们善于把一流的算法应用到我们具体落地的场景中去。

我们为什么要专门来讲安全这个话题?大家都知道智能驾驶汽车最终是要在公共道路上行驶,如果一旦出现了问题,就会伤害到老百姓,把自动驾驶汽车的安全做好,是我们不可推卸的责任。另外,智能驾驶汽车是这几年新兴的事物,老百姓都认为它是黑科技,高大上,如果频繁出事故,大家会不相信这个行业。

对于自主泊车,有哪些挑战的场景?下图左边这个车没有司机,如果自动驾驶系统一旦出现了危险情况,没有任何一个人可以接管这台车。

下图右边是我们国家停车场的情况,非常拥挤,停车场里有很多人,可能车位不够,很多车还停在路边,或临时占用一些道路,路边还有一些货物。这都是停车场复杂情况的挑战,对我们的安全来说更是挑战。

风险到底是从什么地方来的?只要有软件、有硬件的电子信息系统,就有可能发生失效,会导致风险。那么这个风险有可能是一个系统失效,也可能是随机失效。ASIL-D的安全目标被违反的概率是10的负8次方,如果我们去测试的话,每出一个产品需要测试1亿个小时,然后出了新版本,还要测试一亿个小时。所以仅仅通过测试来验证产品是不现实的。

我们的目标是要降低风险,对于电子电器的系统来讲,可能出现的是元器件故障风险,就是橙色的区域,风险非常高,我们要把它的风险进一步降低。我们之前在做功能安全,积累了大量的经验,比如说过程改进、FMEA分析等,可以把质量提高到风险可控程度。但这还是不够的,我们需要进一步提升它的质量,降低它的风险,我们有一整套完善的流程和方法来做这件事。

我们要做一个危害分析和风险评估,要结合需求和系统的设计,它的工况环境,对每一条危害进行分析,分析它的严重度、可控度,我们可以查到每条危害的安全是什么等级。

我们总结出这样一张表格,这是我们对于自主泊车总结出的功能安全目标中的一部分。大家可以看到,这里列出了5个功能安全目标。

我们经常会说,自动驾驶功能,比如高速需要达到ASIL-B或者ASIL-D,这种说法不严谨,严谨的说法是,有哪些具体的功能安全目标需要达到ASIL-B或者ASIL-D。从这里还可以看到,有两条是ASIL-D级别的功能安全目标,希望自主泊车的控制器达到ASIL-B的水准。这样的话,需要整车其他系统来分担它的功能安全。

当我们有了这个功能安全目标之后,我就要进行系统安全分析,有很多具体的方法论,我可以采用功能安全规范推荐的方法论,帮助我们得到系统的技术需求,比如这里我们针对一项功能安全目标结合产品的系统架构设计进行FTA故障树分析,分析总共有哪些失效可以导致违反功能安全目标,然后针对这些失效,设计出相应的安全机制来保证系统的安全性。这个例子还很high level,具体工作中的分析远比这个要详细很多。FTA是一种演绎法,ISO26262还要求进行软硬件的FMEA分析,这是归纳法。相当于一个是自顶向下,一个是自底向上,拉网式地排查。

硬件的每一个元器件都有一定失效的概率,电阻电容可能发生断路或者断路,IC也有可能发生异常,我们要计算出整个系统总体随机失效概率,所以我们要对硬件做FMEDA定量分析,对每一个元器件失效进行分类和计算,我们还要计算单点故障度以及浅层失效故障度,对将其控制在功能安全相应ASIL等级允许的范围之内。

从软件的角度来说,主要从架构设计的角度去消除风险,检测失效。比较典型的方式就是三层监控。在功能层进行日常的采集,然后实现功能监控层,对监控层再去监控,看看功能层是不是按照我的想法执行;最后还有控制器监控层,检查刚才运行的整套系统,看它是不是在正常的工作状态。

这样三层监控系统下来之后,保证我们的系统很安全。

由此,我们得到自动泊车功能安全设计,该设计最重要的点就是冗余。因为它会失效,所以需要通过两种方式进行备份。比如说我们的计算平台,可以有很多传感器做备份,把定位源进行冗余。

整车电源需要双备份,我们也有两路独立的电源输入,其中一路电源消失之后,每个系统还可以保持工作。

转向和制动,整车的电器架构和关键的器件之间,要保持至少两路的通讯网络。多种传传感器冗余,确保车周围物体检测和追踪。有4个环视摄像头、1个前视摄像头,12个超声波,4个毫米波角雷达,1个毫米波前雷达。至少有4个传感器可以覆盖车辆前进的主要方向。

除了上述方法,我们还需要通过流程管理的方式确保系统的质量。根据ISO26262流程要求,我们从系统层面、应用层面、软件层面引入到实践中。

现在用比较形象一点的例子来理解功能安全到底是什么样子。

假设周六在幼儿园里,幼儿园的老师想为了下周一的活动准备一些教具,对教室进行装饰。大家都很忙碌,在这个过程中有两盒针都打翻了。我们分析大头针会对小朋友造成的影响。

有的小朋友不太理解大头针,可能就会好奇,有可能刺伤自己的眼睛,或者吞咽下去,最高等级的就是S3。暴露度最高是E4。可控度就是说捡到这个大头针会怎么样,一部分小朋友进行过这些教育,他见过这个东西,但也存在一些小朋友不知道,拿那个玩具去玩,我们认为可信度是C2。综合风险等级是ASIL-C级的。

老师首先会想,那天我去过哪些教室,我就去哪些地方找大头针,这是利用现有经验改善安全的方式。这样可以找出大部分大头针,但是还是不够的,我们认为在某些角落里可能有遗漏,我们会通过拉网式的方法,计算这个房间有多少走廊,有多少区域,然后画成1×1米的格子,看看每个格子上是否有大头针。把它都检查过了,没有大头针,这种拉网式的排除相当于系统分析方法。

即便如此,老师可能还不太放心,万一出了事都是大事。老师做了一种大头针检测器,然后周一发给每个小朋友,一旦这个东西报警,你马上举手报告给老师,这相当于是我们的监控方式。这个检测器是否可靠?所以我们又在检测器上实施了监控装置,这就相当于是我们的三层监控。整个过程相当于是我们在幼儿园里做了一次功能安全项目。

对于自动驾驶来说,这个是否就足够了呢?可能很多人会有印象,特斯拉发生人身事故的场景,特斯拉以为白色的是天空,它就直接撞上去了。当时有没有软件发生异常?没有。有没有在当场发生随机失效?好像也没有。发生这个事故的原因是算法没有检测出这辆车,这不是功能安全可以解决的问题,即便特斯拉的功能目标能做到ASIL-D也不能解决这个问题。

目前有一个新的规范正在制定,但还未发布,可能在今年或者明年会发布ISO21448,全称是预期功能安全,是专门针对自动驾驶中的算法性能进行分析的规范。在21448里提到,要跟26262做一些参照,在今年新版的26262里面,结合了21448的场景。

我们将所有的场景分为已知安全、未知安全、已知不安全、未知不安全。我们的目的是最大化已知安全的部分。减小未知不安全的做法是要增加测试的覆盖率,尽可能多的分析系统面临的场景,然后增加测试的方式,把中间这个轴向右推,尽量减少未知部分。世界上最好的视觉算法在行人检测的准确率智能能达到90%。需要增加传感器的融合等方式,来证明已知不安全基本被消灭。通过这样的方法,可以证明我们的系统是安全的。

很多人都知道马斯洛提出的人类需求三角形,最低的需求是生理需求,然后是安全需求、社交需求、尊重需求和自我实现需求。对于一个司机来说,也有不同层次的需求。对于一个司机来说,最底层的需求相当于是新生儿一样,身体健康,能够呼吸,眼睛能看,不会莫名其妙晕倒,这是最根本的需求。再往上是新生儿到8岁的时候,他认识物体,知道什么是汽车、什么是行人,什么是消防车,什么是道路,他有自己的运动器官,四肢运动也协调了,我们认为这是司机的第二个阶段。

第三个阶段就是小孩子到了18岁的时候,他去驾校学开车,很快就掌握了开车的技能,在教练陪伴下可以上路了,最终学习了理论课程,通过了所有驾校的考试,拿到了驾照,这是司机的需求三角形。

对比一下自动驾驶安全,ISO26262相当于是最低层次的需求,SOTIF是认知系统已经建立起来了,可以有基本功能的边界条件,但这时候还不能开车。

人在开车的时候,要识别道路上其他的车,其他的交通参与者,他们其实也会看见你,你的行为也会影响到他们的决策,反过来对于自动驾驶来说也一样,你做出来的每个决策,你的行为也会影响到其他的交通参与者。其他的参与者会因为你的反映会有一些不同反馈。 

比如在停车场里有很多行人穿过停车场的道路,自动驾驶的车看到行人在横穿,车子就停下了,行人看到车停下来之后,他也不知道车会不会走,他也停下来了。如果人开车,我们会做一个礼貌让行的手势,行人知道车的目的,他就会通过。但对于自动驾驶来说,行人拿不准这个车是否会走,所以会有交通参与者之间交互的问题。

还有一些问题,人开车的时候,即便是很熟的规则,注重安全的司机也会犯错误。这样我们不能太苛责自动驾驶汽车不出现任何的事故。

比如在下图的黑色场景下,绿色的车是我的,前面、后边、左边都有车,我在停车场里开,黄色的车要出库,撞到了我的侧面,这不是我的责任,需要黄色的车承担主要责任。责任判定是说不能指望我们的车完全不涉入到事故,但我们不引起事故。

美国公路安全管理局发布了专门针对L3到L5自动驾驶的建议指导书,包含上面提到的这些系统安全,ODD就是产品的边界条件,指出这个功能到底在什么样的道路条件下行驶,在什么样的车速、环境、天气的公共安全下行驶。OEDR是说在这个环境下有什么能力,能够识别什么样的物体,是否能够检测出行人,如果遇到这种情况时,决策是什么,用于定义行为。

Fallback是说一旦发生了事故,要进行功能回落。我们刚才说自主泊车的车上没人,所以自动泊车的定义是安全停车、通知,还有验证手段。除了一般的车出厂一定要做的实验,还要去测试可能导致危险的场景,所有的功能是否都可以用。

另外还有HMI,对L3来说,需要告知司机和车的状态,是否健康。待接管的时候,可以通过HMI提示司机,然后还要检查这个司机是否确实接管了。对于自主泊车系统,它可能是代表车外面,也有可能是后台的运行中心。比如联系不到车主,它会请示运行中心。

Crashworthiness是说车碰撞时的保护。对载人的无人车来说,不要让乘客受伤。

Post-Crash是说紧急停车,确保安全。Data Recording是说持续改进系统,如果出事以后,可以通过记录的数据重现事故发生的情景。Consumer Education and Training不仅要让内部人员会用,还得教会司机上手。最后还有法律法规等。

完成了这12要素之后,我们就认为无人驾驶汽车具备了上路能力,这就是自动驾驶安全的马斯洛三角形。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分