RRT算法原理图解

article/2025/10/4 12:18:57

RRT算法原理图解

  • 开始

    本人很懒,习惯了只看不写。废话少说,直奔主题:原始RRT算法原理图文简介(图都是我自己按照步骤一幅幅画的——闲的蛋疼,但应该比较直观易懂,能被借鉴参考也算我的功德)。
    RRT是一种通用方法,原理也较为简单,不受机器人类型和自由度的约束。下面按结合一组过程实例化的图片来讲解一下RRT实现路径规划的原理。

    第一步:如图所示:在地图中添加了机器人的起点(蓝色)和终点(黄色),黑色部分表示障碍物。将起点初始化为生长树的根节点(此时的树只包含起点这一个节点,就像还只是一颗种子);
    在这里插入图片描述

    第二步:向地图中的自由空间(非障碍区)随机位置生成一个随机点(图中三角形),也随便举个栗子画一下;
    在这里插入图片描述

    第三步:以刚刚生成的随机点为目标,遍历生长树上的现存节点,计算每个节点到该随机点的距离,筛选出距离最小的节点作为最近点。此时树上仅存在起点(一颗没发芽的种子),所以直接选取起点为最近点。以最近点和随机点的连线(图中我牵的红线)为生长方向(随机点仅起确定生长方向的作用);
    在这里插入图片描述
    第四步:从最近点向目标点生长,生长的长度为步长,(每一次生长的步长是固定的,步长看情况设定:太短导致算法搜索速度变慢,太长导致生长会跨过障碍物),从此时的最近点也就是起点沿着生长方向生长一个步长得到一个生长点(空心圆圈);
    在这里插入图片描述
    种子终于要发芽了!
    第五步:判断新生成的生长点是否与障碍物有碰撞,若没有碰撞则将生长点添加到树上(发芽成功),若碰撞了就剔除该生长点,生长作废(发芽失败,等待重新发芽),图中很明显是没有碰到障碍物,发芽成功!此时的生长树上就存在了两个节点(蓝色);
    在这里插入图片描述
    第六步:再次生成随机点(我们根据图慢慢来讲解啊)
    在这里插入图片描述
    第七步:以刚刚生成的随机点为目标,遍历生长树上的现存节点,计算每个节点到该随机点的距离,筛选出距离最小的节点作为最近点。和上面第三步相同,计算筛选出此时生长树上离随机节点最近的最近点依然是起点,然后以最近点和随机点的连线为生长方向(继续牵线);
    在这里插入图片描述
    第八步:重复了第四步:从最近点向目标点生长,得到了新的生长点;
    在这里插入图片描述
    第九步:判断是否成功,又重复了第五步。。。很明显又成功了,你说气不气人?把新的生长点纳入生长树中(现在树上已经有三个节点了)
    在这里插入图片描述
    第十步:再来!重复操作,加随机点!看图!(争取把多种情况实例化说一遍,针对小白)
    在这里插入图片描述
    第十一步:同第三步,这次筛选出来的最近点终于不是起点了,而是第九步最新纳入生长树上的节点,直接牵线;
    在这里插入图片描述
    第十二步:如图,最近点向随机节点靠近一个步长,生成了一个生长点(长到了障碍物里面)。
    在这里插入图片描述
    第十三步:生长点都长障碍物里面去了当然发生了碰撞啊,还撞得不轻,生长失败!(红色警告)
    在这里插入图片描述
    剔除该生长节点,此次生长作废,不合格,树不接受。
    在这里插入图片描述
    第十四步:此处省去好多步(受不了了,终于写出这句话,憋了好久),重复上述操作:加随机点,找最近点,向点生长产生生长点,碰撞检测,更新生长树,直到有树节点进入了终点的设定邻域(她终于进入了他的视线),表示路径规划划成功!很多步后效果大致是这个样纸:
    在这里插入图片描述
    第十五步:从终点开始依次回溯父节点(终点找它爸爸,他爸爸找他爷爷,一直找到起点为止)把这些节点按(辈分)顺序提取出来就构成了路径。图中红色线段就是本次实例的路径结果。
    在这里插入图片描述
    END~


http://chatgpt.dhexx.cn/article/Gr78CxVR.shtml

相关文章

linux中要怎么创建文件夹

我是一个linux初学者,由于工作上面需要,我需要在linux中创建一个文件夹,然后自学了一点点,其实创建文件夹很简单,下面分享给大家,越努力越幸运,共勉! 创建文件夹 mkdir 后面加文件夹名字 例如: mkdir aa 然后第一个文件夹就创好了 假如要在文件夹里面再创一个文件夹就是子目…

Ubuntu系统下如何创建.txt文件

问题 在Ubutnu系统下,右键桌面会发现并没有创建文本文件的选项。 解决 首先进入模板 会发现里面是空的 然后右键在终端打开 输入如下指令 sudo gedit 文本文件保存即可 这个时候在模板文件夹下就有 现在右键的时候就会有一个创建文本文件的选项了。

Linux中创建文件与文件夹

一、创建文件夹 命令:mkdir 文件夹名 例: 一开始home目录下没有test文件夹,命令创建后生成 二、创建文件 命令:touch 文件名 例: 一开始test文件夹下没有boot.properties,命令创建后生成 三、注意事项…

Ubuntu零基础教学-Ubuntu下如何创建.txt记事本文件

环境:Ubuntu20.04 前言: 安装好ubuntu20.04后,发现右键菜单中没有新建空白文件,这样工作的时候需要创建文本文件就不是很方便;那么,基于这里,我们可以通过以下的方式把新建空白文件添加到右键哦! 在此,针对小白系列教学,bug菌专门开放了一个Ubunt…

linux中创建目录

在根下创建一个目录ceshi 1、用mkdir创建目录 2、用ls查看当前目录下的所有文件 3、拷贝需要复制的两个文件 4、将user移动至ceshi下,用move 5、用mv命令来为目录改名 linux中在root用户下创建目录 1、进入root用户目录,输入su后回车 2、查看当前路径…

linux下创建文件和文件夹

使用linux系统会有一些常见的命令,譬如说,创建文件夹,创建文件,这些命令都是比较常见的。 方法/步骤 首先说一下touch 创建二进制文件,用法就非常的简单,touch文件名 之间一定要空格。先查看一下有什么文…

linux创建文件夹命令

我们可以使用mkdir命令在 Linux 或类似 Unix 的操作系统中创建新目录或文件夹。本文将介绍如何在 Linux 或 Unix 系统中创建文件夹(也称为“目录”)。 操作步骤如下:1.在 Linux 中打开终端应用程序。2.输入mkdir命令。3.输入文件夹名称。 具…

Linux:创建文件夹

(1)输入命令:mkdir music,创建文件夹 music,再次查看列表,可以看到多了一个文件夹 music; (2)输入命令:mkdir a1 a2 a3,批量创建文件夹 a1、文件夹…

linux创建文件

linux创建文件 1、在 Linux 上使用重定向符(>)创建一个文件 标准重定向符允许我们创建一个 0KB 的空文件。它通常用于重定向一个命令的输出到一个新文件中。在没有命令的情况下使用重定向符号时,它会创建一个文件。 但是它不允许你在创建…

Linux 创建目录和文件

mkdir 创建目录 在linux中,mkdir是创建目录的意思,是“make directories”的缩写;该命令用于创建新的目录,语法为“mkdir [-mp] 目录名”;设置参数“-m”用于手动配置创建目录的权限,设置参数“-p”用于递…

Linux 创建文件

目录 1. 使用重定向符(>)创建文件 2. 使用 touch 命令创建文件 3. 使用 echo 命令创建文件 4. 使用 printf 命令创建文件 5. 使用 cat 命令创建文件 6. 使用 vi / vim 创建文件 7. 使用 nano 创建文件 8. 使用 head 命令创建文件 9. 使用 tail 命令创…

Python中colorbar全色表

如图,所有cmap可选参数

matplotlib调节colorbar的大小

调节plt.colorbar的fraction系数即可调节colorbar的大小 weight np.random.random([8, 8]) plt.imshow(weight) plt.colorbar(fraction0.05, pad0.05) plt.savefig(tjn.png, bbox_inchestight) plt.show()

python可视化 matplotlib画图使用colorbar工具自定义颜色

python matplotlib画图使用colorbar工具自定义颜色 colorbar(draw colorbar without any mapple/plot) 自定义colorbar可以画出任何自己想要的colorbar,自由自在、不受约束,不依赖于任何已有的图(plot/mappable)。这里使用的是m…

MATLAB自定义colorbar

matlab画平面分布图时colorbar的设置是非常重要的,好的colorbar不仅使图像更美观,而且能够使人更容易捕捉图上传递的信息。用过matlab的同学都知道matlab默认的colormap是jet, 也就是你画完图后输入“colorbar” 它所显示出来的颜色。此外,ma…

MATLAB | 如何按照任意比例调整颜色条(colorbar)

之前写过的setPivot函数只能把颜色条的中点放到0处或者其他数值处: https://slandarer.blog.csdn.net/article/details/129341645 这次提供的函数可以将任意百分比的点位放置在任意数值处,这个函数大概长这样: 百分比点位设置 function s…

matplotlib中【colormap】和【colorbar】的使用,以及用自己的颜色创建colormap

目录 官方自带的colormap其他的colormap结果单独绘制一个colorbar 用自己的颜色创建colormap获取图片颜色给定一个基本颜色,通过改变饱和度来创建colorbar 官方自带的colormap import numpy as np import matplotlib.pyplot as pltnum_curves 100 #100条曲线 cm …

解决python画图中colorbar设置刻度和标签字体大小

介绍 python很火,因为有各种库的支持,所以功能格外强大。在可视化方面,目前用得较多的是matplotlib. 在基于matplotlib.pyplot画带色标(colorbar)的图时候,往往为了美观和科研用途,需要对colorbar的Ticks(刻度) &#…

在绘图axes旁边添加额外的colorbar的ax的方法(add_colorbar_axes)

目的是在主axes中绘制图形时,需要在旁边新建colorbar,因为直接使用 fig.colorbar() 会直接占用主图的一部分区域,所以需要def几个解决这一问题的函数。 import matplotlib.pyplot as plt import matplotlib as mpl from psutil import cpu_c…