资源简介

通过matlab的GUI编程实现单个机器人的多任务路径规划,测试可运行。

资源截图

代码片段和文件信息

function ASTAR2(handlesmap2startposindgoalposind)
 n = 11;   % field size n x n tiles  20*20的界面
%wallpercent = 0.3;  % this percent of field is walls   15%的界面作为阻碍物(墙)
cmap = [1 1 1; ...%  1 - white - 空地
        0 0 0; ...% 2 - black - 障碍 
        1 0 0; ...% 3 - red - 已搜索过的地方
        0 0 1; ...% 4 - blue - 下次搜索备选中心 
        0 1 0; ...% 5 - green - 起始点
        1 1 0;...% 6 - yellow -  到目 标点的路径 
       1 0 1];% 7 - -  目标点 
colormap(cmap); 
 field = map2;
%startposind =12;   %sub2ind用来将行列坐标转换为线性坐标,这里是必要的,因为如果把startposind设置成[xy]的形式,访问field([xy])的时候
%goalposind =82;    %它并不是访问x行y列元素,而是访问线性坐标为x和y的两个元素
% field(ceil(n^2.*rand(floor(n*n*wallpercent)1) )) = Inf;
% startposind = sub2ind([nn]ceil(n.*rand)ceil(n.*rand));   %sub2ind用来将行列坐标转换为线性坐标,这里是必要的,因为如果把startposind设置成[xy]的形式,访问field([xy])的时候
%goalposind = sub2ind([nn]ceil(n.*rand)ceil(n.*rand));    %它并不是访问x行y列元素,而是访问线性坐标为x和y的两个元素
% put not a numbers (NaN) in cost chart so A* knows where to look
costchart = NaN*ones(n);      %costchart用来存储各个点的实际代价,NaN代表不是数据(不明确的操作)
% set the cost at the starting position to be 0
costchart(startposind) = 0;     %起点的实际代价
% make fieldpointers as a cell array  生成n*n的元胞
fieldpointers = cell(n);      %fieldpointers用来存储各个点的来源方向
% set the start pointer to be “S“ for start “G“ for goal   起点设置为“S“终点设置为“G“
% everywhere there is a wall put a 0 so it is not considered   墙设置为0
fieldpointers(field == 2) = {0};      %很好的方式,field == Inf 返回墙的位置,fieldpointers(field == Inf)设置相应的位置
% field(field == Inf)=2;
fieldpointers{startposind} = ‘S‘; fieldpointers{goalposind} = ‘G‘;
setOpen = (startposind); setOpenCosts = (0); setOpenHeuristics = (Inf);
setClosed = []; setClosedCosts = [];%初始化起点的open表和close表
% setOpen1 = (goalposind); setOpenCosts1 = (0); setOpenHeuristics1 = (Inf);
% setClosed1 = []; setClosedCosts1 = [];%初始化目标点的open表和close表
movementdirections = {‘L‘‘R‘‘U‘‘D‘};
%movementdirections1 = {‘LU‘‘RU‘‘LD‘‘RD‘};
% keep track of the number of iterations to exit gracefully if no solution
counterIterations = 1;
%% create figure so we can witness the magic
 % n = length(field);
     % plot goal as a yellow square and start as a green
     % circle把目标点画成紫色,起始点为绿色
%      [goalposygoalposx] = ind2sub([nn]goalposind);    %注意返回的列和行的位置
%      [startposystartposx] = ind2sub([nn]startposind);
%     plot(goalposx+0.5goalposy+0.5‘ys‘‘MarkerSize‘6‘LineWidth‘4);     %加0.5是为了把坐标移到方块中央,‘ys‘中y表示yellows表示Square(方形)
%     plot(startposx+0.5startposy+0.5‘go‘‘MarkerSize‘6‘LineWidth‘4);   %‘go‘中g表示greeno表示Circle(圆形)
     % add a button so that can re-do the demonstration  
% uicontrol(‘style‘‘pushbutton‘‘String‘‘RE-DO‘ ‘FontSize‘12 ...
%          ‘Position‘ [10 10 60 40] ‘Callback‘‘ASTAR‘);
 % end of this function 
%  writerObj = VideoWriter(‘ASTAR2.avi‘);
% open(writerObj);
tic
while true %ismember(AB)返回与A同大小的矩阵,其中元素1表示A中相应位置的元素在B中也出现,0则是没有出现
  % for the element in OPEN with the smallest cost
  field(startposind 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-22 12:23  单机器人多任务路径规划\
     文件       17525  2019-04-19 22:31  单机器人多任务路径规划\ASTAR2.m
     文件        3696  2019-04-19 22:29  单机器人多任务路径规划\bfs.m
     目录           0  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\
     文件        1333  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\PackagingLog.html
     目录           0  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_redistribution\
     文件     1582592  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_redistribution\MyAppInstaller_web.exe
     目录           0  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_redistribution_files_only\
     文件       47612  2013-06-20 09:02  单机器人多任务路径规划\robot_allocation3\for_redistribution_files_only\default_icon.ico
     文件        1521  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_redistribution_files_only\readme.txt
     文件      909393  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_redistribution_files_only\robotallocation1.exe
     文件       52266  2015-06-25 09:08  单机器人多任务路径规划\robot_allocation3\for_redistribution_files_only\splash.png
     目录           0  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_testing\
     文件        1025  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_testing\mccExcludedFiles.log
     文件        1521  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_testing\readme.txt
     文件          12  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_testing\requiredMCRProducts.txt
     文件      909393  2019-04-19 19:45  单机器人多任务路径规划\robot_allocation3\for_testing\robotallocation1.exe
     文件       52266  2015-06-25 09:08  单机器人多任务路径规划\robot_allocation3\for_testing\splash.png
     目录           0  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\
     文件        1333  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\PackagingLog.html
     目录           0  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_redistribution\
     文件     1587712  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_redistribution\MyAppInstaller_web.exe
     目录           0  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_redistribution_files_only\
     文件       47612  2013-06-20 09:02  单机器人多任务路径规划\robot_allocation4\for_redistribution_files_only\default_icon.ico
     文件        1521  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_redistribution_files_only\readme.txt
     文件      914743  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_redistribution_files_only\robotallocation1.exe
     文件       52266  2015-06-25 09:08  单机器人多任务路径规划\robot_allocation4\for_redistribution_files_only\splash.png
     目录           0  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_testing\
     文件        1025  2019-04-20 18:17  单机器人多任务路径规划\robot_allocation4\for_testing\mccExcludedFiles.log
     文件        1521  2019-04-20 18:18  单机器人多任务路径规划\robot_allocation4\for_testing\readme.txt
     文件          12  2019-04-20 18:17  单机器人多任务路径规划\robot_allocation4\for_testing\requiredMCRProducts.txt
............此处省略7个文件信息

评论

共有 条评论