一、A_star算法简介

1 A Star算法及其应用现状
进行搜索任务时提取的有助于简化搜索过程的信息被称为启发信息.启发信息经过文字提炼和公式化后转变为启发函数.启发函数可以表示自起始顶点至目标顶点间的估算距离, 也可以表示自起始顶点至目标顶点间的估算时间等.描述不同的情境、解决不同的问题所采用的启发函数各不相同.我们默认将启发函数命名为H (n) .以启发函数为策略支持的搜索方式我们称之为启发型搜索算法.在救援机器人的路径规划中, A Star算法能结合搜索任务中的环境情况, 缩小搜索范围, 提高搜索效率, 使搜索过程更具方向性、智能性, 所以A Star算法能较好地应用于机器人路径规划相关领域.

2 A Star算法流程
承接2.1节, A Star算法的启发函数是用来估算起始点到目标点的距离, 从而缩小搜索范围, 提高搜索效率.A Star算法的数学公式为:F (n) =G (n) +H (n) , 其中F (n) 是从起始点经由节点n到目标点的估计函数, G (n) 表示从起点移动到方格n的实际移动代价, H (n) 表示从方格n移动到目标点的估算移动代价.

如图2所示, 将要搜寻的区域划分成了正方形的格子, 每个格子的状态分为可通过(walkable) 和不可通过 (unwalkable) .取每个可通过方块的代价值为1, 且可以沿对角移动 (估值不考虑对角移动) .其搜索路径流程如下:

图2 A Star算法路径规划
Step1:定义名为open和closed的两个列表;open列表用于存放所有被考虑来寻找路径的方块, closed列表用于存放不会再考虑的方块;
Step2:A为起点, B为目标点, 从起点A开始, 并将起点A放入open列表中, closed列表初始化为空;
Step3:查看与A相邻的方格n (n称为A的子点, A称为n的父点) , 可通过的方格加入到open列表中, 计算它们的F, G和H值.将A从open移除加入到closed列表中;
Step4:判断open列表是否为空, 如果是, 表示搜索失败, 如果不是, 执行下一步骤;
Step5:将n从open列表移除加入到closed列表中, 判断n是否为目标顶点B, 如果是, 表示搜索成功, 算法运行结束;
Step6:如果不是, 则扩展搜索n的子顶点:
a.如果子顶点是不可通过或在close列表中, 忽略它.
b.子顶点如果不在open列表中, 则加入open列表, 并且把当前方格设置为它的父亲, 记录该方格的F, G和H值.
Step7:跳转到步骤Step4;
Step8:循环结束, 保存路径.从终点开始, 每个方格沿着父节点移动直至起点, 即是最优路径.A Star算法流程图如图3所示.

图3 A Star算法流程

二、代码运行视频(哔哩哔哩)

【Matlab三维路径规划】A_star算法机器人栅格地图三维路径规划【含源码 190期】

三、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]钱程,许映秋,谈英姿.A Star算法在RoboCup救援仿真中路径规划的应用[J].指挥与控制学报. 2017,3(03)

【Matlab三维路径规划】A_star算法机器人栅格地图三维路径规划【含源码 190期】相关推荐

  1. 【Matlab WSN通信】A_Star改进LEACH多跳传输协议【含源码 487期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]蚁群算法机器人大规模栅格地图最短路径规划[含源码 1860期] 二.蚁群算法及栅格地图简介 随着机器人技术在诸多领域的应用, 如机器人协作焊接.灾 ...

  2. 【A_star三维路径规划】基于matlab A_star算法机器人栅格地图三维路径规划【含Matlab源码 190期】

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

  3. 【Matlab路径规划】A_star算法机器人栅格地图路径规划【含源码 116期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]A_star算法机器人栅格地图路径规划[含源码 116期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  4. 【Matlab电力负荷预测】粒子群算法优化支持向量机预测电力负荷【含源码 1225期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群算法优化支持向量机预测电力负荷[含源码 1225期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  5. 【Matlab风电功率预测】粒子群算法优化LSTM风电功率预测【含源码 941期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]粒子群算法优化LSTM风电功率预测[含源码 941期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  6. 【Matlab多目标优化求解】遗传优化萤火虫算法求解多目标优化问题【含源码 1484期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]遗传优化萤火虫算法求解多目标优化问题[含源码 1484期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  7. 【Matlab多目标优化求解】粒子群算法求解配电网抢修优化问题【含源码 777期】

    一.代码运行视频(哔哩哔哩) [Matlab多目标优化求解]粒子群算法求解配电网抢修优化问题[含源码 777期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  8. 【Matlab协同任务】二阶一致性算法多无人机协同编队动态仿真【含源码 1740期】

    一.代码运行视频(哔哩哔哩) [Matlab协同任务]二阶一致性算法多无人机协同编队动态仿真[含源码 1740期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...

  9. 【Matlab风电功率预测】EMD优化LSTM风电功率预测【含源码 1402期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]EMD优化LSTM风电功率预测[含源码 1402期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]曾 ...

  10. 【Matlab路径规划】蚁群算法机器人大规模栅格地图最短路径规划【含源码 1860期】

    一.代码运行视频(哔哩哔哩) [Matlab路径规划]蚁群算法机器人大规模栅格地图最短路径规划[含源码 1860期] 二.蚁群算法及栅格地图简介 随着机器人技术在诸多领域的应用, 如机器人协作焊接.灾 ...

最新文章

  1. 免费学习AI公开课:打卡、冲击排行榜,还有福利领取
  2. ubifs linux,ubifs使用方法
  3. matlab 字符串替换
  4. arma模型平稳性和可逆性的条件_时间序列预测模型ARIMA实现
  5. 人类视觉系统_对人类视觉系统的对抗攻击
  6. 初创公司5大Java服务困局,阿里工程师如何打破?
  7. Win7旗舰版禁止修改文件属性的设置方法
  8. hadoop大数据开发基础_Java大数据开发(三)Hadoop(2)经典的Hadoop
  9. 电信级的RSA加密后的密码的破解方法
  10. java碰到乱码如何解决方法_如何处理java的乱码
  11. 企业如何选择一个合适的可视化工具
  12. AOL架构原则.优秀API设计.Yeoman工具
  13. Java基础语法三 输入输出
  14. linux系统怎么安装小小输入法,CentOS 7.0下安装小小输入法
  15. 《古诗词-劝学惜时大全》
  16. 很全很强大的图形学相关的论文和源码
  17. 惊喜,Windows 11 竟然支持运行安卓应用,而且开发者收益 0 抽成,PC 端摸鱼不是梦...
  18. 欧美剧集观看最佳索引 US SHOWS GUIDE 【2005-12-27 转verycd】
  19. c++读取cfg文件
  20. redis 解决key是乱码问题,并清理

热门文章

  1. 正则匹配过滤出微信公众号模板内容
  2. 计算机图形学复习笔记
  3. Windows环境,agent在后台运行
  4. 导弹气动估算matlab,基于Fluent的导弹气动特性计算
  5. ios视频通话三方_自己实现简易版 多人视频通话 iOS Android
  6. 关闭 OOM killer
  7. 实施不良资产证券化 信用评级不能少
  8. 原来 Elasticsearch 还可以这么理解
  9. python to apk
  10. 微信会员系统怎么做?如何建立全方位会员营销体系?