2、危害分析与风险评估(HARA):HARA方法论、危害识别、风险评估与ASIL等级确定、安全目标定义

各位同学,咱们今天聊HARA。说实话,我刚入行那会儿,觉得HARA就是走个过场,填几张表就完事了。后来在项目里吃过亏,才明白这东西是功能安全的基石。你想想看,连风险都没搞清楚,后面的安全措施往哪儿放?

2.1 HARA方法论——到底在干什么?

HARA,全称是Hazard Analysis and Risk Assessment。说白了,就是回答三个问题:

  • 车会不会出危险?(危害识别)
  • 危险有多严重?(风险评估)
  • 我们得做到多安全?(ASIL等级与安全目标)

我个人习惯把HARA比作「体检」。先查有没有病(危害),再看病有多重(风险),最后决定怎么治(安全目标)。嗯,这个比喻虽然糙了点,但道理是通的。

核心原则:HARA不是一次性的工作。项目迭代、功能变更、甚至法规更新,都可能需要重新做HARA。我在一个ADAS项目里就遇到过,原本只考虑高速场景,后来增加了城市工况,结果发现一堆新危害——那叫一个头疼。

咱们来看一张HARA的整体流程图,帮你建立全局感:

HARA 核心流程 1. 功能定义 明确系统功能与场景 2. 危害识别 识别潜在危害事件 3. 风险评估 评估S/E/C参数 4. ASIL等级确定 查表确定ASIL A/B/C/D 5. 安全目标定义 定义安全目标与ASIL 6. 文档化与评审 输出HARA报告 迭代反馈(功能变更时) 注:S=严重度,E=暴露率,C=可控性。三者共同决定ASIL等级。

2.2 危害识别——别漏掉任何一个「万一」

危害识别,就是找出「什么情况下系统会出问题」。我建议你从两个维度去思考:

  1. 功能失效:该刹车时没刹,不该加速时猛窜。
  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等级确定表(简化版):

SEC1C2C3
S1E1QMQMQM
E2QMQMA
E3QMAB
S2E1QMQMA
E2QMAB
E3ABC
S3E1QMAB
E2ABC
E3BCD

举个例子。假设一个场景:高速上ACC突然失效,导致车辆追尾前车。我评估:

  • S=3(高速追尾可能致死)
  • E=3(高速场景很常见)
  • C=2(驾驶员有一定反应时间,但很紧张)

查表:S3+E3+C2 → ASIL C。嗯,这个等级合理,需要做比较严格的功能安全开发。

2.4 安全目标定义——把风险翻译成「设计要求」

安全目标,就是把危害事件转化成一条条可验证的安全要求。格式一般是:

「当[触发条件]时,系统应[安全行为],以避免[危害事件]。」

举个例子:

  • 危害事件:ACC在高速上非预期加速,导致追尾。
  • 安全目标:「当ACC处于激活状态且目标车辆减速时,系统应确保本车减速度不超过-4m/s²,以避免非预期加速导致的追尾。」(ASIL C)

关键点:安全目标要可测试、可验证。别写「系统要足够安全」这种废话。我见过最离谱的安全目标是「系统应保证用户安全」——这跟没写一样。安全目标要具体到:什么条件下、什么行为、什么阈值。

安全目标定义时,还要注意:

  1. 一个危害事件可能对应多个安全目标。比如「非预期加速」可能需要同时约束加速度上限和响应时间。
  2. 安全目标要继承ASIL等级。从危害事件继承来的ASIL,就是安全目标的ASIL。
  3. 安全目标之间可能有冲突。比如「尽快刹车」和「避免抱死」就是一对矛盾。这时候需要权衡,或者分解成更细的子目标。

好了,HARA这部分就聊到这儿。记住一句话:HARA做得越细,后面开发越顺。别嫌麻烦,磨刀不误砍柴工。


公众号:蓝海资料掘金营,微信deep3321