Aster(A*)算法

Aster算法是在Dijkstra算法基础上发展出来的,是在静态路径中用于求解最优路径有效的直接搜索算法,比dijkstra算法多了一个启发式的搜索函数,也就是通过一个代价函数来确定搜索方向(从起点开始向周围扩张,通过代价函数,计算得到周围每个节点的代价值,选出最小代价节点作为下一个扩展点,重复这个过程直到到达目标点。)。

算法对比:

A∗A^*A∗算法的代价函数f(n)f(n)f(n)表示为:
f(n)=g(n)+h(n)f(n)=g(n)+h(n)f(n)=g(n)+h(n)
g(n)g(n)g(n):表示起始点到节点n的实际代价。
h(n)h(n)h(n)(比dijkstra多的):表示节点n到目标点的估计代价。


例子:要求机器人从起始点绕过障碍物到达目标点,这里我们使用A∗A^*A∗算法寻找出最优的路径。
第一步:将地图简化成易于表示的区域
我们使用正方形作为寻路算法的单元(也可用其他形状),将如图所示区域分为5X7的栅格。

第二步:建立open和closed列表
open列表:记录下所有被考虑来寻找最短路径的方格;把起始点定义为“父节点”,靠近父节点的点称为子节点,将所有可通过的点放入open列表中作为待查点(图中的8 9 10 15 17 22 23 24八个方格。)
closed列表:记录下不会再被考虑的方格。如图首先将起始点添加到closed列表中。

A∗A^*A∗算法中的代价函数f(n)=g(n)+h(n)f(n)=g(n)+h(n)f(n)=g(n)+h(n)中:

  • g值:g值表示从当前方格到达起始点代价值。我们规定机器人水平(或垂直)移动一个格代价值为10,对角线方向移动代价值为14.方格左下角为g值。
  • h值:h值表示从当前方格到目标点(图中可乐所在位置)的代价。这里我们用曼哈顿距离表示。下图表示了不同点h值得度量。(h值我们放在格子得右下角)


算g时要考虑障碍物的存在,h则不用。


h:指的是17这个格子到终点的h值



。。。。。。
。。。。。。
。。。。。。


(三)【机器人路径规划】Astar算法相关推荐

  1. a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...

       若步智能                  移动这一简单动作,对于人类来说相当容易,但对机器人而言就变得极为复杂,说到机器人移动就不得不提到路径规划,路径规划是移动机器人导航最基本的环节,指的是 ...

  2. 【路径规划】基于matlab Hybrid A_Star算法机器人路径规划【含Matlab源码 1390期】

    ⛄一.A_star算法简介 1 A Star算法及其应用现状 进行搜索任务时提取的有助于简化搜索过程的信息被称为启发信息.启发信息经过文字提炼和公式化后转变为启发函数.启发函数可以表示自起始顶点至目标 ...

  3. 智能仿生算法在机器人路径规划的应用综述

    智能仿生算法在机器人路径规划的应用综述 1 绪论 1.1 机器人路径规划方法 路径规划是移动机器人导航中最重要的技术之一. 对于移动机器人而言,路径规划就是解决特定工作环境和任务要求下的路径优选问题, ...

  4. 【机器人路径规划算法RRT和RRG】

    路径规划算法 RRT路径规划 RRG路径规划 RRT路径规划 RRT算法:Rapid-exploration Random Tree 快速搜索随机数算法,是一种在完全已知的环境中通过随机采样扩展搜索的 ...

  5. 扫地机器人路径规划算法解读

    随着人们生活水平的提高,人们对于智能家居的需求日益旺盛,扫地机器人就是其中之一,据前瞻网发布的数据显示,2018年扫地机市场增长预计达到120亿元,随着扫地机器人技术的不断发展,未来扫地机器人将会有更 ...

  6. matlab蚁群算法 路径规划,基于蚁群算法的机器人路径规划MATLAB源码

    基于蚁群算法的机器人路径规划MA TLAB源码 使用网格离散化的方法对带有障碍物的环境建模,使用邻接矩阵存储该环境,使得问题转化为蚁群算法寻找最短路径. function [ROUTES,PL,Tau ...

  7. 机器人路径规划_人工蜂群算法

    机器人路径规划_人工蜂群算法 原理 ABC(Artificial BeesColony)算法最先由Basturk等人提出并应用于函数优化问题,蜂群采蜜行为与函数优化问题对应关系如表1所示.由表1可知, ...

  8. 扫地机器人路径规划算法

    路径规划算法 路径规划技术是扫地机器人研究的核心内容之一,机器人定位与环境地图构建(后面雷锋网专栏将会更新)就是为路径规划服务的.所谓机器人路径规划技术,就是机器人根据自身传感器对环境的感知,自行规划 ...

  9. 栅格法路径算法C语言,基于地图栅格与QPSO算法结合的机器人路径规划方法与流程...

    本发明属于机器人路径规划领域,提出一种基于地图栅格与QPSO结合的机器人路径规划方法. 背景技术: 移动机器人路径规划是寻找一条无碰撞的可行路径问题的方法.近些年,群智能优化算法逐渐成为移动机器人路径 ...

  10. 多机器人路径规划的代码_泛在电力物联网 | 基于IACOABC 算法的变电站巡检机器人路径规划...

    区块链 | 方 响等 分布式新能源接入下的区块链共识机制研究 区块链 | 颜 拥等 基于区块链的电力数据保全应用研究 区块链 | 能源互联网中的区块链应用:优势.场景与案例 <浙江电力>2 ...

最新文章

  1. php矢量图图标,矢量图(字体图标)
  2. 深度学习和目标检测系列教程 16-300:通过全球小麦数据集训练第一个yolov5模型
  3. Java笔记--实时更新
  4. python创建数据库表空间_7.自动化监控多个Oracle表空间
  5. Python Urllib库详解
  6. 【渝粤题库】陕西师范大学200831 编译原理 作业
  7. 洛谷P3405 [USACO16DEC]Cities and States省市
  8. 4408: [Fjoi 2016]神秘数
  9. Zookeeper 安装部署
  10. 第一段冲刺 站立会议 5.5
  11. JS --- this(4)
  12. Doris之数据模型的选择建议
  13. Win10推荐一款Terminal
  14. vue package.json 解析
  15. matlab中dzdx,MatConvnet工具箱使用手册翻译理解一
  16. 入门C语言编程植树问题,亏损率的公式—(-圆位置排序c程序-数学-封巧及同学
  17. 人生无意义,才更值得过,推石上山的搏斗本身,足以充实一颗人心,认清生活的荒诞,对它报之以微笑,就是对抗荒诞的最好方式
  18. 【26】地图可视化:基于 Echarts + Java SpringBoot 的动态实时地图组件 - 点气泡流向组合区域三级下钻地图
  19. 输入一个数字 将其翻转反转调转
  20. rust建造一键升级_rust一键升级指令 | 手游网游页游攻略大全

热门文章

  1. python三元一次方程代码_求三元一次方程计算器代码
  2. fpga c语言教程,FPGA实践教程(一)用HLS将c程序生成IPcore
  3. 零基础,新手小白看过来!易用可视化工具推荐
  4. 风车im即时通讯源码支持打包app/H5/php开源版正常搭建无报错版,带搭建教程
  5. python excel图表 导出word模板_使用python将Excel数据填充Word模板并生成Word
  6. 用excel制作门店流水日常
  7. python 3d绘图模块_使用python和mayavi创建3D streamplot
  8. 2022华为杯研究生数学建模竞赛选题建议
  9. 网站的icon图标与阿里云图标库的使用
  10. 微信小程序模板消息推送