Apollo 深入解析
dig-into-apollo
车载/ADAS
🧩 软硬件结合
已发布
项目简介
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
Apollo notes (Apollo学习笔记) - Apollo learning notes for beginners.
标签
项目特点
**从代码分析到工程智慧**:项目核心从逐行代码解析,转向设计模式、架构演进和问题解决框架。
**聚焦工程哲学与故障诊断**:提出“Apollo 增强提案”(PEPs),分享系统故障事后分析和毫秒级延迟优化策略。
**经典代码分析存档**:保留了 Apollo 各模块(Cyber、感知、规划、控制等)的详细代码学习笔记,作为基础参考。
**面向初学者到进阶者**:提供从宏观理解到模块深入、再到实践改进的完整学习路径。
技术规格
| 目标系统 | |
|---|---|
| 学习内容 | |
| 主要模块 | |
| 学习路径 | |
| 预估学习周期 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| Apollo 源码 | 1 | — | 从 GitHub 克隆 |
| Docker | 1 | — | 用于构建和运行 Apollo |
| LGSVL 模拟器 | 1 | — | 用于仿真测试 |
| C++ Primer | 1 | — | C++ 基础学习 |
| 侯捷 C++ 课程 | 1 | — | 推荐 B 站资源 |
| 李宏毅深度学习 | 1 | — | 理论深度 |
| 3Blue1Brown 数学 | 1 | — | 数学基础 |
所需工具
计算机(3D建模)
必需
能力画像
⚪ 记忆与知识检索: 3/5
🔵 逻辑推演: 4/5
⚪ 表达与交流: 2/5
⚪ 感知与观察: 2/5
⚪ 数理与计算: 4/5
⚪ 动手与操作: 3/5
⚪ 狂热与坚持: 5/5
⚪ 创造与创新: 4/5
视频
all
BV1JE411g7XF
88461692
所需技能
🔧 **动手能力**:需要能够搭建 Docker 环境、编译 Apollo 源码、配置仿真器并运行测试。
💻 **编程能力**:需要扎实的 C++ 基础(推荐 C++ Primer 或侯捷课程),能够阅读和理解复杂的自动驾驶代码。
⚡ **电子电路**:不涉及硬件电路,但需要理解自动驾驶系统各模块的软件架构和算法原理。
适用场景
**自动驾驶工程师入门**:系统学习 Apollo 架构和代码实现,从宏观到微观理解自动驾驶系统。
**代码分析进阶**:从逐行代码阅读转向设计模式和工程权衡分析,提升系统设计能力。
**故障排查实践**:学习生产环境中系统故障的诊断方法和性能优化策略。
**学术研究参考**:作为自动驾驶算法和工程实现的参考资料,结合论文进行实践。