1. 课程导入

自动驾驶系统不是一台“更聪明的车”,而是一套在不确定环境中持续做安全决策的工程系统。它同时面对三类压力:感知输入天然不完整、计算与执行链路可能失效、外部交通参与者行为不可完全预测。因此,安全架构与故障降级工程的核心任务,不是追求“永不出错”,而是保证系统在出错、退化、失效时,仍能进入可控的安全状态。本课程围绕这条主线展开,帮助学习者建立从风险识别到架构设计、从故障检测到降级策略、从验证确认到复盘改进的完整能力。

学习目标可以概括为四句话:看得清风险,画得出架构,定得下降级,验得了安全。具体包括:理解功能安全、预期功能安全与信息安全的关系;掌握安全架构的分层、冗余、监控与隔离方法;能够为典型故障设计降级策略与最小风险状态;能够用场景、指标和测试证据说明安全目标是否达成。

一、核心概念:安全不是单点功能,而是系统属性

自动驾驶安全工程中,几个概念必须同时理解,不能割裂。功能安全关注由电子电气故障引起的危害,强调避免系统性失效与控制随机硬件失效;预期功能安全关注在没有故障的情况下,由于性能局限或场景理解不足导致的危害;信息安全关注恶意攻击、篡改与越权访问对安全目标的影响。三者共同构成“安全三角”,任何一角缺失,都可能让系统在真实道路上暴露风险。

另一个关键概念是“故障降级”。它指系统在检测到异常后,主动降低功能等级、限制运行范围或退出自动驾驶,而不是继续以原性能运行。降级的目标是进入最小风险状态,例如靠边停车、保持车道减速、请求驾驶员接管或远程协助。降级不是失败,而是安全架构中预设的“安全出口”。

自动驾驶安全架构与故障降级工程 · 知识框架 从风险到架构,从故障到降级,从验证到复盘 安全目标与安全状态 避免不可接受风险 · 进入最小风险状态 安全三角 功能安全 · SOTIF 信息安全 · 预期功能安全 故障、局限、攻击三类风险 安全架构 分层 · 冗余 · 监控 · 隔离 感知 / 决策 / 执行 / 电源 / 通信 故障可检测、可隔离、可恢复 故障降级 降级等级 · 接管请求 靠边停车 · 最小风险状态 故障 → 策略 → 安全状态 工程闭环:设计 → 验证 → 运行 → 复盘 安全需求与架构 场景与故障注入 降级策略与监控 运行数据与复盘

二、方法流程:从危害分析到降级落地

安全工程不是先写代码再补安全,而是从危害分析开始反向约束设计。典型流程如下:

  1. 定义运行设计域与安全目标。明确车辆在哪些道路、天气、速度、交通条件下运行,并定义不可接受的危害,例如非预期加速、错误转向、漏检行人。
  2. 开展危害分析与风险评估。常用 HARA 识别危害事件,评估严重度、暴露率与可控性,得到 ASIL 等级;对预期功能安全则用 SOTIF 方法分析性能局限与可预见误用。
  3. 分解安全需求并设计架构。把安全目标分配到感知、定位、规划、控制、执行、电源与通信等子系统,确定冗余、监控、隔离与降级路径。
  4. 设计故障检测与降级策略。为每个关键故障定义检测条件、确认时间、降级等级、接管请求和最小风险状态。
  5. 验证与确认。通过仿真、封闭场地、道路测试和故障注入,证明安全目标在预期场景与故障场景下均能满足。
  6. 运行监控与复盘。收集接管、降级、误报、漏报数据,持续修正架构与策略。

三、案例场景:一次“感知降级”如何安全收场

假设车辆在高速公路上以 100 km/h 行驶,前视摄像头因强光短暂致盲,激光雷达点云仍可用,但毫米波雷达检测到前方车辆距离快速缩小。安全架构应如何响应?

  • 检测层:摄像头置信度骤降,视觉感知模块上报“性能降级”;雷达与激光雷达融合结果仍满足安全需求。
  • 决策层:安全监控模块判断视觉通道不可信,但多传感器融合仍可维持横向与纵向控制,于是将自动驾驶等级从“全功能”降为“受限功能”。
  • 执行层:限制最高车速、增大跟车距离、禁止变道,并准备接管请求。
  • 降级层:若融合结果继续恶化,则触发最小风险状态:打双闪、减速、靠边停车。
这个案例说明:降级不是单一动作,而是一条“检测—确认—降级—接管—最小风险状态”的链。每一环都需要明确的触发条件、时间预算和退出条件。

四、常见误区与复盘要点

误区 问题 正确做法
把安全等同于“不出故障” 忽略随机失效与性能局限 接受故障存在,设计可检测、可降级、可恢复的架构
只做功能安全,不做 SOTIF 无故障场景下仍可能发生危害 同时分析性能局限、场景盲区与可预见误用
降级策略只写在文档里 代码与测试未覆盖,真实故障时无法执行 把降级条件写成可执行需求,并用故障注入验证
冗余等于简单复制 共因失效导致两套系统同时失效 采用异构冗余、独立电源与通信路径,分析共因失效
只关注单车安全 忽略远程协助、云端与车路协同风险 把通信、远程接管与信息安全纳入安全边界

五、关键参数与工程表达

在后续章节中,我们会反复使用一组工程参数来描述安全与降级能力。它们不是抽象概念,而是可以直接写入需求、测试用例和监控日志的字段:

安全目标: 避免非预期转向导致碰撞
ASIL等级: D
故障检测时间: ≤ 100 ms
降级确认时间: ≤ 300 ms
接管请求提前量: ≥ 4 s
最小风险状态: 本车道内靠边停车
降级等级: L0 正常 / L1 受限 / L2 接管请求 / L3 最小风险
监控指标: 误报率、漏报率、降级成功率、接管成功率
安全架构与故障降级工程最容易犯的错误,是把“降级”当成最后一步的补救。实际上,降级策略必须在架构设计初期就与安全目标一起定义,否则后期很难在不破坏功能的前提下补上安全出口。

本课程后续将沿着“风险—架构—降级—验证—复盘”的主线展开。你将逐步掌握如何把安全目标拆解为可执行需求,如何设计冗余与监控,如何定义降级等级与最小风险状态,以及如何用测试证据证明系统在故障与局限下仍然安全。掌握这条主线,才能真正把自动驾驶从“能开”推进到“敢开、可控、可验证”。