2、危害分析与风险评估(HARA):HARA方法论、危害识别、风险评估与ASIL等级确定、安全目标定义
各位同学,咱们今天聊HARA。说实话,我刚入行那会儿,觉得HARA就是走个过场,填几张表就完事了。后来在项目里吃过亏,才明白这东西是功能安全的基石。你想想看,连风险都没搞清楚,后面的安全措施往哪儿放?
2.1 HARA方法论——到底在干什么?
HARA,全称是Hazard Analysis and Risk Assessment。说白了,就是回答三个问题:
- 车会不会出危险?(危害识别)
- 危险有多严重?(风险评估)
- 我们得做到多安全?(ASIL等级与安全目标)
我个人习惯把HARA比作「体检」。先查有没有病(危害),再看病有多重(风险),最后决定怎么治(安全目标)。嗯,这个比喻虽然糙了点,但道理是通的。
核心原则:HARA不是一次性的工作。项目迭代、功能变更、甚至法规更新,都可能需要重新做HARA。我在一个ADAS项目里就遇到过,原本只考虑高速场景,后来增加了城市工况,结果发现一堆新危害——那叫一个头疼。
咱们来看一张HARA的整体流程图,帮你建立全局感:
2.2 危害识别——别漏掉任何一个「万一」
危害识别,就是找出「什么情况下系统会出问题」。我建议你从两个维度去思考:
- 功能失效:该刹车时没刹,不该加速时猛窜。
- 场景触发:雨天、隧道、行人突然横穿、前车急刹。
举个例子。我在做ACC(自适应巡航)项目时,一开始只考虑了「前车减速,本车跟不住」这种常规场景。后来评审时,一位老专家问了一句:「如果前车是个摩托车,雷达没识别到呢?」——好家伙,这一问直接多出来三个危害事件。
我的小技巧:做危害识别时,拉上系统工程师、测试工程师、甚至标定工程师一起 brainstorm。一个人想,总有盲区。我曾经一个人闷头写了20条危害,结果团队评审时被补了15条——脸都红了。
常见的危害类型包括:
- 非预期加速/减速——比如系统误判障碍物
- 转向异常——比如车道保持突然抢方向盘
- 信息错误——比如仪表盘显示车速比实际低20km/h
- 功能丧失——比如AEB在关键时刻不工作
2.3 风险评估与ASIL等级确定——给风险「打分」
风险评估,ISO 26262给了三个参数:
| 参数 | 全称 | 含义 | 等级范围 |
|---|---|---|---|
| S | Severity(严重度) | 人员受伤的严重程度 | S0~S3 |
| E | Exposure(暴露率) | 场景发生的概率 | E0~E4 |
| C | Controllability(可控性) | 驾驶员或其他人避免伤害的能力 | C0~C3 |
这三个参数组合起来,查表就能得到ASIL等级。ASIL从低到高分别是:QM、ASIL A、ASIL B、ASIL C、ASIL D。QM就是质量管理级,不需要额外功能安全措施。
注意:ASIL D是最严格的等级,比如刹车系统的核心功能。我见过有人把「车窗升降」也评成ASIL D,这就有点过了。评级要实事求是,别为了「安全」而过度设计,成本扛不住。
ASIL等级确定表(简化版):
| S | E | C1 | C2 | C3 |
|---|---|---|---|---|
| S1 | E1 | QM | QM | QM |
| E2 | QM | QM | A | |
| E3 | QM | A | B | |
| S2 | E1 | QM | QM | A |
| E2 | QM | A | B | |
| E3 | A | B | C | |
| S3 | E1 | QM | A | B |
| E2 | A | B | C | |
| E3 | B | C | D |
举个例子。假设一个场景:高速上ACC突然失效,导致车辆追尾前车。我评估:
- S=3(高速追尾可能致死)
- E=3(高速场景很常见)
- C=2(驾驶员有一定反应时间,但很紧张)
查表:S3+E3+C2 → ASIL C。嗯,这个等级合理,需要做比较严格的功能安全开发。
2.4 安全目标定义——把风险翻译成「设计要求」
安全目标,就是把危害事件转化成一条条可验证的安全要求。格式一般是:
「当[触发条件]时,系统应[安全行为],以避免[危害事件]。」
举个例子:
- 危害事件:ACC在高速上非预期加速,导致追尾。
- 安全目标:「当ACC处于激活状态且目标车辆减速时,系统应确保本车减速度不超过-4m/s²,以避免非预期加速导致的追尾。」(ASIL C)
关键点:安全目标要可测试、可验证。别写「系统要足够安全」这种废话。我见过最离谱的安全目标是「系统应保证用户安全」——这跟没写一样。安全目标要具体到:什么条件下、什么行为、什么阈值。
安全目标定义时,还要注意:
- 一个危害事件可能对应多个安全目标。比如「非预期加速」可能需要同时约束加速度上限和响应时间。
- 安全目标要继承ASIL等级。从危害事件继承来的ASIL,就是安全目标的ASIL。
- 安全目标之间可能有冲突。比如「尽快刹车」和「避免抱死」就是一对矛盾。这时候需要权衡,或者分解成更细的子目标。
好了,HARA这部分就聊到这儿。记住一句话:HARA做得越细,后面开发越顺。别嫌麻烦,磨刀不误砍柴工。
公众号:蓝海资料掘金营,微信deep3321