自动驾驶技术综述2:自动驾驶决策规划模块算法介绍

自动驾驶Player 自动驾驶Player     2023-03-22     690

关键词:

一、前言:

在自动驾驶整个软件框架中,决策规划模块有着重要的作用。决策规划模块一般也叫Planning模块,在整个自动驾驶系统中,Planning模块相当于人类驾驶员的大脑,它的上游是地图、导航、感知、预测这些模块,下游是control以及底盘控车模块。Planning模块的作用相当于理解传感器以及高精地图模块等上游的“感知系统”获得的感知信息,并且在当前周期内进行思考并做出判断,然后把计算好的轨迹信息传递给下游模块进行控制指令的分解以及控制信号的计算。

系统学习自动驾驶算法的小伙伴,可以关注订阅以下专栏:

决策规划算法系统解析:https://blog.csdn.net/nn243823163/category_11685852.html

Apollo仿真与调试:https://blog.csdn.net/nn243823163/category_11807746.html

智能驾驶算法解析与仿真:https://blog.csdn.net/nn243823163/category_11935534.html

 

在设计Planning模块时,一般会从以下这些角度进行考量:

  • 良好的系统实时性;
  • 安全性作为最重要指标与最高优先级(安全冗余系统的设计、安全辅助性功能、安全相关法规功能、故障诊断);
  • 行车效率;
  • 满足用户需求以及舒适性要求的决策能力;
  • 对交规以及道路通行要求的考虑;

在进行系统设计时,往往会综合以上几个角度进行综合考量,平衡各个维度的指标。

以上为特斯拉的Planning模块在设计时考虑的三个指标的平衡。

同人类驾驶员一样,Planner在接收到经过视觉神经网络处理过的3D Vector Space后,将会在该Space进行搜索判断,从而找到一条轨迹可以最大限度地提高汽车的安全性、舒适性和效率,将车辆规划至目的地。

作为最早布局自动驾驶的厂商,Tesla早期的Planner已经可以很好的在高速公路或者是城市快速路段进行规划,包括单车道的车道保持、导航变道、主动超车、自动上下闸道也都经受了量产的考验;随着自动驾驶的发展,Tesla Autopilot 的使用场景需要从高速扩展到城市道路。

二、Planning模块的组成

在Planning模块中,一般分为决策模块decision与运动规划motion planning两部分。decision模块又分为场景选择即scenario Manager、当前状态选择stage Process、以及行为决策behavior decider;motion planning一般又分为路径规划、速度规划以及轨迹生成。

上图为开源的Apollo系统中Planning模块的运行过程,可以看到apollo的Planning模块就是首先确定当前自车所处在的场景scenario,然后判断在当前场景下处在什么状态stage下,最后调用一系列task进行behavior的判断从而完成决策过程。

在decision结束之后,便开始motion planning的过程。

motion planning会结合导航给的全局路径进行局部路径规划;导航给的地图路线只是规划过程中的一部分,我们仍需要构建沿这条路线前进的局部轨迹。这意味着要处理一些不属于地图的物体:如其他车辆、自行车或行人。例如,我们可能需要与试图在我们前面掉头的汽车互动,或者我们可能希望超过一辆在公路上行驶的慢车。这些场景需要更低 级别、更高精确度的规划。我们将这一级别的规划称为轨迹规划。

轨迹规划的目标是生成一系列路径点所定义的轨迹。我们为每个路径点分配了一个时间戳和速度。由于移动的障碍物可能会暂时阻挡部分路段,轨迹中的每个路径点都有时间戳。我们可以将 时间戳与预测模块的输出相结合,以确保我们计划通过时,轨迹上的每个路径点均未被占用。这 些时间戳和空间上的两个维度(2D position)共同创建了一个三维轨迹(3DTrajectory)。我们还为每个路径点指定了一个速度,用于确保车辆按时到达每个路径点。

现实世界中的规划面临多种约束。首先轨迹应能免于碰撞,这意味着必须没有障碍物。其次,要让乘客感到舒适,所以路径点之间的过渡以及速度的任何变化都必须平滑。再者,路径点对车辆应实际可行,例如高速行驶的汽车不能立即做180度转弯。我们不能构建包含这种不满足控制算法的轨迹。最后,轨迹应合法。我们需要了解每个路径点的交通法律,并确保轨迹遵守这些法律法规。

在道路的任何两点,可能会有多个不会发生碰撞、行驶舒适、可行且合法的轨迹。我们如何选择最佳轨迹呢?答案是使用“cost function”。cost function每个轨迹分配了一个“成本”,我们选择成 本最低的轨迹。轨迹“成本”由各种犯规处罚组成,例如:偏离道路中心,有可能产生碰撞,速度限制,轨迹的曲率和加速度让乘客感到不舒服等。

​ 轨迹成本将所有这些缺陷聚合为单个数值,这使我们能对不同的轨迹按数字大小进行排名。车辆 甚至可能在不同的环境中使用不同的成本函数。例如,高速路的成本函数可能与停车场的不同。

下面以apollo的路径规划为例,介绍motion planning的运行机制:

路径规划流程如下,其中Path Optimizer即对应路径优化的task PiecewiseJerkPathOptimizer:

输入信息:const SpeedData& speed_data, const ReferenceLine& reference_line, const common::TrajectoryPoint& init_point, const bool path_reusable, PathData* const final_path_data ;

其中包括参考线,起始点、速度信息、路径是否重规划等

输出信息:OptimizePath函数得到最优的路径,信息包括横向偏差opt_l, 横向速度opt_dl, 横向加速度opt_ddl。

三、总结

上文从决策规划模块即Planning的整体框架、设计指标以及工程应用等几个角度对自动驾驶的决策规划模块进行了介绍,后续文章会继续介绍Planning的具体分类以及当前研究现状,敬请期待。

解析丨自动驾驶核心技术:感知决策与执行(中:决策篇)

本文将继续为大家解析自动驾驶所涉及到的核心技术,上篇《感知篇》内容可以查看历史原文:二、决策篇在一套相对成熟的自动驾驶技术体系中,如果将环境感知模块比作人的眼睛和耳朵,那么决策规划模块就相当于自动驾驶... 查看详情

自动驾驶决策概况

文章目录1.第一章行为决策在自动驾驶系统架构中的位置2.行为决策算法的种类2.1基于规则的决策算法2.1.1决策树2.1.2有限状态机(FSM)2.1.3基于本体论(Ontologies-based)2.2基于统计的决策算法2.2.1贝叶斯网络(BN&#... 查看详情

自动驾驶技术-环境感知篇:激光雷达毫米波雷达超声波雷达相关技术介绍

在上一篇《自动驾驶技术架构和综述》文章中我们介绍了自动驾驶三个核心环节,分别是环境感知和定位、决策规划、执行控制。接下来这章将会针对环境感知和定位展开介绍,环境感知和定位包含环境感知、定位、V2X3... 查看详情

自动驾驶控制概况

文章目录1.第一章行为决策在自动驾驶系统架构中的位置2.路径跟踪控制的种类2.1基于自行车模型的路径跟踪控制算法2.1.1纯跟踪控制(PurePursuit)算法2.1.2后轮反馈控制算法(Rearwheelfeedback)2.1.3前轮反馈控制算法&#... 查看详情

万字综述:如何打造自动驾驶的数据闭环?

本文来知乎专栏@黄浴/ 导读 /最近自动驾驶和数据闭环结合在一起,原因是自动驾驶工程已经被认可是一个解决数据分布“长尾问题”的任务,时而出现的cornercase(极端情况)是对数据驱动的算法模型进行升... 查看详情

园区自动驾驶实车平台决策规划控制系统——基于纯追踪算法的横向控制(c++实现)(代码片段)

...有错,如果发现还请不吝赐教~在项目中本人负责的是自动驾驶的决策规划控制算法部分,在研发过程中负责对接上层感知定位模块和下层线控系统,项目实现了在园区场景下的自动驾驶。实现的场景包括单障碍物换... 查看详情

长篇自动驾驶技术综述论文(上)

长篇自动驾驶技术综述论文(上)ASurveyofAutonomousDriving:CommonPracticesandEmergingTechnologiesEkimYurtsever,JacobLambert,AlexanderCarballo,KazuyaTakeda论文链接:https://arxiv.org/abs/1906.05113摘要             ... 查看详情

自动驾驶自动驾驶感知系统与关键技术介绍

文章目录1、自动驾驶感知系统介绍1.1什么是自动驾驶?1.2什么是自动驾驶系统?1.3自动驾驶技术概览(以环境感知系统为主)1.4自动驾驶行业现状1、自动驾驶感知系统介绍1.1什么是自动驾驶?百度百科定义&#x... 查看详情

数据驱动的自动驾驶系统算法最新论文合集(27篇)

大家好,我是Charmve!应该说,自动驾驶的算法模块,基本都是数据驱动的训练模型要优于基于规则或者优化的,尤其是感知和预测。以下图(综述论文“ASurveyofAutonomousDriving:CommonPracticesandEmergingTechnologies”... 查看详情

自动驾驶技术-环境感知篇:激光雷达毫米波雷达超声波雷达相关技术介绍

在上一篇《自动驾驶技术架构和综述》文章中我们介绍了自动驾驶三个核心环节,分别是环境感知和定位、决策规划、执行控制。接下来这章将会针对环境感知和定位展开介绍,环境感知和定位包含环境感知、定位、V2X3... 查看详情

自动驾驶技术-环境感知篇:基于视觉相关技术介绍

...文章介绍了环境感知中不同雷达的作用,一个标准的自动驾驶解决方案需要雷达与视觉技术的配合使用。视觉技术其实是仿生理学的解决方案,因为现实世界中司机驾驶车辆就是依靠视觉去做行车过程中的决策。在本文... 查看详情

无人驾驶资料整理

...未包括)   给出SAE给的最新L0-L5的无人驾驶定义:自动驾驶分级名称(SAE)定义(SAE)NHTSASAE00无自动化无自动驾驶,由人类驾驶员全 查看详情

比亚迪规划院需要控制算法工程师吗

...绍控制算法算法开发动力学算法职责描述:1、熟悉主流自动驾驶算法架构;2、负责无人车规划、控制相关的算法开发,将路径规划与控制算法在自动驾驶车上进行部署测试;3、工作内容包括但不限于:路径规划、底层控制、避... 查看详情

智能汽车无人驾驶资料调研

...未包括)   给出SAE给的最新L0-L5的无人驾驶定义:自动驾驶分级名称(SAE)定义(SAE)NHTSASAE00无自动化无自动驾驶,由人类驾驶员全权操控汽车,可以得到警告或 查看详情

[autocars]自动驾驶汽车概述(下)

   本文将介绍自动驾驶汽车决策系统的相关技术,包含路线规划、行为选取、运动规划和控制子系统。1.路线规划     路线规划子系统负责计算出一条穿过道路网的路线,让自动驾驶汽车能从起始位... 查看详情

自动驾驶|apollo无人驾驶课程笔记3-定位

...xff0c;华为云专家本系列《无人驾驶干货铺》笔记:  自动驾驶|Apollo无人驾驶课程笔记0-总目录  自动驾驶|Apollo无人驾驶课程笔记1--无人驾驶概览 自动驾驶|Apollo无人驾驶课程笔记2--高精度地图 第三课:定位课程简介&#x... 查看详情

自动驾驶⻋端算力:达到l4级自动驾驶要求并不遥远算力单位tops

1.⻋端算力:达到L4级自动驾驶要求并不遥远激光雷达方案:降低⻋辆环境感知的算法与算力需求纯视觉方案基于平面数据来识别出周围物体距离、轮廓、色彩,对算法、算力要求高,需要后端强大的数据中心训练算法多传... 查看详情

自动驾驶自动驾驶感知系统与关键技术介绍

文章目录1、自动驾驶感知系统介绍1.1什么是自动驾驶?1.2什么是自动驾驶系统?1.3自动驾驶技术概览(以环境感知系统为主)1.4自动驾驶行业现状1、自动驾驶感知系统介绍1.1什么是自动驾驶?百度百科定义&#x... 查看详情