3. 端到端驾驶系统架构
在自动驾驶系统设计中,架构选择决定了信息流动方式、误差传播路径以及优化目标的耦合程度。模块化范式与端到端范式并非简单的“旧”与“新”之分,而是两种对不确定性、可解释性和数据效率的不同权衡。理解二者的输入输出表示与一体化设计逻辑,是构建多任务学习系统的前提。
3.1 模块化范式:清晰接口与误差累积
模块化架构将驾驶任务拆分为感知、预测、规划、控制四个相对独立的子系统,每个模块有明确的输入输出契约。感知模块输出障碍物位置、速度、类别;预测模块输出未来轨迹分布;规划模块生成自车轨迹;控制模块将轨迹转化为油门、刹车、转向指令。
这种设计的优势在于可解释性强、模块可独立测试与替换、故障可定位。但缺点同样突出:上游误差会逐级放大,且各模块的优化目标不一致——感知追求检测精度,规划追求舒适与安全,控制追求跟踪误差,全局最优难以保证。
模块化接口示例:
perception_out = {
"objects": [{"id": 1, "bbox": [x, y, w, h], "velocity": [vx, vy], "class": "car"}],
"ego_state": {"position": [x, y], "heading": theta, "speed": v}
}
prediction_out = {"trajectories": [{"id": 1, "future": [[x1,y1], [x2,y2], ...]}]}
planning_out = {"ego_trajectory": [[x1,y1], [x2,y2], ...], "cost": 12.4}
control_out = {"steer": 0.12, "throttle": 0.35, "brake": 0.0}
3.2 端到端范式:联合表示与全局优化
端到端范式将传感器原始数据(图像、点云、雷达)直接映射为控制指令或轨迹,中间表示由网络自行学习。其核心优势在于:避免人工设计接口造成的信息瓶颈,所有模块共享同一损失函数,实现全局联合优化。
端到端系统的输入通常为多模态传感器序列,输出可以是:
- 直接控制量:方向盘转角、油门、刹车,适合模仿学习。
- 轨迹点序列:未来若干秒的自车路径,便于与规划模块对接。
- 占用栅格与轨迹联合输出:同时预测环境演化与自车行为,增强可解释性。
端到端并非“黑箱”代名词。现代设计常引入中间监督信号,如可行驶区域分割、目标检测框、语义地图等,形成“可解释的端到端”结构。
3.3 感知-预测-规划-控制一体化设计
一体化设计的关键在于共享特征表示与多任务损失平衡。典型结构采用共享骨干网络提取BEV特征,再分支出多个任务头:检测头、预测头、规划头、控制头。损失函数为加权和:
L_total = λ1 * L_det + λ2 * L_pred + λ3 * L_plan + λ4 * L_ctrl
权重λ的选取直接影响任务间的梯度冲突。常用策略包括不确定性加权、GradNorm、PCGrad等。一体化设计还需考虑时序融合:通过RNN、Transformer或3D卷积将历史帧信息压缩为隐状态,供规划与控制使用。
设计要点:规划头输出轨迹后,控制头可基于轨迹做纯跟踪或MPC,也可直接由网络输出控制量。前者可解释性强,后者响应更直接。工程中常采用“轨迹+控制”双头输出,训练时联合监督,推理时按场景切换。
3.4 典型系统案例对比
| 系统 | 范式 | 输入表示 | 输出表示 | 特点 |
|---|---|---|---|---|
| Waymo ChauffeurNet | 模块化+学习 | BEV栅格+地图 | 轨迹 | 模仿学习,中间表示丰富 |
| NVIDIA PilotNet | 端到端 | 前视图像 | 转向角 | 极简输入输出,验证端到端可行性 |
| Tesla FSD | 端到端+模块化混合 | 多摄像头视频 | 轨迹+控制 | BEV Transformer,多任务联合 |
| UniAD | 端到端一体化 | 多传感器序列 | 轨迹+占用 | 感知预测规划统一Query,全局优化 |
| TransFuser | 端到端 | 图像+LiDAR | 轨迹+控制 | Transformer融合,CARLA基准 |
3.5 误区与复盘
常见误区:认为端到端一定优于模块化。实际上,在数据稀缺、安全验证要求高的场景,模块化仍具优势。端到端需要海量高质量驾驶数据,且对分布外场景泛化能力存疑。另一个误区是忽视中间表示监督——纯端到端控制输出难以调试,加入BEV分割、目标检测等辅助任务可显著提升鲁棒性。
复盘工程实践:某L4项目初期采用纯端到端控制,在雨天和夜间表现骤降。引入可行驶区域分割与目标检测作为辅助监督后,夜间接管率下降42%。这说明一体化设计不等于放弃结构化中间表示,而是让网络在共享特征上同时学习多个相关任务,以多任务正则化提升泛化。
架构选择没有绝对优劣。工程中更常见的是混合范式:用模块化保证安全冗余与可解释性,用端到端提升复杂场景的决策流畅度。理解输入输出表示与一体化设计逻辑,才能在多任务学习中合理分配监督信号与损失权重。