()
我们人类在开车时,如果要做变道或者加速减速,一般会先观察周围的车辆,推测附近车辆的行驶轨迹,然后在心中描绘出自己大概要开的轨迹,最后,控制油门与方向盘实际执行该轨迹。
在本章中,我们将讨论自动驾驶系统中赋予相似能力的模块:决策规划与控制。
如图1所示,该模块可再被细分为路线规划(routeplanning),行为规划(behavioralplanning),运动规划(motionplanning),以及反馈控制(feedbackcontrol)。
这种划分方法有效地将自动驾驶车辆决策规划与控制这样一个复杂问题从全局到局部进行了合理的分解。
这可使得每个模块专注解决单一的问题,简化庞杂软件系统的开发工作,同时实现各模块并行开发,提高开发效率。
在接下来的章节中,我们将详细介绍各个模块。
图1:自动驾驶决策规划与控制模块划分
一、路线规划
图2:自动驾驶车辆使用导航地图进行路线规划
(图片来源:https:cleantechnica20200722tesla-full-self-driving-functionality-could-be-released-by-end-of-2020)
当我们驾车前往不熟悉的目的地时,上车后第一件事便是使用导航地图。
在自动驾驶车辆软件系统中对应于这部分功能的模块便是路线规划---从全局上指导自动驾驶车辆按照导航路线从起始地到目的地。
这里的路线规划虽然一定程度上类似于传统的导航,但自动驾驶车辆通常使用高精度地图---精度更高、数据维度更多的电子地图。
精度更高体现在高精地图上的物体位置和其实际位置误差可以精确到厘米级别;数据维度更高指的是除了道路信息之外,高精地图还包含大量辅助行车的周边交通信息。
这些信息可以分为两类。
第一类是道路数据,比如车道线的位置、类型、车道的宽度、坡度和曲率等。
第二类是车道周围的固定对象信息,比如交通标志、红绿灯、车道限高、下水道口、障碍物、防护栏、路边地标等基础设施信息。
在此基础上,高精地图的数据更新频率比传统导航地图快很多。
自动驾驶路线规划所考虑的不仅仅是路径的长短和堵塞情况,还需要考虑自动驾驶车辆执行某些特定行为的难易程度。
比如,路线规划算法可能会尽量避免在短距离内进行换道。
出于安全考虑,自动驾驶车辆的规划控制算法需要的换道空间比人类驾驶员所需要的更大。
从安全第一的原则出发,自动驾驶车辆的路线规划模块可能会给需要换道的路径赋予更高的代价。
自动驾驶车辆的路线规划问题可以被抽象成一个在有向带权图上的最短路径搜索问题,经典的Dijkstra或A*等算法可被用于解决此类问题。
在实际问题中,更重要的往往不是路线规划算法的选择,而是如何设置采取某条路径的代价。
类似于对换道代价的考虑,需要进行无保护左转的路径也应该被提高代价,因为无保护左转对于保守的自动驾驶车辆而言是非常耗时的行为。
图3:无保护左转行为规划(图片来源:https:mediacoop.uni-siegen.deenprojectsa03)
二、行为规划
图4:感知算法提供了定位信息及环境信息(图片来源:https:betanews20130502googles-self-driving-cars-gather-nearly-1gb-of-sensor-data-every-second-would-you-trust-them)
路线规划模块所输出的目标车道会被下游的行为规划模块所使用。
该模块回答的是诸如「我应该变道吗?」、「黄灯该减速还是加速?」、「是时机左转了吗?」、「应该绕过违停车辆吗?」等问题。
除了接收来自路线规划的结果,行为规划模块还需要许多重要信息。
当前车身状态:位置、速度、朝向、所在车道等。
(第1页)
请关闭浏览器阅读模式后查看本章节,否则将出现无法翻页或章节内容丢失等现象。