• 大小: 6KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-08
  • 语言: Matlab
  • 标签: A*  Matlab  Astar算  

资源简介

1.提供了几个A*算法的参考博文; 2.采用Matlab实现A*算法; 3.本程序有plot_map函数,每次寻找都会动态绘制close节点和open节点,直观展示寻路过程

资源截图

代码片段和文件信息

function path=AStar(obstaclemap)

%{
Astar算法思路
1.将起始点放在Openlist中
2.重复以下过程:
  
  首先判断是否到达目标点,或无路径
    >>如果终点已加入到Openlist中,则已找到路径(此时起始点就是目标点,无需再找)
    >>Openlist为空,无路径

  a.按照Openlist中的第三列(代价函数F)进行排序,查找F值最小的节点
  b.把这个F值最小的节点移到Closelist中作为 当前节点
  c.对当前节点周围的8个相邻节点:
    >>如果它不可达,忽略它
    >>如果它在Closelist中,忽略它
    >>如果它不在Openlist中,加放Openlist,并把当前节点设置为它的父节点,记录该节点的F值
    >>如果它已经在Openlist中,检查经当前节点到达那里是否更好(用G或F值判断),
         >如果更好,则将当前节点设置为其父节点,并更新FG值;如果不好,则不作处理

3.保存路径
%}



%用于存储路径
path=[];
%OpenList
open=[];
%CloseList
close=[];
%findFlag用于判断while循环是否结束
findFlag=false;

%================1.将起始点放在Openlist中======================
%open变量每一行  [节点坐标,代价值F=G+H代价值G父节点坐标]
open =[map.start(1) map.start(2)  0+h(map.startmap.goal)  0  map.start(1)  map.start(2)];


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4013  2019-03-26 21:58  A_star算法Matlab实现\AStar.m

     文件       1697  2019-03-26 21:59  A_star算法Matlab实现\FindList.m

     文件        344  2019-03-26 22:01  A_star算法Matlab实现\GetBoundary.m

     文件        599  2019-03-26 22:02  A_star算法Matlab实现\GetObstacle.m

     文件        319  2019-03-26 22:03  A_star算法Matlab实现\GetPath.m

     文件        139  2019-03-26 22:03  A_star算法Matlab实现\h.m

     文件        238  2019-03-26 22:04  A_star算法Matlab实现\isObstacle.m

     文件        478  2019-03-26 22:05  A_star算法Matlab实现\isopen.m

     文件        304  2019-03-26 22:05  A_star算法Matlab实现\MotionModel.m

     文件        705  2019-03-26 21:55  A_star算法Matlab实现\pathfinding.m

     文件        777  2019-03-26 22:06  A_star算法Matlab实现\plot_map.m

     目录          0  2019-03-26 22:17  A_star算法Matlab实现

----------- ---------  ---------- -----  ----

                 9613                    12


评论

共有 条评论