拓扑排序排课系统_自动驾驶汽车:综述(六)---决策系统之路线规划

c44d63000cb5f749955dc16867a6f72c.png
仅供学习和参考,未授权。
本文仅作为学习和交流使用,如果作者或出版社有异议,请联系我进行删除。一切都是为了更好地学术!
注:链接文献后面的数字代表该文章发表的年份。如[[XU17]]表示的是Xu 在2017年发表文章

导读:路线规划(route planning)是根据提供的起始点和目的地以及结合道路信息和电子地图来进行全局的路线规划。

本文主要介绍了来自巴西圣埃斯皮里图联邦大学信息学系的研究者于2019年1月14日在 arXiv上发布了一篇自动驾驶汽车研究情况总结的第三部分 决策系统中的路线规划。

Self-Driving Cars: A Survey​arxiv.org

路线规划子系统负责通过道路网络计算自动驾驶汽车从最初始位置到由用户定义的最终位置的路线。如果道路网络由加权有向图表示,其边缘权重表示遍历道路段的成本,则计算路线的问题可以简化为在加权有向图中找到最短路径的问题。然而,对于大型道路网络,诸如Dijkstra [DIJ59]和A* [HAR68]的经典最短路径算法在时间复杂性上是不切实际的。

在过去十年中,道路网络中路线规划算法的性能取得了重大进展。新开发的算法基本可以在几毫秒或更短的时间内计算行驶方向,即使在陆地尺度也是如此。对于适用于自动驾驶汽车的道路网络路线规划算法的综述,读者可参考Bast等人[BAS15]的文章。

用于道路网络中的路线规划的方法主要是在查询时间、预处理时、空间使用以及对输入变化的鲁棒性以及其他因素方面上提供不同的权衡。它们可以主要分为五类[BAS15]:目标导向的方法、分割法、分层方法、bounded-hop 方法;也可以组合这些方法。

1)目标导向法

目标导向法通过避免扫描不在目标顶点方向上的顶点来指导从源顶点到目标顶点的搜索。 A *是经典的目标导向的最短路径算法。通过在每个顶点上使用下界距离函数,它实现了比Dijkstra算法更好的性能,这使得更靠近目标的顶点可以更早地被扫描。 ALT(A *,地标以及三角不等式)算法[GOL05]通过选择一小组顶点作为地标来增强A *。在预处理阶段,计算选取的少数的地标和所有顶点之间的距离。在查询阶段,使用涉及地标的三角不等式估计任何顶点的有效下界距离。查询性能和正确性取决于算法是否能够明智地选择顶点作为地标。

另一个目标导向搜索算法是边标记法(Arc Flags)[HIL09]。该方法在预处理阶段期间,将图形划分为具有少量边界顶点和平衡(即,相似)数量的顶点的单元。通过从每个边界顶点向后生成最短路径树来计算单元i的边标记,然后对树的所有弧(或边)设置第i个标记。在查询阶段,算法修剪没有为包含目标顶点的单元格设置标志的边。在目标定向方法中,边标记方法预处理时间是较高的,但是在查询时间最快。

2)分割法

分割法是基于顶点或边缘分隔符。顶点(或边缘)的分隔是顶点(或边)的一小部分,这些定点(或边)的移除可以将图分解为若干平衡单元。基于顶点分隔符的算法使用顶点的分隔来计算叠加图。将“捷径”方式边缘添加到叠加图中,以保留完整图形中任何一对顶点之间的距离。叠加图比完整图小得多,多用于加速查询算法。 HPML(高性能多级路线)算法[DEL09]是这种方法的一种变体,它可以缩短了查询时间。但是该方法通过在不同级别上向图形添加更多shortcut,增加了空间使用和预处理时间。

基于边的分割的算法使用边缘分隔将图形分解为平衡单元格,并尝试最小化切割边缘的数量,这些边缘连接不同单元格的边界顶点。“捷径”被添加到覆盖图中,以便保留每个单元内的边界顶点之间的距离。 CRP(可定制路线规划)算法[DEL15]被设计为满足现实世界道路网络的要求,例如处理转弯成本以及执行成本函数的快速更新。它的预处理有两个阶段:第一阶段计算多层分区和叠加的拓扑,第二阶段通过自下而上和并行处理单元来计算clique边缘的成本。查询在叠加图中双向搜索进行处理。

3)层次化方法

层次化方法利用道路网络的固有层次结构,其中诸如高速公路的主要道路复合了小的动脉子网络。一旦源顶点和目标顶点相距很远,查询算法仅扫描子网的顶点。预处理阶段根据实际的最短路径结构计算顶点或边的重要性。CH(收缩层次结构)算法[GEI12]是一种层次化的方法,该算法实现了创建“捷径”以跳过具有低重要性的顶点的想法。它重复执行顶点收缩操作,如果它们之间的最短路径是唯一的并且包含要收缩的顶点,则从图形中移除最不重要的顶点并在每对相邻顶点之间创建快捷方式。CH是多功能的,因此可用作其他点对点算法和扩展查询的构建块。

REACH算法[GUT04]是一种层次化的方法,在预处理阶段,首先计算顶点的中心度量(到达值),并在查询阶段使用这个度量来修剪基于Dijkstra的双向搜索。设P是从源顶点s到包含顶点v的目标顶点t的最短路径。v相对于P的到达值是r(v,P)= min { distance(s,v),distance(v),t)}。

4)bounded-hop 法

bounded-hop 的方法是通过向图形添加虚拟shortcuts来预先计算顶点对之间的距离。由于所有顶点对之间的预计算的距离对于大型网络而言是不允许的,因此bounded-hop 方法旨在获得具有非常少的跳跃的任一的一条虚拟路径的长度。bounded-hop 算法是HL(Hub Labeling)[COH03],它在预处理阶段计算图形的每个顶点u的标签L(u),其主要由u的一组中心顶点和它们的距离组成。选择这些标签使得它们遵守覆盖属性:对于任何顶点对(s,t),标记L(s)和L(t)的交集必须包含从s到t的最短路径的至少一个顶点。在查询阶段期间,通过评估标记L(s)和L(t)的交集中存在的中心点之间的距离,可以在线性时间内确定距离(s,t)。 HL在道路网络查询方法是最快的,但代价是空间占用率高。 HL-∞算法[ABR12]则利用了集线器标签和顶点排序之间的关系,并开发了预处理算法来计算产生小标签的排序。顶点排序的迭代范围优化算法使HL-∞算法的查询时间比HL快两倍。它以一些顶点排序(例如,由CH给出的)开始并且在给定数量的迭代步骤中进行,每个迭代步骤按重要性的降序重新排序不同范围的顶点。 HLC(集线器标签压缩)算法[DEL13a]通过组合出现在多个标签中的常见子结构,以更高的查询时间为代价:将空间使用减少一个数量级。另一个bounded-hop算法是TNR(传输节点路线)[ARZ13],它使用顶点子集上的距离表。在预处理阶段,它选择一小组顶点作为传输节点,并计算它们之间的所有成对距离。从传输节点,对于每个顶点u,它可以计算一组访问节点。如果存在来自u的最短路径使得v是其中的第一个传输节点,则传输节点v是u的接入节点。它还计算每个顶点与其访问节点之间的距离。选择传输节点集的一种自然方法是选择弧分隔符的顶点分隔符或边界顶点作为传输节点。在查询阶段,距离表用于选择从源顶点s到目标顶点t的路径,该路径最小化组合距离s-a(s)-a(t)-t,其中a(s)和a(t)是接入节点。如果最短路径不包含传输节点,则执行本地查询(通常为CH)。

5)融合

可以将各个技术进行组合成不同图形属性的混合算法。REAL算法[GOL09]结合了REACH和ALT。 ReachFlags算法[BAU10]结合了REACH和边标记法(Arc Flags)。 SHARC算法[BAU09]将shortcut的计算与多级的边标记法(Arc Flags)相结合。 CHASE算法[BAU10]将CH与Arc Flags相结合。 TNR + AF算法[BAU10]结合了TNR和边标记法(Arc Flags)。 PHAST算法[DEL13b]可以将若干技术进行组合,以便通过利用多核CPU和GPU的并行性进行加速。

Bast等人[BAS15]通过实验评估了这里描述的许多路线规划技术,并使用有名的大陆尺寸基准西欧和真实道路网络的简化模型。表I显示了他们的实验分析结果。对于每种技术,表1列出了总内存空间使用情况,总预处理时间,平均查询扫描的顶点数以及平均查询时间。

80e0e019f10559311b8d67596cbdf703.png

相关历史文章:

自动驾驶汽车:综述(一)---自动驾驶汽车结构概述

自动驾驶汽车:综述(二)---感知系统之定位

自动驾驶汽车:综述(三)---感知系统之mapping

自动驾驶汽车:综述(四)---感知系统之MOT(移动物体跟踪)

自动驾驶汽车:综述(五)---感知系统之交通信号检测和识别

BTW,目前正在整理无人驾驶相关论文速递。欢迎各位一同速递无人驾驶论文~~~

DeepTecher/AutonomousVehiclePaper​github.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值