4. 危害分析与风险评估(HARA)在SOTIF中的应用:如何识别和评估预期功能不足导致的危害

各位工程师朋友,咱们今天聊点实在的。

HARA,也就是危害分析与风险评估,在功能安全(ISO 26262)里是老朋友了。但到了SOTIF(ISO 21448)里,它的玩法有点不一样。说白了,功能安全防的是“系统坏了怎么办”,而SOTIF要防的是“系统没坏,但干的事不对怎么办”。

我刚开始接触SOTIF时,总觉得HARA这步跟功能安全差不多,直接拿过来用就行。结果第一个项目就踩了坑——我们分析了一堆电子电气故障,却漏掉了最关键的感知偏差问题。嗯,从那以后,我再也不敢小看SOTIF下的HARA了。

4.1 为什么SOTIF需要独立的HARA?

你可能会问:功能安全不是已经有HARA了吗?为什么SOTIF还要再做一遍?

原因很简单:危害源不同

  • 功能安全HARA:关注系统故障(硬件随机失效、系统失效)。比如刹车踏板断了、传感器短路了。
  • SOTIF HARA:关注预期功能不足和触发条件。比如摄像头没坏,但逆光时看不清行人;算法没崩溃,但把白色卡车当成了天空。

我在一个L4级园区物流项目里就遇到过这种情况。车辆在雨天行驶,激光雷达的探测距离明显下降,但系统没有报任何故障——它“以为”自己看得清。结果就是,车辆在十字路口没能及时检测到横向来车。你说这是故障吗?不是。但危害实实在在发生了。

核心观点:SOTIF的HARA不是功能安全HARA的替代,而是补充。两者共同覆盖“系统故障”和“功能不足”两类危害。

4.2 SOTIF HARA的核心步骤

我个人习惯把SOTIF的HARA拆成四个步骤。你想想看,每一步其实都是在回答一个关键问题。

步骤一:场景分析与触发条件识别

这一步是SOTIF HARA的起点,也是最容易被忽视的。很多人上来就分析危害,却忘了问一句:什么情况下功能会不足?

常见的触发条件包括:

  • 环境因素:雨、雪、雾、逆光、夜间、隧道出入口
  • 道路因素:车道线模糊、施工区域、急弯、坡顶
  • 目标物因素:异形车辆、行人穿深色衣服、动物横穿
  • 系统自身因素:传感器遮挡、算法边界、计算资源不足

我记得有一次做高速公路领航辅助的HARA,团队列了30多个触发条件。但真正让我警觉的是“隧道出口强光”这个场景——车辆刚出隧道,摄像头还在适应亮度变化,前方突然出现一辆静止的故障车。这个场景在功能安全里根本不会出现,但在SOTIF里,它是实实在在的高危场景。

步骤二:危害识别

基于触发条件,我们要识别出具体的危害事件。这里要注意:危害不是“功能失效”,而是“对人员造成的伤害”

举个例子:

  • ❌ 错误写法:摄像头在逆光下无法检测行人
  • ✅ 正确写法:车辆在逆光场景下未能检测到横穿行人,导致碰撞行人

你看,后者才是一个完整的危害描述。它包含了场景、功能不足、以及最终的人身伤害。

步骤三:风险评估

SOTIF的风险评估,我建议沿用功能安全的三个维度,但评估标准要调整:

维度 功能安全(ISO 26262) SOTIF(ISO 21448)
S(严重度) 基于伤害的严重程度 相同,但需考虑功能不足导致的特殊伤害(如误加速)
E(暴露率) 基于场景的暴露概率 需额外考虑触发条件的暴露概率
C(可控性) 驾驶员能否控制 需考虑驾驶员对功能不足的预期和反应时间

这里有个坑:SOTIF里的可控性评估比功能安全更复杂。为什么?因为功能安全里,系统故障通常是突然发生的,驾驶员能立刻感知到异常。但SOTIF里,功能不足可能是渐进的——比如车道保持能力在雨天逐渐下降,驾驶员可能根本没意识到系统已经“力不从心”了。

避坑指南:我曾经在一个项目中,把SOTIF的可控性直接照搬了功能安全的评估结果。结果评审时被专家质疑:驾驶员在逆光场景下,根本不知道摄像头已经失效了,你凭什么说可控性高?从那以后,我每次评估可控性都会问自己一个问题:驾驶员能意识到功能不足正在发生吗?

步骤四:风险等级判定与接受准则

根据S、E、C的评分,我们可以得到风险等级。但SOTIF和功能安全有一个重要区别:功能安全要求所有风险必须降低到可接受水平(ASIL等级),而SOTIF允许部分风险在“合理可预见”的前提下被接受

什么意思呢?就是说,有些场景下的功能不足,你没办法完全消除,但只要发生的概率足够低、后果足够轻,就可以接受。比如,车辆在极端罕见的暴雪天气下,感知性能下降导致短暂的车道偏离——如果系统能及时提醒驾驶员接管,这个风险可能就是可接受的。

4.3 知识体系框架

下面这张图,是我自己总结的SOTIF HARA知识体系。它把整个流程串起来了,你一看就明白。

SOTIF HARA 知识体系框架 输入:功能定义 + 场景库 步骤一 场景与触发条件识别 步骤二 危害识别 步骤三 风险评估(S/E/C) 步骤四 风险等级判定 输出:危害清单 + 风险等级 + 接受准则 后续活动:功能改进 / 验证与确认 / 残余风险接受 注:S=严重度,E=暴露率,C=可控性

4.4 实战案例:自动紧急制动(AEB)的HARA

光讲理论没意思,咱们来看个实际案例。我参与过一个AEB系统的SOTIF HARA,这里分享一个典型危害的分析过程。

场景:车辆在城市道路以40km/h行驶,前方有一辆静止的白色厢式货车。时间是下午4点,太阳位于车辆正前方,属于逆光场景。

触发条件:逆光导致摄像头动态范围不足,无法清晰识别白色货车与背景天空的边界。

危害:车辆未能检测到前方静止货车,未触发AEB制动,导致追尾碰撞,可能造成乘员颈部受伤。

接下来是风险评估:

  • S(严重度):S2(中等伤害,可能需就医)—— 40km/h追尾静止车辆,乘员可能颈部扭伤
  • E(暴露率):E3(中等暴露)—— 逆光场景在城市道路中每天都会出现,但并非每次都有静止货车
  • C(可控性):C2(一般可控)—— 驾驶员如果注意力集中,可以观察到前方货车并自行制动;但如果驾驶员分心,则无法控制

综合评分:S2 × E3 × C2 = 风险等级为“高”,需要采取措施降低风险。

个人经验:在这个案例中,我们最初把可控性评为了C1(容易控制),理由是“驾驶员应该能看到前方货车”。但后来我们做了实车测试,发现逆光时驾驶员也会被晃眼,反应时间比正常场景慢了0.8秒。这个0.8秒的差距,在40km/h下就是将近9米的制动距离。所以,不要凭直觉评估可控性,一定要用数据说话

4.5 常见误区与避坑指南

做了几个SOTIF项目后,我总结了几个常见误区,分享给你:

  1. 误区一:把功能安全HARA直接拿来用

    我曾经犯过这个错。功能安全的HARA关注的是“系统故障”,而SOTIF关注的是“功能不足”。两者的危害清单完全不同。我的建议是:重新做,不要偷懒

  2. 误区二:忽略触发条件的组合效应

    单个触发条件可能风险不高,但多个条件叠加就危险了。比如“雨天+夜间+施工区域”,三个条件叠加,感知系统的性能可能下降80%以上。我在一个项目中就吃过这个亏,只分析了单一触发条件,结果漏掉了组合场景。

  3. 误区三:可控性评估过于乐观

    很多工程师觉得“驾驶员总能接管”。但实际情况是,驾驶员对系统的信任度会影响接管意愿。如果系统平时表现很好,驾驶员就会放松警惕。一旦功能不足发生,驾驶员可能来不及反应。我的建议是:假设驾驶员是最差情况——分心、疲劳、对系统过度信任

4.6 小结

好了,这一章的内容就到这里。咱们回顾一下核心要点:

  • SOTIF的HARA和功能安全的HARA是互补关系,不是替代关系
  • 核心四步:场景与触发条件识别 → 危害识别 → 风险评估 → 风险等级判定
  • 风险评估的三个维度(S/E/C)在SOTIF下需要重新审视,尤其是可控性
  • 实战中要注意触发条件的组合效应,以及可控性评估的客观性

下一章,我们会深入讨论如何通过系统设计来降低这些风险。到时候我会分享一些具体的算法改进和传感器融合策略,都是实战干货。


公众号:蓝海资料掘金营,微信deep3321