场景分析在SOTIF中的角色:场景定义、场景分类及其在安全分析中的重要性

预期功能安全(SOTIF,ISO 21448)的核心挑战在于:系统在无故障的情况下,因性能局限、设计不足或可合理预见的误用,仍可能引发危害事件。与功能安全(ISO 26262)聚焦于“系统故障”不同,SOTIF 关注的是“功能不足”与“触发条件”的耦合。而场景分析正是解开这一耦合关系的钥匙——它提供了描述“系统在什么环境下、遇到什么对象、执行什么行为”的标准化语言。没有场景分析,SOTIF 的安全论证将沦为无源之水、无本之木。本章将深入剖析场景的定义、三级分类体系(功能场景、逻辑场景、具体场景),并结合实际工程案例,阐明场景分析如何贯穿 SOTIF 活动的全生命周期。

SOTIF 场景分析三级分类体系与安全分析链路 场景定义(Scene & Scenario) 场景 = 环境 + 动态元素 + 自车行为 + 时间轴 功能场景(Functional) 语义级描述,人类可读 “高速路直行,前车切入” 用于需求导出与测试意图 逻辑场景(Logical) 参数空间 + 取值范围 车速[80,120]km/h,TTC[2,5]s 用于参数化搜索与边界分析 具体场景(Concrete) 参数确定,单一实例 车速=95km/h,TTC=3.2s 用于仿真/实车测试执行 危害识别与触发条件分析 从功能场景中提取危害事件 识别导致危害的触发条件 参数空间探索与边界搜索 在逻辑场景参数域内采样 寻找系统性能边界与失效点 测试用例生成与执行 将具体场景转化为可执行用例 仿真/实车验证安全目标 SOTIF 安全论证闭环 场景定义 → 分类建模 → 安全分析 → 测试验证 → 残余风险接受

3.1 场景定义:从“环境快照”到“动态叙事”

核心原理:场景的构成要素与边界

在 SOTIF 语境下,场景(Scenario) 并非简单的“道路照片”,而是包含时间维度的动态过程描述。一个完整的场景由四类要素构成:静态环境(道路几何、车道线、交通标志、护栏位置)、动态元素(其他车辆、行人、骑行者、动物)、自车状态(车速、加速度、转向角、传感器配置)、以及事件序列(前车何时切入、行人何时横穿)。ISO 21448 进一步区分了“场景”与“情景(Scene)”——情景是某一时刻的静态快照,而场景是情景在时间轴上的连续演化。例如,“高速路直行”是情景,而“高速路直行 3 秒后,左侧车道车辆以相对速度 15km/h 切入本车道”才是场景。

关键区分:场景必须包含“行为”与“时间”。仅描述“雨天、夜间、十字路口”是环境条件,不是场景。场景需要回答:自车在做什么?目标物在做什么?两者相对运动关系如何随时间变化? 这是后续所有安全分析的基础。

判断方法:场景定义的完整性检查清单

在工程实践中,定义场景时容易遗漏关键要素。建议使用以下五维检查法确保场景定义完整:

  • 环境维度:天气(雨/雪/雾/光照)、道路类型(高速/城市/乡村)、路面附着系数、施工区域、隧道/桥梁等特殊结构。
  • 自车维度:车速范围、加速度范围、转向意图、传感器视野遮挡情况、计算平台负载状态。
  • 目标物维度:类型(车辆/行人/自行车/动物)、尺寸、速度、加速度、运动轨迹(直行/转弯/横穿/静止)。
  • 交互维度:相对距离、相对速度、TTC(碰撞时间)、切入角度、目标物是否被遮挡后重新出现。
  • 时间维度:场景持续时间、事件触发时刻、传感器数据延迟、系统响应时间。
场景要素 示例(功能场景) 缺失后果
静态环境 双向两车道,弯道半径 200m 无法评估弯道遮挡导致的感知延迟
动态目标 对向车辆借道超车 漏掉典型的碰撞风险触发条件
自车行为 ACC 巡航,车速 80km/h 无法判断系统控制策略是否合理
时间序列 目标车 2 秒内完成切入 无法评估系统响应是否及时

案例拆解:一个“不完整场景”引发的分析偏差

某 OEM 在开发 AEB(自动紧急制动)系统时,最初将场景定义为“前方车辆静止,自车直行”。基于此场景,系统在 60km/h 以下表现良好。但在后续实车测试中发现,当前方车辆在自车接近过程中减速并最终停止(而非一直静止)时,AEB 的触发时机明显偏晚。原因在于:初始场景定义遗漏了“目标车减速过程”这一动态要素,导致算法对“运动目标变为静止”的过渡状态缺乏针对性标定。修正后的场景定义为:“自车以 80km/h 巡航,前方车辆以 -2m/s² 减速至停止,初始间距 50m”。这一修正直接改变了 AEB 的触发策略参数。

经验教训:场景定义不是“写作文”,而是“列全要素”。建议在项目初期建立场景要素检查表,由系统工程师、功能安全工程师、测试工程师共同评审,避免因场景缺失导致后期大量返工。

3.2 场景分类:功能场景、逻辑场景与具体场景的层级关系

核心原理:三级抽象层次的设计意图

ISO 21448 和 PEGASUS 项目共同确立了场景的三级分类体系,其本质是从“语义”到“参数”再到“实例”的逐步具象化。功能场景(Functional Scenario)使用自然语言描述,服务于需求分析和危害识别;逻辑场景(Logical Scenario)将功能场景中的要素参数化,并给出每个参数的取值范围和分布,服务于参数空间探索;具体场景(Concrete Scenario)则是逻辑场景中参数取特定值后的单一实例,直接用于仿真或实车测试。三者之间的关系是:一个功能场景可对应多个逻辑场景,一个逻辑场景可实例化为无数个具体场景。

操作流程:从功能场景到具体场景的转化步骤

  1. 步骤一:功能场景提取。从事故数据库(如 GIDAS、NASS-CDS)、自然驾驶研究(NDS)数据、专家经验中提取典型交通情境,用自然语言描述为功能场景。
  2. 步骤二:参数化建模。识别功能场景中的可变要素,为每个要素分配参数名、数据类型、物理单位、取值范围。例如“前车切入”可参数化为:切入角度 θ∈[10°, 45°],相对速度 Δv∈[5, 30] km/h,TTC∈[1.5, 5] s。
  3. 步骤三:参数分布定义。根据真实交通统计数据,为每个参数定义概率分布(均匀分布、正态分布、对数正态分布等),确保采样时能覆盖高概率区域和极端边界。
  4. 步骤四:具体场景采样。使用拉丁超立方、蒙特卡洛或优化搜索算法(如贝叶斯优化)在参数空间中采样,生成有限数量的具体场景。
  5. 步骤五:场景库管理。将生成的具体场景存入场景库,标注来源、参数值、用途(仿真/台架/实车),并建立与测试用例的映射关系。
层级 表达形式 参数确定性 主要用途 典型工具
功能场景 自然语言 / 本体论 无参数 危害识别、需求导出 SysML 用例图、文本模板
逻辑场景 参数空间 + 分布 参数有范围 边界搜索、敏感性分析 Python / MATLAB 参数化工具
具体场景 参数定值 + 轨迹文件 参数唯一 仿真执行、实车测试 CarMaker / VTD / SUMO

案例拆解:高速路前车切入场景的三级展开

以“高速路前车切入”这一典型功能场景为例,展示三级分类的工程落地:

  • 功能场景:“自车在高速路最左侧车道以 100km/h 巡航,右侧车道一辆轿车以相对速度 10km/h 切入本车道,切入后保持匀速行驶。”
  • 逻辑场景:自车速度 V_ego ∈ [80, 120] km/h,目标车速度 V_target ∈ [60, 110] km/h,切入角度 θ ∈ [15°, 40°],初始横向距离 D_lat ∈ [1.5, 3.5] m,初始纵向距离 D_lon ∈ [10, 40] m,TTC ∈ [2, 6] s。
  • 具体场景(示例 3 个):① V_ego=95km/h,V_target=85km/h,θ=25°,D_lat=2.2m,D_lon=25m,TTC=3.5s;② V_ego=110km/h,V_target=70km/h,θ=35°,D_lat=1.8m,D_lon=15m,TTC=2.1s;③ V_ego=85km/h,V_target=80km/h,θ=18°,D_lat=3.0m,D_lon=35m,TTC=5.2s。
工程建议:逻辑场景的参数范围应基于真实数据,而非工程师拍脑袋。建议从 NDS 数据中提取切入场景的分布特征,确保参数范围覆盖 95% 以上的真实情况,同时保留 5% 的极端边界用于鲁棒性测试。

3.3 场景分析在 SOTIF 安全分析中的核心价值

核心原理:场景是连接“危害”与“触发条件”的桥梁

SOTIF 的核心活动之一是危害识别与风险评估(HARA)。传统 HARA 基于功能失效模式,而 SOTIF 的 HARA 必须基于场景——因为同一功能不足在不同场景下可能导致完全不同的危害等级。例如,AEB 系统在“前车静止”场景下误触发,可能仅导致驾乘人员轻微不适;但在“高速路后车跟车”场景下误触发,则可能导致严重追尾。场景分析的价值在于:将抽象的“功能不足”具象化为“在特定场景下,系统行为与驾驶员预期之间的偏差”,从而为安全目标的制定提供可量化的依据。

判断方法:场景分析在 SOTIF 各阶段的应用矩阵

SOTIF 活动阶段 场景分析输入 场景分析输出 关键作用
危害识别(HARA) 功能场景库 危害事件清单 + 触发条件 确定安全目标(如“避免高速追尾”)
触发条件分析 逻辑场景参数空间 关键参数敏感性排序 识别系统性能边界(如感知距离极限)
安全措施设计 具体场景仿真结果 系统改进方向(算法/传感器/冗余) 验证安全措施的有效性
验证与确认 具体场景测试用例 残余风险接受证据 证明在已知场景下系统安全

案例拆解:基于场景分析的 AEB 系统触发策略优化

背景与约束:某 Tier 1 供应商为 OEM 开发 AEB 系统,要求满足 Euro NCAP 2023 评分标准,同时避免在城市工况下的误触发。初始系统在“前车静止”场景下表现良好,但在“前车减速转弯”场景中频繁误触发。

初始现象:实车测试中,AEB 在目标车减速并右转驶离本车道时,仍输出紧急制动指令,导致后车追尾风险。

关键输入数据:通过场景分析,提取了 120 个“前车减速转弯”具体场景,参数包括:目标车减速度(-1 至 -4 m/s²)、转向角速度(5° 至 20°/s)、横向位移量(0.5 至 2.5m)、自车速度(30 至 60 km/h)。

分析判断过程:对 120 个场景进行仿真,发现当目标车横向位移超过 1.2m 且转向角速度大于 12°/s 时,AEB 的误触发率高达 85%。进一步分析发现,AEB 的决策算法仅基于纵向距离和 TTC,未融合目标车的横向运动状态。

实际操作步骤:① 在 AEB 决策模块中增加“目标车横向位移变化率”输入;② 设定阈值:当横向位移变化率 > 0.8 m/s 时,判定目标车正在驶离本车道,抑制紧急制动;③ 在逻辑场景参数空间中重新采样 500 个场景进行验证。

结果对比:优化后,误触发率从 85% 降至 3%,且对“前车减速但未变道”场景的制动性能无显著影响。代价是算法复杂度增加约 15%,但换来了显著的安全性和舒适性提升。

复盘经验:场景分析的价值不仅在于“找问题”,更在于“定位问题根源”。通过逻辑场景的参数化分析,可以快速锁定导致误触发的关键参数组合,为算法优化提供精确方向。

常见误区与总结复盘

误区一:将功能场景等同于测试用例。功能场景是“分析对象”,测试用例是“执行指令”,两者之间需要经过逻辑场景参数化和具体场景实例化,不可直接跳转。
误区二:逻辑场景参数范围过窄。若参数范围仅覆盖“正常工况”,则无法暴露系统在边界条件下的不足。建议采用“核心区域 + 扩展边界”的双层参数设计。
误区三:忽视场景之间的组合爆炸。当场景要素超过 10 个且每个有 5 个取值时,组合数可达千万级。必须采用智能采样策略(如贝叶斯优化、主动学习)而非穷举。

总结:场景分析在 SOTIF 中扮演着“骨架”角色——功能场景提供分析框架,逻辑场景提供探索空间,具体场景提供验证证据。三者环环相扣,共同支撑起 SOTIF 的安全论证。在实际项目中,建议建立“场景-危害-安全目标-测试用例”的追溯矩阵,确保每个安全目标都有场景支撑,每个测试用例都能追溯到具体场景。这不仅有助于通过 ISO 21448 认证,更能真正提升系统在真实世界中的安全性。