路径规划-快速搜索随机树(Rapid-exploration Random Tree)

2023-12-16 19:59

本文主要是介绍路径规划-快速搜索随机树(Rapid-exploration Random Tree),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本节介绍机器人路径规划领域的一个重要的方法,快速搜索随机树法,这种方法在机器人规划领域,尤其是高维环境(机械臂,飞行器)的规划中,占有重要的位置,是基于采样的规划方法的一种。

简介:

快速搜索随机树,就是在环境中随机撒一些点,这些点经过算法运算,最终可以连接起来,变成机器人可以运行的轨迹。 

二 算法介绍:

1.基本算法流程

2.算法介绍

x_init-->x_new---->x_rand

如图所示,为讲述方便,我们以二维环境为例。

开始:首先在环境中,我们有一个起始点,定义为Xinit, 然后我们在环境中随机撒一个点,得到点x_rand,如果x_rand不在障碍物区域,则连接起x_init和x_rand, 我们得到一条连线L,如果L整个不在障碍物里面,则沿着L,从x_init向x_rand的方向移动一定的距离,得到一个新的点,x_new,则x_init,x_new和他们之间的线段构成了一颗最简单的树.

树的扩展: 在开始的基础上,继续重复,在环境中撒点,得到无障碍物区域的点x_rand,然后在已经存在的树上找一个离x_rand最近的点x_near,连接两个点,如果这条线没有障碍物,则沿着这条线,从x_near到x_rand移动一定的距离,得到新的点,x_new, 该点被添加到已经存在的树上

规划: 重复上述过程,直到目标点(或其附近的点)被添加到树上,这时我们就可以在树上找到一条从起点到目标点的路径

三、代码资料

2018-10-29,可采用

https://github.com/zychaoqun/Implementation-of-nonholonomicRRT.git 
代码进行简要基于非完整约束的机器人RRT算法测试。
 

这篇关于路径规划-快速搜索随机树(Rapid-exploration Random Tree)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501706

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)

《如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)》:本文主要介绍如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)问题,具有很好的参考价值,希望对大家有所帮助,如有... 目录先在你打算存放的地方建四个文件夹更改这四个路径就可以修改默认虚拟内存分页js文件的位置接下来从高级-

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen