Robotics: computational motion planning 部分笔记—— week 1 graph-based

news2024/9/20 20:34:38

grassfire algorithm

四周扩散性;从终点开始按照相邻最小距离格子移动
在这里插入图片描述

Dijkstra’s Algorithm

标明从起点开始的所有点的最短距离(从上一节点继承),直到终点
在这里插入图片描述

伪代码

A* Algorithm

带有启发性的,给出距离估计,朝向终点的搜索。
其实就是引入了一个启发式函数 H ( n ) H(n) H(n),用来估计节点 n 和终点 g 之间的距离。
算法的改进在选点(current)上,列表是以 f 值从小到大排序的,f 值就是已经走过的距离值加上 H ( n ) H(n) H(n)。这样做会优先探索离目标点近的节点,提高搜索效率。
在这里插入图片描述
作业代码:

    numExpanded = numExpanded + 1; 
    current_node=[i,j];%i是row j是col
    s_node=[i+1,j];
    n_node=[i-1,j];
    e_node=[i,j+1];
    w_node=[i,j-1];
    neighbourhood=[s_node;n_node;e_node;w_node];
    step =0;
    step =step+1; %记录已经走过的步数
    for k=1:4
        if((neighbourhood(k,1)>0 && neighbourhood(k,2)>0) && (neighbourhood(k,1)<=nrows && neighbourhood(k,2)<=ncols))
        %关于未出界的判定
            if(map(neighbourhood(k,1),neighbourhood(k,2)) ~=3 && map(neighbourhood(k,1),neighbourhood(k,2)) ~=2 && map(neighbourhood(k,1),neighbourhood(k,2)) ~=5 )
                g(neighbourhood(k,1),neighbourhood(k,2)) = step;
	            if(f(neighbourhood(k,1),neighbourhood(k,2))>  step+H(neighbourhood(k,1),neighbourhood(k,2)) )    
	               f(neighbourhood(k,1),neighbourhood(k,2))=g(neighbourhood(k,1),neighbourhood(k,2))+H(neighbourhood(k,1),neighbourhood(k,2));
	               parent(neighbourhood(k,1),neighbourhood(k,2))=sub2ind(size(map),current);%把现在的邻居点加入到父列表中
	               map(neighbourhood(k,1),neighbourhood(k,2))=3;
	            end
            end
        end
    end

A*j结果
参考CSDN博客

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

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

相关文章

大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

LLM常见问题(RAG部分)

1. 什么是 Graph RAG&#xff1f; Graph RAG 是由悦数图数据提出的概念&#xff0c;是一种基于知识图谱的检索增强技术&#xff0c;通过构建图模型的知识表达&#xff0c;将实体和关系之间的联系用图的形式进行展示&#xff0c;然后利用大语言模型 LLM进行检索增强。 通过图技…

鸿蒙Harmony--状态变量更改通知--@Watch装饰器详解

风雨飘摇中&#xff0c;我心起伏&#xff0c; 万丈雄心&#xff0c;却难以施展。 天高地远&#xff0c;路途迷茫&#xff0c; 理想如星&#xff0c;却遥不可及。 千百次跌倒&#xff0c;千百次爬起&#xff0c; 在命运的手掌中&#xff0c;挣扎前行。 谁知我心中的热血滚烫&…

什么是科学碳目标(SBTI认证)

科学碳目标&#xff08;SBTI认证&#xff09;&#xff0c;这一绿色发展的璀璨明珠&#xff0c;是企业迈向可持续未来的重要里程碑。它不仅是全球环境信息研究中心(CDP)、联合国全球契约组织(UNGC)、世界资源研究所(WRI)与世界自然基金会(WWF)共同铸就的智慧结晶&#xff0c;更是…

【C++模板初阶】

文章目录 一、泛型编程二、函数模板1.函数模板概念2.函数模板格式3.函数模板的原理4 函数模板的实例化1. 隐式实例化2. 显式实例化不同类型形参传参时的处理 5.模板参数的匹配原则 三、类模板1 类模板的定义格式2 类模板的实例化 一、泛型编程 首先大家先思考一个问题&#xff…

Django form.save 方法的详细分析

在 Django 中&#xff0c;form.save() 方法是用于将表单中的数据保存到数据库的核心方法。它的功能和实现可以分为几个重要的部分&#xff0c;下面就是我对 form.save() 方法的详细分析&#xff1a; 1、问题背景 在 Django 中&#xff0c;我们经常会使用 Form 来处理用户提交的…

yum无法使用解决Could not resolve host: mirrorlist.centos.org; Unknown error

报错如下 2、问题原因 CentOS 7 的官方仓库在 2024 年 6 月 30 日之后已经停止维护。CentOS 7 的官方支持已经结束&#xff0c;部分仓库已被移至归档库。导致yum 命令无法找到所需的元数据文件。 3、解决方法 进入/etc/yum.repos.d目录下找到 CentOS-Base.repo cd /etc/yum.…

【鸿蒙蓝牙连接】

鸿蒙蓝牙连接 ble.startBLEScan startBLEScan(filters: Array, options?: ScanOptions): void 发起BLE扫描流程。 需要权限&#xff1a;ohos.permission.ACCESS_BLUETOOTH import { BusinessError } from ohos.base; function onReceiveEvent(data: Array<ble.ScanResu…

【iOS】暑期学习总结

暑期学习总结 前言无限轮播图换头像简单的网络请求UISearchController 前言 暑假在学校完成了五个项目&#xff0c;总的来说学习到了很多新的知识&#xff0c;这里对暑假中学习的内容进行一个小的总结&#xff0c;整理一些个人认为比较重点的内容。 无限轮播图 无限轮播图的…

PDF转换成Excel哪家强?热门工具大比拼

现在咱们周围电脑和手机一大堆&#xff0c;PDF和Excel这两种文件格式特别流行&#xff0c;不管是学习、工作还是平时生活&#xff0c;都能派上用场。但有时候&#xff0c;我们需要把PDF文件里的表格信息转换成Excel格式&#xff0c;这样处理和分析起来更方便。市面上有很多工具…

LabVIEW如何用数字判断布尔数组位置

问&#xff1a;在LabVIEW中&#xff0c;我有一个布尔数组&#xff0c;每次只有一位为True。我想通过判断这个数组对应的数字值来确定哪个位置为True&#xff0c;该如何实现&#xff1f; 答&#xff1a; 你可以将布尔数组转换为一个数字&#xff0c;并通过判断该数字的值来确定…

Java学习中误用 == 比较对象怎么办?

在Java编程中&#xff0c;操作符的误用是一个常见的陷阱&#xff0c;尤其是在比较对象时。理解和正确使用对象的比较机制对编写健壮的、无错误的Java程序至关重要。 一、Java中的操作符 在Java中&#xff0c;操作符用于比较两个变量的值。对于基本数据类型&#xff08;如int、…

element table 表格 span-method 某一列进行相同合并 支持树结构表格

须知 这是 vue2 版本&#xff0c;不过理论上 vue3 也能参考使用 可以直接打开 codepen 查看代码 效果图 代码 打不开 codepen 或者codepen 失效&#xff0c;查看下面代码参考 <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src&…

【加密社】比特币海量数据问题解决方案

加密社 比特币是无敌的存在&#xff0c;刚翻了一遍中本聪的论文&#xff08;其实以前看过一次&#xff0c;那时不明觉厉&#xff09;&#xff0c;发现咱们一直在考虑的问题&#xff0c;基本都能在其论文上找到解决方案了。。 现在出现的这些问题&#xff0c;完全是因为bitcoin…

GS-SLAM论文阅读笔记--GSFusion

介绍 GS-SLAM是最近比较新的方向&#xff0c;由于传统SLAM的研究变得很少&#xff0c;拥抱与新的技术结合的方法也许是个好主意。之前总结了大部分GS-SLAM的文章。但是这个方向在不断发展&#xff0c;而发展初期的很多论文值得参考。所以用博客记录一下比较新的论文阅读笔记。…

代码随想录算法训练营第七天|LeetCode 334.反转字符串、541反转字符串II、151反转字符串中的单词

一、LeetCode 334.反转字符串 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a;编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间&#xff0c;你必须原地修…

万字长文浅谈三高系统建设方法论和实践

1 概述 整个软件的发展历程是一部软件复杂性对抗史&#xff0c;软件的复杂性分为技术复杂性和业务复杂性&#xff0c;业务复杂性主要是建模和抽象设计&#xff0c;技术复杂性主要是三高&#xff08;高性能&#xff0c;高并发&#xff0c;高可用&#xff09;的应对&#xff0c;…

高中生护眼台灯哪个牌子好?五款性价比高的护眼台灯测评结果

现在市面上形形色色的打着“护眼”口号的台灯太多了&#xff0c;因为眼睛对于我们来说很重要&#xff0c;我们看到美丽的事物都因为有他&#xff0c;所以大家一听到护眼就会选择购买。很多商家为了赚钱&#xff0c;随便贴个标签就说护眼&#xff0c;其实一点用都没有。高中生护…

九源基因第二大客户是供应商:国内分销商减少250家,押注减肥药

《港湾商业观察》廖紫雯 日前&#xff0c;杭州九源基因工程股份有限公司&#xff08;以下简称&#xff1a;九源基因&#xff09;二闯港交所&#xff0c;保荐机构为华泰国际、中信证券。此前&#xff0c;公司曾于1月向港交所提交过上市申请&#xff0c;但后续未有相关进展。 招…

Vue Element Plus el-select 使用 filterable 搜索下 @blur 事件绑定失效

失效原因 使用 filterable 导致 blur 事件绑定在输入框上&#xff0c;而不是整个选择器上 当点击选项时&#xff0c;输入框失去焦点触发 blur 事件 而点击其她位置收起下拉款的时候&#xff0c;并不会触发输入款的 blur 事件 解决方案 使用 element 提供的 visible-change …