【机器人路径规划算法RRT和RRG】

article/2025/10/24 9:49:51

路径规划算法

  • RRT路径规划
  • RRG路径规划

RRT路径规划

RRT算法:Rapid-exploration Random Tree 快速搜索随机数算法,是一种在完全已知的环境中通过随机采样扩展搜索的算法。
RRT算法是概率完备的,只要规划时间足够长,确实存在一条路径可以从起始点到终点,就一定能够找出来,但是如果规划时间不够长,采样点设置的不够,迭代次数较少,就可能无法找出实际存在的路径。主要的优点就是快,在多自由度机器人规划中发挥较大的作用,比如机械臂的规划算法大多是使用RRT算法。但是RRT算法规划的路径通常不是最优的,路径不够平滑。

算法基本流程图

在这里插入图片描述
鉴于采样点较多的情况下,还是不建议采用遍历的方式来找距离采样点最近的树节点,而采用KD_tree的最近邻检索方式在采样点数量较多的情况下能够节省很多的时间找到最近的树节点。

KD_tree划分方法及最近邻检索 参考:点云数据下的KD-tree

下面进行一个RRT路径规划的过程:

在这里插入图片描述
图1开始,设置好起始点,终止点和障碍物,就可以开始规划路径的过程了。
图2中黄色三角形为产生的随机点,从起始点向随机点连线,此时这条线未经过障碍物,随机采样点就有效,设定一定的生长步长,以起始点为一个端点,在射线上取生长步长的长度,确定一个新的树节点。
在这里插入图片描述
这时就有两个树节点,继续产生随机抽样点(黄色三角形示),找到离随机抽样点最近的一个树节点,由该树节点向随机抽样点做射线,在射线上取生长步长的长度,再确定一个新的树节点,没有碰到障碍物,节点有效。
在这里插入图片描述
图9继续生成随机抽样点,最近树节点与随机抽样点做射线,取生长步长的长度生成新的树节点(图10),此时生长的根节点在障碍物上,舍弃该随机点,再重新在地图上产生随机抽样点,重新生成根节点,反复迭代,直到新增树节点到达目标区域,就代表已经找到路径,停止迭代。

每次撒点都以新生成的树节点作为子节点,上一个根节点作为父节点,因此每一个节点都有父节点,以到达目标区域的新增树节点作为子节点反向遍历父节点,直到找到起始点,就找到了路径。

不过生成的路径都是折线并不是最优的路线。
在这里插入图片描述

主要的算法执行三个步骤:
循环撒点 ➡ 判断是否经过障碍物 ➡ 生成根节点 ➡ 判断是否到达目标区域

RRG路径规划

RRG是由RRT在二维平面向三维空间扩展的路径规划算法,理解了RRT算法,RRG就不难懂了。

首先,图G由唯一节点Ns初始化,每个节点N具有两个属性:中心点3D位置N.c和半径N.r。当通过随机采样函数sample获得新的点Cr,nearest函数在G中寻找距离Cr最近的节点Nc。intersect函数生成一条由Cr到Nc.c的射线,并返回射线与Nc球体相交的点Nn.c,我们把这个点作为新节点Nn的中心位置,通过半径搜索函数radius_search在地图M中寻找一个最大的安全球体半径Nn.r,如果寻找到的半径足够大,这个新节点会被加入到G中,并将其与Nc相连。同时,我们将与Nn相交的所有节点找到,根据重叠体积的大小来决定是否将Nn与它们相连,这个大小要能够使得无人机或机器人安全的穿过。

RRG目的:生成一个由球体安全区域构成的路径图

下面是实现RRG算法的Python程序:

RRG on Point Cloud
Requires  MG <- Ns, i <- 0while i <= N doCr <- sample()Nc <- nearest(Cr, G)Nn.c <- intersect(Nc.c, Cr)Nn.r <- radius_search(Nn.c, M)if Nn.r > λr thenG <- GUNnconnect(Nc, Nn)for all Nj ∈ neighbor(Nn, G) doif overlap_volume(Nj, Nn) > λv thenconnect(Nj, Nn)end ifend forend ifi <- i + 1end while

下图是通过RRG结合A*算法获得的最优路径:
在这里插入图片描述

在这里插入图片描述
图(a)是产生的通过障碍物的飞行走廊,图(b)是飞行走廊俯视图,由具有重叠部分的安全区域球组成。


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

相关文章

ROS移动机器人基于RRT(快速探索随机树)算法 rrt_exploration实现真实机器人自主探索建图

仿真机器人加真实机器人功能包下载链接移动机器人项目组项目-机器学习代码类资源-CSDN下载 博主为了图方便&#xff0c;就直接使用了古月老师的仿真包了&#xff0c;博主先和自己的朋友先在真实的机器人上实现了这个功能&#xff0c;再在仿真上来实现了一下。 也可以先去zhang…

RT-Thread 简介

1.RT-Thread 概述 RT-Thread&#xff0c;全称是Real Time-Thread&#xff0c;顾名思义&#xff0c;它是一个嵌入式实时多线程操作系统&#xff0c; 基本属性之一是支持多任务&#xff0c;允许多个任务同时运行并不意味着处理器在同一时刻真地执行了多个任务。 事实上&#xff…

路径规划 | 随机采样算法:PRM、RRT、RRT-Connect、RRT*

基于图搜索的路径规划算法主要用于低维度空间上的路径规划问题&#xff0c;它在这类问题中往往具有较好的完备性&#xff0c;但是需要对环境进行完整的建模工作&#xff0c;在高维度空间中往往会出现维数灾难。为了解决这些问题&#xff0c;本文将介绍基于随机采样的路径规划算…

基于matlab的RRTRRT*算法实现以及可视化

学习记录-基于采样的路径规划算法 内容来源RRT主要步骤动态效果展示优缺点&#xff1a;自己进行的改进尝试 RRT*主要步骤NearCChooseParentrewire总结及动态效果图 Informed RRT*其他优化RRT的方式总结 内容来源 记录学习深蓝路径规划课程-基于采样的路径规划一节的作业和笔记…

RRT基本概念

原文地址 快速探索随机树&#xff08;RRT&#xff09;是一种通过随机构建空间填充树来有效搜索非凸&#xff0c;高维空间的算法。树是从搜索 空间中随机抽取的样本逐步构建的&#xff0c;并且本质上倾向于朝向大部分未探测区域生长。 RRT由Steven M. LaValle 和James J. Kuf…

SQLSERTVER安装教程

很久没有安装过这个了&#xff0c;今天安装有点生疏了&#xff0c;这里记录一下分享 分为三块块1、下载地址&#xff0c;2、安装图解 &#xff0c;3、安装失败问题 1、sqlserver 2008 r2 百度下载地址链接&#xff1a;下载 cn_sql_server_2008_r2_enterprise_x86 Microsoft…

sqlserver安装目录_SQL Server 2016数据库安装

SQL SERVER 2016较之前的SQL安装有些不同,下面详细介绍如何将SQL SERVER 2016安装到Windows的服务器。 一、第一阶段,SQL安装 1.首先具备SQL SERVER 2016的安装介质。一般可能是下载的为ISO光盘镜像文件。在Windows Server 2016操作系统和Windows 10的系统中可以使用鼠标的右…

Sql Server安装时遇到polybase问题

错误&#xff1a;以域格式&#xff08;域\用户名&#xff09;指定账户。对于本地用户&#xff0c;请采用&#xff08;本地主机\用户名&#xff09;格式。 在安装时选了polybase&#xff0c;需要手动输入账户&#xff0c;如果不需要该服务或没有账户&#xff0c;可以不要勾选po…

SQL Server 安装教程

目录 第一阶段&#xff1a;安装SQL Server向导 第二阶段&#xff1a;安装SQL Server 第三阶段&#xff1a;安装SQL Server管理工具 运行SSM 参考链接 第一阶段&#xff1a;安装SQL Server向导 以下以中文版为例&#xff1a; 中文版官网&#xff1a;https://www.microsoft.com/…

SQL Server 基础操作(一)安装数据库

Windows server 2012 R2系统 安装SQL Server 2008数据库 1.创建虚拟机---安装Windwos server 2012 R2 操作系统 2.安装windows server 2012 R2系统完成后&#xff0c;更换SQL Server 2008 iso镜像 3.安装.NET Framework 3.5&#xff0c;一直点击下一步在.NET Framework 3.5选项…

sqlserver 2016 安装

1、环境介绍 操作系统&#xff1a;windows server 2016 sqlserver版本&#xff1a; sqlserver 2016 下载地址&#xff1a; https://msdn.itellyou.cn/ 2、双击下载下来的镜像&#xff0c;打开setup开始安装 3、选择全新安装 4、选择输入秘钥&#xff0c;下一不 5、接受许可…

SQLserver的安装

SQLserver的安装 一、SQLserver的安装步骤 1.SQLserver的下载&#xff1a;官网下载网址 下载Developer版本即可。 2.运行完成后安装类型选择“基本” &#xff0c;之后选择合适的语言和安装位置。 3.显示“成功完成安装”后&#xff0c;不急于点击完成退出&#xff0c;应点…

SQL Server无法安装问题

SQL Server无法安装问题 一、软件安装“无法使用此产品的安装源,请确认安装源存在并且你可以访问它安装过程中遇到无法访问您试图使用的功能所在的网络位置问题一、软件安装“无法使用此产品的安装源,请确认安装源存在并且你可以访问它 原因:之前版本卸载没有卸载干净(主要…

mysql 2005 安装教程_sql2005 安装教程 图文

SQL2005安装安装步骤 安装Microsoft SQL Server 2005 数据库步骤&#xff1a; 第一步&#xff1a;将Microsoft SQL Server 2000安装光盘放入光驱中&#xff0c;在光驱目录下&#xff0c;点击Setup.exe安装程序开始安装过程&#xff0c; 或使用镜像安装文件。选择“基于X86的操作…

SQLserver2005 安装

解压cs_sql server_2005_ent_x64_dvd.iso镜像文件。打开Servers文件夹找到setup.exe双机点击安装。出现程序兼容助手提示&#xff0c;点击运行程序。 3、用户许可协议&#xff0c;选择我接受&#xff0c;点击下一步。 4、安装必要组件&#xff0c;点击安装。 5、安装必要组件&a…

Elasticsearch插件:elasticsearch-sql安装和使用

使用此插件&#xff0c;您可以使用熟悉的SQL语法查询elasticsearch。您还可以在SQL中使用ES函数。 有两种方法可以使用此插件&#xff1a; 使用其余的api http://localhost:9200/_sql?sqlselect * from indexName limit 10 2. 或者通过浏览器访问 http://localhost:9200/…

sqlserver2012安装教程

前言&#xff1a; 我们实验室开发前端界面一般用.net&#xff0c;然后数据库用微软的Sqlserver,搭配起来做一些系统框架还是很方便的。记得本科的时候安装Sqlserver的时候好像出了点问题&#xff0c;不知道是不是因为先安装了VS&#xff0c;然后这一次我打算先安装Sqlserver&am…

SQLServer2008安装教程

因为对接老系统的数据&#xff0c;上面使用的SQLServer2008&#xff0c;所以本机也需要SQLServer2008作对接。 首当其冲的就是SQLServer2008的安装。 1.下载sqlServer2008的安装包 2.在安装包中点击setup.exe 2.选择安装&#xff0c;再选择全新安装 3.安装规则检测&#xff…

SQL server安装问题汇总

SQLTOC 欢迎使用Markdown编辑器 安装SQL Server遇到的几个问题 1.安装过程中最后出现“数据库引擎服务安装失败”&#xff0c;报错代码&#xff1a;1722&#xff0c;安装时选择“全新SQL server安装或向现有安装添加功能”&#xff0c;安装成功了。 2.安装过程出现“以前的某…

MySQL可视化工具HeidiSQL安装与使用

之前mysql可视化工具一直使用navicat for mysql工具,后来想学一下其他的数据库,把navicat for MySQL卸载后,网上找教程下载安装了navicat premium,但是破解之后的一段时间内,激活码失效了,由于navicat for mysql工具安装也需要破解,便不想安装了,就找到这款免费的MySQL可视化工…