自动驾驶的两大基础任务:行车&泊车
说起智能驾驶最核心的功能,无疑是行车和泊车。行车功能几乎占据了智能驾驶99%的时间,日常使用最多的自适应巡航控制(ACC)、车道居中控制(LCC)、自动变道辅助(ALC)、高速领航驾驶辅助(NOA)等等都属于行车的范畴。泊车功能相对简单一些,主要是低速场景的车位泊入及泊出,包含低速遥控泊车(RPA)、 记忆泊车(HPA)和代客泊车(AVP)。
行车泊车功能的实现包括感知、预测、规划等多个任务,而评价智驾功能安全性及舒适度的决定因素在于规划控制。规划控制作为整个自动驾驶/机器人算法流程中最下游的模块,直接影响司机和乘客的乘车体验,更直接一点:转弯加减速是否丝滑、行车轨迹规划是否符合人类驾驶习惯、车位泊入是否顺畅等等。
虽然特斯拉FSD V12之后,国内各大新势力都在攻坚端到端。但据自动驾驶之心了解,国内端到端落地尚不明朗,很多公司的端到端虽然已经对外声称上车,但效果相比于rule-based方案,仍然有较大差异。很多公司仍在demo阶段,还不敢投入主战场。直接使用模型输出的规划结果,不出意外的话会不停地『画龙』,安全性根本无法保障,因此仍然需要传统规控兜底。特别是对安全性要求更高的L4,传统规控仍然占据主导地位,短时间内想要替换比较困难。
业内主流的决策规划框架
规划控制发展至今,行业也衍生出很多的决策规划框架,目前主要有以下三大类:
路径速度解耦的决策规划框架;
时空联合的决策规划框架;
数据驱动的决策规划框架。
据自动驾驶之心了解,业内绝大多数公司采用的都是路径速度解耦的决策规划框架。并且这种方法的上限也是很高的,不少公司都基于该框架实现了无人化的操作。而这种框架最具代表性的方法便是百度Apollo EM Planner,像地平线、大疆、华为、Momenta等诸多主流自动驾驶和芯片公司都有Apollo的影子或基于此直接进行二次开发。
自动驾驶领域为了缩短开发周期,减少框架稳定性的验证,一般会基于优秀的开源框架进行二次开发,比如ROS、Apollo等,重复造轮子对快节奏的自动驾驶行业不是很可取。

而Apollo从2017年4月发布1.0到2023年12月的9.0,已经走过了7个年头。作为最成熟的开源框架影响了无数的自动驾驶从业者,开源Apollo框架集成了很多实用的算法,工程架构完备且方便迁移使用,所以很多初创公司更是直接基于Apollo框架开发产品,可以说Apollo推动了自动驾驶行业的快速发展,这一点百度真的很有远见。

因此,对于刚入门决策规划的小白来说,Apollo决策规划框架是最合适的入门学习内容;对正在找工作和已经工作的同学来说,Apollo也是面试和开发绕不开的点。
从学习/工程角度来说:Apollo框架工程性强,C++代码规范,集成了众多优秀的算法实现。
从面试角度角度来说:对于大部分基础问题, 几乎都可以从Apollo开源代码里找到答案!
从就业角度来说:百度的招聘直接明确的标明"熟悉开源Apollo"优先。如果你学过 Apollo, 绝对是一个很大的加分项。

决策规划的难点在哪里?
整体来说,规划控制相比于感知对理论知识的要求较高。目前业界主流的行车规划EM Planner、泊车规划Hybrid A*。且量产部署均是基于C++开发优化。这段时间有很多小伙伴咨询行车&泊车决策规划的相关问题,市面上已有的鞠策规划相关学习资料质量参差不齐,许多同学在资料搜集和入门学习的时候踩了较多坑:
决策规划算法类别很多,网上找不到系统学习的资料,刚入门的同学不知道从何下手,论文也看的一知半解...
C++入门学习十分困难,工程框架看不懂...
理论搞懂了,但是算法怎么具体实现行车&泊车功能的,一头雾水...
Apollo开源框架好复杂,刚上手难度太大...
而对刚入门行车泊车决策规划的小白来说,第一次接触如此大的开源项目,第一次上手C++工程代码,面对网上多如牛毛的博客,无从下手。因此自动驾驶之心在调研大家的需求后,联合自动驾驶之心课研团队,出品了国内首个《面向工业级的行车泊车决策规划实战》,也是目前最全最系统的教程。主讲老师是一线头部自动驾驶公司规划控制算法工程师。
大纲如下:

这门课程怎么将会展开?
课程基于业内决策规划应用最广的的Apollo框架展开学习。聚焦于智能驾驶行车、泊车运动规划的全面理解。课程包含五大实战,吃透行车功能和泊车功能的五大模块。每个模块会配有一个对应实战,让大家不仅明白算法原理,还要搞懂实现细节。最后一章更是汇聚老师多年的工作心得,讲解独家干货!
本门课程面向在校从事自动驾驶研究方向的硕士、博士,以及正在从事规划控制落地的工作人员、想要转入自动驾驶规划控制方向的同学,正在准备相关方向岗位的校招、社招同学,需要项目来提升自己的同学。
第一章、Apollo整体架构介绍
第一章为总纲篇,从整体上带大家了解Apollo框架。Apollo是什么?有哪些主要的模块?每个模块的功能是什么?进一步聚焦到Apollo规划算法的介绍上,并会讲解如何配置Apollo。总结来说,第一章会从整体上阐述本课程的框架及预期的学习成果。

第二章、智能驾驶行泊功能与方法介绍
第二章进入到课程的基础讲解。首先概括性的介绍智能驾驶的行车功能和泊车功能,进一步对业内主流方案展开介绍并对比各自的优缺点。这是很多刚入门的同学所欠缺的,很多同学只注重具体的技术,而忽略了大局观。接着老师会带大家系统性的复盘规划控制的相关内容,从横纵向解耦到横纵向耦合再到决策规划的基础知识。总结来说,第二章是课程的基石,从宏观上了解行泊功能的现状,从微观上掌握决策规划的基础。

第三章、行车功能:参考线平滑算法
第三章进入到具体的行车功能参考线平滑算法讲解。首先明确为什么要做参考线平滑以及问题的基本建模。然后深入剖析OSQP求解器。最后上手实战,带大家一起学习Apollo DiscretizedPointsSmoothing的核心代码!

第四章、行车功能:决策算法
第四章则是讲解行车功能的决策算法。带大家全面复盘主流的决策算法,包含Apollo DP算法、博弈论、POMDP、MCTS以及深度学习的相关算法。最后上手实战,实现一个基于博弈论的MCTS加速加速交互算法。这块也是目前业界落地的最前沿。

第五章进一步对Apollo行车路径优化算法展开讲解。首先整体上介绍路径规划,进一步讲解路径规划问题的基本建模和表达曲线的不同方式。最后上手实战,详细讲解Apollo PieceWiceJerkPathOptimizer模块的核心代码。

第六章讲解行车的最后一个算法模块——速度规划算法。基于路径规划问题的基本建模。进一步展开实战,详细讲解Apollo PieceWiceJerkSpeedOptimizer模块的核心代码。

第七章、泊车功能
经过前四章节行车模块的讲解,大家已经对Apollo规划控制有了一个更深入的理解。第七章则聚焦在泊车功能的讲解上。首先从整体上带大家过一遍泊车模块的框架,进一步详细讲解泊车的粗搜索部分。然后剖析Apollo DL-IAPS路径优化算法。最后实战Hybrid A*算法。

第八章、面试经验总结
前面七个章节主要聚焦在技术层面,第八章则聚焦于求职面试。很多校招生或者转行而来的小伙伴不清楚如何准备面试,所以老师从面试官的角度先带大家复盘如何准备规控相关的基础知识,C++/数值优化/常见的交互算法/控制理论和深度学习等等。接着老师根据个人多年的工作经验,为大家带来独家干货—Apollo规控的优缺点分析,实打实的干货!

主讲老师介绍
长风,硕士毕业于某985高校, 深耕自动驾驶算法领域多年,对Apollo开放平台有着极深的理解。现任业内头部自动驾驶公司团队资深决策规划算法工程师,在自动驾驶决策规划算法研究和工程落地方面有着丰富的经验。
学习基础
个人PC,Ubuntu 18.04;
一定的自动驶领域基础,熟悉自动驾驶的规划控制基本模块;
一定的概率论和线性代数基础,熟悉常用的数学运算;
具有一定的C++编程基础;
学后有什么收获?
这门课程是国内最全的Apollo规划控制实战教程,我们期望能够进一步推动自动驾驶在工业界中的落地,助力更多想要加入到自动驾驶行业的同学。我们期望学完本课程:
学完能够达到1年左右规划控制自动驾驶算法工程师水平;
对自动驾驶的上下游、完整的技术栈有着深刻了解;
能够将所学应用到项目中,真正搞懂如何优化决策规划;
无论是实习、校招、社招都能从中受益;
其它说明
课程9.15号正式开始,录播形式教学,vip群内答疑,课程周期预计3个月,购买后3天内支持退款。
加入学习
扫码学习课程
更多咨询小助理
版权声明
自动驾驶之心所有课程最终版权均归自动驾驶之心团队及旗下公司所属,我们强烈谴责非法盗录行为,对违法行为将第一时间寄出律师函。也欢迎同学们监督举报,对热心监督举报的同学,我们将予以重报!
投诉微信:AIDriver004(备注:盗版举报)