4. 场景基础理论

好,咱们进入第4章。前面聊了SOTIF的总体思路和场景分类,今天要啃一块硬骨头——功能不足(FUNC)和它的触发条件。

说实话,我见过不少团队在分析SOTIF时,把“功能不足”和“系统失效”混为一谈。结果呢?分析报告写得厚厚一本,但真正该解决的问题一个都没抓住。这章咱们就把这事彻底掰扯清楚。

4.1 功能不足(FUNC)到底是什么?

先给个定义:功能不足(Functional Insufficiency,FUNC),是指系统在设计阶段就存在的、导致其无法正确应对特定场景的固有缺陷。

注意关键词——“固有缺陷”。它不是硬件坏了,也不是软件跑飞了,而是设计本身就不够用。

核心区别:

  • 功能不足(FUNC):设计时就没考虑周全,或者考虑错了。比如算法没识别出横穿马路的行人。
  • 系统失效(Systematic Failure):设计是对的,但实现时出了bug。比如代码写错了导致功能中断。

我举个例子你就明白了。几年前我参与一个AEB项目,测试时发现车辆在雨天对前方静止车辆的制动距离明显变长。一开始大家以为是传感器故障,查了半天,发现传感器本身没问题。最后定位到——算法模型在训练时,雨天的样本太少,导致它对雨滴噪声的过滤能力不足。这就是典型的功能不足,不是硬件坏了,是设计没做好。

4.2 触发条件:谁把FUNC“叫醒”了?

功能不足本身是“沉睡”的。它不会无缘无故导致事故,必须有一个触发条件把它激活。SOTIF把触发条件分成两类:系统触发条件(STC)和环境触发条件(ETC)。

我个人习惯用一个比喻来理解:

  • FUNC = 一把锁的锁芯设计有缺陷
  • STC = 有人用了一把错误的钥匙去开
  • ETC = 这把锁被放在潮湿环境里,内部生锈了

你看,锁芯缺陷是固有的,但只有在特定钥匙(STC)或特定环境(ETC)下,问题才会暴露。

4.2.1 系统触发条件(STC)

STC 指的是系统自身状态或操作引发的触发条件。说白了,就是“系统自己把自己逼到了墙角”。

常见的STC包括:

STC类别 具体示例 关联的FUNC
传感器退化 摄像头镜头脏污、雷达天线罩结冰 感知算法对退化信号的鲁棒性不足
系统模式切换 从高精地图定位切换到纯GPS定位 定位融合算法在切换瞬间的置信度评估不准
执行器饱和 转向系统达到物理极限,无法继续增加转角 路径规划未考虑执行器限位
计算资源过载 多传感器数据同时涌入,CPU占用率100% 任务调度策略未做优先级管理

我的经验:分析STC时,别只盯着“正常”状态。多想想“边界”状态——传感器快不行了、系统快超载了、模式刚切换完。这些地方最容易出问题。

4.2.2 环境触发条件(ETC)

ETC 则是来自系统外部的触发条件。包括天气、光照、道路环境、交通参与者行为等。

常见的ETC有:

  • 天气:暴雨、大雾、雪、冰雹
  • 光照:逆光、隧道出入口的明暗突变、夜间无照明
  • 道路:施工区域、车道线磨损、急弯、陡坡
  • 交通参与者:行人突然横穿、非机动车逆行、大型车辆遮挡

嗯,这里要注意:同一个ETC可能触发多个不同的FUNC。比如“逆光”这个ETC,既可能触发摄像头曝光参数调节的FUNC,也可能触发车道线检测算法的FUNC。

4.3 FUNC、STC、ETC的三角关系

这三者不是孤立存在的。它们的关系可以用下面这张图来概括:

FUNC、STC、ETC三角关系图 FUNC · STC · ETC 三角关系 危害事件 功能不足 (FUNC) 系统触发条件 (STC) 环境触发条件 (ETC) 固有缺陷 激活 激活 核心逻辑: FUNC 是“因”,STC/ETC 是“缘”。因缘和合,危害事件才会发生。

你看,FUNC是内因,STC和ETC是外因。没有FUNC,再恶劣的环境也不会导致SOTIF问题;没有触发条件,FUNC也永远不会暴露。

4.4 实战中的区分技巧

在项目里,我经常看到团队把STC和ETC搞混。这里分享几个我自己的判断方法:

避坑指南:我曾经在一个项目中,团队把“摄像头被泥水遮挡”归为ETC。但仔细一想,泥水遮挡是外部环境导致的,但摄像头是否具备自清洁功能、算法是否能处理遮挡,这是系统设计决定的。所以,“遮挡”本身是ETC,但“系统对遮挡的应对能力不足”才是FUNC。别把触发条件和功能不足搞反了。

判断STC还是ETC,问自己两个问题:

  1. 这个条件能被系统设计改变吗?
    • 能 → 可能是STC(比如传感器退化,可以通过冗余设计改善)
    • 不能 → 肯定是ETC(比如天气,你改变不了)
  2. 这个条件是系统内部产生的,还是外部强加的?
    • 内部 → STC
    • 外部 → ETC

4.5 一个完整的分析示例

咱们拿“自动紧急制动(AEB)在雨天误触发”来走一遍完整分析:

分析要素 内容
危害事件 车辆在无风险情况下突然紧急制动,导致后车追尾
FUNC 雷达目标检测算法对雨滴回波的过滤能力不足,将雨滴误判为障碍物
STC 雷达工作在“高灵敏度模式”(系统为了探测远处目标而主动提高增益)
ETC 中到大雨,雨滴密度超过算法设计阈值

你看,这个分析把“谁的问题”分得清清楚楚:

  • 算法过滤能力不足 → FUNC,需要改设计
  • 系统主动提高增益 → STC,可以优化策略
  • 下雨 → ETC,无法改变,只能适应

我的建议:做SOTIF分析时,先列出所有可能的ETC和STC,再反推它们可能激活哪些FUNC。这样不容易遗漏。我习惯用Excel建一个矩阵表,横轴是触发条件,纵轴是功能模块,交叉点填FUNC编号。一目了然。

好了,这一章的核心就是:FUNC是设计缺陷,STC是系统自找的,ETC是老天爷给的。把这三者分清楚,你的SOTIF分析就成功了一半。