2. 自动驾驶系统基础
自动驾驶系统本质上是一台“在移动中持续做闭环判断”的实时计算机。它把物理世界的连续变化,转换为可计算的数据流,再通过执行机构把计算结果作用回物理世界。理解这条闭环链路,是理解冗余计算与故障切换的前提:只有先看清各模块的职责边界、数据依赖和时序约束,才能判断“哪个环节失效会影响什么、需要多快接管、冗余应该放在哪里”。
一、四大功能模块的职责划分
从功能上看,自动驾驶系统通常划分为感知、决策、规划、控制四个模块。它们不是简单的串行流水线,而是带有反馈的闭环结构。
- 感知模块:负责“我在哪、周围有什么”。输入来自摄像头、激光雷达、毫米波雷达、IMU、GNSS、轮速计等传感器,输出包括目标检测与跟踪、车道线、可行驶区域、交通标志、自车定位与姿态。感知的核心挑战是异构传感器的时间同步与空间标定。
- 决策模块:负责“我该做什么”。它基于感知结果和地图、交通规则,进行行为决策,例如跟车、换道、让行、超车、靠边停车,并输出行为意图和约束条件。
- 规划模块:负责“我具体怎么走”。它把行为意图转化为时空轨迹,通常分为全局路径规划、行为层轨迹规划和局部运动规划,输出带时间戳的轨迹点序列,满足动力学约束、舒适性和安全性。
- 控制模块:负责“我如何精确执行”。它把期望轨迹与自车实际状态比较,通过横向控制(转向)和纵向控制(驱动、制动)输出执行器指令,形成闭环反馈。
二、计算平台的基本组成
计算平台是承载上述模块的硬件与软件底座。典型组成包括:
| 层次 | 典型组成 | 作用 |
|---|---|---|
| 传感器层 | 摄像头、激光雷达、毫米波雷达、IMU、GNSS | 采集物理世界原始数据 |
| 接口与同步层 | 车载以太网、CAN/CAN-FD、PTP/gPTP、硬件触发 | 数据传输与多传感器时间同步 |
| 计算单元层 | SoC(CPU+GPU+NPU)、MCU、安全岛 | 运行感知推理、规划控制与安全监控 |
| 存储与内存层 | LPDDR、UFS、日志存储 | 模型加载、数据缓存、故障记录 |
| 供电与散热层 | 电源管理、冗余供电、液冷/风冷 | 保障算力稳定与热安全 |
| 软件栈 | 实时操作系统、中间件、调度器、诊断监控 | 任务调度、通信、健康管理 |
其中,SoC 负责高吞吐的感知与规划计算,MCU 或安全岛负责高实时、高可靠的安全监控与执行器兜底。二者分工体现了“高性能”与“高可靠”的分离设计思想。
三、实时性要求与时间预算
自动驾驶的实时性不是“越快越好”的模糊概念,而是由安全距离和动力学决定的硬约束。以 120 km/h 行驶为例,车辆每秒移动约 33 米;若感知到制动决策的端到端延迟为 100 ms,车辆已前进约 3.3 米。因此,各模块必须分配明确的时间预算。
典型端到端时间预算(示例,非固定标准):
传感器采集与曝光 : 10 ~ 20 ms
数据传输与时间同步 : 5 ~ 10 ms
感知推理(检测/跟踪) : 30 ~ 60 ms
决策与行为选择 : 10 ~ 20 ms
轨迹规划 : 20 ~ 40 ms
控制计算与执行器响应 : 10 ~ 20 ms
------------------------------------------------
端到端总延迟目标 : 100 ~ 150 ms
实时性通常用三个指标衡量:延迟(从事件发生到动作输出)、抖动(延迟的波动范围)、确定性(最坏情况是否可预测)。对安全相关任务,最坏执行时间(WCET)比平均延迟更重要。
四、闭环数据流与模块协作
下图展示四大模块与计算平台之间的数据流和时序关系。感知输出世界模型,决策输出意图,规划输出轨迹,控制输出执行指令,同时车辆状态反馈回感知与控制,形成闭环。
五、典型场景与误区复盘
以一个高速跟车场景为例:前车突然减速,摄像头和毫米波雷达在 20 ms 内捕获变化,感知模块在 50 ms 内完成目标跟踪与距离更新,决策模块判断需要制动,规划模块生成减速轨迹,控制模块在 15 ms 内输出制动指令。若任一环节超时,系统必须触发降级或冗余接管。
因此,在冗余计算与故障切换工程中,必须先把四大模块的功能边界、数据依赖和实时性预算定义清楚,再据此设计监控点、切换条件和降级策略。这是后续所有冗余架构设计的基础。