本篇博客为原文的简读版

1. 简介

高速公路驾驶由于其简单的驾驶环境和驾驶员的简单操作,使其成为交通环境中最为容易实现的一类情况。高速公路驾驶环境的车辆行为共有以下几种:车辆跟随,车道跟随,变道,并线,超车,避障。

2. 高速公路运动规划的注意事项

2.1 术语

  • 在自动驾驶中,被研究的车辆被称为自主车辆 (Ego vehicle),其他的车辆都被视为障碍物。
  • 用车辆的状态来表示其运动学,所需的状态量有:位置(Position) 与方向 (Orientation),以及他们的时间导数,线速度,角速度,先加速度和角加速度。
  • 车辆的几何时空通常被分为下面三个空间:
    • 碰撞空间 (Collision space): 自主车辆会与障碍物碰撞的空间
    • 不确定空间 (Uncertain space): 自主车辆有可能发生碰撞的空间
    • 自由空间 (Free space): 自主车辆不会发生碰撞的空间

2.2 运动规划方案

自动驾驶系统框图

在本文中,自主车辆可以通过感知系统获取环境信息和障碍物的种类,形状以及行为的描述。本文不探讨这些信息是如果收集的,只是根据其可信度使用信息。车辆通过该闭环系统可以不断的更新当前状态并作出运动规划。

自动驾驶所需的主要功能

自动驾驶所需的主要功能:

  • 路线规划(route planning): 从起点到终点的长距离规划。
  • 预测 (pediction): 通过储存的当前和历史动态信息来预测周围物体的动向。比如:道路信息,车道线的变化,路段交通规则,以及周围车辆的行为。
  • 决策 (decision making):
  • 生成 (generation):
  • 形变 (deformation):

前两个部分不属于运动规划,因此不在本文的讨论范围。 本文主要讨论的是后三点,并会在下文中详细解释。

运动规划通常被划分为高级规划和低级规划:

  • 高级预测:需要做到的是通过对环境的分析,运动风险的评估,做出决策,并生成一些列的候选行为。类似于人的大脑,为行为做出指示。
  • 低级反应:从高层规划中变形生成的运动。类似于小脑,不需要几乎不需要思考的产生运动,且会有应急反应,令真实的轨迹与路径有一定区别。

3. 最先进的算法

文章中提及的算法有很多,但这里只关注其中的人工智能算法,其他算法不做介绍。

算法分类

基于人工智能的算法主要用于决策层面,其优势在于它们能够回答一般性问题并吸收新的修改而不影响算法的结构。它们主要用作预测规划的求解算法,但也用作符号集算法,很少用于反应变形。

AI 算法的分类

这里根据 "认知/理性" (cognitive/rational) 和 "规则/学习" (rules/learning) 的程度将 AI 算法分为四类,如上图所示,类别分别是:逻辑方法(logic approaches)、启发式算法(heuristic algorithms)、近似推理(approximate reasoning) 和类人方法(human-like methods)。

3.1 基于逻辑的方法

此方法使用具有推理引擎的知识库来自动化推理,从而做出决策(类似专家系统)。它们的快速架构允许它们用于预测性或反应性规划。这些系统的主要优点是它们的直观设置可以模拟人类逻辑和理性推理。但知识库需要对具有大量因果规则和调整参数的大量环境变量进行离散化。

  • 基于规则的推理 (rule-based reasoning): 这是最著名的推理引擎。在 [1] 和 [2] 中分别使用该方法完成了高速公路上基于规则的意图预测,和变道操作。主要优点是因果关系清晰,符号方便,实现简单。 主要缺点是循环推理和规则的详尽枚举,导致无限循环并影响计算时间。
  • 决策树 (decision trees): 为了显示规则机制,决策树被提升为压缩图形表示和决策支持工具。通过枚举所有可能的导航车道来描述决策树。决策树的好处是很容易解释,坏处是计算变得非常复杂,具有不确定或近似值。除了需要遵守规则之外,还要检测和预测其他车辆的非法和危险行为。
  • 有限状态机 (Finite State Machine, FSM): 为了避免详尽的规则声明,有限状态机(FSM)给出了系统行为的抽象模型,表示由动作/条件链接的系统状态。FSM 不是绝对确定的,它允许更复杂的状态关系,比如利用并行的多个状态图来处理并发状态,这些状态非常适合在决策过程中执行同时动作(例如让步和合并)。其缺点是它们仅基于确定性知识,不能推广到未知情况。

有限状态机模型

  • 贝叶斯网络 (Bayesian networks): 在不确定的情况下,采用使用马尔可夫模型的贝叶斯网络。它们是基于概率转换的因果关系的统计表示。他们提出了一个基于知识的参数识别步骤,以确定输出序列最可能的状态序列。匹配最预期障碍物的行为意图以返回最佳自我行为(停止 | 巡航 | 加速 | 减速和右转 | 左转 | 直行)。部分可观察马尔可夫决策过程 (Partially Observable Markov DecisionProcess, POMDP) 相关论文 [3] [4]

下面这段话我读的有点蒙,不知道这个算法到底适不适合高速驾驶,所以直接贴原文: The AI logic-based methods are mostly suitable in constrained and predictable environments, such as nominal high-way driving. Their intuitive and fast architectures are widely promoted for use in critical safety environments, where cause-and-effect reasoning is necessary. On the other hand, their lack of autonomy and rigid program structure for an adaptable and reconfigurable algorithm are their main disadvantages for use in open environments such as highways. As the logic-based approaches are straightforward to implement, no specific framework stands out in the literature.


拓展阅读:

3.2 启发式算法

启发式算法基于经验,它们旨在找到一个近似解,因此有着角度的时间复杂度。在运动规划中,它们通常返回一组动作,但也能够返回路径或轨迹。其坏处是它们提供了一个局部解决方案,它不能保证全局最优性和准确性。

  • 代理 (Agent): 智能代理是一种以理性和社会行为为模型的自主实体,它适应对环境的观察。 它的行为可以基于条件-动作规则(仅取决于当前感知)、世界模型(它如何影响环境)、要实现的目标或对目标的效用。启发式代理的能力允许包含多策略决策。它们特别适合不确定的环境。 主要缺点是难以确保收敛到解决方案。相关论文 [5]
  • 支持向量机 (Support Vector Machines, SVM): SVM 是依赖于信息搜索算法的代理意图的统计学习分类器。使用贝塞尔曲线拟合方法提供控制点的论文 [6]。 基于相对速度和位置的个性化车道变更决策 SVM [7]
  • 进化方法 (Evolutionary methods): 即使用遗传算法。相关论文:两种遗传算法改进的模糊控制模块[8] 基于速度,角度,刹车和时间的遗传算法控制[9]

AI启发式算法是解决经典方法缺点的一个很好的替代方案。 它们的属性对于高速公路驾驶是可以接受的,在这种情况下,不需要最佳解决方案,近似解决方案就足够了。没有为自动驾驶汽车应用程序构建的 AI 启发式框架,但是,可以使用主要框架来解决这个系列,例如 用于代理的 JADE、DEAP、Jenetics 或用于进化算法的 Matlab 全局优化工具箱。

拓展阅读:

3.3 人工智能近似推理

AI 近似推理模仿人类推理。 如前所述,我们将逻辑方法与专家系统区分开来,区别在于知识库是非布尔型的; 以及对新知识进行分类以适应未来情况的学习方法。 第一个展示了通过直观的演示和解释展示智能行为的优势,而第二个与能够理解、思考和学习的系统有关。

  • 模糊逻辑 (Fuzzy logigic): 模糊逻辑依赖于多值变量。该系统在数学上对模糊性进行建模,并通过对不同属性级解决方案的归纳逻辑编程接近认知推理。它们返回一个决策,通常表示为一个机动任务,因此是预测性或反应性求解算法。它们的主要缺点是缺乏可追溯性和缺乏系统的设计方法。[10] 中的作者提出了一个模糊推理决策系统,根据对周围障碍物之间间隙的近距离、中等或远距离评估,检查自我车辆是否有足够的时间改变车道;文献 [11] 和 [12]分别使用关于横向和角度误差的模糊规则来提出自动超车和参考地图的横向跟随。
  • 人工神经网络(Artificial Neural Networks, ANN): 是一种流行的近似学习解决方案。它们用于生成和决策功能,作为一种集合和求解算法的非预测性和反应性方法。其主要缺点是缺乏对解决方案的因果解释,而它们的主要优点是它们能够通过对多维数据进行训练来学习。因此,另一个缺点是需要大量数据,这使得它们的计算成本很高。[13] 中的作者使用卷积神经网络 (CNN) 模拟车道变化的驾驶员轨迹,[14] 将学习阶段与人类驾驶员控制输入进行比较。[15] 中使用强化学习来确定场景表示中每个代理的策略,或用于[16]中的多目标超车操作和[17]中的自动车道变换操作。一些新的有前途的研究正在使用深度学习方法[18],或通过将感知和规划模块集成到端到端学习中[19]。在贝叶斯概率不确定性的情况下,神经网络也被扩展为信念网络[20]。然而,这些方法的挑战之一是确保它们以正确的方式学习环境和驾驶行为的多样性。

AI 近似推理算法在不久的将来似乎很有希望。 它们依赖于扩展到认知属性的逻辑和统计基础。 他们还提供适应性推理,以适应他们的环境。 目前,这些算法的主要障碍是在实际驾驶场景中缺乏反馈。由于近似推理算法的实时实现很复杂,因此倾向于使用特定框架,例如 用于模糊逻辑方法的 Matlab Fuzzy Logic Toolbox 或用于机器学习的 TensorFlow。

拓展阅读:

3.4 人工智能类人方法

AI 类人方法非常适合高速公路场景中的决策,由于该环境的基本规则,驾驶员的行为更容易预测。 它们也很容易理解并与司机分享。 此外,此类算法的应用通常不像为驾驶员建模那样复杂,但在涉及复杂场景时仍然适用。 凭借其简单的架构和异构的实现,人们注意到在人工智能类人方法的自动驾驶文献中没有强调任何主要框架。

  • 风险估计器 (Risk estimators): 对自主车辆附近时空的碰撞风险评估,并将风险提示反馈给驾驶员。为了适应驾驶员的风险认知 补偿风险 (compensation risk) 会评估驾驶员的状态,例如压力、困倦或疾病。从而提供更加驾驶建议。
  • 分类模型 (taxonomic models): 他们确定了顺序驾驶任务的关系,以及行为和能力要求。这些方法需要逻辑组织,并代表运筹学任务调度。然后必须将它们解释为时空动作约束或由本地规划器解释。其缺点之一是它们难以明确描述,因为它们要么专注于驾驶任务,例如变道或合并,要么几乎没有穷尽。[11] , [21] 定义执行超车操作的操作顺序; [22] 中的作者提出了一种驾驶策略的功能架构,作为针对特定交通情况的一组离散的行为策略。
  • 博弈论(game theory): 高速公路规划的想法是将移动的车辆视为观察彼此行为并因此采取适当策略做出反应的参与者。 这种方法的主要优点是它可以快速获得一个训练有素的驾驶员模型,从一个简单的基础模型开始。 主要缺点是它假设所有玩家都遵守规则,因此在现实生活中可能会导致不安全的反应。在 [15] 中,模型在针对其他行为进行训练时制定了更复杂的策略。 作者使用 POMDP 对玩家的知识进行建模,并在训练阶段使用 Jaakola 强化学习。

本文使用 Zhihu On VSCode 创作并发布