1. 预期功能安全(SOTIF)概述:定义、起源与行业背景
1.1 什么是预期功能安全?
先问大家一个问题:一辆车在高速上开着,摄像头突然被强光晃了一下,没识别出前方的静止货车——这是功能失效吗?
不是。传感器没坏,算法也没崩溃。它只是遇到了一个“预期之外”的场景。这就是SOTIF要解决的问题。
预期功能安全,英文叫SOTIF(Safety Of The Intended Functionality)。说白了,就是系统在正常工作、没有硬件故障的情况下,会不会因为功能本身的设计缺陷或场景局限,导致危险发生。
我参与过一个L2级项目的测试,有一次在隧道出口,阳光直射摄像头,车道线识别直接丢失了。车猛地往右偏了一下。你说传感器坏了吗?没有。算法错了吗?也没有。它就是遇到了一个“没想到”的场景。嗯,这就是典型的SOTIF问题。
核心定义:SOTIF关注的是系统在无故障情况下,由于功能不足或场景局限导致的安全风险。
1.2 SOTIF的起源:从功能安全到预期功能安全
传统功能安全(ISO 26262)解决的是“系统坏了怎么办”。比如刹车失灵、ECU死机、传感器断线——这些都是硬件或软件的随机故障。
但智能驾驶不一样。它引入了大量感知、决策、执行环节,很多危险不是“坏了”,而是“没做好”。
举个例子:
- 功能安全场景:毫米波雷达电源短路,输出异常——这是故障。
- SOTIF场景:毫米波雷达正常工作,但没识别出前方静止的金属护栏——这是功能不足。
2018年,ISO 21448正式立项,专门针对这类“非故障但危险”的问题。我记得当时行业内很多人松了一口气——终于有个标准来管这些“说不清道不明”的坑了。
1.3 为什么智能驾驶离不开SOTIF?
你想想看,L2以上的系统,感知层依赖摄像头、雷达、激光雷达。这些传感器都有物理极限:
- 摄像头怕强光、怕黑夜、怕雨雾
- 毫米波雷达对静止目标不敏感
- 激光雷达怕灰尘、怕雨滴反射
这些不是故障,是物理规律。但危险就是危险,不会因为“不是故障”就放过你。
我在一个项目中遇到过这样的情况:测试车在雨天夜间行驶,AEB(自动紧急制动)系统对前方横穿的行人完全没有反应。事后分析,摄像头因为雨滴和低照度,信噪比太低,目标检测置信度一直低于触发阈值。系统“认为”自己没看到目标,所以不制动。你说它错了吗?从算法逻辑上看,它没错。但从安全角度看,它差点出事。
个人建议:做SOTIF分析时,别只盯着传感器规格书。一定要去实际场景里跑一跑,你会发现很多“规格书上写得好,实际用起来就翻车”的情况。
1.4 SOTIF的核心逻辑框架
ISO 21448把SOTIF分析分成几个关键步骤。我习惯用一张图来理解它:
这个框架的核心逻辑其实很简单:
- 先搞清楚——你的功能在哪些场景下可能“不够用”
- 再评估——这些“不够用”会不会导致危险
- 最后改进——通过算法优化、传感器升级、系统冗余来降低风险
整个过程是迭代的。你永远不可能一次性把所有场景都覆盖完,但可以一步步把“未知的不安全场景”变成“已知的安全场景”。
1.5 SOTIF与功能安全的关系
很多人搞不清SOTIF和ISO 26262的区别。我打个比方:
- 功能安全(ISO 26262):就像给房子装消防系统——防止“坏了”出问题
- 预期功能安全(ISO 21448):就像检查房子的设计本身有没有缺陷——比如窗户位置会不会让人撞头
两者不是替代关系,是互补关系。一个完整的智能驾驶系统,两个都得做。
| 对比维度 | 功能安全(ISO 26262) | 预期功能安全(ISO 21448) |
|---|---|---|
| 关注对象 | 硬件/软件随机故障 | 功能不足、场景局限 |
| 典型问题 | 传感器断线、ECU死机 | 强光下识别失败、雨雾遮挡 |
| 分析方法 | FMEA、FTA、FMEDA | 场景分析、触发条件分析 |
| 安全目标 | 避免故障导致危害 | 避免功能不足导致危害 |
注意:千万不要以为做了功能安全就可以不做SOTIF。我曾经见过一个项目,功能安全等级做到ASIL D,结果上路第一天就在隧道口出了事——因为没做SOTIF分析。两个标准缺一不可。
1.6 行业背景:为什么现在SOTIF这么火?
原因很简单——智能驾驶正在从L2向L3、L4迈进。L2出事了,责任在驾驶员。L3以上出事了,责任在系统。这时候,你再拿“传感器没坏”当借口,没人会接受。
我个人的观察是,2020年以后,主机厂和Tier1对SOTIF的重视程度明显提升。原因有三:
- 法规驱动:UN R157(ALKS法规)明确要求L3系统必须进行SOTIF分析
- 事故教训:多起自动驾驶事故的根因都是SOTIF问题,而非硬件故障
- 用户期望:消费者对“智能”的容忍度越来越低——你号称智能,就别在雨天掉链子
我记得2021年参与一个L3项目的SOTIF评审,光场景库就整理了3000多个。每个场景都要分析:系统能不能应对?应对不了会怎样?怎么改进?那段时间真是加班加到怀疑人生。但回过头看,这些工作确实帮项目避了不少坑。
1.7 小结
SOTIF不是什么高深的理论,它就是一个很朴素的道理:系统没坏,不代表它安全。
做智能驾驶,不能只盯着“坏了怎么办”,更要问一句“没坏的时候,会不会出事?”
后面的章节,我会带着大家一步步深入SOTIF的分析方法、工具链和工程实践。这些东西,都是我在项目里踩过坑、填过坑之后总结出来的,希望能帮大家少走弯路。
公众号:蓝海资料掘金营,微信deep3321