lazy rrt 与rrt的区别
时间: 2023-06-06 13:02:17 浏览: 274
matlab-rrt-variants:RRT*、RRT-connect、lazy RRT 和 RRT extend 已针对具有可视化的 2d 和 3d c 空间实现-matlab开发
Lazy RRT(Lazy Rapidly-exploring Random Trees)和RRT(Rapidly-exploring Random Trees)都是用于路径规划的算法,它们的最大区别在于探索节点的方式。
RRT算法是一种基于树型结构的随机探索算法,通过随机探索树形空间来寻找目标点,通过不断扩展当前树的节点数,最终找到到达目标的路径。在RRT算法中,每一次对随机点的采样和对树的扩展都必须完成,以便更新树的拓扑结构。这种方法处在一定范围内也无可厚非,但是在计算次数增多时,其效率会出现比较大的瓶颈。
而Lazy RRT算法则大幅度提高了效率。和传统RRT算法不同的是,Lazy RRT算法并不是直接利用扩展部分的节点求出目标,而是将初始节点和目标节点作为终点,在搜索过程中,仅仅生成这些节点之间的路径而不将其展开。如果发生了碰撞,就会加入到树的终点。每当一次切换发生,树的根会被更改,默认情况下根会更改为上一次接近目标的节点。
相比较于基本的RRT算法,Lazy RRT相对而言,计算量、时间成本以及越过高阈值难度层级的概率都会相应降低。然而,Lazy RRT也存在着无法实现全局搜索的缺陷。因为无法在一开始就生成最短的路径,只有在探索完成后才知道完整的路径,所以算法在寻优的过程中需要更新树结构,最后得出较优解可能偏差较大。
阅读全文