【全栈自动驾驶与异构加速】系统学习计划

发布于:2025-08-10 ⋅ 阅读:(15) ⋅ 点赞:(0)

在这里插入图片描述

设计的《无人车系统+异构加速学习计划(GPU & NPU)》,融合了:

  • 自动驾驶技术的系统知识结构
  • 底层硬件与计算系统集成与仿真的知识递进
  • NVIDIA GPU(CUDA / TensorRT)瑞芯微 NPU(RKNN) 推理加速的技能
  • 并按从理论到实践从通用到平台,合理分布学习阶段

🧠【全栈自动驾驶与异构加速】系统学习计划(适合 4–6 个月)

  • 适合人群:具备 Python 编程基础、希望系统学习自动驾驶与模型部署者

  • 最终目标

    • 独立构建一个完整的自动驾驶系统仿真项目(感知–定位–规划–控制)
    • 掌握模型训练 + GPU 加速(TensorRT)+ NPU 部署(RKNN Toolkit)
    • 有能力阅读和修改主流平台(Apollo、Autoware)源码或项目

🧭 总览阶段路径图(由浅入深,层层递进)

阶段 模块 学习目标 推荐时长
🚧 阶段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 模块源码或二次开发实践

🎓 附带推荐书籍与课程资源

🧰 附加建议

GitHub 社区如:awesome-autonomous-vehicles

  • 关注开源项目:Apollo、Autoware、Turtlebot3

网站公告

今日签到

点亮在社区的每一天
去签到