一、功能安全概述:自动驾驶为什么需要功能安全?
大家好,我是老张。在汽车电子这行摸爬滚打了十几年,今天咱们来聊聊功能安全。说实话,我刚入行那会儿,功能安全还是个挺小众的概念。但现在不一样了,尤其是自动驾驶火起来之后,功能安全几乎成了每个工程师的必修课。
你可能会问:为什么自动驾驶这么需要功能安全?
我举个例子。传统汽车里,刹车失灵了,你还能拉手刹。但自动驾驶呢?如果感知系统出了错,把一辆大货车识别成了云朵,那后果...嗯,你懂的。说白了,自动驾驶把驾驶权从人手里交给了机器,那机器就必须比人更可靠。
核心观点:功能安全不是锦上添花,而是自动驾驶落地的必要条件。没有功能安全,自动驾驶就是空中楼阁。
1.1 功能安全的历史与标准
功能安全这个概念,其实最早是从工业控制领域来的。我记得上世纪80年代,化工行业出了几次大事故,大家才开始认真思考:怎么让系统在出故障时也能安全停下来?
汽车行业真正重视功能安全,是从ISO 26262开始的。2011年第一版发布,2018年更新了第二版。这个标准说白了就是一套方法论,告诉你从概念设计到量产,每一步该怎么保证安全。
但光有ISO 26262够吗?不够。为什么?因为ISO 26262主要针对的是系统本身的随机硬件故障和系统故障。但自动驾驶面临一个更头疼的问题:功能不足。
举个例子,你的感知算法在晴天表现很好,但一下雨就识别不准了。这不是系统坏了,而是功能本身有缺陷。这就是SOTIF(预期功能安全)要解决的问题。ISO 21448就是专门针对这个的。
| 标准 | 关注点 | 典型问题 |
|---|---|---|
| ISO 26262 | 系统故障、随机硬件故障 | 传感器坏了、芯片失效 |
| ISO 21448 (SOTIF) | 功能不足、性能局限 | 算法在雨雾天失效、场景覆盖不全 |
我的经验:在实际项目中,我建议把ISO 26262和SOTIF结合起来看。光做26262,你的系统可能很"健壮",但功能本身就有缺陷;光做SOTIF,系统可能功能很全,但一出硬件故障就抓瞎。两者缺一不可。
1.2 功能安全的核心概念
聊完了标准,咱们来看看几个核心概念。这些概念你搞不懂,后面做架构设计就会很吃力。
Hazard(危险)
Hazard是什么?说白了就是"可能导致伤害的潜在源"。比如,自动驾驶车在高速上突然急刹车,这就是一个hazard。它本身不是事故,但有可能引发事故。
我在项目中遇到过这样的情况:一个客户说他们的系统没有hazard,因为所有场景都测试过了。我当时就笑了,测试覆盖不全不等于没有hazard。hazard是客观存在的,你测不测它都在那里。
Risk(风险)
Risk是hazard发生的概率和严重程度的组合。你想想看,同样是急刹车,在高速上和在小巷子里,风险能一样吗?
这里有个公式:Risk = Severity × Probability × Controllability
- Severity(严重度):事故造成的伤害程度
- Probability(概率):hazard发生的可能性
- Controllability(可控性):驾驶员或系统能否避免事故
避坑指南:我曾经犯过一个错误,就是只关注了严重度,忽略了概率。结果设计出来的系统过于保守,成本翻了一倍,客户根本不买账。记住,功能安全不是要把风险降到零,而是降到可接受的水平。
Safety Goal(安全目标)
Safety Goal是功能安全的核心输出。它告诉你:为了把风险降到可接受的水平,系统必须满足什么要求。
比如,针对"高速上急刹车"这个hazard,你的Safety Goal可能是:"系统必须确保在车速超过60km/h时,不会触发非预期的紧急制动。"
每个Safety Goal都会分配一个ASIL等级(A、B、C、D)。ASIL D是最严格的,比如刹车系统;ASIL A相对宽松,比如车窗控制。
// 一个简化的Safety Goal示例
Safety Goal ID: SG_001
描述: 避免非预期加速导致碰撞
ASIL等级: ASIL D
触发条件: 车速 > 30km/h
安全状态: 车辆进入安全模式,限制加速度 < 0.3g
容错时间: < 100ms
1.3 知识体系总览
说了这么多,咱们用一张图来总结一下本章的核心逻辑。这张图是我自己画的,你看完应该能对功能安全有个整体认识。
这张图你看懂了吗?从上到下,逻辑很清晰:因为自动驾驶需要安全,所以我们引入了ISO 26262和SOTIF标准;基于这些标准,我们分析Hazard、评估Risk、定义Safety Goal;最后输出架构设计和安全机制,确保风险降到可接受的水平。
我的建议:刚开始学功能安全,别急着啃标准原文。先把这张图印在脑子里,搞清楚每个概念是干什么的。后面再深入细节,你会发现一切都顺理成章。
好了,这一章就到这里。记住,功能安全不是束缚,而是保护。它保护的是用户的生命,也是我们工程师的职业生涯。下一章咱们聊聊怎么从零开始做功能安全分析,到时候见。
公众号:蓝海资料掘金营,微信deep3321