3、场景分析:运行场景与操作场景的定义,如何构建场景库
好,咱们进入HARA分析里最让我头疼、也最让我兴奋的一个环节——场景分析。
说实话,我刚入行那会儿,觉得场景分析不就是“车在路上跑,人在车里坐”嘛。结果第一次做项目评审,被专家问得哑口无言:“你的场景覆盖了高速拥堵吗?覆盖了地库信号丢失吗?覆盖了儿童突然横穿吗?”
嗯,从那以后,我再也不敢小看场景定义了。
3.1 运行场景 vs 操作场景:到底有啥区别?
很多工程师会把这两个概念搞混。我个人的理解是这样的:
- 运行场景(Operational Scenario):描述的是“车在什么环境下运行”。比如天气、道路类型、交通密度、时间、信号覆盖等。说白了,就是车辆所处的“大背景”。
- 操作场景(Operating Scenario):描述的是“驾驶员或系统在做什么操作”。比如加速、变道、制动、泊车、激活巡航等。这是具体的“动作”。
举个例子你就明白了:
- 运行场景:夜间、雨天、城市快速路、车流量中等。
- 操作场景:驾驶员开启自适应巡航,设定速度80km/h,前车突然减速。
你看,运行场景是“舞台”,操作场景是“剧本”。两者缺一不可。
我个人习惯:在HARA表格里,我会把运行场景写在“环境条件”一栏,操作场景写在“触发事件”一栏。这样评审时一目了然。
3.2 如何构建场景库?——从零到一的方法
构建场景库,说白了就是“把可能发生的情况都列出来”。但怎么列得全、列得准?我分享三个步骤:
3.2.1 第一步:从标准中“抄”
别笑,这是最靠谱的起点。ISO 21448(SOTIF)的附录里就有大量场景示例。ISO 26262的Part 3也给出了运行模式的分类。我建议你先把这些标准里的场景摘出来,做成一个基础库。
比如,ISO 26262-3:2018 Table B.1 里提到的运行模式:
| 运行模式 | 示例 |
|---|---|
| 正常驾驶 | 城市道路、高速公路、乡村道路 |
| 泊车 | 垂直泊车、平行泊车、斜向泊车 |
| 特殊模式 | 拖车模式、越野模式、雪地模式 |
| 故障模式 | 传感器失效、通信中断、电源欠压 |
3.2.2 第二步:用“场景参数矩阵”穷举
这是我自己总结的一个方法。你想想看,一个场景无非由几个参数组合而成:
- 环境参数:光照(白天/黄昏/夜晚)、天气(晴/雨/雪/雾)、路面(干燥/湿滑/结冰)
- 道路参数:类型(高速/城市/乡村)、车道数(单/双/多)、曲率(直道/弯道/坡道)
- 交通参数:密度(稀疏/中等/拥堵)、参与者(车辆/行人/自行车/动物)
- 车辆参数:速度(低速/中速/高速)、载荷(空载/满载)、功能状态(激活/未激活)
把这些参数做成一个矩阵,每个维度取几个典型值,组合起来就是你的场景库雏形。
避坑指南:我曾经犯过一个错误——只考虑“正常”组合。比如白天+晴天+干燥路面。但实际出问题的往往是“极端”组合:夜晚+暴雨+湿滑路面+行人横穿。所以,一定要把边界条件加进去。
3.2.3 第三步:从真实事故中“挖”
标准给的是“通用场景”,矩阵给的是“理论场景”,但真正有价值的场景往往来自真实事故。我建议你定期去翻NHTSA、IIHS、中国交通事故深度调查(CIDAS)的数据库。
举个例子,我记得有一个案例:一辆搭载L2级辅助驾驶的车辆,在高速上遇到前方施工改道,车道线突然消失。系统因为无法识别车道线,直接偏离了车道。这个场景在标准里可能没有明确列出,但现实中发生了。
所以,我的做法是:每做一个新项目,先花一周时间收集相关事故报告,把典型场景提炼出来,加入场景库。
3.3 场景库的维护与版本管理
场景库不是建完就完事的。它需要持续更新。我个人建议:
- 每个项目结束后:回顾一下,有没有遇到新的场景?有没有遗漏的场景?
- 每次标准更新后:比如ISO 21448出了新版本,看看附录里有没有新增场景。
- 每次事故调查后:如果公司内部有事故反馈机制,一定要把新场景入库。
另外,场景库一定要有版本号。我见过一个团队,场景库没有版本管理,结果A项目用的场景和B项目用的场景不一样,评审时吵得不可开交。嗯,这种坑咱们就别踩了。
注意:场景库不是越大越好。我见过有人把场景库做到上千条,结果每次HARA分析光筛选场景就花了两周。我的建议是:每个功能控制在20-50个典型场景,覆盖正常、异常、边界三种情况即可。
3.4 一个实战案例:ACC功能的场景构建
咱们拿自适应巡航(ACC)来练练手。假设我们要为ACC做HARA,场景库可以这样建:
| 场景编号 | 运行场景 | 操作场景 | 备注 |
|---|---|---|---|
| SC-ACC-01 | 白天、晴天、高速公路、直道、车流量稀疏 | ACC激活,设定速度120km/h,前方无车 | 正常巡航 |
| SC-ACC-02 | 白天、晴天、高速公路、直道、车流量中等 | ACC激活,前车以80km/h行驶,本车跟随 | 跟车模式 |
| SC-ACC-03 | 夜晚、暴雨、城市快速路、弯道、车流量密集 | ACC激活,前车突然急刹,本车需紧急制动 | 边界场景 |
| SC-ACC-04 | 白天、晴天、高速公路、直道、车流量稀疏 | ACC激活,前方突然有车辆切入(cut-in) | 典型危险场景 |
| SC-ACC-05 | 黄昏、小雨、隧道入口、路面湿滑 | ACC激活,进入隧道,GPS信号丢失 | 传感器受限场景 |
你看,这5个场景就覆盖了正常、边界、危险、传感器受限四种情况。做HARA时,每个场景都要单独分析危害等级。
3.5 小结:场景分析的核心要点
最后,我总结几个关键点:
- 运行场景是“环境”,操作场景是“动作”——别搞混了。
- 场景库要“三结合”:标准场景 + 矩阵穷举 + 真实事故。
- 场景数量要适中:20-50个/功能,覆盖正常、异常、边界。
- 场景库要持续维护:版本管理、定期更新。
好了,场景分析这块就讲到这里。下一章咱们聊聊危害识别——怎么从场景里找出那些“要命”的故障。到时候我会分享一个我踩过的坑,保证让你印象深刻。