无人驾驶汽车全局路径规划

摘要

无人驾驶汽车能够自动规划行驶路径,感知周围的环境,自主进行决策,并控制车辆的执行系统沿期望路径行驶,最终到达目的地。单体智能的无人驾驶系统,根据功能可划分为不同的子模块,包括:高精度地图、定位模块、感知模块、预测模块、全局路径规划模块、运动规划模块、运动控制模块以及人机交互模块等。本文研究的主要内容是无人驾驶汽车全局路径规划模块。

路径规划

在这里插入图片描述
无人驾驶汽车路径规划是指在一定的环境模型基础上,给定无人驾驶汽车起始点和目标点后,按照性能指标规划出一条无碰撞、能安全到达目标点的有效路径。

全局路径规划主要包含两个步骤:
1.建立包含障碍区域与自由区域的环境地图;
2.在环境地图中选择合适的路径搜索算法,快速实时地搜索可行驶路径。路径规划结果对车辆行驶起着导航作用。它引导车辆从当前位置行驶到达目标位置。

环境地图表示法

1.几何表示法利用包括点、线、多边形在内的几何元素来表示环境信息。相比于其他环境地图表示方式,几何特征地图更为紧凑,有利于位置估计和目标识别;缺点是环境几何特征提取困难。几何特征地图适合于在环境已知的室内环境提取一些简单的几何特征,而室外环境下的几何特征较难提取。
在这里插入图片描述
空间分解法是把环境分解为类似于格栅的局部单元,根据他们是否被障碍物占据来进行状态描述。如果格栅单元被障碍物占据,则为障碍格栅;反之,则为自由格栅。均匀分解法中的格栅大小均匀分布,占据格栅用数值表示。均匀分解法能够快速直观地融合传感器信息;但是,均匀分解法采用相同大小格栅会导致存储空间巨大,大规模环境下路径规划计算复杂度高。
在这里插入图片描述
均匀格栅地图是度量地图路径规划中最常用的。它把环境分解为一系列离散的格栅节点。所有格栅节点大小统一,均匀分布。格栅用值占据方式来表示障碍物信息。例如使用最简单的二值表示方法,1表示障碍格栅,不可通行;0表示自由格栅。
当用均匀格栅地图表示环境信息后,格栅节点之间只有建立一定的连接关系才能保证能从起点搜索到目标点的有效路径。
在这里插入图片描述
2. 拓扑地图模型选用节点表示道路上的特定位置,并用节点与节点间的关系来表示道路间联系。
这种地图表示方法具有结构简单、存储方便、全局连贯性好、规划效率高、鲁棒性强等特点,适合于大规模环境下的道路规划,但它包含信息量少,需借助其他传感器来对道路环境做进一步描述。

路径规划算法

在这里插入图片描述
比较常用的路径规划算法为基于采样的路径规划算法以及基于搜索路径规划算法。

基于采样的路径规划算法很早便开始用于车辆的路径规划中,比较常见的基于采样的规划算法有概率图算法(Probabilistic Road Map, PRM)和快速随机扩展树算法(Rapidly-exploring Random Tree,RRT)。

概率图算法是在规划空间内随机选取N个节点,之后连接各节点,并去除与障碍物接触的连线,由此得到一个可行路径。显然,当采样点太少,或者分布不合理时,PRM算法是不完备的,但可以增加采样点使该算法达到完备,所以PRM是概率完备但不是最优的。
在这里插入图片描述
快速随机扩展树算法(RRT)最初主要用于解决含有运动学约束的路径规划问题。由于RRT在状态空间中采用随机采样确定扩展节点,不需要预处理,搜索速度快,尤其在高维规划空间中搜索速度优势尤为明显。
在这里插入图片描述
RRT算法以一个初始点作为根节点,通过随机采样增加叶子节点的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便可以在随机树中找到一条从初始点到目标点的路径。

(1)初始化树空间
初始化随机树,输入初始节点 q(start)和目标节点 q(goal) ,对初始节点与目标节点进行连接尝试,如果初始节点与目标节点能够连接成功,则返回成功生成的路径。

在这里插入图片描述
在这里插入图片描述
Dijkstra算法是典型的广度优先搜索算法。它是一个按路径长度递增的次序产生最短路径的方法,是求解最短路径的经典算法之一。Dijkstra算法是一种贪心算法,它在每一步都选择局部最优解,以产生一个最优解。这也会导致该算法的时间复杂度较高,在图规模较大时,该算法的计算速度慢,很难满足路径规划实时性的要求。

A*(A-Start)算法是一种静态路网中求解最短路径最有效的直接搜索方法,是经典的启发式搜索算法,它是由Dijkstra算法改进而来的。其最显著的特点就是在搜索过程中增加了启发函数,通过给定启发函数来减少搜索节点,从而提高路径搜索效率。

在这里插入图片描述
1.把起点加入 open list 。
2.重复如下过程:
a. 遍历 open list ,查找 F 值最小的节点,把它作为当前要处理的节点。
b. 把这个节点移到 close list 。
c. 对当前方格的 8 个相邻方格的每一个方格?
◆ 如果它是不可抵达的或者它在 close list 中,忽略它。否则,做如下操作。
◆ 如果它不在 open list 中,把它加入 open list ,并且把当前方格设置为它的父亲,记录该方格的 F , G 和 H 值。

◆ 如果它已经在 open list 中,检查这条路径 ( 即起始节点经由当前方格到达它那里 ) 是否更好,用 G 值作参考。更小的 G 值表示这是更好的路径。如果是这样,把它的父亲设置为当前方格,并重新计算它的 G 和 F 值。如果你的 open list 是按 F 值排序的话,改变后你可能需要重新排序。
d. 停止,当你
◆ 把终点加入到了 open list 中,此时路径已经找到了,或者
◆ 查找终点失败,并且 open list 是空的,此时没有路径。
3.保存路径。从终点开始,每个方格沿着父节点移动直至起点,这就是你的路径。

在这里插入图片描述
在这里插入图片描述

A算法通过给定启发函数来减少搜索节点,从而提高路径搜索效率。研究表明,A算法搜索得到的路径能够同时满足实时性和最优性要求。

在这里插入图片描述

总结

RRT 算法虽然具有快速性、便于考虑运动学约束等优势,但是构建扩展树的随机性、容易陷入局部极小值等方面还有待改进,总的来说改进方法分为两大类,一类是基于基本RRT 算法节点选择、步长选择、扩展方向等的改进,二是与其它路径规划算法融合的改进。

发布了3 篇原创文章 · 获赞 2 · 访问量 350

猜你喜欢

转载自blog.csdn.net/weixin_44348260/article/details/104051856