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

一、算法描述:

 

1、主要思想

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

2、拟解决的问题

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

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

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

4、特点:

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

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

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

RRT(rapidly exploring random tree)算法学习笔记,机器人自主探索,路径规划_第1张图片

 图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

你可能感兴趣的:(算法)