← 返回首页
学习路线概览
第一阶段:基础理论
- 自动驾驶等级划分 (L0-L5)
- 传感器原理:LiDAR、Camera、Radar
- 坐标系转换与标定
- 概率论与状态估计基础
第二阶段:感知系统
- 目标检测:YOLO、PointPillars
- 语义分割与车道线检测
- 多传感器融合:Kalman Filter
- 3D 目标检测与跟踪
第三阶段:定位与建图
- SLAM 基础:视觉 SLAM、激光 SLAM
- 高精地图构建与使用
- GNSS/IMU 融合定位
- NDT、ICP 配准算法
第四阶段:规划与控制
- 行为规划:状态机、行为树
- 运动规划:A*、RRT、Lattice
- 轨迹优化:样条曲线、优化方法
- 控制算法:PID、MPC、LQR
ROS2 学习路径
ROS2 基础
- 节点 (Node) 与话题 (Topic)
- 服务 (Service) 与动作 (Action)
- 参数服务器与 Launch 文件
- DDS 通信机制
ROS2 进阶
- 自定义消息与服务
- tf2 坐标变换
- 导航栈 Nav2
- 仿真环境 Gazebo/Rviz2
推荐资源
- ROS2 官方文档
- 《ROS Robot Programming》
- Autonomous Systems Lab 课程
- The Construct 在线平台
Apollo 开发框架
Apollo 架构
- 感知模块 (Perception)
- 预测模块 (Prediction)
- 规划模块 (Planning)
- 控制模块 (Control)
- 定位模块 (Localization)
开发环境搭建
- Docker 容器部署
- Dreamview 可视化
- 仿真场景配置
- 模块调试方法
学习建议
- 先跑通 Demo,理解数据流
- 阅读源码,理解模块设计
- 修改参数,观察行为变化
- 尝试自定义场景
Autoware 开源框架
Autoware.ai vs Autoware.Auto
- Autoware.ai: ROS1 版本,功能完整
- Autoware.Auto: ROS2 版本,架构更优
- Autoware.Universe: 最新统一版本
- 根据项目需求选择合适版本
核心模块
- 感知:点云处理、目标检测
- 定位:NDT 匹配、EKF 融合
- 规划:路径生成、避障
- 控制:纯跟踪、MPC
CARLA 仿真平台
CARLA 特点
- 开源自动驾驶仿真器
- 高保真城市环境
- Python/C++ API
- 支持多传感器配置
- 预置场景与天气系统
学习路径
- 熟悉 CARLA 基本操作
- Python API 控制车辆
- 传感器数据采集
- 自定义场景与地图
- 与 ROS/Apollo 集成
推荐项目
- 端到端驾驶模型训练
- 强化学习路径规划
- 传感器融合算法验证
- Corner Case 场景测试
推荐学习资源
在线课程
- Udacity Self-Driving Car Nanodegree
- Coursera Introduction to Self-Driving Cars
- MIT 6.S094: Deep Learning for Self-Driving Cars
开源数据集
- KITTI: 经典自动驾驶数据集
- nuScenes: 大规模多传感器数据
- Waymo Open Dataset
- ApolloScape: 高精地图数据
经典论文
- End-to-End Learning for Self-Driving Cars
- PointPillars: 3D Object Detection
- CenterPoint: Center-based 3D Detection