4、功能不足与触发条件:功能不足的定义、触发条件的分类

各位工程师,咱们今天聊一个实车验证里最让人头疼的问题——功能不足。说白了,就是系统在某些场景下「该干活的时候没干好」。我做了这么多年自动驾驶测试,发现很多团队把精力都放在「系统误动作」上,却忽略了功能不足这个隐形杀手。

你想想看,一辆车在高速上遇到施工改道,系统没识别出锥桶,直接撞上去——这不是系统坏了,而是它压根就没学会处理这种场景。这就是典型的功能不足。

4.1 功能不足的定义

功能不足,英文叫 Function Insufficiency,指的是系统在特定运行域(ODD)内,由于算法、传感器或执行器的能力限制,无法完成预期功能。它跟系统故障不一样——故障是坏了,功能不足是「能力不够」。

核心判断标准:

  • 系统没有违反设计规范,但输出结果不满足安全目标
  • 在相同条件下,人类驾驶员可以安全完成操作
  • 问题可复现,且与硬件故障无关

我记得有一次在高速测试,我们的感知系统在黄昏时分把路边的广告牌误识别成了卡车。你说系统坏了吗?没有。传感器数据正常,算法也没报错。但结果就是——系统一脚急刹,差点被后车追尾。这就是功能不足,而且是典型的感知能力不足。

功能不足通常分为三类:

类型 描述 典型例子
感知不足 传感器或感知算法无法正确理解环境 强光下无法识别交通标志
决策不足 规划算法在复杂场景下做出不合理决策 无保护左转时犹豫不决
执行不足 控制模块无法精确执行规划指令 湿滑路面制动距离超出预期

4.2 触发条件的分类

功能不足不会凭空出现,它需要特定的「导火索」。我习惯把触发条件分成三大类:系统触发、环境触发、驾驶员触发。这三类触发条件,在实车验证中一个都不能漏。

4.2.1 系统触发

系统触发,指的是车辆自身状态变化导致功能不足暴露。这类触发条件往往被团队忽略,因为大家习惯把注意力放在外部环境上。

常见的系统触发条件包括:

  • 传感器退化:摄像头脏污、雷达遮挡、激光雷达衰减
  • 计算资源不足:多任务并发导致算法延迟增加
  • 系统降级模式:某个传感器失效后,系统切换到备份模式,但备份模式能力不足
  • 软件版本变更:OTA升级后,新算法在旧场景上表现退化

我的经验:在实车验证中,一定要设计「传感器退化序列测试」。比如在测试过程中逐步遮挡摄像头,观察系统何时开始出现功能不足。我曾经发现,当摄像头遮挡超过30%时,车道保持功能就开始间歇性失效——这个阈值在仿真里根本测不出来。

4.2.2 环境触发

环境触发是最常见的,也是大家最熟悉的。但我想说的是,环境触发不只是「下雨」「黑夜」这么简单。

我习惯把环境触发条件细分为:

子类别 具体条件 影响的功能
光照条件 逆光、黄昏、隧道出入口、夜间无照明 视觉感知、目标检测
天气条件 大雨、大雾、雪、冰雹、沙尘 传感器探测距离、路面附着系数
道路条件 施工区域、无车道线道路、环形交叉口 车道保持、路径规划
交通参与者 异形车辆、行人突然横穿、非机动车混行 行为预测、决策规划
基础设施 信号灯故障、标志牌遮挡、V2X通信中断 交通规则理解、协同感知

嗯,这里要注意一个关键点——环境触发条件往往是组合出现的。比如「黄昏+小雨+施工区域」,这种组合场景才是真正的杀手。单一条件测试通过,不代表组合条件也能通过。

4.2.3 驾驶员触发

这一块容易被忽视。驾驶员触发,指的是驾驶员的操作行为导致系统功能不足暴露。说白了,就是「人机交互出了问题」。

常见的驾驶员触发条件:

  • 接管时机不当:驾驶员在系统发出接管请求后,反应时间过长或过短
  • 操作冲突:驾驶员和系统同时控制车辆,比如驾驶员踩油门的同时系统在制动
  • 模式切换误操作:驾驶员在行驶中误触自动驾驶开关
  • 预期功能误解:驾驶员以为系统能处理某个场景,实际上不能

避坑指南:我曾经在测试中遇到一个案例——驾驶员在系统激活状态下,手动调整了方向盘角度,系统检测到驾驶员干预后立即退出自动驾驶。但退出后车辆没有保持车道,直接偏向护栏。原因是系统退出时没有平滑过渡,而是瞬间释放了转向扭矩。这个问题的根因不是系统故障,而是「驾驶员触发退出」这个场景下,功能不足暴露了。

4.3 触发条件与功能不足的关系模型

搞清楚了定义和分类,咱们得把它们串起来。我画了一张图,展示功能不足和触发条件之间的关系:

功能不足与触发条件关系模型 功能不足 系统触发 环境触发 驾驶员触发 传感器退化 计算资源不足 系统降级模式 软件版本变更 光照条件 天气条件 道路条件 交通参与者 基础设施 接管时机不当 操作冲突 模式切换误操作 功能误解 关键提示 触发条件往往 组合出现 单一条件测试 ≠ 组合条件

从这张图你能看出来,功能不足是「果」,触发条件是「因」。同一个功能不足,可能由多种触发条件引起。比如车道保持功能失效,可能是传感器退化(系统触发),也可能是车道线磨损(环境触发),还可能是驾驶员误操作导致系统退出(驾驶员触发)。

4.4 实车验证中的设计要点

知道了这些,咱们在实车验证中该怎么设计场景?我总结了几个要点:

  1. 穷举触发条件组合:不要只测单一触发条件,重点测组合条件。比如「夜间+大雨+施工区域」这种三重组合。
  2. 设计退化测试序列:逐步增加触发条件的强度,找到功能不足的临界点。比如从10%遮挡开始,逐步增加到50%遮挡。
  3. 引入驾驶员行为变量:在测试场景中加入驾驶员的不同操作模式,比如快速接管、延迟接管、误操作等。
  4. 记录触发条件上下文:每次发现功能不足,必须记录完整的触发条件上下文,包括系统状态、环境参数、驾驶员操作序列。

我的习惯:在测试报告中,我会用「触发条件矩阵」来记录每次测试的触发条件组合。横轴是系统触发条件,纵轴是环境触发条件,深度维度是驾驶员触发条件。这样一眼就能看出哪些组合还没覆盖到。

好了,这一节的内容就到这里。功能不足和触发条件的关系,是SOTIF场景设计的核心逻辑。搞清楚了这些,你才能设计出真正能暴露问题的实车验证场景。