资源简介

随着物流的发展,多仓储机器人的发展越来越迅速,多机器人任务分配的优劣决定着多机器人系统运行效率,目前应用最多任务分配算法是基于市场机制的拍卖算法。

资源截图

代码片段和文件信息

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

评论

共有 条评论