1. 课程导入
自动驾驶系统不是一台“更聪明的车”,而是一套在不确定环境中持续做安全决策的工程系统。它同时面对三类压力:感知输入天然不完整、计算与执行链路可能失效、外部交通参与者行为不可完全预测。因此,安全架构与故障降级工程的核心任务,不是追求“永不出错”,而是保证系统在出错、退化、失效时,仍能进入可控的安全状态。本课程围绕这条主线展开,帮助学习者建立从风险识别到架构设计、从故障检测到降级策略、从验证确认到复盘改进的完整能力。
一、核心概念:安全不是单点功能,而是系统属性
自动驾驶安全工程中,几个概念必须同时理解,不能割裂。功能安全关注由电子电气故障引起的危害,强调避免系统性失效与控制随机硬件失效;预期功能安全关注在没有故障的情况下,由于性能局限或场景理解不足导致的危害;信息安全关注恶意攻击、篡改与越权访问对安全目标的影响。三者共同构成“安全三角”,任何一角缺失,都可能让系统在真实道路上暴露风险。
另一个关键概念是“故障降级”。它指系统在检测到异常后,主动降低功能等级、限制运行范围或退出自动驾驶,而不是继续以原性能运行。降级的目标是进入最小风险状态,例如靠边停车、保持车道减速、请求驾驶员接管或远程协助。降级不是失败,而是安全架构中预设的“安全出口”。
二、方法流程:从危害分析到降级落地
安全工程不是先写代码再补安全,而是从危害分析开始反向约束设计。典型流程如下:
- 定义运行设计域与安全目标。明确车辆在哪些道路、天气、速度、交通条件下运行,并定义不可接受的危害,例如非预期加速、错误转向、漏检行人。
- 开展危害分析与风险评估。常用 HARA 识别危害事件,评估严重度、暴露率与可控性,得到 ASIL 等级;对预期功能安全则用 SOTIF 方法分析性能局限与可预见误用。
- 分解安全需求并设计架构。把安全目标分配到感知、定位、规划、控制、执行、电源与通信等子系统,确定冗余、监控、隔离与降级路径。
- 设计故障检测与降级策略。为每个关键故障定义检测条件、确认时间、降级等级、接管请求和最小风险状态。
- 验证与确认。通过仿真、封闭场地、道路测试和故障注入,证明安全目标在预期场景与故障场景下均能满足。
- 运行监控与复盘。收集接管、降级、误报、漏报数据,持续修正架构与策略。
三、案例场景:一次“感知降级”如何安全收场
假设车辆在高速公路上以 100 km/h 行驶,前视摄像头因强光短暂致盲,激光雷达点云仍可用,但毫米波雷达检测到前方车辆距离快速缩小。安全架构应如何响应?
- 检测层:摄像头置信度骤降,视觉感知模块上报“性能降级”;雷达与激光雷达融合结果仍满足安全需求。
- 决策层:安全监控模块判断视觉通道不可信,但多传感器融合仍可维持横向与纵向控制,于是将自动驾驶等级从“全功能”降为“受限功能”。
- 执行层:限制最高车速、增大跟车距离、禁止变道,并准备接管请求。
- 降级层:若融合结果继续恶化,则触发最小风险状态:打双闪、减速、靠边停车。
四、常见误区与复盘要点
| 误区 | 问题 | 正确做法 |
|---|---|---|
| 把安全等同于“不出故障” | 忽略随机失效与性能局限 | 接受故障存在,设计可检测、可降级、可恢复的架构 |
| 只做功能安全,不做 SOTIF | 无故障场景下仍可能发生危害 | 同时分析性能局限、场景盲区与可预见误用 |
| 降级策略只写在文档里 | 代码与测试未覆盖,真实故障时无法执行 | 把降级条件写成可执行需求,并用故障注入验证 |
| 冗余等于简单复制 | 共因失效导致两套系统同时失效 | 采用异构冗余、独立电源与通信路径,分析共因失效 |
| 只关注单车安全 | 忽略远程协助、云端与车路协同风险 | 把通信、远程接管与信息安全纳入安全边界 |
五、关键参数与工程表达
在后续章节中,我们会反复使用一组工程参数来描述安全与降级能力。它们不是抽象概念,而是可以直接写入需求、测试用例和监控日志的字段:
安全目标: 避免非预期转向导致碰撞
ASIL等级: D
故障检测时间: ≤ 100 ms
降级确认时间: ≤ 300 ms
接管请求提前量: ≥ 4 s
最小风险状态: 本车道内靠边停车
降级等级: L0 正常 / L1 受限 / L2 接管请求 / L3 最小风险
监控指标: 误报率、漏报率、降级成功率、接管成功率
本课程后续将沿着“风险—架构—降级—验证—复盘”的主线展开。你将逐步掌握如何把安全目标拆解为可执行需求,如何设计冗余与监控,如何定义降级等级与最小风险状态,以及如何用测试证据证明系统在故障与局限下仍然安全。掌握这条主线,才能真正把自动驾驶从“能开”推进到“敢开、可控、可验证”。