RRT家族和 A* 家族的共性是:都是生成一棵不断靠近目标的路径树。只是生成的方式不同,RRT家族通过随机采样结点来拓展路径树, A* 家族则基于贪心策略在规划问题图(graph)上搜索叶点来拓展路径树。RRT家族与 A* 家族的共性确定了它们的发展路线惊人的相似。RRT-Connect是在双向RRT算法的基础上增加了一个贪心策略,其本质上还是一个改进版本的双向RRT算法。说到这儿,还没想起什么吗?对的,A* 算法也有个双向的版本。不多说,我们开始进入正题。

一、先从双向RRT说起

A* 家族中的双向 A* 算法是为了解决起点与终点位置互换引起路径搜索效率差异很大的问题。如果严格按所占用的计算资源来算,双向 A* 算法并不一定会比原始 A* 算法的效率高。那如果从可并行计算角度来看,双向 A* 算法的确能够做出比原始 A* 算法耗费更低的时间成本。就像两头开工的隧道工程的确会比一头开工的要快,我们需要注意的是那快出来的效率主要是因为那多出的一半人力。

其实,双向RRT的目的和双向 A* 算法一致,具体参见基于图搜索的规划算法之 A* 家族(二):双向 A* 算法中的背景。

但是,我们也要看到双向版本的算法允许并行计算,甚至仅仅是用多线程模拟的并行,能够降低时间成本的事实。

先给出双向RRT算法的python代码如下(只给出了变化的函数代码):

class <

基于采样的规划算法之RRT家族(二):RRT-Connect相关推荐

  1. 基于采样的规划算法之RRT家族(六):总结

    从RRT到时空RRT,我们介绍了总共5种RRT家族算法.RRT-Connect.RRT* .Informed RRT* 都是为了让原始RRT算法花更小的时间找到更短的路径.最后一个时空RRT算法则是为 ...

  2. 基于采样的规划算法之概率路图(PRM)法

    概率路图(Probabilistic Road Map, PRM)法严格意义上只是一种构建规划问题图(graph)的方法,在目的上与前面介绍的可视图.Voronoi图一样.在构建完规划问题图(grap ...

  3. 基于采样的规划算法之RRT家族(三):RRT*

    RRT算法是边随机产生节点边生长一棵路径树,当这棵树与目标点相遇,便从相遇点回溯到起点得到路径解.对于新产生的随机节点,原始RRT算法将路径树上距离它最近的节点作为它的父节点,并不能保证新节点通过该父 ...

  4. 基于采样的规划算法之RRT家族(四):Informed RRT*

    文章目录 一.Informed子集的概念 1.1 Informed的含义 1.2 第一种Informed子集: X f \mathbf{X}_f X

  5. 基于采样的规划算法之动态窗口法(DWA)

    动态规划将一个多步决策问题拆分成若干子问题,并且保证子问题的最优解能推出完整问题的最优解.所以,动态规划可以得到采样空间下的最优路径解.本章介绍的动态窗口法(Dynamic Window Approa ...

  6. 基于非线规划算法的船舶能量调度

    拟开展能量调度小论文学习分享心得系列文章 1.基于非线规划算法的船舶能量调度 拟开展能量调度小论文学习分享心得系列文章 前言 一.解决方案 二.仿真实验: 三.总结: 前言 在使用深度强化学习算法(D ...

  7. 基于MVS的三维重建算法学习笔记(二)— 立体视觉的几何基础总结

    基于MVS的三维重建算法学习笔记(二)- 立体视觉的几何基础总结 声明 概述 1. 常见三维数据类型 2. 三维形状的几种表达形式 3. 三维空间刚体运动 4. 李群和李代数 5. 相机标定 6. 非 ...

  8. 路径规划之基于插值的规划算法

    关注同名微信公众号"混沌无形",有趣好文! 原文链接:机器人曲线插值拟合算法研究现状简述(包含原文PDF百度云下载链接) 第一类是采用多项式曲线来描述机器人运动轨迹,这是因为多项式 ...

  9. 基于图搜索的规划算法之Dijkstra

    小伙伴们在学习各类编程语言时,"Hello World !"经常被我们作为学习或调试某类语言的第一个演示程序.在我看来,Dijkstra算法寻路时的迭代逻辑简单,可以作为规划算法的 ...

最新文章

  1. Conficker-AE的处理方法
  2. “对技术没有好奇心”真的是很失败的一件事情
  3. 内容可编辑_让PDF像WORD一样自由编辑,好用的PDF编辑工具推荐
  4. 【BZOJ - 3224】普通平衡树(Splay模板题)
  5. MySQL数据库主从同步的3种一致性方案实现,及优劣比较
  6. Linux常用命令拾遗
  7. STB Reason: can‘t fopen
  8. STM32工作笔记0020---新建工程模板基于寄存器-M3
  9. shellcode编写技巧
  10. android 图片自动移动位置信息,android – 使用翻译动画将ImageView从当前位置移动到固定位置...
  11. 【企业】质量管理:如何使用 5WHY 分析法解决处理问题
  12. http 网络异常请求处理
  13. 生产订单的计划、实际成本与产出查看
  14. 麻省理工大学线性代数1806(1) 矩阵 行图像 列图像 如沐春风、如饮甘露、醍醐灌顶的线性代数
  15. Aquarius's Trial F - 6 HDU - 2102 A计划
  16. 夜深忽梦少年事,7年又一年,来看看95年那个小伙现在怎么样了
  17. mysql数据库表添加列的语句(例子)
  18. 如何把vmware 10变成英文版。。。
  19. 使用echarts绘制地图、线图(飞行路线图)时需要的json资源
  20. 【我的OpenGL学习进阶之旅】【持续更新】关于学习OpenGL的一些资料

热门文章

  1. mysql 字符串转日期及其他日期转换
  2. JS对URL进行编码和解码
  3. DBSCAN与层次聚类分析
  4. 千兆交换机测试软件,千兆交换机性能测试方法
  5. Caffeine源码浅析
  6. Python之图像处理 ——小点的去除
  7. FIO 命令行参数详解
  8. windows server 系统安全加固之Windows防火墙设置
  9. iphone ios14清空内存Ram 实用方法
  10. asp微信扫一扫代码,用asp写的实现调用微信扫一扫功能