深蓝学院移动机器人路径规划笔记-图搜索

深蓝学院-机器人运动规划学习笔记-第一章 深蓝学院 机器人运动规划学习笔记 第一课 阅读详情

Graph Search

包含以下四部分:

  1. Graph Search Basis
  2. Dijkstra and A*
  3. Jump Point Search
  4. Homework

Graph Search Basis

Configuration Space

C-空间: 可以阅读机器人学书籍学习,该知识针对机械臂这类高维空间里的运动规划很重要。
思想: 简单而言,就是为了将机器人描述为空间(不一定是欧式空间,可以是非欧式空间的表达)中的一个点。

Search-based Method

• Graphs have nodes and edges.
• State space graph: a mathematical representation of a search algorithm.

  1. For every search problem, there’s a corresponding state space graph.
  2. Connectivity between nodes in the graph is represented by (directed
    or undirected) edges.
    图

使用栅格地图表示图,栅格地图本身可以作为图:
Grid-based graph: use grid as vertices and grid connections as edges
在这里插入图片描述

使用PRM采样生成图:
在这里插入图片描述

Graph Search Overview

The search always start from start state X s X_{s} Xs​

  • Searching the graph produces a search tree
  • Back-tracing a node in the search tree gives us a path from the start state to that node
  • For many problems we can never actually build the whole tree, too large or inefficient – we only want to reach the goal node asap.
    在这里插入图片描述
                    将图转换为树结构

算法三个步骤:

• Maintain a container to store all the nodes to be visited
• The container is initialized with the start state Xs
• Loop
	1. Visit:Remove a node from the container according to some pre-defined score function
		- Visit a node
	2. Expansion: Obtain all neighbors of the node
		- Discover all its neighbors
	3. Add:Push them (neighbors) into the container
• End Loop

算法的三个问题:
• Question 1: When to end the loop?

  • Possible option: End the loop when the container is empty
  • 除了上述的,可以采取不同的终止条件,比如到达目的地。

• Question 2: What if the graph is cyclic?

  • When a node is removed from the container (expanded / visited), it should never be added back to the container again
  • 因此,在程序中,除了维护一个储存将来所有可能会访问的节点的container,还维护一个储存已访问点的container。

• Question 3: In what way to remove the right node such that
the goal state can be reached as soon as possible, which
results in less expansion of the graph node.

  • 解决这个问题就是我们算法的关键:效率,快速。

Graph Traversal

图的遍历是算法的基础。
目前常见的两种算法是深度优先搜索和宽度优先搜索。

Breadth First Search (BFS) vs. Depth First Search (DFS)

两种遍历方法对比如下:
在这里插入图片描述
BFS的容器模型是队列(queue),遵循先进先出原则。所以,先进的节点会先出来。
DFS的容器模型是栈(stack),遵循后进先出原则。所以,后进的节点会先出来。

Depth First Search (DFS)

在这里插入图片描述
                DFS在搜索中的原理

Breadth First Search (BFS)

在这里插入图片描述
                BFS在搜索中的原理

BFS vs. DFS: which one is useful?

在这里插入图片描述
                DFS vs. BFS在搜索中的对比

  • BFS在遍历到目标时,可通过回溯找到最短路径。为什么是最短路径?从图BFS在搜索中的原理 可知,BFS从顶层逐层搜索下层,因此,最终回溯到的路径将是最短的。
  • DFS “一路走到黑”,搜索到目标时便停止搜索,当存在多条目标路径时,很有可能搜索出来的目标路径是非优的甚至很差。
  • 因此,后面的算法会以BFS为基础遍历节点。

Heuristic search

启发式算法,以贪心算法为例。
启发式算法与DFS、BFS区别:

  • BFS and DFS pick the next node off the frontiers based on which was “first in” or “last in”.
  • Greedy Best First picks the “best” node according to some rule, called a heuristic.

Greedy Best First Search

  • Definition: A heuristic is a guess of how close you are to the target.
  • guess: 在找到解之前,我们无法得知实际的最近距离,所以,只是一种当下猜想。
    在这里插入图片描述
    对于上图,加入我们想要猜测期待到最短的距离,通常可以采用两种方法
  • 欧氏距离(Euclidean Distance):直线
  • 曼哈顿距离(Manhattan Distance):▲x + ▲y

启发式算法的好处:

  • A heuristic guides you in the right direction.
  • A heuristic should be easy to compute.

问题:
如何设计一个好用的启发式函数呢?

在这里插入图片描述
在这里插入图片描述
对比上面两种情况来看,在复杂情况下(障碍物)贪心算法不一定能找到很好的路径。但这并不意味着贪心算法毫无用处,我们仍然可以借鉴它的思想设计出更好的启发式算法。

Dijkstra and A*

Costs on Actions

在这里插入图片描述

  • A practical search problem has a cost “C” from a node to its neighbor
    • Length, time, energy, etc.
  • When all weight are 1, BFS finds the optimal solution
  • For general cases, how to find the least-cost path as soon as possible?

在之前的算法里,我们没有考虑边的代价问题。为了解决这个问题,提出了Dijkstra and A*算法。

从深蓝学院高飞老师笔记出发:一文搞懂移动机器人规划里的‘前端搜索’与‘后端优化’到底在干啥 本文从深蓝学院高飞老师的笔记出发,深入解析移动机器人规划中的前端搜索与后端优化。前端搜索负责快速找到可行路径,如A*和RRT*算法;后端优化则将路径细化为可执行轨迹,如Minimum-snap优化。两者协同工作,确保机器人高效、安全地完成任务,适用于各类移动机器人应用场景。 阅读详情

相关推荐

运动规划三:基于运动学约束的路径搜索

从运动学约束出发考虑机器人的运动规划。

W1H1J1的博客 1656

【深蓝学院】移动机器人运动规划--第3章 基于采样的路径规划--笔记

【深蓝学院】移动机器人运动规划--第3章 基于采样的路径规划--笔记

qq_37746927的博客 2370

FastPlanner后端轨迹优化算法—如何在2D地面机器人项目中将其工程落地?文中附源代码GitHub仓库

本文介绍了作者在研究机器人动态避障过程中,对无人机领域的FastPlanner算法进行改进,并将其适配到二维移动机器人上的工作。FastPlanner算法主要包括运动动力学路径搜索、B样条轨迹优化和时间调整三个部分,作者重点研究了后端基于B样条的轨迹优化。由于原算法适用于三维无人机,作者通过修改点云数据,使其适用于二维移动机器人,并去除了ROS依赖,封装为纯C++接口。作者还简化了开源代码,仅保留了有符号距离场(ESDF)的局部地图和B样条轨迹优化模块,并使用C++ matplotlib进行可视化。最终,作

qq_40464599的博客 666

深蓝学院-移动机器人运动规划重点笔记

移动机器人运动规划笔记,转载自https://blog.youkuaiyun.com/wqwqqwqw1231/article/details/107310965 感谢原作者的总结!

weixin_37705221的博客 1388

零、HarmonyOS应用开发者基础学习总览

零、HarmonyOS应用开发者基础学习总览

weixin_45029825的博客 1454

HUMAnN数据库国内备份下载源(转自刘永鑫博士github)

百度云链接 R语言常用包合集 Windows 10版4.0.x:链接:https://pan.baidu.com/s/1JFwLP2SonK1howD5MNgNYg 提取码:l08k Windows 10版3.6.x:链接:https://pan.baidu.com/s/1h-qR2lmlaMgR4M7VbgtAFg 提取码:s5fi 下载后解压至当前目录,可获得3.6/4.0目录,剪切并替换文档 - R - win-library - 3.6/4.0 目录即可 扩增子数据库 宏基因组数据库 HUM.

zlabx的博客 3242

【深蓝学院】移动机器人运动规划--第1章 运动规划介绍与地图构建--笔记

【深蓝学院】移动机器人运动规划--第1章 运动规划介绍与地图构建--笔记

qq_37746927的博客 4893

马尔可夫网络和贝叶斯网络的一些总结

马尔可夫网络和贝叶斯网络的一些总结 最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷! 这篇文章是我目前在网络上找到的关于贝叶斯网络最清晰的介绍,大家有兴趣可以去看看 贝叶斯网络中比较重要的两部分就是贝叶斯网络的结构和条件概率表。 贝叶斯网络的结构 下面通过一个例子来介绍: 贝叶斯网的网络结...

qq_43654303的博客 4372

【L4】深蓝学院-高飞老师 移动机器人规划笔记 动力学约束下的路径规划

深蓝学院 移动机器人运动规划课程 基于运动学约束下的路径规划

weixin_43912423的博客 2658

全志T113s3主线linux开发(0)--基础准备

嵌入式Linux设备的启动大概是三步:1)启动芯片+内存:常见的是Uboot,不过全志的Uboot主线对SPI NAND 不太友好,用TF卡就方便。对于T113S芯片,推荐使用Awboot,简陋但快速。开发阶段用这个就方便好多,对SPINAND支持也方便。2)启动linux内核:主线内核以下通篇都用6.13以上的内核。对比tina5.0还在用5.4 ,主要是性能、安全上有变化。6.0以上内核在devicetree的编写具体格式上有了变化,网上大量tina5.0和5.4内核的编写方式不适用。

2301_79234138的博客 2247

直流电源EMI滤波器设计实战:从器件选型到PCB布局的完整指南

本文提供了一份直流电源EMI滤波器的完整实战设计指南。针对EMI噪声超标问题,文章深入剖析了差模与共模噪声的抑制原理,详细讲解了从电路拓扑、核心器件(如X/Y电容、共模电感)的选型计算,到决定性能成败的PCB布局艺术。重点强调了低阻抗路径、干净接地及输入输出隔离等关键布局原则,并分享了常见的调试坑点与排查方法,旨在帮助硬件工程师设计出真正有效的滤波器,确保电源系统通过EMC测试。

q9r0s的博客 641

【L2】深蓝学院-高飞老师 移动机器人规划笔记 基于搜索的路径规划

深蓝学院 机器人规划课程第二节 有关基于搜索的路径规划方法

weixin_43912423的博客 3435

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1636

【L3】深蓝学院-高飞老师 移动机器人规划笔记 基于采样的最优路径规划算法&进阶

深蓝学院 移动机器人路径规划 L3笔记

weixin_43912423的博客 3151

调用魔搭API出现Please bind your Alibaba Cloud account before use的解决方案

本文主要介绍了调用魔搭API出现Please bind your Alibaba Cloud account before use解决方案,希望能对使用大模型的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 3万+

芯片ATE测试PAT(Part Average Testing)学习总结-20250916

文章摘要:零件平均测试(PAT)是半导体制造中基于统计学的质量控制方法,分为静态和动态两种类型。静态PAT通过预先设定的固定限值(每6-8批次更新)筛选异常芯片,计算采用稳健平均值和四分位间距。动态PAT则根据实时数据调整限值,能更精确识别异常而不误判合格芯片。两种方法均采用"均值±6倍标准差"的计算公式,但动态PAT具有更好的适应性和准确性。该方法通过统计分析提高了芯片产品的质量和可靠性。

歌颂苦难的行为是无耻的; 1190

【L1】深蓝学院-高飞老师 移动机器人规划笔记

深蓝学院高飞课程的学习笔记~这里主要以学院派的分模块的规划为主,没有讲端到端的规划算法。本人也是小白一个,从零开始慢慢磨吧~!

weixin_43912423的博客 2970

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【深蓝学院】移动机器人运动规划--第2章 基于搜索的路径规划--笔记

【深蓝学院】移动机器人运动规划--第2章 基于搜索的路径规划--笔记

qq_37746927的博客 2488

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【移动机器人运动规划】01 —— 常见地图基础 |图搜索基础

本文部分内容参考了深蓝学院的移动机器人运动规划,依此做相关的笔记与整理。

sinat_52032317的博客 2664

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

移动机器人规划 - 概述

本文对高飞老师的移动机器人运动规划课程第一章做了学习记录,方便日后复习回顾😘

BigDavid123的博客 1652

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

【深蓝学院】移动机器人运动规划--第7章 集群机器人运动规划--笔记

qq_37746927的博客 2377

实现运动轨迹_新课推荐| 移动机器人运动规划

我们开了一门运动规划课,课程名叫Motion Planning for Mobile Robots。一千个人眼中有一千个哈姆雷特。几乎每一位正在或即将开始学习运动规划的同学都会或多或少遇到下面的窘境: 知识分布零散、不成体系,只能通过优快云、知乎、GitHub等途径获取相关信息;英文水平不够好,阅读英文文献感觉吃力,影响学习效率;大部分时间停留在理论学习和简单仿真阶段,遇到不同结构的机器人、不同...

weixin_39767121的博客 448

[技术文档分享]运动规划篇

运动规划链接

dbdxnuliba的博客 437

移动机器人路径规划---深蓝学院培训学习记录

文章目录1. 概述1.1 neo4j路径发现算法(Path finding algorithms)1.1.1 基于搜索的方法2. 1. 概述 (1) 前端:路径发现Path finding algorithms (2) 后端:轨迹生成trajectory generation (3) MDP(MARKOV DECISION PROCESS-BASED PLANNING):基于马尔可夫决策过程的运动规划 (4) MPC(MODEL PREDICTIVE CONTROL FOR ROBOTICS PLANNI

LoongEmbedded的专栏 1555

【深蓝学院】移动机器人运动规划--第5章 最优轨迹生成--笔记

【深蓝学院】移动机器人运动规划--第5章 最优轨迹生成--笔记

qq_37746927的博客 3823
上一篇: 在priority_queue下对容器、容器适配器的理解和实现
下一篇: 重载<<报错
杂质想当杂志
博客等级 码龄10年 13粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值