系统架构总览:从数据流到控制流
本页提供自动驾驶系统的完整"总图",帮助读者把分散章节串成工程闭环,理解各模块的职责与协作关系。
1. 典型分层架构
┌──────────────────────────────────────────────────────────────────┐
│ 传感器层 │
│ Camera × N │ LiDAR × N │ Radar × N │ IMU │ GNSS │
└──────────────┬───────────────────────────────────────────────────┘
│ 原始传感器数据(图像/点云/目标列表/位姿)
┌──────────────↓───────────────────────────────────────────────────┐
│ 感知融合层 │
│ 3D目标检测 │ 语义分割 │ 目标跟踪 │ 可行驶区域 │ 车道线 │
│ ↑ │
│ 多传感器时间同步 + 空间对齐 │
└──────────────┬───────────────────────────────────────────────────┘
│ 结构化环境表示(目标列表、占用栅格、语义地图)
┌──────────────↓───────────────────────────────────────────────────┐
│ 预测层 │
│ 轨迹预测(多模态) │ 意图识别 │ 交互建模 │
└──────────────┬───────────────────────────────────────────────────┘
│ 他车未来轨迹分布
┌──────────────↓───────────────────────────────────────────────────┐
│ 规划决策层 │
│ 行为决策(FSM/BT)│ 全局路由 │ 局部轨迹规划 │ 速度规划 │
│ ↑ │
│ 高精地图 + 交通规则 + 定位结果 │
└──────────────┬───────────────────────────────────────────────────┘
│ 时序参考轨迹(位置+速度+加速度+曲率)
┌──────────────↓───────────────────────────────────────────────────┐
│ 控制执行层 │
│ 横向控制(LQR/MPC)│ 纵向控制(ACC/PID)│ 执行器接口 │
└──────────────┬───────────────────────────────────────────────────┘
│ 转向/制动/驱动指令(CAN)
┌──────────────↓───────────────────────────────────────────────────┐
│ 执行器层 │
│ EPS(线控转向)│ EHB(线控制动)│ 驱动电机/ETC │ EPB │
└──────────────┬───────────────────────────────────────────────────┘
│ 车辆状态反馈
└──────────────────────────────→ (反馈至感知/定位)
2. 各功能模块详细描述
2.1 传感器层
| 传感器 | 输出 | 典型频率 | 主要作用 |
|---|---|---|---|
| 前视摄像头(长焦) | 图像 | 30 Hz | 远距目标识别 |
| 环视摄像头(广角) | 图像 | 30 Hz | 近场感知,泊车 |
| 主 LiDAR(机械式/固态) | 点云 | 10–20 Hz | 3D 几何感知 |
| 毫米波雷达(长程/角) | 目标列表 | 10–20 Hz | 速度测量,全天候 |
| IMU | 加速度+角速度 | 100–1000 Hz | 短时姿态估计 |
| GNSS/RTK | 坐标+速度 | 10–100 Hz | 全局定位 |
| 超声波 | 距离 | 10–25 Hz | 近场泊车 |
2.2 感知融合层
感知融合层是连接物理世界与算法世界的关键桥梁:
输入: 多传感器原始/半处理数据 输出: 结构化环境模型
主要输出类型:
├─ 目标列表(3D框 + 速度 + 分类 + ID + 置信度)
├─ 占用栅格(每个栅格的占用概率与类别)
├─ 可行驶区域(BEV 多边形)
├─ 静态语义元素(车道线、停止线、路沿)
└─ 自车状态估计(融合定位输出)
2.3 预测层
预测层将静态感知输出转化为动态行为预测:
- 输入: 历史轨迹、当前状态、场景地图
- 输出: 未来 3–8 秒的轨迹分布(多模态,每种模式含概率)
- 典型频率: 10 Hz
2.4 规划决策层
规划层将感知+预测结果与行为意图转化为可执行轨迹:
行为决策(10 Hz)
│ 输出:驾驶意图(跟车/变道/让行/停车)
↓
全局路由(触发式,秒级)
│ 输出:目标车道序列、路口导航计划
↓
局部轨迹规划(10 Hz)
│ 输出:当前时域(5–10s)的空间轨迹
↓
速度规划(10 Hz)
│ 输出:时序轨迹点(含速度、加速度)
2.5 控制执行层
控制层追踪规划给出的参考轨迹,输出底盘指令:
- 横向控制: LQR/MPC,追踪参考路径
- 纵向控制: PID/MPC,追踪参考速度和间距
- 执行频率: 50–200 Hz
3. 时间与同步
3.1 典型频率配置
| 模块 | 典型频率 | 时延预算 |
|---|---|---|
| 传感器采样(视觉) | 30 Hz(33 ms 周期) | — |
| 传感器采样(LiDAR) | 10–20 Hz | — |
| 传感器采样(IMU) | 100–1000 Hz | — |
| 感知推理 | 10–30 Hz | 30–80 ms |
| 预测 | 10 Hz | 10–30 ms |
| 规划 | 10 Hz | 20–50 ms |
| 控制 | 50–200 Hz | 1–5 ms |
| 全链路时延 | — | < 150–200 ms |
3.2 时钟同步
所有传感器和模块共享统一时间基准(PTP/gPTP):
GNSS PPS 信号(1 Hz,精度 < 100 ns)
↓ gPTP 协议
车载以太网时钟同步(精度 < 1 μs)
↓ 硬件触发(FSYNC)
相机帧同步(精度 < 100 μs)
LiDAR 扫描开始时戳(精度 < 1 ms)
4. 安全与降级架构
4.1 健康监控体系
模块级健康检查:
每个模块发布心跳 + 诊断状态
│
健康监控模块(Health Monitor)
│ 超时 → 告警
│ 异常 → 分级响应
↓
系统级健康状态
4.2 降级主线
正常自动驾驶
│ 传感器/模块异常检测
↓
功能降级(限速/限动作/切换保守策略)
│ 持续异常或无法处理
↓
接管请求(TOR)
视觉+听觉+触觉多模态提示
提供足够的接管时间窗口(≥ 10s 高速)
│ 驾驶员未接管
↓
最小风险条件(MRC)
减速 → 变到最右侧车道 → 安全停车
开双闪 → 上报调度 → 等待救援
5. 软硬件架构对应
5.1 E/E 架构(Zonal Architecture)
中央计算平台(CCU)
├─ 感知/预测/规划算法(GPU/NPU)
├─ 定位与地图匹配
└─ 安全监控
区域控制器(ZCU)×4(前/后/左/右)
├─ 传感器接入与数据转发
├─ 就近控制(超声波泊车等低时延任务)
└─ 电源管理
底盘控制域
├─ VCU(整车控制器)
├─ EPS(线控转向 ECU)
├─ EHB(线控制动 ECU)
└─ EPB(电子驻车)
5.2 典型 L4 感知套件配置
| 传感器 | 数量 | 覆盖方向 |
|---|---|---|
| 摄像头(前视长焦) | 1–2 | 前方 100–200 m |
| 摄像头(前视广角) | 1 | 前方近场 + 盲区 |
| 摄像头(环视) | 4–8 | 360° 近场 |
| 主 LiDAR | 1–3 | 360° 远场 |
| 毫米波雷达 | 5–6 | 360° 覆盖 |
| 超声波 | 8–12 | 近场泊车 |
| IMU | 1–2(冗余) | 全向 |
| GNSS | 1–2 | 全球定位 |
6. 研发闭环
建议建立"仿真 → 回放 → 台架 → 实车"四级验证体系:
| 验证级别 | 主要目标 | 覆盖场景数 | 自动化程度 |
|---|---|---|---|
| 仿真(Sim) | 覆盖长尾危险场景 | 百万级 | 全自动 |
| 数据回放(Replay) | 算法回归,性能对比 | 百万帧 | 全自动 |
| 台架(HIL/SIL) | 接口/时序/硬件验证 | 千级场景 | 半自动 |
| 实车(Road Test) | 系统稳定性,用户体验 | 百万公里 | 人工+自动 |
7. 典型协作模式
| 角色 | 职责 | 关键交付物 |
|---|---|---|
| OEM(整车厂) | 整车集成、功能安全、用户体验 | 系统集成测试、功能安全分析 |
| Tier 1(算法供应商) | 核心算法栈、中间件、评估工具 | 算法包、SDK、性能报告 |
| 芯片厂商 | 硬件平台、工具链、性能优化 | SoC、编译器、参考设计 |
| 地图供应商 | 高精地图采集与更新 | 地图数据包、更新服务 |
| 云平台 | 数据存储、模型训练、OTA | 数据湖、训练平台、发布系统 |
8. 常见架构误区
| 误区 | 正确做法 |
|---|---|
| 只看单模块指标,不看端到端表现 | 建立系统级指标(接管率、MRC率),并与模块指标关联 |
| 忽略时间同步,导致融合与控制抖动 | 在架构早期建立统一时钟同步方案,并持续监控 |
| 缺少可追溯日志,问题难复现 | 为每帧数据附加 frame_id,跨模块透传,支持全链路回放 |
| 安全降级路径临时设计 | 安全降级逻辑应在系统架构阶段就定义清楚,与主路径同等重要 |
| 仿真与实车割裂 | 建立"仿真先验证,实车再确认"的工作流,减少实车风险 |