移动机器人运动规划---基于图搜索的基础知识---图和图搜索算法的基本概念

news2024/11/24 22:33:15

移动机器人运动规划---基于图搜索的基础知识---图和图搜索算法的基本概念

  • 图和图搜索算法的基本概念
    • 图的基础概念
    • 图搜索基本概念
    • 图搜索算法
      • 图搜索算法框架

图和图搜索算法的基本概念

图的基础概念

图是有节点和边的一种表达方式

在这里插入图片描述
各节点由边连起来
边可以是有向的,也可以无向的

在这里插入图片描述
边也可以有权重,如果没有特殊说明,可以认为权重是一样的。
下面则是有权重的

在这里插入图片描述
在每条边上机器人付出的代价不一样,代价可能是路径或者更广义的概念,比如机器人消耗的能量,或者易出现的风险。

图搜索基本概念

对于任何一个图搜索算法,首先要构造一个图
在这里插入图片描述
上图是抽象概念里的图

对于实际场景,我们需要人为构造一个图,以下是两种简单的例子
在这里插入图片描述
栅格地图的路径规划,里面的节点和相邻的节点是具有连接关系的,所以本身就是一个图了
在这里插入图片描述
基于采样的,没有天然的节点关系,需要人为构造一个图在里面,例如上面就是通过算法构造的有节点和边组成的图

图搜索算法

搜索总是从起始状态Xs开始,到Xg结束
对于搜索节点,可以构建一个搜索树
在这里插入图片描述
右边和左边是等价的,只是写成了树状的结构,这样看彼此关系更加清晰点

从起点搜索到终点后,回溯整个搜索过程,就可以得到希望的搜索路径

对于实际机器人来说,构建整个空间的搜索树,代价很大,所以需要尽可能快,但是不失搜索路径的算法。

图搜索算法框架

所有的图搜索算法都是按照下面的框架进行的:

1、维护一个容器,装载将来有可能访问的一个节点

2、容器初始化为空,放入的第一个节点就是起始状态Xs

3、循环
根据预先定义的一个指标或者目的,从容器中弹出一个节点 ,称之为 访问一个节点
获取弹出节点所有的邻居节点, —扩展
将这些邻居节点装入容器

4、结束循环:访问到了结束状态,或者自定义的一个指标,结束循环

在这里插入图片描述

有两个下面的问题需要注意

什么时候结束循环?

  • 一种可能就是容器空了,这代表没有了我们将来要访问的节点了,遍历完了所有节点
  • 搜索到了结束节点

如果这个图本身是有回环的呢?
为了在图搜索中避免形成回环,永远走不出去,需要再维护一个新的容器,该容器装载着已经被访问过的节点,被访问过的节点不能再次被访问

图搜索优化的方向就是
按照什么规则去访问节点,按照什么规则弹出节点,使我们尽可能快的找到终止节点。

图遍历算法:

  • 广度优先搜索
  • 深度优先搜索

广度优先搜索 遵循先进先出的原则,维护的是一个队列
在这里插入图片描述
弹出元素,总是从队列的头弹出的
深度优先搜索 遵循的是后进先出的原则,维护的是一个堆栈
在这里插入图片描述
弹出从最上面弹出,最后进入容器的,最先被弹出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/520067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java经典笔试题—day07

Java经典笔试题—day07 🔎选择题🔎编程题🥝Fibonacci数列🥝合法括号序列判断 🔎结尾 🔎选择题 (1)Java属于( ) A.操作系统 B.办公软件 C.数据库系统 D.计算机语言 D (2)类声明中&a…

大数据Doris(十八):Properties配置项和关于ENGINE

文章目录 Properties配置项和关于ENGINE 一、Properties配置项 二、关于ENGINE Properties配置项和关于ENGINE 一、Properties配置项 在创建表时,可以指定properties设置表属性,目前支持以下属性: replica

Kali-linux系统指纹识别

现在一些便携式计算机操作系统使用指纹识别来验证密码进行登录。指纹识别是识别系统的一个典型模式,包括指纹图像获取、处理、特征提取和对等模块。如果要做渗透测试,需要了解要渗透测试的操作系统的类型才可以。本节将介绍使用Nmap工具测试正在运行的主…

前端面试题汇总大全 -- 持续更新!

文章目录 一、html 系列 ⭐⭐⭐⭐⭐1、H5新增特性和css3新增特性?2、什么是HTML5,以及和HTML的区别是什么?3、说说你对 Dom 树的理解?4、跨域时怎么处理 cookie?5、说说你对 SSG 的理解?6、从输入url&#…

Azure API 管理缺陷突出了 API 开发中的服务器端请求伪造风险

微软最近修补了其 Azure API 管理服务中的三个漏洞,其中两个漏洞启用了服务器端请求伪造 (SSRF) 攻击,这些攻击可能允许黑客访问内部 Azure 资产。 概念验证漏洞用于突出开发人员在尝试为自己的 API 和服务实施基于黑名单的限制时可能犯的常见错误。 W…

JQuery 详细教程

文章目录 一、JQuery 对象1.1 安装和使用1.2 JQuery包装集对象 二、JQuery 选择器2.1 基础选择器2.2 层次选择器2.3 表单选择器 三、JQuery Dom 操作3.1 操作元素3.1.1 操作属性3.1.2 操作样式3.1.3 操作内容 3.2 添加元素3.3 删除元素3.4 遍历元素 四、JQuery 事件4.1 ready 加…

C/C++每日一练(20230513) 二叉树专场(7)

目录 1. 翻转二叉树 🌟 2. 二叉树的最小深度 🌟 3. 填充每个节点的下一个右侧节点指针 🌟🌟 附:二叉树的序列化与反序列化 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一…

消息队列中间件介绍

消息队列介绍 消息队列中间件是大型系统中的重要组件,已经逐渐成为企业系统内部通信的核心手段。它具有松耦合、异步消息、流量削峰、可靠投递、广播、流量控制、最终一致性等一系列功能,已经成为异步RPC的主要手段之一。 目前常见的消息中间件有Active…

知名高校博士:我改了这2个地方,一开始被秒拒的论文很快就成功发表了~

手稿被拒后,你会怎么做?是直接换期刊重投,还是先仔细修改下论文呢? 伊利诺伊大学博士Sara E. Skrabalak分享了自己在论文被秒拒后,修改了文章部分内容就成功发表的经验。我们来看看她到底做了哪些修改吧 ~ Sara E. Sk…

Java技术总结

Java技术总结 1.高并发1.什么是高并发2.如何提升系统的并发能力3.常见的互联网分层架构整个系统各层次的水平扩展,又分别是如何实施的呢?4.分层水平扩展架构实践5.总结 2.Java 线程的 5 种状态1.新建状态(New):2.就绪状态(Runnable):3.运行状态(Running)…

【企业信息化】第1集 免费开源ERP: Odoo 16 CRM客户关系管理系统

文章目录 前言一、概览二、使用功能1.加快销售速度2.销售线索3.机会4.客户5.高效沟通6.报告7.集成 三、总结 前言 世界排名第一的免费开源ERP: Odoo 16 CRM客户关系管理系统。真正以客户为中心的CRM。 一、概览 获得准确预测 使用可操作数据,以做出更好的决定。 获…

Java --- redis7之缓存预热+雪崩+穿透+击穿

目录 一、缓存预热 二、缓存雪崩 三、缓存穿透 3.1、解决方案 3.1.1、空对象缓存或者缺省值 3.1.2、Goolge布隆过滤器Guava解决缓存穿透 四、缓存击穿 4.1、危害 4.2、解决方案 4.3、模拟百亿补贴活动案例 一、缓存预热 场景:MySQL有N条新记录&#xff…

基于Java的班级管理系统的设计与实现(论文+源码)_kaic

摘 要 伴随着信息技术不断的飞速发展,信息技术给现在的生活也在带来翻天覆地的变化。信息时代的到来已经成为一种趋势,人类的发展历史正在进入到一个新的时代。信息技术已经在生活中的各个领域得到普及以及被应用。班级管理在信息技术发展之前一直都是…

金子数量——c++

金子数量 Description 某地区有n条(编号依次为1到n)互不交叉的道路,每条道路上都有m个数字,其中能被8整除的数称为金子数,这个数字表示其重量。 如下表是3条道路,每条道路中有5个数的一种可能情况。 苏海想在n条道路中走一条金子…

[架构之路-195]-《软考-系统分析师》- MVC、MVP、MVVM架构各自的优缺点

目录 一、MVC 1.1 MVC的基本结构 1.2 MVC的工作流程 1.3 MVC的优缺点 二、MVP 2.1 MVP的基本结构 2.2 MVP的工作流程 2.3 MVP的优缺点 三、MVVM 3.1 MVVM的基本结构 3.2 MVVM的工作流程 3.3 MVVM的优缺点 前言: MVC:一个controller对应多个v…

Windows SSH远程连接Linux服务器 - 无公网IP内网穿透

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

学系统集成项目管理工程师(中项)系列02_文件和标准

1. 文件 1.1. 2020 年 4 月,中共中央国务院颁发《关于构建更加完善的要素市场化配置体制的意见》首次将数据作为一种新型的生产要素置入文件 1.1.1. 【21下选01】 1.2. 2021 年印发的 5G 应用扬帆行动计划(2021-2023)的通知到 2023 年,我国 5G 应用发…

数列合并C语言

已知两个不同长度的降序排列的数列(假设序列的长度都不超过5),请编程将其合并为一个数列,使合并后的数列仍保持降序排列。 【提示】假设两个降序排列的数列分别保存在数组a和数组b中,用一个循环,从前往后依…

利用 Amazon API Gateway 和 Amazon Lambda 处理 Cloudfront 的内容请求

概述 国内 Amazon Cloudfront 目前不支持 Lambdaedge 功能,不能实现基于 CDN 的 A/B 测试、rewrite、redirect、token 认证和产生 response 等功能,本文介绍如何利用 API Gateway 和 Lambda 实现 Lambdaedge 的功能。下面实验介绍通过 request header 参…

HttpClient5如何进行代理

文章目录 说明原始HttpClient代理HttpClient总结 说明 在这篇文章中会对HttpClient5如何进行代理进行说明,我的HttpClient版本是5.2.1。在进行代理之前请先准备好代理服务器。 原始HttpClient 下面是没有进行代理设置的代码,尝试去访问openai接口 Tes…