功能安全 (Functional Safety)
1.1.什么是功能安全?
ISO 26262中对功能安全的定义为:
ISO 26262:absence of unreasonable risk due to hazards caused by malfunctioning behavior of E/E systems.(不存在由电子电气系统的功能异常表现引起的危害而导致不合理的风险)
简而言之,功能安全开云手机版登录入口系统故障后怎么做。危害有很多类型,如人身伤害或者财产损失等等。功能安全所关注的危害指对驾驶员或者路人或周边车辆内人员(注意:不仅仅是驾驶员)造成的健康伤害。换句话说,功能安全开发目的是避免伤人。
功能安全的定义中有一个关键词“unreasonable”,即“不可被接受的”。就像世界上没有永动机一样,世界上也没有100%安全的系统,因此功能安全追求的是将危害控制在可被接受的范围。而是否可被接受,需要从两个维度去衡量:危害的严重性和危害发生的频率。举例来说,飞机失事几乎无人生还,但是正因为飞机失事的概率非常低,所以不影响它成为最重要的交通工具之一;电动车窗发生卡滞故障的频率比较高,但是故障不会让人受伤,因此很多司机甚至只有等到下个月去4S店时才想起来维修它。但是,如果你的车突然在高速上自动加速,估计你马上停在紧急带,惊魂未定便马上打电话给4S店喊着要退车了,因为这种原本可以通过设计规避的故障是不可接受的。这也正是功能安全开发期望避免的故障。
![]()
功能安全开发的目标(截图来自TUV培训资料)
1.2.功能安全的发展现状
相对于预期功能安全和信息安全,功能安全的发展是最成熟的。自2011年功能安全标准ISO 26262正式发布以来,已经过去了快10年。这这段时间里,在汽车智能化高速发展的驱动下,功能安全越来越被汽车行业接受,国内外各大主流汽车企业陆陆续续将ISO 26262的需求融入自己的研发体系和流程中,以保证安全能跟上电子电器系统快速变革的步伐,保证辅助驾驶功能不仅好用而且安全。借着这股东风,ISO 26262一路“平步青云”,功能安全俨然成为了汽车研发的新兴热门话题。
但是,随着更高阶的自动驾驶的开发思路越来越清晰,功能安全也渐露窘色。
相比较辅助驾驶,自动驾驶最大的难点在于系统在出现故障之后,需要系统来自己操作避免事故(自动驾驶等级越高,驾驶员可以越晚介入接管甚至是完全不用接管),出了事故是厂家的责任而不是驾驶员的责任。
这正是为什么之前特斯拉被告虚假宣传,从而不得不将其宣称的“自动驾驶”改成“增强版辅助驾驶”的原因。因为特斯拉的Autopilot功能正常工作的时候,表现得确实是无人驾驶,而一旦出现异常,却是由驾驶员来担责。
故障发生后,系统从报警变成了继续进行安全控制,可以预见,功能安全的开发难度以及功能安全对系统架构的要求都产生了质的改变。汽车实现自动驾驶实际上和已经实现了自动驾驶的飞机的设计思路类似。飞机的自动驾驶是怎么保证的呢?除了尽可能保证零部件可靠性之外,飞机会有两个发动机,保证在一个发动机故障以后另一个仍能保证安全飞行。这就是“冗余设计”的概念。冗余设计在飞机上到处可见,比如两个独立运行的计算机系统,两套独立的供电系统等等。
回到汽车自动驾驶上,同样对关键部件采用冗余设计,保证当故障发生后备份系统仍能保证车辆正常运行。可以预见的是,自动驾驶的大脑控制系统、制动系统、转向系统、供电系统等都需要冗余。
但是,冗余一方面意味着部件数量增加,成本上升;另一方面,功能安全中会对系统故障可能导致的危害事件进行分级,简单来说从ASIL A到ASIL D危害程度逐渐升高。那么开发要求也逐渐升高。比如单就硬件开发而言,ASIL D对单点故障度量(SPFM, signal point fault metrics)、潜在故障度量(LFM, Latent fault metrics)等的指标要求近乎苛刻。
![]()
ISO 26262对不同ASIL等级的硬件开发指标
而对于需要冗余的制动系统、转向系统、大脑控制系统等而言,它们的失效都会引起一些ASIL D的危害事件,换句话说,这些系统的开发需求中至少有一部分是有最严苛的ASIL D要求的。如今两套冗余都需要满足这些要求,无疑增加了开发难度和开发成本。
但是汽车开发又不得不面对这样的现实:和飞机不同,汽车的利润比飞机的利润低得多,全靠走量,如果不计成本,那么即使实现了安全系数很高的自动驾驶系统,也会因为价格过高而不被市场认可。如何在功能和安全之间找到平衡,是功能安全在自动驾驶汽车上面临的挑战之一,也是未来在智能驾驶汽车上真正落地功能安全的关键。