VIP10
本课程属于:066-Apollo规划决策与控制集成工程 智能汽车与新能源汽车工程 · 共 10 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Apollo模块编译从入门到上手

📚 共计 30 章节
01
Apollo与编译环境
Apollo项目简介 · Cyber RT概述 · Ubuntu环境准备 · Docker安装与配置
环境Docker
02
源码获取与目录结构
Git拉取Apollo源码 · 核心目录解析 · 代码版本管理
Git结构
03
编译工具链入门
Bazel基础概念 · BUILD文件结构 · 依赖管理 · 编译标签
BazelBUILD
04
第一个模块编译
创建简单C++模块 · 编写BUILD文件 · bazel build · 运行测试
实战入门
05
模块依赖与链接
内部依赖 · 外部依赖 · 动态库与静态库选择
依赖链接
06
Proto消息定义
Protobuf基础 · 编写.proto · 生成C++代码 · 模块中使用Proto
Protobuf序列化
07
Cyber RT通信机制
Writer/Reader模式 · Channel · 消息发布订阅 · 回调函数
Cyber RT通信
08
Component组件开发
Component基类 · Init/Proc · DAG/Launch配置 · 生命周期
组件框架
09
编译优化技巧
增量编译 · Bazel缓存 · 并行编译 · 远程缓存配置
优化缓存
10
调试与日志
glog日志 · VLOG级别 · GDB调试 · Core Dump分析
调试日志
11
单元测试框架
Google Test集成 · 编写测试用例 · bazel test · 覆盖率报告
测试GTest
12
模块参数配置
配置文件格式 · 参数服务器 · 动态配置更新
配置参数
13
Sensor数据接入
LiDAR驱动 · Camera驱动 · 数据包录制与回放
传感器Record
14
感知模块编译
感知模块结构 · 依赖梳理 · 常见编译错误 · perf分析
感知编译
15
规划模块编译
规划架构 · EM Planner依赖 · QP求解器 · 编译时间优化
规划EM
16
控制模块编译
控制算法 · LQR/MPC依赖 · 实时性 · 编译选项调整
控制LQR
17
地图模块编译
HD Map结构 · Pose与坐标变换 · 地图加载缓存 · 内存控制
地图HD Map
18
预测模块编译
预测算法依赖 · 深度学习模型 · ONNX Runtime · GPU支持
预测ONNX
19
工具链扩展
自定义Bazel规则 · 宏定义 · 代码生成 · lint检查
工具链宏
20
交叉编译
ARM架构编译 · aarch64工具链 · 交叉编译Bazel配置 · 部署工控机
交叉编译ARM
21
Docker镜像定制
修改dev镜像 · 添加依赖库 · 优化镜像大小 · 多阶段构建
Docker镜像
22
持续集成(CI)
Jenkins配置 · GitHub Actions · 自动编译测试 · 质量门禁
CIJenkins
23
模块间通信调试
Cyber Monitor · Channel可视化 · 消息延迟分析 · 带宽监控
调试Monitor
24
性能剖析与优化
Bazel编译性能分析 · 启动时间优化 · 内存泄漏检测(Valgrind)
性能Valgrind
25
多版本管理
分支策略 · 版本号规范 · Changelog · 回滚方案
版本Git
26
第三方库管理
添加新依赖 · 版本冲突解决 · Patch管理 · 本地仓库搭建
依赖第三方
27
模块热加载
动态加载技术 · Plugin机制 · 运行时替换 · 安全注意事项
热加载Plugin
28
安全编译
ASAN/UBSAN · 代码扫描 · 依赖漏洞扫描
安全ASAN
29
大规模编译
分布式编译(distcc) · Bazel远程执行 · 编译集群搭建
分布式集群
30
实战项目
感知-规划-控制闭环模块 · 完整编译流程 · 实车测试验证
实战闭环