1 引言:安全是自动驾驶的第一性原则

在自动驾驶系统中,安全不是优化目标之一,而是硬约束。一个开得"好但偶尔不安全"的系统是不可接受的。

端到端安全可以分层理解:

1234

本文覆盖核心层级,重点聚焦在端到端学习框架中可落地的安全机制


2 碰撞检测基础

2.1 Bounding Box 重叠检测

最直接的碰撞检测方式:检查两个矩形是否重叠。

基于交并比(IoU)的检测

IIooUU=>A0rea(AB)/Area(AB)

分离轴定理(SAT,Separating Axis Theorem):

  • 将两个有向包围盒(OBB)投影到多个轴上
  • 如果所有轴上投影都不重叠 → 无碰撞
  • 任意一个轴上有重叠 → 可能碰撞

工程优化

  • 先用 AABB(轴对齐)做粗筛,再用 OBB 做精检
  • 对相距过远的智能体直接跳过(距离阈值判定)

2.2 Time-to-Collision(TTC,碰撞时间)

TTC 是最经典的安全指标之一,衡量"按当前状态行驶多久后会发生碰撞"。

TTC=/沿

简化计算

TdT_C=re=ld=/_re-l

TTC 阈值

场景安全 TTC警告 TTC紧急 TTC
高速> 5s3~5s< 3s
城市> 3s2~3s< 2s
停车场> 2s1~2s< 1s

局限:TTC 假设速度和方向不变,在交互场景中不够准确。

2.3 距离基础碰撞检测

更鲁棒的方法:基于路径预测的距离计算。

纵向距离

d_long=

横向距离

d_lat=线

碰撞条件

d_long<&&d_lat</2+/2

安全跟车距离通常用"二秒法则":

dtd___srmaeifsnepo=ns2ve~5·mt1(_.r5e~s2p.o0ns)se(+d_m+in)

3 可行驶区域约束

3.1 HD Map 约束

高精地图是最可靠的可行驶区域信息来源:

  • 车道边界线:车辆不能逾越
  • 路缘:物理限制
  • 导流岛、隔离带:不可穿越
  • 人行横道:需让行但可驶入

在轨迹规划中使用:

d_lat(s)<(s)/2-/2

对每个轨迹点,检查其横向偏移是否超出车道边界。

3.2 Online Map 约束

对于不使用 HD Map 的方案,可行驶区域由在线感知模型实时预测:

  • Driable Area Segmentation:像素级可行驶区域分割
  • Road Layout Prediction:预测道路拓扑
  • Lane Detection:在线车道线检测

在线地图的局限

  • 远距离可行驶区域不确定性大
  • 遮挡区域无法判断
  • 检测错误直接导致安全风险

3.3 学习的可行驶性约束

使用神经网络隐式学习哪些区域可行驶:

BEV""
  • 训练时用 ground truth 道路区域做监督
  • 推理时将可行驶概率 < 阈值的区域视为不可通行
  • 可在损失函数中加入"不可行驶区域惩罚"

趋势:端到端模型中,可行驶性约束正从"显式规则"转向"隐式学习"。


4 规则安全过滤器

4.1 后处理过滤架构

安全过滤器作为规划器输出的后处理模块

/退

4.2 安全过滤器的典型流程

  1. 碰撞检查:轨迹上每个时间步检测与障碍物的重叠
  2. 边界检查:轨迹是否在可行驶区域内
  3. 规则检查:是否违反交规(红灯、实线变道)
  4. 动力学检查:加速度、转向角是否超出车辆极限

如果任意一项不通过 → 执行回退策略:

ieflse::

4.3 安全过滤器设计要点

要点说明
独立性过滤器与规划器解耦,即使规划器失效也能工作
可验证性过滤逻辑必须可形式化验证
计算效率必须在实时约束内完成(< 10ms)
保守原则宁可误报也不漏报

4.4 先进方案:可微分安全过滤器

将安全约束以可微形式嵌入规划网络,在训练时同时优化安全和任务目标:

LLoossss_=saLfoestsy_t=asΣkm+axλ(0·,Lvoisosl_astaifoent_ymargin-clearance)
  • violation_margin:安全阈值
  • clearance:轨迹到障碍物的距离

优势:安全不再只是后处理,而是参与模型训练,形成"内生安全"。


5 损失函数中的安全设计

5.1 碰撞损失(Collision Loss)

L_collision=Σ_iΣ_tmax(0,d_min-d_i_t)
  • i:第 i 个障碍物
  • t:第 t 个时间步
  • d_i_t:轨迹点到障碍物 i 在时间 t 的距离
  • d_min:最小安全距离

变体改进

  • IoU-based loss:用预测轨迹与障碍物的 IoU 作为惩罚
  • 速度加权:相对速度越大,惩罚越大
  • TTC-based loss:TTC < 阈值时施加惩罚

5.2 舒适度损失——加加速度约束

舒适度通常用 jerk(加加速度,即加速度的导数)来衡量:

Lj_ecrokm_ftor=t(=a_({1t/+T1)}·-Σa__tt)(j/erdkt_t)²
jerk 阈值主观感受
< 2 m/s³很舒适
2~5 m/s³轻微不适
5~8 m/s³明显不适
> 8 m/s³晕车

横向 jerk 同样重要:转向的突然变化也会导致不适。

L_comfort=w_long·Σ(jerk_long)²+w_lat·Σ(jerk_lat)²

5.3 车道偏离损失

L_lane=Σ_tmax(0,|d_lat(t)|-lane_width(t)/2+car_width/2)
  • d_lat(t):t 时刻的横向偏移
  • lane_width(t):t 时刻的车道宽度

扩展

  • 变道场景:压线前给予惩罚
  • 实线变道:高惩罚
  • 对向车道:极高惩罚

5.4 综合安全损失函数

实际系统的安全损失通常是多项的组合:

L_safety=α·L_collision+β·L_comfort+γ·L_lane+δ·L_speed

各项权重 α, β, γ, δ 需要通过场景验证和敏感性分析来确定。

一个重要的实践教训:损失函数中的安全项权重过大 → 规划过于保守,停滞不前;权重过小 → 不安全轨迹通过。需要精调。


6 安全世界模型

6.1 什么是安全世界模型

传统的碰撞检测是在当前时刻做检测。但安全的本质问题是:

“如果我现在做这个动作,未来会发生碰撞吗?”

这就需要预测未来的世界状态——这就是安全世界模型的核心。

6.2 NIFF(Neural Inverse Finite Element Framework)

NIFF 是一种用于自动驾驶碰撞预测的神经世界模型。

核心思路

  • 将场景编码为"未来占用场"(future occupancy field)
  • 预测每个栅格在未来每个时间步被占用的概率
  • 将自车轨迹投影到占用场上,计算碰撞概率

优势

NIFF/85%

技术细节

  • 输入:当前场景 BEV + 自车规划轨迹
  • 输出:T 个时间步的占用概率图
  • 碰撞概率 = 轨迹覆盖区域的占用概率之和

6.3 世界模型的其他应用

工作核心思路
GameFormer用博弈论建模其他智能体对自车行为的响应
MUVO学习多模态未来场景预测
OccWorld用 4D 占用预测做规划安全评估
DriveWorld以世界模型为核心架构的端到端系统

6.4 世界模型的局限

  • 计算开销大:预测未来占用需要额外模型推理
  • 预测误差:世界模型本身也会错,特别是在长尾场景
  • 难以验证:概率性输出的安全性难以形式化保证

7 主动安全系统(ADAS)

7.1 AEB(自动紧急制动)

原理:当碰撞不可避免时,自动施加最大制动力。

  • 触发条件:TTC < 阈值(通常 1.5~2.5s)
  • 制动强度:最大制动力(~0.8g ~ 1.0g)
  • 退出条件:车速 < 5km/h 或碰撞风险解除

AEB 分级

级别功能速度范围
城市 AEB行人、车辆检测< 60 km/h
高速 AEB车辆检测< 150 km/h
倒车 AEB后方碰撞< 15 km/h
交叉口 AEB横向碰撞< 30 km/h

7.2 FCW(前向碰撞预警)

原理:在碰撞发生前向驾驶员发出警报,给驾驶员反应时间。

  • 预警时机:TTC < 3~5s(比 AEB 更早)
  • 输出方式:视觉 + 听觉 + 触觉告警
  • 误报处理:过高的误报率会导致用户关闭系统

7.3 LKA(车道保持辅助)

原理:当车辆无意图偏离车道时,主动纠正方向盘。

  • 触发条件:车辆靠近车道边界(d_lat > 阈值)
  • 纠正扭矩:轻量纠正(驾驶员可 override)
  • 退出条件:驾驶员打转向灯或施加相反扭矩

LKA 的安全设计

  • 始终允许驾驶员 override(人机共驾)
  • 只在非变道意图时激活
  • 扭矩上限受法规约束(ECE R79)

8 功能安全标准

8.1 ISO 26262(道路车辆功能安全)

ISO 26262 是汽车行业最核心的功能安全标准,定义了从概念到退役的完整安全生命周期。

核心概念

概念含义
ASIL(Automotive Safety Integrity Level)A/B/C/D 四级,D 最高
HARA(Hazard Analysis and Risk Assessment)识别危险事件并评级
安全目标针对每个危险的安全要求
FTTI(Fault Tolerant Time Interval)故障发生后到危险发生的时间窗口
安全机制检测/避免/控制故障的机制

ASIL 等级评估

AAQSSMIILL=Af<(B=<SC,<DDE,C)

对应本系统(E2E 规划)

  • 规划模块通常被分配 ASIL B~D
  • 安全过滤器模块应达到 ASIL D
  • 决策错误导致碰撞:严重度高,可控性低 → ASIL C/D

8.2 SOTIF(预期功能安全,ISO 21448)

ISO 21448 解决的是系统在无故障情况下因功能不足导致的危险

与 ISO 26262 的区别

ISO 26262ISO 21448(SOTIF)
系统故障(硬件损毁、软件 bug)功能不足(场景未覆盖、感知盲区)
随机硬件失效算法局限性
通过冗余和诊断解决通过场景覆盖和验证解决

SOTIF 在 E2E 中的挑战

  • E2E 模型是黑盒,无法像规则系统那样做形式化验证
  • 长尾场景的覆盖率难以估计
  • “神经网络的安全验证"仍是一个开放问题

8.3 端到端系统的安全认证难题

目前尚无成熟的针对 E2E 系统的认证流程,主要困难:

挑战说明
可解释性神经网络的决策过程不透明
可验证性无法穷尽所有输入场景
分布外检测遇到训练分布外的场景行为不可控
持续学习OTA 更新后安全性需要重新认证

行业做法

  1. 模块化安全:只在安全壳(安全过滤器)中放可验证代码
  2. 影子模式:E2E 系统规划但不执行,与安全系统对比
  3. 保守退守:不确定场景下退回到保守策略

9 安全趋势总结

9.1 内生安全(Safety by Construction)

将安全约束嵌入到模型架构中,而非作为后处理:

  • 可微安全损失:安全参与梯度传播
  • 约束解码:轨迹解码模块天然满足安全性约束
  • 安全注意力:注意力机制中引入碰撞感知

9.2 分层安全架构

E2EPlannerASILD

9.3 安全基线方案

实际部署中最可靠的方法仍然是"规则过滤器 + 学习规划器"的组合方案:

组件特性安全保证
学习规划器高性能、覆盖长尾无形式化保证
规则过滤器保守、可验证ASIL D

10 总结

维度要点
碰撞检测Bbox 重叠、TTC(碰撞时间)、距离法(二秒法则)
可行驶区域HD Map(最可靠)、Online Map(有误差)、学习约束(灵活但需要验证)
安全过滤器后处理碰撞/边界/规则/动力学检查,回退到紧急刹车
损失函数安全项Collision Loss + Comfort Loss(jerk)+ Lane Violation Loss
安全世界模型NIFF 预测未来占用,实现概率性碰撞检查
ADAS 主动安全AEB(紧急制动)、FCW(碰撞预警)、LKA(车道保持)
功能安全标准ISO 26262(硬件/软件故障)、ISO 21448(功能不足/SOTIF)
端到端安全趋势内生安全设计 + 分层安全架构 + 安全过滤器兜底

一句话总结:自动驾驶安全是分层体系——从碰撞检测到损失函数约束,再到规则过滤器和功能安全标准,每一层都不可缺失;在端到端范式中,“可验证的安全壳 + 学习的规划器"是目前最现实的安全落地路径。