一、算法描述:

1、主要思想

简单来说, RRT算法是一种树型算法,它由一个起始点Xinit作为树的起始节点(或者叫根节点),然后从这个起始点进行随机生长,通过随机采样增加叶子节点Xnew的方式,生成一个随机扩展树,当随机树中的叶子节点包含了目标点或进入了目标区域,便从随机树中找到一条由从初始点到目标点的路径

2、拟解决的问题

(1)在一个未知环境中,使机器人快速对环境进行建模。

(2)或使机器人在一个未知环境中到达目标点。

3、适用环境: 二维及多维空间

4、特点:

(1)优点:①适合多维空间, 可以使机器人能够快速有效地搜索高维空间,从而实现对目标点的路径规划。

②原理简单,适用性强,无需预知环境,也可完成对机器人的路径规划。

(2)缺点:路径规划的效果受规划时间、地形复杂程度以及生长步长的影响,而且规划好的路径不一定是最优路径。

图1  RRT路径规划效果图

二、算法内容描述

Algorithm      RRT

1:  定义初始点Xinit;

2:while

2:      随机产生一个随机点Xrand;

3:      找到RRT中距离Xrand 距离最近的点Xnearest;

4:      朝Xrand方向生长δ步长的距离,产生Xnew;

5:      if  Xnew无碰撞 and 不位于未知区域

6:          将Xnew加入RRT的节点

7:      else 删除Xnew;

8:      end if

9:  end while

主要思想: 1.随机采样一个点

2.向随机点方向生长δ 条件判定

3.满足即加入RRT,否则舍弃

三、基于RRT的机器人自主探索算法优缺点

优点: 1.快速提取地图的前沿点;

2.双前沿点探测器(局部+全局)提高探索效率和灵活性;

3.倾向于对未知区域进行探索;

缺点: 1.对于具有狭窄通道和狭窄入口的区域,RRT生长困难,探索效率低;

2.探索过程的后期,RRT生长缓慢。

GitHub源码: rrt_exploration &  rrt_exploration_tutorials

RRT(rapidly exploring random tree)算法学习笔记,机器人自主探索,路径规划相关推荐

  1. rapidly exploring random tree(快速搜索随机树)路径规划

    直接上程序 %% 流程初始化 clear all; close all; pic_num=1;%制作gif所需参数 x_I=1; y_I=1; % 设置初始点 x_G=600; y_G=600; % ...

  2. 【运动规划】RRT快速搜索随机树 Rapidly Exploring Random Tree

    Randomized Kinodynamic Planning Steven M. LaValle James J. Kuffner, Jr. 1. Exploring the State Space ...

  3. 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划(手动设障)【含Matlab源码 924期】

    ⛄一.简介 1 粒子群算法的概念 粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation).源于对鸟群捕 ...

  4. RRT(Rapidly-exploring Randomized Trees)算法学习笔记

    参考资料:RRT算法原理图解 RRT(Rapidly-Exploring Random Tree)算法是一种基于采样的路径规划算法,常用于移动机器人路径规划,适合解决高维空间和复杂约束下的路径规划问题 ...

  5. l2-004 这是二叉搜索树吗?_算法学习笔记(45): 二叉搜索树

    二叉搜索树(Binary Search Tree, BST)是一种常用的数据结构,在理想情况下,它可以以 的复杂度完成一系列修改和查询,包括: 插入一个数 删除一个数 查询某数的排名(排名定义为比该数 ...

  6. 基于MVS的三维重建算法学习笔记(五)— 立体匹配经典算法PatchMatch论文翻译及要点解读

    基于MVS的三维重建算法学习笔记(五)- 立体匹配经典算法PatchMatch论文翻译及要点解读 声明 问题提出 问题建模 通过PatchMatch获取平面参数--Inference via Patc ...

  7. 白鲸优化算法学习笔记

    白鲸优化算法学习笔记 1. 引言 白鲸优化算法(Whale Optimization Algorithm,简称WOA)是一种基于自然界中的白鲸行为而发展起来的启发式优化算法.该算法模拟了白鲸群体的寻食 ...

  8. 数据结构与算法 学习笔记(8):字典、集合、哈希表

    数据结构与算法 学习笔记(8):字典.集合.哈希表 本次文章记录的是和字典.集合.哈希表等数据结构相关的LeetCode算法题(题号与LeetCode对应),包括其构造和使用,针对每一题或一类题给出了 ...

  9. 大顶堆删除最大值_算法学习笔记(47): 二叉堆

    堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...

最新文章

  1. 苹果设置网易邮箱收件服务器,如何在iPhone 3/4、iPod touch的邮件应用程序中使用IMAP服务...
  2. 17、Spring Boot普通类调用bean【从零开始学Spring Boot】
  3. 在IT的世界里,分享是一种快乐.
  4. Git停止跟踪rm -r --cached与ignore区别
  5. (笔记)Mysql命令drop database:删除数据库
  6. Echarts数据可视化toolbox工具框,开发全解+完美注释
  7. 网络工程师成长日记368-榆林通信大楼项目回忆录
  8. JDK = JRE + 编译器 + api + tools
  9. 一阶系统开环传递函数表达式_自动控制总结:第五章、线性系统的校正方法
  10. 台式电脑卸载了wifi精灵之后能够联网但是无法上网
  11. android压力测试之monkey详解
  12. ZOJ 3549 Little keng
  13. hdu-1052 Tian Ji -- The Horse Racing
  14. JAVA8实战 -- Lamdba表达式
  15. 用java实现简单的银行管理系统
  16. Ensemble Average(系综平均)(集平均)
  17. 计算机视觉技术的应用实例,图像识别技术都有哪些?图像识别技术原理及应用实例...
  18. Vue中使用百度地图做路径分析并根据起终点坐标模拟道路里程桩
  19. pip:ffi.h: No such file or directory“
  20. 一个类似JQuery的精简版框架

热门文章

  1. SaaS营销网站剖析:SaaS主页,你给用户的第一印象
  2. 为什么 Java 与 Python 在对待成员变量的访问控制方式截然相反?
  3. 2021年这些高频面试知识点最后再发一次,跳槽薪资翻倍
  4. Selenium Webdriver——去哪儿网输入实例
  5. TensorFlow系列——feature_column特征工具说明
  6. 【javaScript】JavaScript中一个等号、二个等号、 三个等号 的区别(详细例子)
  7. 对抗恶意软件,反病毒软件还有戏吗?
  8. 【GitLens】VsCode插件,查看代码是谁写的
  9. VmWare虚拟机断电报错各种修复方案
  10. win10环境下安装elasticsearch实践