分享

全面回顾自动驾驶系统中的路径规划算法

 ZHAOHUI 2024-05-25 发布于上海

图片

路径规划阶段旨在获得车辆的安全轨迹,这个过程可以通过两个阶段来完成。首先,基于GPS定位和离线地图生成起点和目的地之间的全局路径。下一步是获得一条无障碍的局部路径,该路径执行全局路径时不会发生碰撞,寻找最短路径的挑战可以被视为 NP 难优化问题。

因此,找到最佳路径的速度随着可用节点的数量呈指数增长。研究仍在尝试通过增强现有算法的性能来寻找 NP 难问题的最优解,在 ADS 中获得最佳最短无碰撞路径仍然具有挑战性。

图片

AD 系统的大多数阶段都经过充分研究,然而,AD系统中最具挑战性的问题是避障的路径规划阶段。因此,本研究的重点是路径规划。这里主要针对两类不同的路径规划技术进行详细分析。

传统的路径规划技术

1、ADS 中基于图的路径规划方法

Dijkstra和 A* 是基于图的路径规划问题中最著名的技术。这些算法总是给出不连续的路径而不是连续的路径,导致路径不稳定。后来,易静等人提出了一种新颖的 A* 算法,采用等步采样(A*ESS) 算法来解决局部路径规划问题。他们根据汽车的运动学模型设计了增强的奖励函数,以提高路径舒适度。结果证明,A*ESS算法的性能优于以每个格子为中心搜索节点的传统A*算法。然而,统计分析很差,并且该算法没有在基准问题上进行评估。

2、ADS 中基于抽样的路径规划方法

基于采样的规划(SBP)算法的概念是通过在 C 空间内部生成随机路径来构建 C 空间中的连接。快速探索随机树(RRT)是最常见的 SBP 算法,RRT算法的主要思想是用随机的树状分支增量地构建起点和终点之间的路径。如果有足够的运行时间,就一定能找到两点之间的路径。因此,它被称为概率完备算法。SBP 的主要缺点是解决方案不稳定,例如基于图的算法。

3、ADS中基于梯度(人工势场)的路径规划方法

人工势场 (APF) 算法是一种基于梯度的技术,其中车辆显示为势场中的一个点。该点被目的地端点吸引并偏离障碍物,势场中的合成轨迹代表最终路径。

该技术的主要优点是它可以在很短的计算时间内产生无碰撞的轨迹。然而,该算法的主要缺点是它可能陷入局部最小值,这意味着有更好的解决方案,但算法无法达到它,这背后的原因是算法的梯度行为。APF 算法依赖于使梯度达到零斜率,当达到零斜率状态时,算法终止。因此,该算法无法探索新的搜索空间。

4、ADS 中基于优化的路径规划方法

优化算法或数学规划是寻找优化问题数值解的方法,优化问题可以表述为目标函数的最大化或最小化。它被称为凸规划,其中目标函数应该最小化,而它被称为凹规划,其中目标函数应该最大化。二次规划是凸规划,其中目标函数包含二次项。二次规划已在文献中用于解决 ADS 中的路径规划问题,将其作为需要最小化路径长度的凸(最小化)优化问题。

5、ADS中路径规划的插值曲线法

插值曲线方法是一种用于从现有路径生成新路径以避免碰撞的技术,最常用的曲线族是贝塞尔曲线 、回旋曲线、样条曲线和多项式。最初,我们从全局规划器或另一个本地规划器已经存在的路径开始规划,该路径可能会导致与物体发生碰撞。然后,通过插值曲线方法修改路径以避免碰撞该对象。将通过在原始路径上的重新进入点和退出点之间拟合一组新的无碰撞点来创建新的子路径,获得的路径是无碰撞且平滑的。然而,与其他方法相比,计算时间较长。

机器和深度学习的技术路径规划

机器学习是一门科学,其中计算机程序可以从经验中学习,并可以根据该经验做出预测和未来决策。在机器学习中,假设模型具有未知参数。然后,使用机器学习算法来获取这些参数。机器学习过程分为三个主要阶段:训练阶段、验证阶段和应用阶段。机器学习算法在训练阶段获取未知的模型参数。在验证阶段,对模型进行测试,以确保模型能够以可接受的精度获得最佳结果。在应用阶段,使用现实生活中的模型来做出决策。

如下图所示,机器学习技术可分为三大类:监督学习、无监督学习和强化学习。

图片

机器学习算法分类

在监督学习中,包含输入和相应输出的标记训练数据用于训练模型并获得模型参数。之所以称为监督式,是因为训练阶段使用的每个输入都有一个输出。在监督学习中,使用未标记的模型训练数据。

无监督学习的主要目的是对输入数据进行聚类或降低其维度,作为数据的预处理阶段。在强化学习中,根本不使用任何训练数据。代理模型通过传感器对环境做出反应,通过试错技术进行学习。

深度学习是机器学习的一个子分支,其中假设的模型是由输入和输出之间的多层组成的神经网络。神经网络的强大优点在于它们可以充当复杂模型的模型逼近器,处理多维度的海量数据(例如图像)。深度学习和神经网络技术可以作为模型应用于监督学习,也可以作为 Q 函数逼近器应用于强化学习。

深度监督学习技术

深度学习技术主要基于由层组成的深度神经网络,每个层包含一组神经元。神经网络主要分为三种类型:卷积神经网络(CNN)、循环神经网络(RNN)和前向神经网络(FFNN)。还有其他的神经网络结构,但我们主要讨论基本类型。

FFNN 网络是多层神经网络的主要架构,它们通常作为监督学习应用程序来解决分类和识别问题,以便可以应用于 ADS 中的车道检测和交通道路标志识别。

CNN网络通常用于处理图像并识别图像内部的细节,从而在ADS的感知层中发挥重要作用。RNN 网络通常处理顺序数据,例如语音和时间序列。深度监督学习技术可以在 ADS 中以两种形式使用:

其中,CNN、RNN等深度神经网络可用于感知层,处理图像等感知数据。深度神经网络可以部署为端到端驾驶方案,从感知开始,到路径规划结束。

深度监督学习技术可以在熟悉的场景中提供快速、准确的解决方案。然而,他们需要大量的训练数据集来构建可靠的模型。因此,神经网络的主要缺点是需要离线训练。此外,需要重新训练整个模型来对模型进行任何更新,这太耗时了。

强化学习技术

本节讨论 AD 系统路径规划中最新的强化学习技术。在强化学习中,根本不使用任何训练数据。代理模型通过传感器与环境进行通信,通过试错技术进行学习,这样的表现在训练过程中根据奖励函数进行评估。

在每个状态中,代理Agent都会采取一项操作,使代理移动到另一个状态。如果新的状态使智能体朝着目标前进,那么智能体就会得到很好的奖励。否则,代理Agent将得不到好的回报,强化学习过程的目标是最大化累积奖励作为优化问题。

图片

强化学习方法的主要优点是能够长期处理复杂问题并获得合理的解决方案,该模型可以从错误中学习并在运行时进行修改。然而,强化学习的主要挑战是开发和探索之间的折衷。在开发中,代理需要从一组已知的操作中采取最佳操作来开发,并选择具有最佳奖励的最佳操作。另一方面,智能汽车有时需要采取新的行动,这可以比从已知行动中获得更好的奖励,这称为探索。因此,参数调整是一个具有挑战性的问题。此外,在复杂问题中生成状态-动作表将过于庞大,这需要更多的内存和大量的计算时间来搜索合适的动作。

强化学习过程可以表述为马尔可夫决策进程(MDP)。MDP智能体由一组动作A、一组状态S和奖励函数R组成。R(s, a)表示当智能体在特定状态s下执行动作a∈A时的奖励值s∈ S。策略π是一组震荡行动,目标是获得一种政策,使其行动的累积奖励最大化。Q函数是一个动作值函数,表示在特定状态下采取的动作的累积奖励,目标是最大化 Q 函数以获得最佳策略,强化学习的概念如下图所示。

图片

在强化学习中,Q(a,s)表示在特定状态s下采取特定动作a的奖励。在特定状态下采取的特定操作的 Q 值存储在 Q 表中。该表代表代理Agent获得的经验,强化学习方法已得到应用和增强,以改进路径规划解决方案。

深度强化学习技术

正如传统强化学习中所描述的,Q 表表示与在特定状态下采取的操作相对应的奖励。该表表示(状态,动作)空间及其相应的奖励(Q 值)。然而,当(状态、动作)空间巨大时,获得最优策略将会变得复杂。而且,Q表会消耗更多的内存空间。

因此,神经网络的好处就会出现。神经网络可以充当 Q 函数逼近器来预测(状态,动作)对,称为 Q 值。由于神经网络的灵活性和多输入多输出的特性,可以根据需要添加更多的隐藏层来适应任何复杂的状态动作空间,称为深度强化学习(DRL)。DRL 包括三个子类别:基于策略的 DRL、基于价值的 DRL 和行动者批评者 DRL。然而,这增加了更多参数调整的复杂性来训练神经网络并平衡探索和利用过程。

1、基于数值/基于策略的方法

强化学习关注的是获得具有最佳奖励的最优策略。要理解基于策略和基于价值的方法之间的区别,首先应该明确价值和策略之间的区别。策略是为实现目标而应采取的一系列行动,

该值代表策略的好坏程度,策略和价值之间的转换是双向关系。给定策略,我们可以使用 Bellman 算子(Q 函数)获取其值。另一方面,给定值,我们可以使用最优贝尔曼Bellman算子得到策略。这个过程如下图所示。

图片

2、Actor-critic算法

Actor-critic 算法是基于价值和基于策略的方案之间的混合架构。有两个串联的网络:

第一个网络称为参与者Actor,它根据当前状态和观察生成策略(动作);

第二个网络称为批评者Critic,它接收行动并根据从行动者获得的策略优化奖励值。

自动驾驶系统中深度监督学习技术的未来应侧重于增强实时处理能力并减少对大量训练数据集的依赖。将这些技术与其他路径规划策略(例如优化或插值方法)更有效地集成,可以产生更高效和适应性更强的解决方案。此外,使用预训练模型可以提高训练速度,提高算法从有限数据中学习的能力,并通过持续学习纳入自我改进机制,对于推进这些技术在实际自动驾驶应用中的发展至关重要。

传统的强化学习(RL)技术不需要训练数据集来进行训练;他们可以与环境交互并实时更新模型。然而,存储Q表需要大量内存来应对复杂的驾驶场景。该研究方向通过使用深度强化学习(DRL)解决了这个问题,它结合了先进的神经网络架构,可以取代存储大量状态动作表的需要。然而,这些网络需要对神经网络的权重进行参数调整,这使得训练过程过于耗时。解决这个问题的最佳方法是使用预先训练的深度 Q 网络来加速学习过程,以实现实用且可靠的自动驾驶车辆导航。

元启发式优化的路径规划技术

如今,元启发式优化算法已广泛应用于各种优化问题。只要AD系统中的路径规划问题可以建模为优化问题,元启发式优化算法就可以很容易地应用来解决这个问题。元启发式优化算法的主要优点是它们与问题无关并且被认为是通用问题解决器。他们可以为任何复杂的搜索空间提供最佳解决方案。因此,它只需很少的修改就可以应用于任何问题。与基于梯度的算法相比,元启发式优化算法不太可能陷入局部最小值,因为探索阶段可以帮助探索不同的空间。

然而,元启发式优化算法的主要挑战是如何利用参数调整以实现利用和探索之间的平衡。在开发过程中,算法在当前搜索空间区域中寻找最佳解决方案。在探索过程中,该算法探索不同的搜索空间以确保候选解决方案的多样性。此外,如果多次运行,它们可以为同一问题提供不同的路径。这个问题背后的原因是算法特定阶段的随机行为。

元启发式算法的类别如图6所示。

图片

元启发式优化技术可以分为四类:进化算法、基于轨迹的算法、基于群体的算法和基于自然的算法。进化算法模仿了适者生存的概念。遗传算法(GA)、差分进化(DE)、和谐搜索(HS)算法和遗传编程都是最常见的进化算法。基于轨迹的算法依赖于通过移动相邻候选来更新解决方案。最常用的算法是禁忌搜索(TS)、模拟退火(SA)、爬山算法和迭代局部搜索(ILS)算法。

基于群体的算法模仿动物和人类的本性,例如动物成群寻找食物的行为。最著名的基于群的算法有灰狼优化(GWO)算法、人工蜂群(ABC)算法、猫群优化算法(CSOA)、粒子群优化(PSO)算法、细菌觅食优化(BFO)、蚁群优化( ACO)算法和鸡群优化(CSO)算法。最后一类是基于自然的算法,其灵感来自动物和人类中存在的自然现象,例如飞蛾火焰优化(MFO)算法有萤火虫算法(FA)、教学优化(TLBO)算法、甲虫天线搜索(BAS)算法、布谷鸟搜索算法(CSA)。

总结

路径规划仍然是自动驾驶系统中最具挑战性的问题之一。路径规划算法主要分为三组:传统、机器学习和元启发式优化技术。我们对 ADS 中的路径规划问题提出了具有高度算法多样性的全面而广泛的回顾。这篇综述可以为未来解决路径规划问题的研究奠定一个起点,可以直观地了解解决 ADS 路径规划问题所使用的最新技术。基于最近最先进算法的缺点,可以产生新的想法来更有效地解决路径规划问题。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多