课程介绍

  • 贴近实战的工程项目,可写进简历
  • 一个项目学会算法开发的主要技能,快速上手自动驾驶
  • 经典决策规划算法(EM planner)原理拆解,不再畏惧复杂的算法
  • Linux 和 ROS2 应用技巧,扩展就业面
  • 从零开始的架构设计与搭建,提升软件开发能力的档次
  • 工程级代码,规范地编写 C++ 代码
  • 手把手教学,一对一售后

试看链接  https://pan.baidu.com/s/1DqJfJXcrET0uG1Gtopo3-Q?pwd=kqct

相关推荐

人工智能深度学习系统班第十四期

ROS2 机器人应用开发工程师(完结)

J4:具身智能机器人从入门到产业应用

课程目录

一、绪论

  1. 课程介绍
    1.1. 课程概述
    1.2. 授课对象
    1.3. 课程收获
    1.4. 课程内容
    1.5. 授课方式

  2. 版权声明

  3. 决策规划概述
    3.1. 端到端还是基于规则?
    3.2. 一般自动驾驶的软件架构
    3.3. 决策规划的几种常见代码架构
    3.4. 对决策规划的要求

  4. 前置准备
    4.1. 自动驾驶基本概念
    4.2. C++基础语法与数据结构
    4.3. Linux 基础指令
    4.4. ROS2 基础
    4.5. CMake 基础
    4.6. 数学基础
    4.7. 电脑

二、工具链与环境搭建

  1. 工具链概述
    1.1. 为什么选择 ROS2
    1.2. Ubuntu 与 ROS2 版本对应关系
    1.3. 基于 ROS2 的编译过程
    1.4. ROS2 的通信机制
    1.5. ROS2 的坐标系变换
    1.6. 与 ROS2 相关的可视化与仿真工具

  2. Ubuntu 的安装

  3. Vscode 的安装

  4. Cmake 的安装

  5. ROS2 的安装
    5.1. 设置语言环境
    5.2. 添加存储库
    5.3. 添加软件源
    5.4. 安装 ROS2
    5.5. 配置环境
    5.6. 测试 ROS2

  6. terminator 的安装

  7. colcon 工具的安装

  8. tf 工具的安装

  9. joint-state-publisher 工具的安装

  10. 三方库的安装
    10.1. Eigen
    10.2. osqp
    10.3. osqp-eigen
    10.4. yaml-cpp
    10.5. matplotlib

  11. ROS2 命令行操作常用指令

三、项目架构设计与搭建

  1. 程序流程设计

  2. 架构设计

  3. 代码编写

  4. 配置文件的实现

  5. 车辆模型的实现
    5.1. 车辆模型效果
    5.2. 车辆模型的搭建原理
    5.3. 车辆模型的代码实现

  6. launch 文件的实现

  7. 本章小结

四、数据接口定义

  1. 数据接口概述

  2. ROS2 自带的数据接口
    2.1. ROS2 原始数据类型
    2.2. std_msgs
    2.3. geometry_msgs
    2.4. nav_msgs
    2.5. visualization_msgs

  3. 自定义话题通信接口
    3.1. PNCMap
    3.2. ReferencePoint 和 Referline
    3.3. LocalPathPoint 和 LocalPath
    3.4. LocalSpeedsPoint 和 LocalSpeeds
    3.5. LocalTrajectoryPoint 和 LocalTrajectory
    3.6. ObsInfo
    3.7. PlotInfo

  4. 自定义服务通信接口
    4.1. PNCMapService
    4.2. GlobalPathService

五、PNC 地图与全局规划

  1. PNC 地图
    1.1. 作用
    1.2. 流程

  2. 全局规划
    2.1. 作用
    2.2. 算法
    2.3. 流程

  3. 代码编写

  4. 大作业 1:自行设计地图并用 A*算法实现全局路径规划

六、参考线

  1. 概述
    1.1. 作用
    1.2. 算法
    1.3. 流程
    1.4. 对参考线的要求

  2. 匹配点与投影点搜索

  3. 投影点参数计算

  4. 参考线平滑
    4.1. 对平滑的要求
    4.2. 代价函数的设计
    4.3. 二次规划

  5. 代码编写

  6. 大作业 2:用牛顿法求解函数的根,并用 C++实现

  7. 大作业 3:参考线拼接

七、路径决策与规划

  1. 概述
    1.1. 作用
    1.2. 算法
    1.3. 流程

  2. 凸空间的概念

  3. 规划的起点

  4. Frenet 坐标系

  5. 向参考线投影与坐标系的相互转换

  6. 多项式曲线

  7. 针对动态障碍物的路径规划

  8. 代码编写

八、运动的实现

  1. 概述
    1.1. 作用
    1.2. 算法
    1.3. 流程

  2. 代码编写

  3. 大作业 4:自行编写控制模块

九、速度决策与规划

  1. 概述
    1.1. 作用
    1.2. 算法
    1.3. 流程

  2. 向路径投影

  3. ST 图

  4. 针对静态障碍物的减速规划

  5. 代码编写

十、轨迹合成

  1. 概述
    1.1. 作用
    1.2. 算法
    1.3. 流程

  2. 代码编写

十一、代码完善与综合调试

  1. 静态绕障场景

  2. 同车道障碍物的交互

  3. 动态避障场景

  4. 大作业 5:自行设计场景并用代码实现

十二、课程总结