← back

开源框架避坑:Apollo与Autoware还值得深入研究吗?

一、核心结论

先说结论

1.1 端到端是时代趋势

如果你在 2026 年还在纠结要不要深入研究 Apollo 和 Autoware,我的建议是:作为学习材料可以,作为生产框架要慎重

原因很简单:端到端已经不是趋势,而是现实。从特斯拉的 FSD V12 到国内各家车企的端到端方案,行业已经完成了从「模块化」到「神经网络直出」的范式转移。而 Apollo 和 Autoware 的架构设计,本质上还是围绕传统的「感知-预测-规划-控制」模块化范式展开的。

1.2 传统方案的也还有学习价值

但这不意味着它们毫无价值。如果你的团队:

那么 Apollo 和 Autoware 依然是优质的学习素材。尤其是它们的架构设计、传统算法实现(如 A_、Lattice Planner、Hybrid A_ 等)、传感器标定流程,这些都是工业级的参考案例。

但记住:模型相关的部分,还是需要自己搞定。开源框架里的感知模型、预测模型,基本都是 2018-2020 年左右的技术水平,与当前的 BEV Transformer、occupancy network、端到端规划模型相比,已经落后一个代际。

1.3 新人友好

如果你是自动驾驶的初学者,Apollo 和 Autoware 的代码库是绝佳的「照猫画虎」对象

这比直接去啃端到端黑盒模型的代码,学习曲线要友好得多。

二、两大开源框架的前世今生

2.1 Apollo:百度的「自动驾驶安卓」梦

Google或许就是百度眼中的自己吧~

image.png

背景

演进历程

架构特点

2.2 Autoware:日本开源社区的「民主化」方案

image.png

背景

演进历程

架构特点

2.3 异同点对比

维度ApolloAutoware
架构哲学百度内部工程实践外溢,强调性能和商业化社区驱动,强调灵活性和标准化
通信框架Cyber RT(自研)ROS2(开源标准)
代码质量工业级,但部分模块过度设计学术与工业的平衡,重构后质量提升
学习曲线陡峭(需理解 Cyber RT 和 DAG)中等(假设熟悉 ROS)
仿真工具DreamView + Apollo Studio(闭源云服务)集成 Carla、LGSVL 等开源仿真器
商业化案例百度 Robotaxi、部分主机厂合作Tier IV 的 Robotaxi、日本公交/物流项目
社区活跃度2022 年后明显下降持续活跃,尤其 ROS2 生态推动
硬件适配针对特定传感器优化(如禾赛、Velodyne)通用性更强,但需自行调优

Apollo 更像大厂的开源公关,核心技术和工程能力藏在闭源部分(个人觉得如果认真搞开源,也不至于如此)。Autoware 更接近真正的社区项目,但商业化能力不如前者。

三、学习资源推荐

如果你决定深入学习这两个框架,以下是我建议的高质量内容源

虽然推荐的只有两个途径,但相信我,看精不看杂,就别去CSDN等地方吃百家饭了

通用学习建议

四、企业里的真实使用场景

4.1 主机厂和 Tier 1 怎么用?

根据我接触的几家公司的实践,大致分三类:

1. 直接 fork 改造(少数)

2. 参考架构自研(主流)

3. 完全自研 + 端到端(前沿)

4.2 开源框架的「隐性价值」

即使不直接使用,Apollo 和 Autoware 依然在以下方面发挥作用:

五、端到端时代,该看什么?

5.1 为什么端到端是必然?

三个核心原因:

  1. 信息损失:传统方案每个模块都要做信息压缩(3D bbox → 轨迹预测 → 路径规划),误差累积严重
  2. 长尾问题:规则和启发式算法难以覆盖 corner case,而神经网络可以从数据中学习
  3. 工程效率:端到端减少了模块间的接口调试成本,迭代速度更快

当然,端到端也有问题(可解释性差、数据需求量大、安全认证困难),但趋势已经无法逆转。

5.2 新的学习方向

要理解端到端时代该学什么,得先搞清楚这条技术路线是怎么一步步演化过来的。

传统方案的问题在于,感知模块输出的是 3D 检测框(bbox),这种离散的物体表达丢失了大量空间信息。你检测到了前车、行人、路沿,但车道间的可行驶区域、不规则障碍物、地面的坑洼,这些都没法用 bbox 表达。于是就有了 BEV(鸟瞰图)表征

BEV 的核心思路是把多个相机的视角统一投影到俯视平面上,形成一张类似「上帝视角」的特征图。BEVFormer、BEVDet 这些工作解决的就是如何高效地做这个投影,以及怎么用 Transformer 来融合时序信息。学 BEV 的重点不是背论文,而是理解空间表征的统一化——从多视角的 2D 图像,怎么重建出 3D 空间的结构。

但 BEV 还不够细。它给你一张特征图,但具体哪些位置能走、哪些不能走,还需要后续模块去解析。所以下一步是 Occupancy Network(占用网络)

Occupancy 把空间切成体素(voxel),每个体素标注是「occupied」还是「free」,甚至可以区分是车、人还是静态障碍物。特斯拉在 2022 年 AI Day 展示的 Occupancy Network 就是这个思路。相比 bbox,Occupancy 能表达任意形状的物体和可行驶区域,这对处理异形障碍物(路障、锥桶、施工区)至关重要。Tesla’s Occupancy Network、SurroundOcc 这些论文值得细读,重点看体素化表征怎么设计、稀疏卷积怎么加速、多传感器(camera+lidar)怎么融合

有了 Occupancy,下一步自然就是端到端规划。既然神经网络已经能输出精细的空间占用,为什么还要把它转成中间表示再交给传统规划器?直接让网络输出轨迹或者控制指令不就行了?

UniAD 是第一批真正意义上的端到端方案,它把感知、预测、规划全部放进一个网络,损失函数直接优化最终的轨迹。VAD、SparseDrive 在此基础上进一步压缩中间表示。特斯拉的 FSD V12 更激进,直接从像素到控制指令,中间没有任何可解释的模块。这个阶段要学的是如何设计端到端的损失函数、如何保证安全性(imitation learning vs reinforcement learning)、如何处理分布外数据

但端到端还不是终点。现在的端到端方案本质上是「反应式」的——看到当前场景,输出当前动作。而人类司机开车会「预判」:前面路口可能有人闯红灯、旁边车道的车可能要并线。这就引出了 VLA(Vision-Language-Action)和世界模型

VLA 的思路是引入语言作为中间表征,让模型先「理解」场景(比如输出「前方路口,左侧有行人等待过马路」),再基于理解做决策。理想的 VLM-Planner 就是这个方向。而世界模型更进一步,它不仅理解当前场景,还能预测未来。给定当前状态和可能的动作,世界模型生成未来几秒的视频或特征,规划器基于预测结果选择最优动作。

Wayve 的 GAIA-1、Drive-WM、英伟达的 Cosmos 都在做这个。技术上主要依赖 Video Diffusion 和生成式模型。这条路线的终极目标是 AGI——模型不仅能开车,还能理解物理世界的因果关系,做出类人的长期规划。

所以整个演进路径是:

BBox(离散物体) → BEV(统一表征) → Occupancy(精细空间) → 端到端规划(感知规划一体) → VLA/世界模型(预测未来、长期规划)

每一步都在解决上一步的瓶颈。学的时候别跳步,BEV 没搞懂就去看世界模型,基本看不明白。老老实实从 BEVFormer 开始,把代码跑通,理解 Transformer 怎么做空间变换,再往后走。

5.3 传统方案还能学到什么?

即使在端到端时代,以下传统技能依然有价值:

六、总结与建议

给不同人群的建议

如果你是在校学生

如果你是算法工程师

如果你是系统工程师

如果你在创业公司

最后说几句

Apollo 和 Autoware 不是「过时的技术」,而是时代的产物。它们的价值在于:

但如果你的目标是做出最先进的自动驾驶系统,开源框架只是起点,端到端才是方向。