资源简介
通过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个文件信息
- 上一篇:IIR数字滤波器设计实验报告
- 下一篇:悉尼大学SLAM实验数据MATLAB版
相关资源
- 悉尼大学SLAM实验数据MATLAB版
- 大型飞机航拍图处理matlab代码
- 数据融合matlab
- 强化学习代码,2016版,matlab
- LMS语音信号去噪matlab代码
- 遗传算法完整MATLAB程序实数法,轮盘
- 合成孔径雷达成像csChirp Scaling算法M
- 基于 MATLAB 的身份证号码的快速识别
- 冲击电压发生器MATLAB仿真,主要是单
- 信道的MATLAB仿真
- 30个优化智能算法matlab
- Harris角点检测matlab实现
- 卡尔曼滤波MATLAB代码170027
- fpm算法,用于傅里叶叠层显微图像恢
- burg算法实现AR模型的功率谱估计 mat
- 基于MATLAB利用相关分析法辨识脉冲响
- Matlab代码编写的semi-supervised CCA 程序
- 求取图像的相关系数---matlab ---M文件
- Matlab数字识别
- EOF分析matlab代码
- 尾灯识别matlab代码
- MATLAB提取颜色直方图特征
-
Simuli
nk TI C2000 DSP 硬件支持包离线安 - 条纹投影轮廓术中的快速光栅预校准
- HHT变换的三种方法+Matlab程序
- 背景差分法的MATLAB代码
- matlab常用代码大全科研神器
- MATLAB GUI设计学习手记第3版源代码BY罗
- MATLAB GUI设计学习手记 第3版 源代码
- Split bregman 算法MATLAB源代码
评论
共有 条评论