Apollo是百度开源的高性能、灵活架构自动驾驶全栈开发平台,用于加速自动驾驶车辆的研发、测试、部署与规模化落地,是全球主流的开源自动驾驶底层框架。本文简单介绍Apollo的基本信息、系统架构、版本迭代、优势及局限。基本信息
Apollo是百度于 2017 年 4 月发布的全栈开源自动驾驶开放平台,旨在帮助汽车行业及自动驾驶领域合作伙伴快速搭建自动驾驶系统,降低研发门槛,加速技术创新与商业化落地。
定位:面向自动驾驶开发者、车企与科研机构的开源、可扩展、可定制的自动驾驶操作系统级平台,降低从原型到量产的全流程技术门槛。核心目标:从封闭场地验证逐步走向高价值场景规模化部署,提供从硬件适配、中间件、核心算法到工具链的一站式能力,支持二次开发与快速落地。技术底座:以 C++ 为主,搭配 TypeScript、Python 等,基于 CyberRT 实时中间件,适配 x86_64 与 ARM64 硬件架构。系统架构
Apollo 采用分层解耦、高实时、模块化的四层架构,保障车载实时性与扩展性:硬件适配层
支持线控车辆(制动 / 转向 / 油门 / 换挡线控);兼容 Ubuntu 18.04/20.04/22.04;依赖 NVIDIA GPU/AMD GPU、Docker-CE、NVIDIA 容器工具包。
中间件层
自研CyberRT实时通信框架,替代传统 ROS,实现模块间低延迟、高可靠通信,满足自动驾驶硬实时要求。
核心功能层
全链路自动驾驶闭环模块,完成感知 — 定位 — 预测 — 规划 — 决策 — 控制的完整逻辑。
工具链层
包含 Dreamview Plus 可视化调试、包管理、仿真平台、编译部署脚本、Docker 标准化环境,提升研发效率。
核心模块组成
代码仓库核心目录
核心功能模块(modules)
感知(Perception):多传感器(激光雷达 / 相机 / 毫米波 / 4D 雷达)融合,识别障碍物、交通灯、车道线等。
定位(Localization):GNSS+IMU + 点云匹配,实现厘米级精确定位。
预测(Prediction):预判周边车辆、行人的行为与轨迹。
规划(Planning):生成安全路径与速度曲线,支持复杂场景决策。
决策(Decider):输出变道、停车、让行等驾驶行为指令。
控制(Control):将规划指令转化为线控车辆的执行信号。
版本迭代
Apollo 1.0
Apollo 1.0 也被称作GPS 路径点自动循迹系统,适用于测试场地、停车场等封闭场所。Apollo 1.5
Apollo 1.5 面向固定车道巡航场景。随着激光雷达(LiDAR)的加入,搭载该版本的车辆能够更好地感知周边环境,更精准地定位自身位置并规划行驶轨迹,从而在本车道内实现更安全的行驶操控。图中标黄的模块为 1.5 版本新增或升级模块。Apollo 2.0
Apollo 2.0 支持车辆在简单城市道路上实现自动驾驶。车辆可在道路上安全巡航、规避障碍物、在交通信号灯前停车,并可根据目的地需求按需变道。图中标红的模块为 2.0 版本新增或升级模块。Apollo 2.5
Apollo 2.5 允许车辆在地理围栏限定的高速公路上实现自动驾驶,依靠摄像头完成障碍物检测。车辆可保持车道控制、定速巡航,并避免与前方车辆发生碰撞。Apollo 3.0
Apollo 3.0 的核心定位,是为开发者提供一个可基于封闭场地、低速环境进行二次开发的平台。车辆可实现车道保持、巡航行驶,并规避与前方车辆的碰撞。Apollo 3.5
Apollo 3.5 可应对居民区、市中心等复杂驾驶场景。车辆具备 360° 环境感知能力,同时感知算法得到升级,能够适配城市道路的多变路况,让车辆行驶更安全、环境感知更全面。基于场景的规划能力可应对各类复杂路况,包括居民区常见的无保护转向、窄路通行,以及设有停车让行标志的道路通行等。Apollo 5.0
Apollo 5.0 致力于支撑地理围栏限定场景下自动驾驶的规模化量产。车辆具备 360° 环境感知能力,感知深度学习模型完成升级,可适配复杂道路场景的多变路况,提升行驶安全性与环境感知能力。场景化规划能力得到增强,新增靠边停车、无信号交叉口通行等场景支持。Apollo 5.5
Apollo 5.5 在既往版本基础上,升级了复杂城市道路自动驾驶能力,新增路沿到路沿全程驾驶支持。凭借这一新增能力,Apollo 向城市道路完全自动驾驶迈出了重要一步。车辆拥有完整的 360° 环境感知能力,感知深度学习模型完成升级,同时搭载全新预测模型,可适配复杂道路与路口的多变路况,进一步保障行驶安全、提升环境感知水平。Apollo 6.0
Apollo 6.0 集成了全新的深度学习模型,强化了 Apollo 部分模块的功能。该版本可与新增的数据链路服务无缝衔接,更好地服务 Apollo 开发者。同时,6.0 也是首个集成多项新特性的版本,用以展示Apollo在无人驾驶技术领域持续探索与试验的成果。Apollo 7.0
Apollo 7.0 集成3 款全新深度学习模型,升级了 Apollo 感知与预测模块的能力。该版本推出 Apollo Studio 平台,结合数据链路服务,打造一站式在线开发平台,为开发者提供更优质的服务。此外,7.0 在原有仿真服务基础上,新增规划控制(PnC)强化学习模型训练与仿真评估服务。Apollo 8.0
Apollo 8.0 致力于为自动驾驶开发者提供可扩展的软件框架与完整的开发流程。该版本引入可复用的 “软件包(Package)” 机制来组织软件模块;整合模型训练服务、模型部署工具与端到端可视化校验工具,打通感知开发全流程;同时为感知模块新增 3 款深度学习模型。仿真服务完成升级,在 Dreamview 中集成本地仿真器,为规划控制开发者提供强大的调试工具。Apollo 9.0
Apollo 开源平台 9.0 进一步聚焦优化开发与调试体验,致力于为自动驾驶开发者提供统一的开发工具平台,以及易于扩展的规划控制、感知软件框架接口。新版本基于包管理重构了规划控制与感知模块的扩展开发方式,按照业务逻辑优化组件拆分与配置管理,简化调用流程;除组件扩展方式外,新增更轻量化的插件扩展方式,简化扩展流程。该版本推出全新开发工具Dreamview Plus,支持便捷适配多场景的模式切换、可自定义面板布局的可视化界面,以及提供更丰富开发资源的资源中心。此外,新版本升级了激光雷达与视觉检测模型,提升检测效果,并开放增量训练方法以方便功能扩展;同时新增 4D 毫米波雷达支持;最终完成 ARM 架构适配,可在 Orin 平台上编译运行,为开发者提供更多硬件设备选择。Apollo 10.0
Apollo 10.0 从本地验证阶段全面升级并实现大规模场景落地应用。性能层面:优化各层级与模块的性能和稳定性,提供丰富工具提升优化效率;成本层面:通过完善硬件生态降低硬件成本,为用户提供更多选择;通过升级操作系统、打通与其他框架的通信、复用生态软件能力,降低软件开发成本;安全层面:强化功能安全策略与功能安全框架能力。Apollo 11.0
Apollo 11.0 聚焦高价值场景下功能型自动驾驶车辆的规模化部署,对感知、定位、规划及开发工具链进行全面升级,大幅降低软硬件开发门槛,助力开发者高效搭建端到端自动驾驶操作系统。中间件
Apollo 1.0~3.0:均基于ROS架构开发Apollo 3.5:首次引入 Cyber RT,完成架构切换Apollo 4.0 及后续所有版本:均基于Cyber RT架构持续迭代,直至当前的 v11.0.0 版本代码管理
Apollo 从8.0 版本开始正式引入包管理(Package Management)概念,9.0 版本则将其升级至包管理 2.0,10.0 与 11.0 持续优化包管理生态,降低二次开发门槛,支撑大规模场景部署。优势 & 局限
核心优势
是业内少有的覆盖感知、定位、预测、规划、控制、仿真、标定、工具链的全栈开源方案,无需从零搭建基础架构,可快速搭建L2–L4级原型系统,研发周期大幅缩短。自研的Cyber RT替代传统ROS,具备低延迟、高可靠、零拷贝通信特性,更适配自动驾驶强实时、高并发的车载场景,稳定性和调度效率优于通用机器人框架。依托萝卜快跑、无人小巴、自动泊车等大规模商业化落地,代码工程化程度高、鲁棒性强,并非纯学术Demo,可直接向量产方向改造,配套Dreamview可视化、仿真平台、数据流水线等工具链完善。深度适配中国复杂路况:加塞、非机动车混行、行人横穿、路口复杂交互等,感知与决策逻辑更贴合国内交通规则与驾驶习惯,远优于国外开源框架。背靠百度高精地图、云端算力、海量路测数据,车企与供应商生态完善,车路协同(V2X)能力集成度高,适合园区、城市道路等规模化落地项目。同时支持乘用车、商用车、功能型无人车,覆盖高速、城市道路、泊车、园区封闭场景,版本迭代持续聚焦实用功能。
局限分析
模块多、代码量大、配置项复杂,耦合度偏高,新手上手难度大;小团队做轻量改造、算法替换时,容易被整体架构束缚。强依赖激光雷达、高精地图、高算力平台,对纯视觉、低成本传感器、无图方案支持较弱,不适合低成本、简易场景的开发。纯开源版本仅提供基础能力,高阶城市场景、核心优化策略、量产级工程方案多为商业闭源,开源社区无法直接拿到最先进算法。整体架构围绕百度自身技术路线设计,跨车型、跨传感器平台移植适配工作量大,不如轻量化框架灵活。全模块运行对车载芯片算力要求高,低端嵌入式平台难以流畅跑通,边缘侧轻量化部署难度较大。算法与规则高度面向中国市场,对海外交通法规、道路场景优化不足,国际开发者生态与资料也弱于Autoware等框架。
适用场景总结
更适合:国内商用车/无人小巴量产落地、企业级L4研发、车路协同项目、需要快速工程化的团队。不适合:纯学术研究、低成本小车开发、海外场景、轻量级嵌入式移植、小算力平台。参考:
https://github.com/ApolloAuto/apollo/tree/v11.0.0
声明 |部分图文来源于网络,如有侵权,请联系修改或删除;文章仅代表个人观点,如有不妥,也请联系修改或删除。