
设计的《无人车系统+异构加速学习计划(GPU & NPU)》,融合了:
- 自动驾驶技术的系统知识结构
- 从底层硬件与计算到系统集成与仿真的知识递进
- NVIDIA GPU(CUDA / TensorRT) 与 瑞芯微 NPU(RKNN) 推理加速的技能
- 并按从理论到实践、从通用到平台,合理分布学习阶段
文章目录
- 🧠【全栈自动驾驶与异构加速】系统学习计划(适合 4–6 个月)
- 🧭 **总览阶段路径图(由浅入深,层层递进)**
- 🚧 阶段1:通用基础与编程环境(底层支撑)
- 📡 阶段2:感知系统(图像/点云处理 + 传感器融合)
- 🧭 阶段3:定位与建图(SLAM)
- 🧠 阶段4:路径规划与决策(中层)
- 🎯 阶段5:运动控制与车辆建模
- ⚙️ 阶段6:仿真平台 + 项目集成实践
- 🔥 阶段7:GPU & NPU 推理加速实践(高级)
- 🧰 推荐工具 & 平台清单
- 📌 总结能力图谱(完成后你将具备)
- 🎓 附带推荐书籍与课程资源
- 🧰 附加建议
🧠【全栈自动驾驶与异构加速】系统学习计划(适合 4–6 个月)
🧭 总览阶段路径图(由浅入深,层层递进)
阶段 | 模块 | 学习目标 | 推荐时长 |
---|
🚧 阶段1 | 通用基础与编程环境 | 搭建开发环境、掌握必要的数学与编程技能 | 3–4 周 |
📡 阶段2 | 感知系统(摄像头+雷达) | 理解并实现图像和点云处理、传感器融合 | 4–5 周 |
🧭 阶段3 | 定位与建图(SLAM + HD Map) | 掌握自主定位、SLAM、地图处理 | 3–4 周 |
🧠 阶段4 | 决策与路径规划算法 | 理解路径规划算法与决策模块的接口设计 | 3–4 周 |
🎯 阶段5 | 运动控制与车辆动力学 | 学会使用 PID/MPC 进行低速/高速控制 | 2–3 周 |
⚙️ 阶段6 | 仿真平台与项目实战 | 在 CARLA 或 Apollo 中部署整套系统 | 3–4 周 |
🔥 阶段7 | GPU/NPU 模型加速部署 | 熟悉 ONNX → TensorRT / RKNN 的流程 | 4–6 周 |
🚧 阶段1:通用基础与编程环境(底层支撑)
📘 学习内容
- 编程语言:Python + C++
- 数学基础:线性代数、概率统计、微积分、优化理论
- 系统基础:Linux + Git + Docker
- 开发框架:ROS2(话题、节点、消息通信)
📌 推荐资源
- 《线性代数及其应用》+ 3Blue1Brown 视频
- ROS2 官方教程 + B 站 ROS 入门系列
- Git + Docker 入门教程(Codecademy / 菜鸟教程)
📡 阶段2:感知系统(图像/点云处理 + 传感器融合)
📘 学习内容
模块 | 内容要点 | 工具或技术 |
---|
摄像头感知 | 图像处理、YOLOv5/Mask-RCNN 等检测算法 | OpenCV, PyTorch |
激光雷达感知 | 点云滤波、聚类、分割、建图 | PCL, Open3D, KITTI 数据集 |
多传感器融合 | EKF/UKF 融合 IMU + GPS + 雷达 | Python + Kalman Filter 仿真 |
📌 推荐资源
- Ultralytics YOLOv5 GitHub 项目
- KITTI / nuScenes 数据集
- 优达学城自动驾驶感知课程(可找公开资料)
🧭 阶段3:定位与建图(SLAM)
📘 学习内容
- SLAM 原理:粒子滤波、扩展卡尔曼滤波、图优化
- ORB-SLAM2、Cartographer、LOAM 使用
- HD Map(高精地图)构建与定位方法
📌 实践任务
- 使用 ROS + ORB-SLAM2 实现 VSLAM
- 分析 Apollo 地图模块源码
🧠 阶段4:路径规划与决策(中层)
📘 学习内容
模块 | 算法 | 应用平台 |
---|
路径规划 | A*、Dijkstra、RRT、Bezier 曲线等 | Python / ROS Navigation Stack |
行为决策 | FSM、行为树、条件状态切换 | Apollo Planning 模块 |
路径优化 | MPC、DP、采样优化等 | ROS + Python仿真 |
📌 实践任务
- 用 Python 实现经典路径规划算法并可视化
- 学习 Apollo 决策模块架构
🎯 阶段5:运动控制与车辆建模
📘 学习内容
- 控制算法:PID、纯追踪、MPC 控制器原理与调试
- 车辆模型:单轨/双轨模型、动态约束建模
- 控制器接口设计与输出指令调试
📌 实践任务
- 用 Python 实现 PID、纯追踪算法
- 将控制器接入 Carla 模拟器进行路径跟踪测试
⚙️ 阶段6:仿真平台 + 项目集成实践
📘 学习内容
工具 | 说明 |
---|
CARLA | 自动驾驶模拟器,适合学习感知、规划、控制整合 |
Apollo | 百度开源平台,具备完整模块化设计 |
Autoware | 开源自动驾驶平台,适用于多车型仿真 |
📌 项目任务
- 使用 Carla 搭建完整感知-决策-控制系统
- Apollo 跑通城市道路仿真(规划+控制+感知模块可选)
🔥 阶段7:GPU & NPU 推理加速实践(高级)
📘 统一加速流程
步骤 | 工具 |
---|
模型训练 | PyTorch / TensorFlow |
模型导出 | ONNX |
GPU 加速部署 | TensorRT (trtexec , API) |
NPU 加速部署 | RKNN Toolkit(瑞芯微) |
📌 任务安排(共 8 周)
周数 | 内容 | 工具 | 实践项目 |
---|
第1周 | 模型训练与 ONNX 导出 | PyTorch | ResNet18 on MNIST |
第2周 | CUDA 并行编程入门 | C++ + CUDA | 编写 CUDA 向量乘法程序 |
第3周 | TensorRT 推理部署基础 | TensorRT | 使用 trtexec 跑 ONNX 模型 |
第4周 | TensorRT Python API + Profiling | TensorRT + Nsight | 对模型推理性能做 profiling |
第5周 | RKNN Toolkit 安装 + 模型转换 | rknn-toolkit2 | ONNX → RKNN |
第6周 | RKNN 部署推理 + 性能对比 | RKNN + Python | 在 RK3588 上部署分类模型 |
第7周 | 部署 YOLOv5 到 GPU & NPU | TensorRT + RKNN | 对比推理时间与精度 |
第8周 | 总结报告 + 优化策略 | Python + 图表 | 输出 GPU vs NPU 对比总结报告 |
🧰 推荐工具 & 平台清单
类别 | 工具平台名称 |
---|
IDE | VS Code + Jupyter + JetBrains 系列 |
数据集 | KITTI、nuScenes、Apollo demo data |
可视化工具 | Netron(模型结构可视化)、RViz(ROS 可视化)、CARLA Simulator |
模型框架 | PyTorch、TensorFlow、ONNX |
加速工具 | CUDA Toolkit、TensorRT、RKNN Toolkit |
📌 总结能力图谱(完成后你将具备)
✅ 理论知识方面:
- 自动驾驶系统完整工作流程(感知 → 决策 → 控制)
- 传感器融合、SLAM、路径规划等核心算法掌握
- GPU / NPU 加速推理框架的构建与分析
✅ 实践能力方面:
- 独立搭建 Carla / Apollo 自动驾驶项目
- 训练 + 导出 + 优化部署模型到 NVIDIA 和瑞芯微平台
- 使用 Python/C++ 写出完整感知/控制模块
✅ 可选扩展方向(完成本计划后)
方向 | 推荐内容 |
---|
强化学习 | OpenAI Gym + Carla 自动驾驶强化学习 |
多车辆系统 | 多车编队、车路协同(V2X、边缘计算) |
SLAM 深入 | VINS-Fusion、LIO-SAM(多模态感知) |
开源社区 | 深入 Apollo / Autoware 模块源码或二次开发实践 |
🎓 附带推荐书籍与课程资源
- 书籍:
- 《Probabilistic Robotics》——经典的 SLAM 理论书籍
- 《CUDA by Example》——NVIDIA 官方推荐入门书
- 《Deep Learning for Self-Driving Cars》
- 课程:
- MIT 6.S094: Deep Learning for Self-Driving Cars
- Udacity 自驾车工程师课程
- 瑞芯微 RKNN Toolkit2 官方 GitHub
- Coursera:自动驾驶工程师路径
- Udacity:Self-Driving Car Engineer
- https://deeplearning.mit.edu/
- B站:无人车/ROS/CARLA教程合集
- GitHub:awesome-autonomous-vehicles 搜索开源项目
- Bilibili 上中文 Apollo 系列讲解
🧰 附加建议
GitHub 社区如:awesome-autonomous-vehicles
- 关注开源项目:Apollo、Autoware、Turtlebot3