- 本课程包括:
- 3个月群内答疑,讲师助教及时解答
- 课程有效期为1年,建议合理规划学习
- 课程配有作业练习,助教一对一批改
- 班主任带班,严格督学,告别拖延
- 根据学习情况颁发结业证书、优秀学员证书
乌宁
自动驾驶公司首席研究科学家,规划控制团队负责人,新加坡国立大学博士。具有10年以上机器人规划控制的研发经验,获得多项自动驾驶专利,并发表多篇机器人、自动驾驶论文。
自动驾驶规划控制模块负责输出油门/刹车、方向盘的组合操作,直接决定着自动驾驶的安全性及舒适度。
由于自身的假设以及建模方法不同,各类规划控制方法均存在优劣且适用于不同的场景,比如低速或者高速、直道或者弯道。尽管一些博客文章对部分算法的原理做了简要介绍,但依然没有系统梳理算法的原理推导以及优劣。这门课程希望弥补这些不足,课程不仅会详细讲解主流的规控算法的原理,而且分享算法落地实践的经验,并通过丰富的Project让大家巩固课程中的所学。
课程目标
- 了解自动驾驶的规划控制在整个自动驾驶中的作用
- 学会如何建立车辆几何模型、车辆运动学模型以及车辆动力学模型,如何对一些重要的参数进行辨识
- 学会设计多种控制器(PID, LQR, MPC)去解决自动驾驶中的控制问题,提升车辆的轨迹追踪、自适应巡航等的性能
- 学会如何通过有限状态机(Finite-state machine)在动态环境下规划出一条避开障碍物并符合车辆动力学的路径,如何在复杂环境下做出合理决策等
- 掌握规划领域的Dijkstra,A*等路径规划的方法,运动规划的方法以及在不确定性条件下的规划问题
- 基于所学理论基础,完成自动巡航控制、轨迹跟踪、避障轨迹规划、路径规划等项目。让大家达到融会贯通的效果
课程脉络
- 课程会由控制(底层)到规划(上层),由浅至深的讲解和梳理
- 控制部分
◎从车辆底层几何学、动力学模型分析开始,让同学们首先建立起对车辆模型的深入了解
◎通过对基础控制学理论的回顾,将这些知识由浅入深地运用到各个不同的实例中,并且实例对比不同方法的优劣及其适应的场景
- 规划部分
◎根据经典的路径规划、决策规划到运动规划的顺序进行讲解
课程大纲
-
第1章:自动驾驶规划控制概况
本章节首先介绍自动驾驶的基本概念及无人车的组成部分和功能,接着会介绍规划控制的基本组成模块,最后从课程结构的角度梳理整个课程的学习线路和学习建议。
-
第2章:车辆纵向控制
本章首先介绍车辆的纵向运动模型,包括轮胎纵向力、滚动阻力、空气阻力;接着介绍将用于车辆纵向控制中的经典反馈控制,包括传递函数,拉普拉斯变换,开环和闭环系统,还会介绍PID控制及其参数整定的方法,最后介绍两种最常见的车辆纵向控制系统:巡航控制和自适应巡航控制。
-
第3章 车辆横向控制
本章首先介绍自行车模型及利用阿克曼转向几何知识的车辆横向运动学模型,然后介绍现代控制理论,包括系统稳定性、传递函数的局限性、状态空间方程建模及现代控制理论中的能控性和能观性,最后介绍两种基于几何的车辆横向控制方法:纯跟踪法和Stanley法。
-
第4章 车辆轨迹追踪的优化控制
课程亮点
-
项目一:纵向自动巡航控制
根据相应的场景,设计车辆的纵向自动巡航控制器。
-
项目二:横向轨迹跟踪:基于车辆几何模型
根据车辆的几何模型,设计一个以Stanley方法轨迹跟踪控制器。
-
项目三:横向轨迹跟踪:基于车辆线性运动学模型
根据车辆的线性运动学模型(kinematics model),设计一个以LQR方法的轨迹跟踪控制器。
-
项目四:轨迹跟踪:基于车辆非线性动力学模型
根据车辆的非线性动力学模型(dynamic model),设计一个以MPC方法的轨迹跟踪控制器。
-
项目五:避障轨迹规划
根据设定的场景(避障、超车)进行合理安全舒适的轨迹规划。
-
项目六:路径规划
项目将实践从起始点根据指定的cost,规划一条合理的路径到达目标终点。
- 课程适合谁学习
- 希望从事自动驾驶规划控制研发的在校学生,尤其是机械、电子电气、计算机、自动化等专业的同学
- 已经在从事自动驾驶规划控制相关领域的研发工程师
- 自动驾驶或者机器人企业中其他方向的研发工程师,以及系统工程师
- 课程所需的基础知识
- 线性代数, 微积分,概率论
- 控制理论基础,现代控制理论
- 动态规划等优化的知识
- C/C++编程基础
- 掌握ROS基础知识
- 课程所需的硬件配置
- Ubuntu 18.04/20.04
- NVIDIA显卡显存6G及以上
- 100 G硬盘空间
全方位的学习服务
-
作业批改 助教1V1批改作业,定期针对作业中的“通病”进行点评
-
实时答疑 讲师微信群答疑,及时解决大家遇到的问题
-
结业证书 本课程将根据作业完成情况评选结业学员及优秀学员,颁发证书
-
班班督学 班主任全程带班,不定时“关照”未交作业的同学,克服拖延
相关推荐
在整个自动驾驶技术中,车辆的规划控制是最终汇总所有传感器、定位信息,并控制车辆安全行驶的模块。该模块的目标是规划出一条适合车辆行进的轨迹,进而通过对方向盘、油门及刹车的控制,使得车辆准确地追踪这条轨迹。为方便大家了解完整的自动驾驶技术间的关系和模块衔接推荐学习下面的课程内容。
-
第1节: 课前资料
- 1-1:【文档】课程介绍及基础资料
- 1-2:【资料】综述论文
- 1-3:【资料】CARLA-ROS 联合仿真环境搭建(仅参考,根据自己电脑情况来安装即可)
- 1-4:【资料】自动驾驶控制与规划开课仪式
- 2-1:【直播回放】控制规划202301期直播答疑(4.9)
- 2-2:【资料】作业相关问题讲解
- 2-3:【资料】乌宁老师直播答疑问题讲解
- 3:【资料】规控代码调试问题
-
第1章: 自动驾驶规划控制概况 4节课程·44分钟
本章节首先介绍自动驾驶的基本概念及无人车的组成部分和功能,接着会介绍规划控制的基本组成模块,最后从课程结构的角度梳理整个课程的学习线路和学习建议。
- 4:【课件】L1 Introduction
-
第1节: 什么是无人车, 自动驾驶的不同的等级
- 5:【视频】What's Autonomous Vehicle ?
-
第2节: 无人车的基本组成部分以及功能介绍
- 6:【视频】General Architecture of Autonomous Vehicle
-
第3节: 规划控制的基本组成
- 7:【视频】What's PnC in Autonomous Vehicle ?
-
第4节: 课程结构-控制、规划
- 8:【视频】Course structure
-
第2章: 车辆纵向控制 5节课程1篇阅读材料·1次作业·1小时56分钟
本章首先介绍车辆的纵向运动模型,包括轮胎纵向力、滚动阻力、空气阻力;接着介绍将用于车辆纵向控制中的经典反馈控制,包括传递函数,拉普拉斯变换,开环和闭环系统,还会介绍PID控制及其参数整定的方法,最后介绍两种最常见的车辆纵向控制系统:巡航控制和自适应巡航控制。
- 9:【课件】L2 Vehicle Longitudinal Control
-
第1节: 车辆纵向模型
- 10:【视频】Longitudinal Vehicle dynamics
-
第2节: 经典控制理论
- 11:【视频】Classical feedback control
-
第3节: 巡航系统
- 12:【视频】Cruise Control
-
第4节: 自适应巡航系统
- 13:【视频】Adaptive Cruise Control
-
第5节: 实践作业
- 14-1:【作业】第二章
- 14-2:【代码】Project1 PID ROS2
- 14-3:【代码】Project1 PID ROS1
- 14-4:【作业思路讲解】第二章
-
第3章: 车辆横向控制 4节课程1篇阅读材料·1次作业·1小时47分钟
本章首先介绍自行车模型及利用阿克曼转向几何知识的车辆横向运动学模型,然后介绍现代控制理论,包括系统稳定性、传递函数的局限性、状态空间方程建模及现代控制理论中的能控性和能观性,最后介绍两种基于几何的车辆横向控制方法:纯跟踪法和Stanley法。
- 15-1:【课件】Autonomous Vehicle.
- 15-2:【参考文献】
-
第1节: 车辆横向模型
- 16:【视频】Lateral vehicle dynamics
-
第2节: 现代控制理论基础
- 17:【视频】Modern Control Theory Background
-
第3节: 基于几何模型的车辆横向控制
- 18:【视频】Lateral control based on Geometric Model
-
第4节: 实践作业
- 19-1:【代码】Project2 Stanley ROS1
- 19-2:【代码】Project2 Stanley ROS2
- 20-1:【作业】第三章
- 20-2:【作业思路讲解】第三章
-
第4章: 车辆轨迹追踪的优化控制 7节课程1篇阅读材料·1次作业·1小时49分钟
本章将介绍车辆高速行驶时十分重要的横向动力学特性,然后介绍最优控制中的LQR算法,并将其用于车辆轨迹跟踪控制器的设计当中,最后引入preview控制来提高跟踪效果,并在状态空间中建立车辆的跟踪误差模型。
- 21:【课件】Session 4 v4.1
-
第1节: 车辆动力学模型
- 22:【视频】Lateral dynamic model
-
第2节: 线性优化系统
- 23-1:【视频】 Linear Optimal Control
- 23-2:【资料】状态反馈介绍及视频资料
-
第3节: 离散化
- 24:【视频】From continuous time to discrete time
-
第4节: 基于LQR的轨迹追踪
- 25:【视频】Trajectory tracking with LQR
-
第5节: 基于preview的轨迹追踪
- 26:【视频】Trajectory tracking with Preview Control
-
第6节: 轨迹追踪方法的总结及对比
- 27:【视频】 Different controller comparison
-
第7节: 实践作业
- 28-1:【代码】Project3 LQR ROS1
- 28-2:【代码】Project3 submit ROS2
- 29-1:【作业】第四章
- 29-2:【作业思路讲解】第四章
- 30-1:【资料】面试题第四章
- 30-2:【资料】面试题解题思路 第四章
-
第5章: 基于MPC的车辆控制及轨迹规划 8节课程1篇阅读材料·1次作业·2小时21分钟
本章首先介绍模型预测控制(MPC)的基本理论及优点,其次介绍基于车辆非线性模型的MPC,最后推广到车辆的纵向控制和横向控制中。
- 31-1:【课件】MPC
- 31-2:【资料】MPC相关论文
-
第1节: 什么是MPC
- 32:【视频】什么是MPC
-
第2节: MPC formulation
- 33:【视频】MPC formulation
-
第3节: 车辆运动控制
- 34-1:【视频】车辆运动模型的构建
- 34-2:【视频】目标函数的构建
- 34-3:【视频】不等式约束与松弛因子
-
第4节: MPC求解
- 35:【视频】主流的求解器及MPC加速
-
第5节: MPC的简单案例
- 36:【视频】 MPC a simple example
-
第6节: MPC的优劣势
- 37:【视频】MPC summary
-
第7节: 实践项目
- 38-1:【资料】MPC模型构建说明
- 38-2:【资料】MPC实践代码
-
第8节: 作业
- 39:【代码】Project4 mpc ROS2
- 40-1:【作业】第五章
- 40-2:【作业思路讲解】第五章
- 40-3:【资料】相关面试题第五章
- 40-4:【资料】面试题解题思路 第五章
-
第6章: 动作规划 4节课程1篇阅读材料·1次作业·1小时22分钟
本章介绍局部规划中的一些基本概念,然后介绍基于图搜索和采样的局部路径规划方法,最后介绍轨迹平滑优化方法。
- 41:【课件】L6.pdf
-
第1节: 动作规划的任务以其基本概念
- 42:【视频】基本概念与术语
-
第2节: 基于随机采样的动作规划
- 43:【视频】RRT与RRT*
-
第3节: Lattice planner
- 44-1:【补充资料】Frenet - Cartesian Transformation
- 44-2:【视频】Lattice Planner
-
第4节: 实践作业
- 45-1:【代码】Lattice_ROS1_with_todo
- 45-2:【代码】Project5 lattice ROS2
- 46-1:【作业】第六章
- 46-2:【作业思路讲解】第六章
- 46-3:【资料】相关面试题及解题思路 第六章
-
第7章: 决策规划 6节课程·1小时22分钟
本章介绍目前常见的行为决策规划方法,包括有限状态机、马尔可夫决策过程和模仿学习的方法,并对上述行为决策方法的优缺点进行比较。
- 47-1:【课件】 FSM & BT
- 47-2:【课件】learning-based decision planning
-
第1节: 决策规划的任务以其问题
- 48:【视频】决策规划问题引入
-
第2节: 基于有限状态机的决策规划
- 49:【视频】有限状态机
-
第3节: 基于行为树的方法
- 50:【视频】行为树的决策规划方法
-
第4节: 基于部分可观的Markov决策过程
- 51-1:【资料】基于学习的决策规划背景知识
- 51-2:【视频】POMDP
-
第5节: 基于模仿学习的决策规划
- 52:【视频】imitation learning
-
第6节: 总结
- 53:【视频】方法总结
- 54:【资料】相关面试题及解题思路 第七章
-
第8章: 路径规划 5节课程1篇阅读材料·1次作业·1小时12分钟
本章介绍目前常见的全局路径规划方法,包括动态规划和基于图搜索(如A*)的方法,并对这些算法的优缺点进行比较。
- 55:【课件】自动驾驶的路径规划
-
第1节: 路径规划的任务以其问题
- 56:【视频】路径规划问题引入
-
第2节: Dijkstra
- 57:【视频】Dijkstra算法原理
-
第3节: A star
- 58:【视频】A star算法
-
第4节: 自动驾驶中的路径规划
- 59:【视频】lane graph的损失
-
第5节: 实践作业
- 60-1:【代码】Project6 noetic ROS1
- 60-2:【代码】Project6 foxy ROS2
- 61-1:【作业】第八章
- 61-2:【作业思路讲解】第八章
- 61-3:【资料】相关面试题及解题思路 第八章
课程讨论区
已累计讨论26495个问题
课程配备专属讨论区,不仅有讲师、助教全程答疑,更能与同学们交流讨论,在思维碰撞中加深理解
在课程中随想随问,同学们的问题也可能启发到你
在课程讨论区,和684位同学一起探讨更多问题···
作业批改
已累计批改4951份作业
助教一对一批改作业,定期针对作业中的问题进行评讲
结业证书
课程根据作业完成情况评选结业学员及优秀学员,颁发证书
优秀学员更能获得额外购课优惠
班班督学
班班、助教、讲师全程带班,日常答疑解惑
FAQ
1、课程可以试听吗?
可以,您可以联系客服领取试听内容,根据试听的效果决定是否报名。
2、报名课程后,如果不满意,可以退款吗?
我们承诺: 报名后7天内且学习进度停留在第一章节的内容可以无条件全额退款,若您的学习进度超过第一章或报名时间超过7天将不再支持退款哦。课好不好,学了就知道了!
3、报名课程的费用可以开发票吗?
深蓝学院所有课程都可以开具发票。您可以登录深蓝学院官网(https://www.shenlanxueyuan.com),进入个人“账户中心”,在线申请。
4、报名后怎么开始学习呢?
PC端:登录深蓝学院官网(https://www.shenlanxueyuan.com),进入“个人中心”或“我的课程” 的课程即可开始学习。课程中包含讲师讲解的视频、课件、代码、作业及其它学习资料。建议在PC端学习体验更好。
如果想缓存视频,可下载深蓝学院APP。
5、可以跟讲师直接交流吗?
报名课程后添加课程对应的班主任微信,由其邀请加入微信答疑群。在答疑群内,您可以直接跟讲师和其他同学讨论交流。
报名后在对应的课程详情页,可查看对应的班主任微信。
6、学习形式和学习周期是怎样的?
为保证学习质量方便同学们反复观看,本课程采用录播形式。建议同学们登录深蓝学院PC端官网体验更佳。
7、课程有有效期吗?
为了督促同学们学习,保证学习效率,学院的课程有效期均为一年,当课程有效期截止后将不再支持观看视频、下载课件等课程服务及操作。若同学们依旧想观看视频和下载课件,建议可选择续费本课程。需要提醒大家的是,课程答疑、作业批改&讲评等课程相关服务期从报名加入课程后开始计算至少保证三个月。
8、作业会提供参考答案吗?
不提供参考答案。当每章作业截止提交后,会解锁作业思路讲解。我们希望引导大家培养独立思考的习惯和敢于动手实践的勇气,以便尽快适应实际工作中解决问题的模式。做作业过程中,如果有任何困惑和问题,可以在课程讨论区和交流群内提问解决。
课程预览
自动驾驶控制与规划