学习建议
先把demo“跑起来”,再“看明白”,最后“改得了”代码。
更详细的学习网址:自动驾驶技术基础,想提前了解学习内容可继续往下看。
无人驾驶开源平台的主要部分
在自动驾驶系统中,各个模块紧密协作,形成一个完整的“感知-决策-执行”闭环。以下是关于高精地图、定位、感知、预测、规划与控制等核心模块的学习概述。
1. 高精地图(HD Maps)——系统的“先验知识库”
高精地图是自动驾驶系统的基础支撑层,几乎服务于软件栈中的所有其他模块:
- 定位
:提供厘米级道路几何与语义信息,辅助车辆精准定位; - 感知
:作为先验信息,帮助识别车道线、交通标志、坡度曲率等; - 预测与规划
:提供车道拓扑结构,支持行为预测和路径生成; - 优势
:相比普通导航地图,具备更高精度(厘米级)、更丰富语义(如车道类型、停止线位置)和动态更新能力。
2. 定位(Localization)——我在哪里?
自动驾驶车辆必须实时知道自己在道路上的精确位置(通常要求误差小于20厘米)。
主要技术手段:
-
利用 激光雷达(LiDAR)点云 或 摄像头图像,将传感器采集的数据与高精地图进行比对; -
结合 GNSS(全球卫星定位)+ IMU(惯性测量单元)+ 轮速计进行多源融合; -
常用算法:ICP(迭代最近点)、NDT(正态分布变换)、粒子滤波等。
📌 关键点:即使在GPS信号弱的隧道或城市峡谷中,也能通过地图匹配实现稳定定位。
3. 感知(Perception)——我看懂了这个世界
感知模块负责从传感器数据中提取环境信息,回答:“周围有什么?它们在哪?怎么动?”
核心任务:
-
目标检测:识别车辆、行人、非机动车、交通灯等; -
语义分割:区分地面、车道线、障碍物等区域; -
实例分割:为每个物体单独标注边界; -
跟踪(Tracking):持续追踪目标运动轨迹。
技术支柱:深度学习
-
卷积神经网络(CNN)是主流工具,广泛应用于图像分类、目标检测(如YOLO、Faster R-CNN)和分割任务; -
当前趋势:向 BEV(Bird’s Eye View)感知 和 Occupancy Networks演进,提升空间理解能力。
4. 预测(Prediction)——他下一步会怎么走?
预测模块关注其他交通参与者(如车辆、行人)的未来行为,为规划提供依据。
核心挑战:
-
行为不确定性高(突然变道、加塞、横穿马路); -
需结合历史轨迹、意图判断与场景上下文。
常用方法:
-
递归神经网络(RNN) 及其变体(如LSTM、GRU),擅长处理时间序列数据,可用于建模物体运动轨迹; -
图神经网络(GNN):建模多智能体交互关系; -
概率模型:输出多种可能的未来轨迹及其置信度。
目标:不仅预测“去哪里”,还要预测“以什么方式去”。
5. 规划与控制(Planning & Control)——我该怎么走 & 如何执行?
这是自动驾驶的“大脑”与“小脑”协同工作部分。
🔹 规划(Planning)
规划模块综合感知、预测、高精地图等信息,生成一条安全、舒适、合规的行驶轨迹。
分层结构:

-
行为决策:决定跟车、变道、让行、停车等行为; -
路径规划:生成空间上的可行驶路径(x, y); -
速度规划:设计合理的速度曲线(v, a); -
轨迹生成:输出完整时空轨迹(x, y, θ, v, a, t)。
难点:需应对复杂交通博弈、长尾场景和实时性要求,被认为是构建自动驾驶最难的部分之一。
🔹 控制(Control)
控制模块负责将规划好的轨迹转化为车辆的实际动作。
执行方式:
-
横向控制:方向盘转角控制,确保车辆沿轨迹行驶(常用PID、MPC、Stanley控制器); -
纵向控制:油门与刹车控制车速和加速度。
开源软件架构
百度 Apollo 自动驾驶平台采用分层化、模块化的系统架构设计,整体可分为三个核心层次:
1. 实时操作系统层(RTOS)
2. 运行时框架层(Runtime Framework)
3. 应用程序模块层(Application Modules)
这种分层设计实现了软硬件解耦、模块独立开发、系统高可靠性与可扩展性,是工业级自动驾驶系统的典型架构。
Apollo 云服务体系概览
Apollo 云服务主要包括以下六大核心模块:
仿真系统(Simulation)——让自动驾驶在“虚拟世界”中成长
为什么需要仿真?
真实道路测试成本高、周期长、风险大,且难以覆盖极端场景(如鬼探头、雨天急刹)。而仿真系统可以在安全、可控、可重复的环境下,高效验证算法性能。
Apollo 仿真系统的核心能力
典型应用场景
-
新感知模型上线前,在仿真中测试误检率; -
规划算法优化后,验证变道成功率; -
极端天气下(雾、雨)控制稳定性测试; -
Robotaxi 商业运营前的大规模压力测试。
数据平台(Data Pipeline)——驱动AI模型进化的“燃料工厂”
📌 自动驾驶是“数据密集型”系统
Apollo 的感知、预测、规划等模块大量依赖深度学习模型,而这些模型的性能直接取决于数据质量与迭代速度。数据平台正是为此打造的自动化流水线。
🔄 数据闭环流程(Data-Centric AI)
1. 数据采集 → 2. 数据上传 → 3. 自动标注 → 4. 模型训练 → 5. 仿真验证 → 6. OTA部署 → 7. 新数据反馈
这就是 Apollo 的 “数据飞轮”(Data Flywheel),实现持续进化。
🧱 数据平台核心组件
优势亮点
-
降低标注成本:自动化标注节省80%以上人力; -
加速模型迭代:从“发现问题”到“重新训练”可在24小时内完成; -
聚焦长尾问题:通过数据挖掘主动识别边缘场景,提升系统安全性。
💡 经典案例: 当一辆 Apollo 车辆在现实中遇到“无法识别的锥桶”,该片段会被上传至云端 → 自动标注 → 加入训练集 → 更新模型 → 推送 OTA → 所有车辆都学会了识别这种锥桶。
🤖 补充:DuerOS 智能语音系统 —— 车内的人机交互入口
虽然不属于传统自动驾驶算法模块,但 DuerOS是 Apollo 生态的重要组成部分:
-
支持语音唤醒、导航指令、空调控制、娱乐查询; -
可与规划系统联动:“我想去加油站” → 自动规划路线; -
支持多轮对话与上下文理解,提升用户体验。
它让自动驾驶不仅“会开”,还“会听、会说、懂你”。