环境感知与规划专题(十)——基于采样的路径规划算法(二)

本文深入探讨了RRT算法在自动驾驶路径规划中的局限性,如狭窄通道问题,以及如何通过RRT-Connect、RRT*和Informed-RRT*进行优化。介绍了KD-Tree在提高搜索效率中的作用,并阐述了RRT*的剪枝策略和Informed-RRT*的椭圆采样区域优化。
摘要由CSDN通过智能技术生成

前言

 上一篇介绍了快速搜索随机树(RRT)算法的原理,这是一种基于采样的路径规划算法,在地图尺寸较大时,其效率将显著的优于基于图搜索的路径规划算法(如A*)。

 然而,RRT也有其局限性,如:

  • 狭窄通道情况下的搜索效率急剧下降

  • 搜索得到的路径不是全局最优的

 本篇将针对RRT算法应用时出现的几个问题展开讨论,并阐述几种RRT算法的改进型。

快速获取搜索树中的相邻节点

RRT算法中有一个重要的环节——获取搜索树种距离采样点最近的节点:

 该算法的效率直接影响了RRT算法的搜索效率,因此,本篇单独对其进行讨论。

 在工程中,我们将搜索树构建为KD-Tree(K-dimensional Tree),通过KD-Tree来搜索相邻节点,它改进的就是上图中的 N e a r ( x r a n d , τ ) Near(x_{rand},\tau) Near(xrand,τ)函数的效率,那么什么是KD-Tree呢?

KD-Tree(K-dimension tree)是一种对 k k k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。KD-Tree是一种二叉树,表示对 k k k维空间的一个划分,构造KD-Tree相当于不断地用垂直于坐标轴的超平面将 k k k维空间切分,构成一系列的 k k k维超矩形区域。KD-Tree的每个结点对应于一个 k k k维超矩形区域。利用KD-Tree可以省去对大部分数据点的搜索,从而减少搜索的计算量。

 对于RRT算法,我们对搜索树进行KD-Tree构建,以二维问题为例,我们取所有节点中 x x x方向的中位数节点为切割点,将所有节点分为两部分,再对所有节点中 y y y方向的中位数节点为切割点分割,以此类推,最终将搜索树中的所有节点划分完毕,即得到KD-Tree

 在得到KD-Tree后,我们可以根据需要,快速地搜索到距离 x r a n d x_{rand} xrand节点最近的节点,大大提高 N e a r ( x r a n d , τ ) Near(x_{rand},\tau) Near(xrand,τ)函数的搜索效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值