I. INTRODUCTION
首先介绍了一些自动驾驶 汽车的起源、相关辅助驾驶技术的应用、相关的政策与标准、DARPA挑战赛以及其他的自动驾驶汽车项目情况和进展。
作者介绍了一些Motion Planning先前的综述和文献:
机器人领域:[20], [21], [22]; 自动驾驶:[23], [24], [25];
为了适应自动驾驶汽车的工业现实原型,研究的标准化带来了新的问题,如功能安全、实时计算、系统方法或低成本开发,以及停车场、十字路口管理或高速公路驾驶的特定场景的应用。 基于高速公路研究自动驾驶的原因 :
环境简单、道路结构简单; 驾驶行为有限且不复杂; 较易实现完全自动驾驶。
II. CONSIDERATIONS FOR HIGHWAY MOTION PLANNING
A. Terminology
这部分介绍了一些基本的术语和概念(不完全记录):
configuration space :几何状态空间(机器人配置空间)。evolution space :指自车在空间和时间上可以安全移动的区域。
二者都包含:
collision space :会和障碍物发生碰撞;uncertain space :有概率会和障碍物发生碰撞;free space :不会和障碍物发生碰撞。
作者将构建路径、轨迹、机动或动作序列的生成(generation)与规划(planning)区分开来。
B. Motion Planning Scheme
[18], [24], [27]这三篇文献有对自动驾驶层级架构的描述。
作者介绍了一种典型的分层模式:
motion strategy 输入:从perception , localization 以及communication (Vehicle-to-X -V2X )模块获取的自车、障碍物行为以及基础设施的相关信息。(不关注如何收集,但关注测量的质量、不确定度以及可靠性 )scene representation :提供包含自车、障碍物、周围环境、交通等等的感知地图。从perception, localization以及communication (Vehicle-to-X - V2X)模块到motion strategy模块形成一个闭环系统:传递当前和未来的一些信息。 control:控制,执行(actuation)。 闭环系统:反馈当前车辆的一些状态给Motion部分。 和驾驶员之间的交互:警示驾驶员风险;反馈驾驶员意图。
作者在本文中提出的分层方式:
(i) route planning :全局规划器; (ii) prediction :预测,基于当前以及历史信息推测周围环境的变化; (iii) decision making (iv) generation (v) deformation
Deformation 是指在运动规划中对生成的运动轨迹进行微调以适应环境和特定的限制 ,从而提高运动规划的准确性 和可行性 的过程。这个过程可以分为两个阶段:高层策略 和低层策略 。在高层策略阶段,通过生成多个可能的运动轨迹,并基于特定的评估标准选择最合适的轨迹;在低层策略阶段,通过微调轨迹实现对环境和限制的适应。Deformation还可以被看作是一种反应式的策略,能够在生成的运动轨迹上实时调整,以避免障碍物和保持轨迹的连续性 。
在最近的工作[32], [33]中,motion planning的方法主要被分为high-level和low-level两个部分:
high-level(predictive):包含三个部分:风险评估(risk evaluation),标准最小化(criteria minimization),约束(constraint submission)。这三个部分主要用在决策部分:从一系列的规划轨迹中选择一个作为决策;或先进行决策再进行相应的规划。high-level得益于较长视野的预测,但比较耗时。 low-level (reactive):将运动生成这一过程用基于反应的方法代替。
表格中是各模块的距离范围和时间范围。
C. Specificities of Highway Driving
作者主要考虑的场景仅限于是结构化道路 且速度超过60km/h的单向交通流。相较于城市道路场景,交通行为更加简单统一。
作者在本文中主要关注八种情况:
Lane keeping ;Car following ;Lane changing ;Lateral-most lane changing :变道到最外侧车道;Passing ;Overtaking ;Merging ;Highway toll :高速收费站。
编队行驶的运动规划需要有更强的鲁棒性与稳定性。相关文献:[35]。 基于高速的运动规划和基于城市道路的运动规划最主要的不同是预瞄时间的不同 ,前者有更长的预瞄距离/时间。
D. Constraints on Highway Driving
硬约束 :考虑交通规则与避免碰撞软约束 :考虑时间、距离、耗能最小化,舒适度。其他可行性约 束:车辆非完整性约束;光滑的路径——轨迹需要可微且曲率连续;车辆动力学约束。除了基于虚拟势场的方法以及数值优化的方法,大多数的方法较少甚至没有考虑到车辆模型 。 随时间变化的动态约束 (例如单调性?)。
E. What Is at Stake in this Paper
这段主要关注高速公路自动驾驶的运动策略算法,强调实时有效性,不拘泥于数学复杂性 (Simple is the BEST!)。作者分类算法 从实际应用角度出发,分析它们的优缺点,同时考虑模拟或实验。相比于最优性,更看重可行性。在高速公路驾驶中,关键是确保至少一种连续运动策略。
III. STATE OF THE ART
Motion Planing 相关的问题:
scene representation传过来的数据会有不同的类型(离散/连续、代数/分析或静态/动态),motion planning问题的形式也会相应的不同。 运动规划结合了五个不可避免的方面,(i)状态估计,(ii)时间演化,(iii)行动规划,(iv)标准优化,(v)遵守约束。如何处理这些会改变相应的问题。
A. Taxonomy Description
讲述作者如何对Motion Planing的方法进行分类
分类特征:
输出的类型:空间,路径,轨迹,操作或者是符号表示。
同时还需要考虑算法返回的是分解之后的运动(decomposition motion)还是参考运动(reference motion)。前者被称为set-algorithm ,需要一个补充的算法去找到可行的运动;后者被称为solve-algorithm ; 时空性质:predictive or reactive horizon; 所用的数学域(方法):基于几何,启发式,逻辑,认知,仿生(geometric, heuristic, logic,cognitive, biomimetic )。
geometric 几何方法基于空间的属性,直接处理环境与自身车辆的空间约束(运动学约束)。接下来需要处理大空间探索和优化问题。heuristic 启发式方法依赖问题相关知识,快速找到近似解,避免计算复杂度和道路阻塞情况,但不保证找到最优解。logic 逻辑方法指基于推断的演绎方法,易将结果和原因联系起来,但易受组合爆炸影响。cognitive 认知方法依赖先验知识和常识评估情境,模仿人类决策过程,但自动驾驶应用经验不足,理论有效性未经验证,不认可基于认知的算法。驾驶员行为复杂且非理性,难以建模。biomimetic 仿生方法,它描述了受物理启发的算法,遵循物理定律,这些定律便于实现,但可能会陷入无限循环运动行为。必须使用可行解来获得系统的收敛性。
接下来要介绍的几种算法的分类雷达图
B. Algorithm Classification
1) Space Configuration
Space Configuration类的算法主要的难点在于用合适的参数去表示运动或环境空间 ,且空间离散的程度需要很好的权衡。
这类算法的主要思想:
对evolution space采样或离散; 去除不可行或碰撞区域; 将剩余部分作为free-space的约束;或者使用路径寻找(pathfinding)算法or曲线规划的方式。
a) Sampling-Based Decomposition
主要有两种方式:
基于运动学约束在evolution space里进行采样,计算量更高; 随机采样,计算更快,但依赖于采样分布,不可复现、不完备。 两者都非最优,且不能保证完备性。
不过采样的方式可以在动态重规划中运用,且不需要对障碍物空间进行建模。
比较典型的算法PRM,相关详细介绍自动驾驶路径规划——基于概率采样的路径规划算法 ,作者提到的[33],基于参考线进行采样,再利用目标函数去寻找最好的节点集,并在路径上进行速度分配。 更好的策略是同时考虑时间和空间的维度(spatiotemporal sampling )[43]。 不过以上的这些方法在结构化道路中运用的较少,多运用在非结构化 环境中。
b) Connected Cells Decomposition
Cells Decomposition首先将空间利用几何信息分割成若干个单元格 ,再构建相应的拓扑结构 。
图5是各类Cells Decomposition的相关应用。主要包括以下两类方法( 障碍物表示方法 or 不基于障碍物进行表示):
总结一下:Cells Decomposition仍不能算是highway planning中主流的方式,因为其虽然利用了障碍物的信息,但却忽略了道路的相关domain knowledge;对于highway planning,需要将动态障碍物约束以及道路约束进行结合。
c) Lattice Representation
Lattice通常可以基于栅格生成,同时可以定义相关的运动基元,用于连接相连的状态(控制空间的状态或者状态空间的状态)。 Lattice主要用于上文所述的predictive planning 优点:考虑车辆动力学约束以及时空上的约束;可以线下计算以用于快速重规划 缺点:结构固定,难以应用到reactive planning中。感觉可以通过相对高频的重规划实现reactive的避障等功能
比较原始的lattice基于最大转向策略maximum turn strategy 进行;之后有将速度因素考虑进来的maximum turn strategy 策略。但这两种方式所预定义的运动集合通常难以适应动态环境而且需要高稠密度才能达到理想的位置。之后又有自适应环境的latticeenvironment-adapted lattice 出现,基于参考线、车道线进行撒点;还有其他的将驾驶员行为融合进来的方法。
Lattice将道路边界和运动学约束考虑进来并且能够实现较快的重规划,对于Highway Planning而言,十分有利。但是每一轮迭代所需要的存储空间等等会对计算量带来影响。
2) Pathfinding Algorithms
Pathfinding类的算法通常需要有一个代价函数进行优化。 这些算法运用广泛,可以被用在已知或未知的环境中。 主要的缺点 :依赖于图的大小以及复杂度;需要有space configuration的相关信息,对于空旷场景适应能力差。 介绍了经典的Dijkstra、AStar等算法,可参考【移动机器人运动规划】01 —— 常见地图基础 |图搜索基础 启发函数设计的例子 :基于距离自车道边界以及行驶距离进行设计;基于行驶时间以及危险驾驶的惩罚进行设计。Anytime Weighted A * (AWA *):对启发函数取权重,减少计算时间。hybridstate A *:考虑动力学约束,采用基于非完整约束但不考虑障碍物的启发函数以及基于障碍物但不考虑非完整约束的启发函数。D * :基于动态场景RRT 可以生成运动学可行的路径同时可以用于reactive的避障路径生成中。RRT *:渐进最优。缺点:随机采样可能导致图的连通性较差,同时难以复现。对于高速道路,环境信息通常比较简单且是可知的 ,用确定性的搜索算法可能会更好。
3) Attractive and Repulsive Forces
基于引力和斥力(场)的方法的优点 :
这类方法通常基于梯度下降法 (不考虑车辆模型)或者基于Newton第二定律 (考虑车辆模型)
因为对所有空间进行建模比较困难,这类方法通常运用于运动轨迹的应对动态变化的调整。
Artificial Potential Field (APF) :[99];[100]基于电场的思想;APF直接产生控制输入[96],或者产生优化问题所需的约束[46],[101]
Velocity Vector Field (VVF) :速度矢量场,动态轨迹更平稳
缺点:距离障碍物太近时会产生超调;会陷入局部极小值,通常采用随机启发跳出局部极小值。不过在Highway Planning中可能还需要局部极小值去避免不合时宜的换道。
Virtual Force Field (VFF) :采用向量直方图的方法,同时利用概率分布作为虚拟力。
另一个缺点:只考虑了空间维度进行动态避障,使得在面对障碍物时,往往会采取从旁边行驶过的策略。
elastic band :弹性带算法针对上述情况进行改进
虽然这一类算法可能计算量比较大,但是对于Highway Planning比较有效。
4) Parametric and Semi-parametric Curves
参数曲线和半参数曲线作为主流Highway Planning几何算法的原因:
高速道路本身就是一系列简单、预先定义的曲线组成的; 预定义曲线集合很容易作为候选测试轨迹。 可以直接考虑运动学约束 几何约束和动态约束通常分开考虑,换句话:路径规划和速度规划进行解耦[106],[107]。解耦可以使得车辆能够适应动态场景。
作者主要探讨两类曲线算法:
直接用曲线生成相应的候选轨迹库,需要进一步选择。
第一类算法通常利用了触须算法tentacles algorithm 的原理[108],相比于space decomposition的方法,计算空间和时间都缩短了不少。 Dubins 曲线:曲线和直线结合[110];[42],[109] 不过,这类方法存在曲线曲率二阶导不连续的情况,难以运用到车辆模型中(可以用优化or拟合的方法补偿)。作者提到用螺旋曲线连接直线和圆弧曲线以达到曲线曲率二阶导连续 。 回旋曲线曲率与曲线横坐标成比例[50]。这个特性可以用于横向加速度的限制以及舒适度的约束上。[111],[112],[113]. 回旋曲线需要不断迭代,很消耗计算时间 sigmoid or S-function 基于路径点生成曲线轨迹
Point-based的曲线生成能够很好地适应环境约束以及动态约束,也可以作为平滑步骤。 [29] :三次螺旋曲线 [80] : 三次函数用于速度生成,四次和五次多项式用于横纵向轨迹生成; [81] : 三次多项式函数与平滑后的四次曲率多项式用以生成路径,三次多项式用以速度生成。 对于多项式插值计算比较复杂的问题,半参数样条曲线对此进行了改进。需要将曲线定义为一系列分段多项式。 Bézier curves :使用控制点 而非插值点作为拐点 ,因此不会完全沿着预定义的控制点前进。容易实现,计算量小。[49],[116];[117]用到了SVM去提供控制点。 总结:曲线类的算法通常会结合其他算法,而且曲线的选择取决于具体的问题和环境信息。
5) Numerical Optimization
优化算法也是竞争性组合运筹学的一部分,以避免组合爆炸。 作者介绍了两种优化算法在运动规划中的应用:
通过有效的方法解决复杂的问题同时减少搜索时间。 用数学的方法在给定约束中解决问题,也是本文主要讨论的方面。 优点 :易于处理问题的约束,可以处理多准则优化问题,将车辆模型的状态维数和运动学纳入考虑。Linear Programming (LP) :线性规划。[81]Sequential LP (SLP) : 序列线性规划[119]Nonlinear Programming(NLP) :非线性规划;NLP用于非线性回归问题的特殊情况,如路径优化中用到Levenberg-Marquardt算法[29],[104],或者是用于BVP问题[33]的求解。
Levenberg-Marquardt算法是一种非线性最小二乘优化算法,常用于拟合曲线或解决非线性优化问题。该算法结合了梯度下降和高斯牛顿方法的优点,可以在迭代过程中自适应地调整步长,具有快速收敛和高效稳定的特点。在拟合曲线、信号处理、机器学习等领域广泛应用。
Quadratic Programming (QP) :二次规划。sequential quadratic programming (SQP) :序列二次规划。[18]Mixed Integer Quadratic Programming (MIQP) :[120],[121]Model Predictive Control (MPC) :模型预测控制[46], [47], [51], [113], [118], [122], [123]。MPC重规划能力强,但是对于非凸问题以及高复杂度的问题求解存在欠缺。Dynamic Programming (DP) :动态规划,将复杂问题分解。[49],[124]
6) Artificial Intelligence
AI类的算法泛化能力强,在不改变算法结构的基础上进行新的调整。 四类算法:类人、启发式、近似推理、逻辑
a) AI Logic-Based Approach
定义专家系统来解决特定的复杂任务,依赖于知识库和推理引擎来自动化推理系统。
基于逻辑的AI算法具有快速架构(fast architecture,不是很理解) 的优点 ,可用于预测性(predictive)或反应式的planning中。
主要优点 :可以模拟人类逻辑和理性推理
缺点 :知识库需要离散化具有大量因果规则和调优参数的环境变量。
rule-based :
[126]在高速公路上基于规则的意图预测的令人满意的结果,并将其用于[127]中的变道机动。 其主要优点 是可以清楚地识别因果关系,标记方便,实现简单。 其主要缺点 是循环推理和规则的穷举枚举,导致无限循环,影响计算时间;如果当前情况与规则库中的观察结果不匹配,则可能做出不合适的决策。 规则的顺序 也很重要,可以通过启发式 的方式对规则进行排序。 decision trees决策树 :
[78]描述所有可能行驶的车道; [32],[128]用二元决策图(binary decision diagrams)和流程图表示布尔函数。 难以描述不确定的和近似的情况。决策树还应该考虑他车的危险和不合法行为,即考虑法律的因素。 Finite State Machine (FSM)有限状态机:
[55]用于紧急停车;[129]将动作和状态的序列映射为路径生成和跟踪控制;[18]采用平行的状态图表去描述同时发生的状态。 主要缺点 是它们只基于确定的知识,不能推广到未知情况。 Bayesian networks 贝叶斯网络:
考虑到不确定性。 贝叶斯网络是基于概率转换的因果关系的统计表示。他们提出了一个基于知识的参数识别步骤,以确定输出序列中最可能的状态序列。 [27]比较障碍物的意图,返回自车的操作。 [50]采用了MDP去选择触须轨迹库中的轨迹。[130]在车道保持、变道决策中运用MDP。 MDP的优点是能够同时评估多个预测信息。 POMDP:[131],[132],[133] 总结 :
基于人工智能逻辑的方法大多适用于约束和可预测的环境(例如高速场景) 主要缺点 是缺乏自主性和严格的程序结构,无法实现自适应和可重构算法。
b) AI Heuristic Algorithms
启发式算法基于经验,有利于自然环境过程的探索。它们的目标是找到一个近似解,因此当传统的穷举方法失败时,它们可以被用作更快、更有效的算法。 通常返回一系列的动作集合。 它们的主要优点 是计算时间短,复杂度低,处理复杂问题的能力强。 但是不能保证全局最优性 和准确性 。 agent :启发式的算法通常涉及智能体(agent)这一概念。
启发式智能体的功能允许包含多策略决策,如[132],包括到目标的距离、车道选择偏差、最大偏航率和策略成本。 适应于具有不确定性的环境 Support Vector Machines (SVM) :
[117]利用SVM去拟合贝塞尔曲线的控制点;[134]则是应用于变道决策之中。 Evolutionary methods :
Evolutionary methods进化算法是一类广泛使用的学习算法,受生物模拟的启发,具有自然的合理演化过程,如繁殖、突变、重组和选择 。首先,需要确定一组与适应度函数相关联的先验解来评估它们的质量。然后应用一组演化过程来寻找更好的优化问题的解决方案。 [136]应用了两种遗传算法来改进模糊控制模块,[137]详细介绍了一种基于速度、角度、打断和回避时间的4染色体结构遗传算法 这种算法的稳定性和风险 与突变机制 有关,其随机过程可能导致局部最小值 。
c) AI Approximate Reasoning
d) AI Human-Like Methods
IV. COMPARISON TABLE FOR HIGHWAY APPLICATIONS
表格汇总了之前的算法。
TABLE II COMPARISON TABLE FOR HIGHWAY APPLICATIONS OF MOTION PLANNING METHODS (‘−−’ VERY INAPPROPRIATE, ‘−’ INAPPROPRIATE,‘∼’ INTERMEDIARY, ‘+’ APPROPRIATE, ‘++’ VERY APPROPRIATE).
V. FUTURE RESEARCH DIRECTIONS
A. Data Management
文献[166]详细介绍了影响运动规划的几个感知挑战,文献[167]讨论了改进驾驶控制算法的条件。 作者载这一部分主要关心的两个问题:
在不确定性和可信度方面,多少数据才足够?how much data is enough in terms of uncertainties and trustworthiness? 我们如何对延迟和非同步数据做出决策?how do we make a decision with latency and unsynchronized data?
1) Data Uncertainty and Trustworthiness
数据不确定性和可信度相关算法:
卡尔曼估计Kalman estimators [52], [169]马尔可夫过程Markov processes [131], [170]蒙特卡洛方法Markov processes [131], [170]evidential theory [52]区间算法interval arithmetic [171] 此外,规划阶段还必须确保运动连续性,以确保即使数据丢失也能保证车辆的安全。
2) Data Synchronization
场景的数据是用不同的频率和延迟 获得的 第一个解决方案是为运动规划模块和控制器运行具有相同时间步长的算法,并外推最后获得的数据。 第二种方案是基于一个在每次新数据到达时能进行刷新的规划器。然后,混合逻辑将在固定频率上运行,并在新数据到达时刷新数据,通过外推数据集来改进传播方程。
B. Adaptive Mobility
指出了人类驾驶员在面对机器人驾驶员时需要考虑的安全问题,包括尊重、可接受性、可预测性或舒适度等方面。
1) Safety
出于安全考虑,需要有足够智能的算法来区分永久或暂时的危险 自动驾驶中的纵向距离和速度控制 通常比人类驾驶更快,因此纵向安全空间可以更小 相比之下,人类驾驶员的横向距离控制 通常更稳定;因此,自动驾驶的横向安全空间必须更大。 此外,这个安全空间必须足以应对环境中的意外 (例如,前方车辆的意外刹车,不可预见的死胡同)。 人类接管和人机混合驾驶的自动驾驶汽车 相关问题:
第一个问题是在驾驶员收回控制权的情况下保持稳定 和预测性的决策 第二种是人类驾驶员和机器的决策可能相互矛盾 [177]。 人类驾驶员在面对自动驾驶时需要考虑的安全问题,包括尊重、可接受性、可预测性或舒适度等方面。
2) Eco-driving Planning
生态驾驶(Eco-driving)被表示为一个多标准优化问题(见III-B5),具有基于能源效率和环境保护的代价函数,达到节能低碳的目标。主要考虑两个方面。 首先对自动驾驶汽车的动力学模型进行了分析,提出了低加速、恒速等平稳机动以降低油耗的方法 第二,有良好的预测和预期,以避免突然产生机动
3) Perception Compensation
关于感知的一个问题是驾驶场景的固定视角的约束 然而,当人类驾驶员必须做出决定时,他/她会通过移动车辆 来优化他/她的感知,从而在更大的感知环境中获取更多信息。
4) Route Context
全局的路径规划实际上对于局部的路径规划会产生相应的约束。例如,右侧高速公路出口需要自车导航到最右边的车道。
5) Service Orientation
根据不同车辆的用途,基于服务属性,调整决策行为。 到目前为止,经典的方法是时空域决策,即车辆必须在何时何地导航。现在加入了第三个维度:车辆如何导航
C. Cooperative Planning
individual :
每辆车都独立于其他车辆做出决定,但会考虑互动[159]和礼貌[184]等因素。 collective :
a swarm intelligence :群体智能这种集体决策需要对其他车辆的状态了解,并进行强有力的通信。通过群体智能、事件驱动方法、风险估计和模糊逻辑建模,可以使车辆协作,实现编队机动。同时,智能基础设施也可以作为管理者或控制器,通过协调调度程序实现车辆行动的预期和监控,文献中主要介绍了基于知识推理引擎和代理的智能高速公路管理者。 shared:
自动驾驶技术与人类驾驶员的合作方式和共享决策。SAE自动化级别描述了驾驶员和自动驾驶车辆之间的共享合作。驾驶员的经验对于自动驾驶系统是有用的,可以采用模糊化方法将其与系统决策结合。研究还探讨了如何将自动驾驶车辆的行为与驾驶员类型相适应,以更好地推广自动驾驶技术。
D. Validation and Evaluation
1) Transition Stability
“Transition Stability” 指的是转换稳定性,即在使用不同的运动规划算法时,系统间转换是否稳定、可靠并且鲁棒。如果转换不稳定,就需要添加一个高级别的监管者来验证决策、动作和观察的一致性。 在[195]中,作者提出了一种类似于FSM决策的行为模式,实现了可以在手动和自动驾驶之间以及不同的机动模式之间切换的架构。
2) Evaluation
主要包括在仿真和实验测试中进行人为驾驶员的评价(安全、平滑、操作时间)和使用关键绩效指标(KPIs)等方式。
3) Ethics
机器人系统与人类互动时,需要考虑伦理道德问题。相关研究提出了基于混合理性和人工智能的道德部署策略,以及将道德纳入决策中的方法。
4) Algorithm Relaxation
严格遵守和松弛驾驶规则是确保自动驾驶汽车安全的关键。事实上,即使是硬约束也可能在危急情况下变得危险[13]。