【路径规划】Astart算法——图文直观解析
Astart算法详解
- 1. Astart算法路径搜索原理
- 2. 栅格网络的Astart算法
- 3. Astart算法优缺点
1. Astart算法路径搜索原理
Dijkstra算法已经是非常经典的求解最短路径的动态规划算法,其可在解空间的可行域内求解出唯一确定最短路径。但Dijkstra算法需要遍历解空间内所有的点,这在解空间节点数巨大的情况下十分占用计算资源,求解效率低下。而对于在三维构型空间或运动空间内路径规划常见的栅格网络法,则会产生更大的节点数量,导致求解的实时性和效率十分低下。
针对Dijkstra算法的缺陷,Astart算法在Dijkstra算法的基础上,增加了一个当前探测点到目标点的距离,而综合探测点到出发点的步长与探测点到目标点的距离合,f = distStart + distEnd,来选定当前已探测距离点中可以固定的最小距离点,也就是根据合的最小值来确定每一迭代步选入闭集的点。
(由于Astart大部分算法内容近似Dijkstra算法,所以后续的算法步进原理中对部分重复的细节进行了省略,终点介绍改进的部分和整体算法流程。所以在看下文原理前可先看看我的上一篇博客:【路径规划】Dijkstra算法——超详细原理图解)
2. 栅格网络的Astart算法
探测点P到出发点Start的步长和Dijkstra算法的计算原理一致,但探测点P到目标点End的距离可以有多种距离计算方式,其中最常用的就是欧几里得距离和曼哈顿距离,栅格网络由于规则的网格划分,很适合利用计算效率极高的曼哈顿距离进行迭代,所以本文范例采用曼哈顿距离参与计算。(distEnd = |Endx - Px| + |Endy - Py|)
先让我们看看算例的空间分布:
平面空间已经被栅格网络简化为一个个连续分布的网格,从图中可以看出,障碍物为三个网格集合,分别是[8, 17], [28, 29, 37, 38, 46, 47], [44, 53],出发点为22号网格,目标点为9号网格。
第一步:
我们进行第一步的迭代计算,首先先计算出发点四周邻接点的f值,这个算例及其算法采用的是4向邻接的冯诺依曼邻域,其每一个邻接点到出发点的距离皆为1,在实际路径规划中,也可以采用8向邻接的摩尔领域,则斜向的邻接点到出发点的距离则为根号2,也可以用1.4来近似替代。
第二步:
由于目前求得开集已知f值的点中(4个点),有2个相等的最小值7,则根据算法的循环求解规则,会选中下标小的最小值点,则13号点被选中,13号点进入闭集,在13号点的冯诺依曼邻域内继续计算周围可行域开集的f值。
第三步:以上述方式继续进行迭代。
第四步:
此时出现了一个f值更新的情况,这和Dijkstra算法的更新规则相同,只有f值小于点原先已求出的f值时,才能更新该点的f值和父节点信息,14号点由于更新值(4+5)大于原有值(2+5)所以更新失败,14号点保留原有f值和父节点信息。
第五步:
第六步:
这一步,开集已求点的最小值点不再从上一探测点的冯诺依曼领域内取得,而是取到了当前开集已求f值点中f值最小且下标最小的14号点,并以该点进行下一步的迭代。
第七步:
这一步的第15号点发生了更新的情况,更新值(3+4)小于原有值(5+4),从而f值发生了更新,父节点也从原先的6变成了上一迭代步的选定点14。
第八步:
第九步:
第十步:
第十一步:
第十二步:
第十三步:
第十四步:
第十五步:
第十六步:
当f值最小点选中目标点End时,迭代过程结束,通过父节点信息回溯可得从出发点Start到目标点End的最短路径,Astart算法也整体完成。
3. Astart算法优缺点
优点:
1. Astart算法的整体搜索规模比Dijkstra算法小不少,其搜索具有一定的指向性,会促使整体搜索方向朝向目标点,使得搜索效率较高,很适合在开放空间中的路径规划。
2. Astart算法拥有与Dijkstra算法相同的最终确定唯一最优解,具有很好的收敛性,是一个优良的搜索算法。
缺点:
1. 不论选择冯诺依曼邻域还是摩尔邻域,其计算规模仍然较大,对于较复杂路径较大空间的搜索,其路径计算往往不能达到很强的实时性。
2. Astart算法整体需要求解出确切路径后才能知晓真正最短路径的方向,而任何过程中的计算都存在试错的过程,所以其适用于整体路径规划完毕后的执行,而不适合边执行边规划的任务作业,当然对于实时性要求很强的任务作业,可以采用分段的方式进行Astart算法,不过这样的分段策略和衔接策略就需要更详细的讨论和调优。
(由于Astart算法所常用的栅格网络使用场景多变,其环境构建和代码编写具有很强的特异性,且大部分核心算法代码与Dijkstra算法相似,故本文不做本文范例的代码实现,感兴趣的同学可以根据上述一步步的迭代示意图自行尝试。)
【路径规划】Astart算法——图文直观解析相关推荐
- 改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化
改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化,平滑处理,启发函数的改进,环境地图可以根据自己的实际情况进行改进,算法包含了非常详细的代码注释 ID:695006710638 ...
- 改进后的A星三维路径规划完整算法(matlab语言)
改进后的A星三维路径规划完整算法(matlab语言),包括障碍物模型优化,平滑处理,启发函数的改进,环境地图可以根据自己的实际情况进行改进,算法包含了非常详细的代码注释 YID:69500671063 ...
- 路径规划——CH算法
原文地址:https://zhuanlan.zhihu.com/p/110367906 1 CH算法的基本原理 CH(Contraction Hierarchies)算法是 Robert Geisbe ...
- 路径规划A*算法及SLAM自主地图创建导航算法
最近研究机器人自主路径规划,http://www.slamcn.org/index.php/首页.关注了「泡泡机器人SLAM」专栏平台,上面有很多公开的视频,涵盖多种SLAM技术及其算法的视频.PPT ...
- 路径规划;a*算法 demo_路径规划A*算法
(做封面图片,可真是费了很长时间) 前言 路径规划涉及到很多内容. 但路径规划的起点,应该都是A*这个来自斯坦福大学算法. 说起A*,网上有很多相关的内容.各种博客,各种解释. 但是我愣是没看明白. ...
- 路径规划—— A* 算法
参考原文:路径规划之 A* 算法 (weibo.com) A*(念做:A Star)算法是一种很常用的路径查找和图形遍历算法.它有较好的性能和准确度. 本... 路径规划之 A* 算法 A*(念做:A ...
- 【硬核】 ROS Navigation 局部路径规划常见算法
简介 最近,作者参加了关于RMUS 高校 SimReal挑战赛,首次接触到了机器人导航领域,这里记录一下这段时间的收货.sim2real的全称是simulation to reality,是强化学 ...
- 2021-11-06关节空间路径规划和算法(采样、搜索)或者末端轨迹优化?
关节空间路径规划 一些概念 一. 摘自 运动规划ompl 1.1. 运动规划 (Motion Planning) 我们这里讲的 运动规划 ,有别于 轨迹规划 (Path Planning).一般来说, ...
- 自动驾驶路径规划——Dijkstra算法
目录 前言 1. 深度优先(DFS)和广度优先(BFS) 2. 深度优先搜索(DFS) 2.1 算法基本思想 2.2 深度优先搜索算法(C) 3. 广度优先搜索(BFS) 3.1 算法基本思想 3.2 ...
最新文章
- Android开发中遇到的bug
- 机器学习库一:scikit-learn
- 【object-c基础】Object-c基础之三:面对对象开发@interface,@implementation
- java 原子类能做什么_死磕 java原子类之终结篇(面试题)
- Mysql执行计划的extra列及filesort祥析
- 首次自动对接!美国离本土载人航天又进一步,SpaceX成功抵达国际空间站
- 女友晚安之后依然在线:python男友用20行代码写了个小工具
- Prometheus Operator 架构 - 每天5分钟玩转 Docker 容器技术(178)
- Zabbix篇四:钉钉机器人报警
- mysql oracle视频网盘_前端和后端终极学习视频(百度网盘资料)
- python嵩天ppt_嵩天python课程笔记1
- JS重点整理之JS原型链彻底搞清楚
- 如何将pdf转化成word文档呢?
- Java学习指南(15) 链表
- 专用播放器到底是些什么东西?
- BCD码的作用和实现
- 利用随机森林算法实现Bank风险预测
- Oracle数据库的常见漏洞及注入语句
- java对接快递100追踪物流信息
- linux :ls -Z查看文件的type 属性
热门文章
- MySQL环境配置和入门讲解!
- 2020腾讯广告算法大赛:赛题理解与解题思路
- 原创推荐!B站最强学习资源汇总(数据科学,机器学习,Python)
- 他本科来自普通二本,读博后3年迎来2篇Nature,创造校史!
- OpenAI数十亿代码训出Codex:能将英语翻译成代码,给四句话就能写个神经网络...
- 超详细配置教程,搭建 Windows 深度学习环境
- 《百面机器学习》---AI算法工程师求职必备“面经”
- 马斯克蝉联美国CEO薪酬榜No.1,年入41亿,库克皮猜纳德拉加起来都没他高
- 基于OpenCV的视障人士实时目标检测
- 高校疯传!法国TOP双硕算法专家匠心打造一套保姆级AI学习笔记并公开(保姆级/20G高清/PPT/代码)...