“在代码的海洋里,有无尽的知识等待你去发现。我就是那艘领航的船,带你乘风破浪,驶向代码的彼岸。
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
A*(A-star)算法是一种广泛应用于路径查找和图遍历的启发式搜索算法。它在许多领域都有应用,包括游戏开发、机器人导航、地图应用等。A* 算法结合了最佳优先搜索(Best-first search)和 Dijkstra 算法的优点,能够高效地找到从起点到终点的最短路径。A* 算法的核心思想是使用启发式函数来估计从当前节点到目标节点的距离,并以此作为优先级排序的依据。算法维护一个开放列表(open list),其中包含待处理的节点,以及一个关闭列表(closed list),其中包含已处理过的节点。算法通过不断选择开放列表中具有最低 f 值的节点进行扩展,直到找到目标节点为止。
📚2 运行结果
主函数部分代码:
%Example on the use of AStar Algorithm in an occupancy grid.
clear
%%% Generating a MAP
%1 represent an object that the path cannot penetrate, zero is a free path
MAP=int8(zeros(128,140));
MAP(1:64,1)=1;
MAP(121,2)=1;
MAP(120,3:100)=1;
MAP(125:128,40:60)=1;
MAP(120:128,100:120)=1;
MAP(126,100:118)=0;
MAP(120:126,118)=0;
MAP(100:120,100)=1;
MAP(114:124,112:118)=0;
MAP(1,1:128)=1;
MAP(128,1:128)=1;
MAP(100,1:130)=1;
MAP(50,28:128)=1;
MAP(20:30,50)=1;
MAP(1:128,1)=1;
MAP(1:65,128)=1;
MAP(1,1:128)=1;
MAP(128,1:128)=1;
MAP(10,1:50)=1;
MAP(25,1:50)=1;
MAP(40,40:50)=1;
MAP(40,40:45)=1;
MAP(80,20:40)=1;
MAP(80:100,40)=1;
MAP(80:100,120)=1;
MAP(120:122,120:122)=1;
MAP(120:122,20:25)=1;
MAP(120:122,10:11)=1;
MAP(125:128,10:11)=1;
MAP(100:110,30:40)=1;
MAP(1:20,100:128)=1;
MAP(10:20,80:128)=1;
MAP(20:40,80:90)=1;
MAP(1:40,90:90)=1;
MAP(100:105,70:80)=1;
%Start Positions
StartX=15;
StartY=15;
% a=ASl
%Start Positions
% StartX=5;
% StartY=99;
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]王洋.基于动态五邻域搜索的改进Astar算法路径规划研究[J].中国新技术新产品,2024(07):1-4.DOI:10.13612/j.cnki.cntp.2024.07.018.
[2]林焰,张乔宇,楼建迪.基于网格归一化Astar算法的船舶管路布置[J/OL].上海交通大学学报:1-20[2024-08-26].https://doi.org/10.16183/j.cnki.jsjtu.2023.206.