⛄一、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算法流程

⛄二、部分源代码

clc
clear all
m = 30;n = 30;
Spoint = [3 3]; %起始点坐标
Epoint = [29 22]; %目标点坐标

%%构建地图 赋予边界值为负无穷大,无障碍物处为正无穷大
for i = 1:m+2
if i == 1
for j = 1:n+2
Matrix(i,j) = -inf;
end
elseif i == m+2
for j = 1:n+2
Matrix(i,j) = -inf;
end
else
for j = 1:n+2
if ((j == 1)|(j == n+2))
Matrix(i,j) = -inf;
else
Matrix(i,j) = inf;
end
end
end
end

%%障碍 为障碍物所在点赋予负无穷值
for j=2:10
Matrix(5,j)=-inf;
for j=2:15
Matrix(24,j)=-inf;
for j=9:24
%for j=6:24
Matrix(10,j)=-inf;
for j=20:31
Matrix(15,j)=-inf;
for j=5:20
Matrix(20,j)=-inf;
for j=18:27
Matrix(28,j)=-inf;
for i=2:6
Matrix(i,18)=-inf;
for i=17:20
Matrix(i,5)=-inf;
for i=23:25
Matrix(i,20)=-inf;
for i=13:17
Matrix(i,13)=-inf;
end
end
end
end
end
end
end
end
end
end
%end

⛄三、运行结果



⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]钱程,许映秋,谈英姿.A Star算法在RoboCup救援仿真中路径规划的应用[J].指挥与控制学报. 2017,3(03)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

【路径规划】基于matlab A_star算法机器人避障最短路径规划【含Matlab源码 2295期】相关推荐

  1. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  2. 【Matlab车牌识别】停车计费系统【含GUI源码 735期】

    一.代码运行视频(哔哩哔哩) [Matlab车牌识别]停车计费系统[含GUI源码 735期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLA ...

  3. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  4. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  5. 【Matlab水果识别】自助水果超市【含GUI源码 594期】

    一.代码运行视频(哔哩哔哩) [Matlab水果识别]自助水果超市[含GUI源码 594期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]倪云峰,叶健,樊娇娇 ...

  6. 【路径规划】基于matlab灰狼算法机器人栅格地图最短路径规划【含Matlab源码 2334期】

    ⛄一.灰狼算法的厂房巡检机器人路径规划简介 0 引言 近年来,我国各行各业的不断发展使相关工作流程得到了完善,其中巡检岗位是一个不可或缺的职位,尤其是在电厂.燃气厂房和煤矿等危险领域中的工作,更不能缺 ...

  7. 【路径规划】基于matlab灰狼算法机器人栅格地图最短路径规划【含Matlab源码 1761期】

    ⛄一.灰狼算法的厂房巡检机器人路径规划简介 0 引言 近年来,我国各行各业的不断发展使相关工作流程得到了完善,其中巡检岗位是一个不可或缺的职位,尤其是在电厂.燃气厂房和煤矿等危险领域中的工作,更不能缺 ...

  8. 【路径规划】基于matlab Theta_star算法机器人栅格地图最短路径规划【含Matlab源码 2618期】

    ⛄一. Theta_star算法简介 ​Lazy_Theta_star是在 Theta_star上的进一步改进,Theta_star是当节点加入open表时和当前点的父节点进行比较g值是否更小,对一些 ...

  9. 【路径规划】粒子群算法机器人避障路径规划【含GUI Matlab源码 923期】

    ⛄一.简介 1 粒子群算法的概念 粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation).源于对鸟群捕 ...

最新文章

  1. centos 默认mysql_centos改变mysql默认目录
  2. [原创].七段数码管驱动,Verilog版本
  3. 【ABAP】CK11N相关Table
  4. R pdf大小_「福昕PDF助手」12个常用的Word快捷键,一看就会,你值得拥有!
  5. 来到博客园 就要好好记录 分享技术
  6. 自学Python能干些什么副业
  7. 从小白到 6 个 offer,我究竟是怎么刷题的?
  8. java8 nullpoint_仅当在Java8中使用lambda时不为null时才过滤值
  9. 自制操作系统(五) 保护模式寻址原理、字符鼠标指针显示
  10. 修改MFC标题栏上的图标和修改MFC窗口标题(转)
  11. window 下tomcat 内存设置,bat启动方式的
  12. 【软件工程习题答案】第八章 维护
  13. Spss 的基本方法使用步骤
  14. matlab输出复数值到.txt文件中
  15. 学习单片机应该掌握的主要基本内容
  16. 【洛谷P2123】皇后游戏
  17. 网络分层(7层)以及每层的设备和协议
  18. linux的./configure --prefix的作用
  19. OLAP与OLTP的区别
  20. 基于Matlab 实现螺旋线 轨迹曲线绘制

热门文章

  1. 〖教程〗LadonGO免杀Win10 Defender
  2. 蝶阀技术-蝶阀试验和安装及故障排除方法
  3. linux刀片服务器,惠普推出简化刀片服务器Linux管理软件包
  4. python 图形界面库对比合集
  5. IT技术超级群(容纳500人) Group:47744707 (齐聚各方高手)
  6. 精益画布和商业模式画布
  7. 数据库优化问题【刘新宇】
  8. 碧砚适合佳能328 4452 ICD520 4472 4450 硒鼓4700一体机墨盒4770
  9. 网站盈利的10大方法
  10. DS18B20温度传感器原理详解及例程代码、漏极开路