3. ISO 21448标准解读:核心思想、适用范围与关键术语

好,我们进入第三章。ISO 21448,也就是大家常说的SOTIF标准。说实话,我刚接触这个标准时,第一反应是:“这不就是功能安全的补充吗?”后来踩了坑才发现——事情没那么简单。

这一章,我会带你拆解ISO 21448的核心思想、它管什么不管什么、怎么和26262配合,以及那些绕不开的关键术语。嗯,咱们一个一个来。

3.1 核心思想:安全不是“不出错”,而是“没危险”

ISO 21448的核心思想,说白了就一句话:系统在没故障的情况下,也不能因为功能不足或场景触发导致危险。

你想想看,传统功能安全(ISO 26262)主要对付的是“系统坏了怎么办”——比如传感器短路、芯片死机。但SOTIF要对付的是“系统没坏,但就是干蠢事”。

核心区别一句话总结:

  • ISO 26262:系统坏了,要安全。
  • ISO 21448:系统没坏,也要安全。

我在项目中遇到过这样一个案例:一辆L2级辅助驾驶车,摄像头、雷达都正常,算法也没报错。但在一个逆光+路面湿滑的弯道,系统没识别出前方静止的工程车——直接撞上去了。硬件没坏,软件没崩,但就是没识别出来。这就是典型的SOTIF问题。

所以,ISO 21448的核心思想可以拆成三个层次:

  1. 功能不足:系统能力有限,比如摄像头在强光下看不清。
  2. 场景触发:某些场景恰好暴露了系统的短板。
  3. 危害事件:功能不足+场景触发=危险。

说白了,SOTIF就是逼着你去想:“我的系统在哪些场景下会犯傻?”

3.2 标准适用范围:管什么,不管什么

ISO 21448的适用范围,我习惯用一张表来记:

维度 适用(管) 不适用(不管)
系统状态 系统无故障(硬件/软件正常) 系统有故障(归ISO 26262管)
功能范围 L1-L5级驾驶自动化功能 非驾驶功能(如信息娱乐)
触发因素 场景、环境、算法局限 随机硬件失效、系统性软件bug
安全目标 避免因功能不足导致的危害 避免因故障导致的危害
生命周期 开发、验证、量产后的持续监控 生产制造过程(归质量管理)

这里有个容易混淆的点:ISO 21448并不完全独立于ISO 26262。实际上,两个标准是协同工作的。我个人的习惯是:先做26262的HARA(危害分析与风险评估),再做21448的场景分析。因为26262帮你找出“系统坏了会怎样”,21448帮你找出“系统没坏但场景不对会怎样”。

避坑指南: 我曾经在一个项目里,把SOTIF和功能安全完全分开做,结果发现很多危害事件既涉及故障又涉及场景。比如,摄像头被泥巴挡住——这既是“传感器故障”(26262),也是“场景触发”(21448)。后来我学乖了:两个标准要一起看,交叉分析。

3.3 与ISO 26262的协同:不是替代,是互补

很多人问我:“有了26262,为什么还要21448?”我的回答是:26262管的是“系统坏了”,21448管的是“系统没坏但不够聪明”。

来看一个对比表,你就明白了:

对比项 ISO 26262 ISO 21448
核心问题 系统故障怎么办? 系统能力不足怎么办?
分析对象 硬件随机失效、系统性故障 场景、环境、算法局限
安全目标 避免因故障导致的危害 避免因功能不足导致的危害
分析方法 HARA、FMEA、FTA 场景分析、触发条件分析
输出 安全需求、ASIL等级 功能不足清单、场景库
生命周期 开发到量产 开发到量产+持续监控

在实际项目中,我建议这样协同:

  1. 先做26262的HARA:找出所有故障相关的危害事件。
  2. 再做21448的场景分析:找出所有功能不足相关的危害事件。
  3. 交叉验证:有些危害事件可能同时涉及故障和场景,需要联合分析。
  4. 统一安全目标:把两个标准的输出合并,形成完整的安全需求。

我的经验: 别把两个标准当成两套独立的流程。我见过最成功的项目,是把26262和21448的团队合并,每周开一次联合评审会。这样既能避免重复工作,又能发现那些“灰色地带”的问题。

3.4 关键术语解析:这些词你必须懂

ISO 21448里有一堆术语,我挑几个最关键的给你讲透:

3.4.1 功能不足(Functional Insufficiency)

说白了,就是系统能力不够。比如:

  • 摄像头在夜间看不清行人
  • 雷达在隧道里信号衰减
  • 算法在复杂路口决策犹豫

功能不足不是故障,而是系统设计时的固有局限。我习惯把它分成两类:

  • 感知不足:传感器看不全、看不清、看错了。
  • 决策不足:算法想不明白、想太慢、想错了。

3.4.2 触发条件(Triggering Condition)

触发条件就是“让功能不足暴露出来的场景因素”。比如:

  • 逆光、雨雾、夜间——触发感知不足
  • 复杂路口、突然切入的车辆——触发决策不足

我在项目中总结了一个规律:触发条件往往是“极端但合理”的场景。不是那种百年一遇的奇葩场景,而是日常驾驶中偶尔会遇到的情况。

3.4.3 危害事件(Hazardous Event)

功能不足 + 触发条件 = 危害事件。比如:

  • 功能不足:摄像头在逆光下看不清行人
  • 触发条件:下午4点,太阳正好在正前方
  • 危害事件:车辆未减速,撞上行人

注意:危害事件必须同时包含危害(比如撞人)和事件场景(比如逆光+行人过马路)。

3.4.4 场景(Scenario)

场景是SOTIF分析的基本单元。ISO 21448把场景分为三个层次:

层次 定义 举例
功能场景 用自然语言描述的场景 “车辆在高速公路上行驶,前方有静止车辆”
逻辑场景 用参数范围描述的场景 “车速80-120km/h,距离50-200m,静止车辆”
具体场景 用具体数值描述的场景 “车速100km/h,距离100m,静止车辆”

我个人的习惯是:先写功能场景(让所有人都能看懂),再转成逻辑场景(用于分析),最后生成具体场景(用于测试)。

3.4.5 已知场景与未知场景

  • 已知场景:标准里写了的、行业里常见的、你测试过的场景。
  • 未知场景:还没被发现、还没被测试、但可能存在的场景。

SOTIF的核心挑战就是:如何发现并处理未知场景。嗯,这也是为什么SOTIF强调“持续监控”——量产之后还要不断收集数据,发现新的未知场景。

3.5 知识体系总览:一张图看懂ISO 21448

下面这张SVG图,把ISO 21448的核心逻辑串起来了。你可以把它当成本章的“思维导图”:

ISO 21448 核心知识体系 ISO 21448 核心知识体系 核心思想:系统没坏,也要安全 适用范围 与ISO 26262协同 关键术语 L1-L5驾驶自动化功能 系统无故障状态 场景、环境、算法局限 26262:系统故障 → 安全 21448:功能不足 → 安全 交叉验证,统一安全目标 功能不足(Functional Insufficiency) 触发条件(Triggering Condition) 危害事件(Hazardous Event) 场景(Scenario)三层结构 已知场景 vs 未知场景 核心逻辑:功能不足 + 触发条件 → 危害事件 → 场景分析 → 持续监控

3.6 本章小结

好,我们来捋一下这一章的核心要点:

  • ISO 21448的核心思想:系统没故障时,也要避免因功能不足导致的危害。
  • 适用范围:L1-L5驾驶自动化,系统无故障状态,关注场景和算法局限。
  • 与26262的协同:不是替代,是互补。先做HARA,再做场景分析,最后交叉验证。
  • 关键术语:功能不足、触发条件、危害事件、场景(三层结构)、已知/未知场景。