学习建议

先把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)

规划模块综合感知、预测、高精地图等信息,生成一条安全、舒适、合规的行驶轨迹。

分层结构:

自动驾驶apollo技术基础-学习笔记
  • 行为决策:决定跟车、变道、让行、停车等行为;
  • 路径规划:生成空间上的可行驶路径(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 生态的重要组成部分:

  • 支持语音唤醒、导航指令、空调控制、娱乐查询;
  • 可与规划系统联动:“我想去加油站” → 自动规划路线;
  • 支持多轮对话与上下文理解,提升用户体验。

它让自动驾驶不仅“会开”,还“会听、会说、懂你”。