资源简介
随着物流的发展,多仓储机器人的发展越来越迅速,多机器人任务分配的优劣决定着多机器人系统运行效率,目前应用最多任务分配算法是基于市场机制的拍卖算法。
代码片段和文件信息
clc;
clear;
close all;
n = 10;
map=ones(n);
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);
%robot=[246];
% robot1=21;
% robot2=41;
% robot3=61;
% map(robot1)=3;
% map(robot2)=3;
% map(robot3)=3;
robot1=2;
robot2=4;
robot3=6;
map(robot1)=3;
map(robot2)=3;
map(robot3)=3;
[r1xr1y]=ind2sub([nn]robot1);
[r2xr2y]=ind2sub([nn]robot2);
[r3xr3y]=ind2sub([nn]robot3);
%[rxry]=ind2sub([nn]robot);
%mrobot=[rx‘ry‘];
% [r2xr2y]=ind2sub([nn]robot(2));
% [r3xr3y]=ind2sub([nn]robot(3));
h=10;
%b=randperm(90a)+10; %产生1个1到100之间随机的整数
%b=[15192545275678983451];
%[bxby]=ind2sub([nn]b‘);
%taskx=[bxby];
sum_cost=zeros(51);
%[e1f1]=size(mrobot);
image(1.51.5 map);
set(gca‘YDir‘‘normal‘);
grid on;
%hold on;
tic
i=1;
j2=1;
while h<=10;
% b=randperm(90h)+10; %产生1个1到100之间随机的整数
% b= [43 38 28 98 22 94 46 19 23 11 57 34 63 42 27 83 72 78 97 33 35 37 61 24 29 40 58 88 52 48 76 82 49 47 91 75 17 30 86 80 15 70 50 84 26 66 93 44 99 53];
map(b)=4;
[bxby]=ind2sub([nn]b‘);
taskx=[bxby];
cost=[];
s1=[];
s2=[];
s3=[];
j2=1;
while j2<=50;
[ef]=size(taskx);
% [e1f1]=size(mrobot);
m1=[];
m2=[];
m3=[];
j=1;
while j<=e
% for j1=1:e1
if(isempty(s1))
cost1=abs(r1x-taskx(j1))+abs(r1y-taskx(j2));
else
cost1=abs(s1(end1)-taskx(j1))+abs(s1(end2)-taskx(j2));
end
m1=[m1;cost1];
if(isempty(s2))
cost2=abs(r2x-taskx(j1))+abs(r2y-taskx(j2));
else
cost2=abs(s2(end1)-taskx(j1))+abs(s2(end2)-taskx(j2));
end
m2=[m2;cost2];
if(isempty(s3))
cost3=abs(r3x-taskx(j1))+abs(r3y-taskx(j2));
else
cost3=abs(s3(end1)-taskx(j1))+abs(s3(end2)-taskx(j2));
end
m3=[m3;cost3];
j=j+1;
end
a=min(m1);
b=min(m2);
c=min(m3);
m=[a;b;c];
[xy]=min(m);
sum_cost(i)=sum_cost(i)+x;
cost=[cost;x];
if(y==1)
d=find(m1==x);
s1=[s1;taskx(d(1):)];
taskx(d(1):)=[];
end
if(y==2)
d=find(m2==x);
s2=[s2;taskx(d(1):)];
taskx(d(1):)=[];
end
if(y==3)
d=find(m3==x);
s3=[s3;taskx(d(1):)];
taskx(d(1):)=[];
end
j2=j2+1;
end
h=h+10;
i=i+1;
end
% clear
% h=10:10:50;
% y=[ 46 124 191 264 284];
% y2=[ 29 44 50 66 80 ];
% plot( hy‘-ob‘‘linewidth‘2);
% grid on;
% hold on;
% plot( hy2‘-xr‘‘linewidt
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-04-01 17:45 任务分配算法\
目录 0 2019-03-28 11:48 任务分配算法\html\
文件 12025 2019-03-28 11:48 任务分配算法\html\task4.html
文件 1912 2019-03-28 11:48 任务分配算法\html\task4.png
文件 9110 2019-03-28 11:48 任务分配算法\html\task4_01.png
文件 12979 2019-03-28 11:48 任务分配算法\html\task4_02.png
文件 11740 2019-03-28 11:48 任务分配算法\html\task4_03.png
文件 4308 2019-03-18 10:05 任务分配算法\task.m
文件 967 2019-04-01 19:23 任务分配算法\task1.m
文件 1408 2019-03-21 15:24 任务分配算法\task2.m
文件 4437 2019-03-19 09:33 任务分配算法\task3.m
文件 2869 2019-04-01 17:34 任务分配算法\task4.m
文件 2313 2019-03-21 10:06 任务分配算法\task5.m
文件 3225 2019-03-29 16:10 任务分配算法\task6.m
文件 1183 2019-03-29 10:35 任务分配算法\task7.m
- 上一篇:51流水灯仿真加代码
- 下一篇:汇编流水灯 8253+8255+8259.rar
评论
共有 条评论