天天看點

【協同任務】多無人機協同任務【Matlab 1273期】

一、背景簡介

【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】
【協同任務】多無人機協同任務【Matlab 1273期】

二、源代碼

1、問題 1 中對 10 個中心點的兩架次最優排程規劃 Matlab 源程式
clc;clear all;close all; position=load('坐标點.txt'); [m,n]=size(position);
j=1;
sumx=0; sumy=0; for i=1:10
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/10;ave(j,2)=sumy/10; j=j+1;
sumx=0; sumy=0; for i=11:19
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/9;ave(j,2)=sumy/9; j=j+1;
sumx=0; sumy=0; for i=20:24
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/5;ave(j,2)=sumy/5; j=j+1;
sumx=0; sumy=0; for i=25:34
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/10;ave(j,2)=sumy/10; j=j+1;
sumx=0; sumy=0; for i=35:41
sumx=sumx+position(i,1); sumy=sumy+position(i,2);

end ave(j,1)=sumx/7;ave(j,2)=sumy/7; j=j+1;
sumx=0; sumy=0; for i=42:47
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/6;ave(j,2)=sumy/6; j=j+1;
sumx=0; sumy=0; for i=48:53
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/6;ave(j,2)=sumy/6; j=j+1;
sumx=0; sumy=0; for i=54:58
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/5;ave(j,2)=sumy/5; j=j+1;
sumx=0; sumy=0; for i=59:63
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/5;ave(j,2)=sumy/5; j=j+1;
sumx=0; sumy=0; for i=64:68
sumx=sumx+position(i,1); sumy=sumy+position(i,2);
end ave(j,1)=sumx/5;ave(j,2)=sumy/5; j=j+1;
% ave=position;

Routebest=10000000000; for one=1:2^10/2
A=[];B=[];index=dec2bin(one,10); for two=1:10
if index(two)=='0' A=[A;ave(two,:)];




end

else end


B=[B;ave(two,:)];

[m,n]=size(A);
fit1=[];p1=[];
if m==1
fit1=A;L1=0;

else


[d1]=dj(A);
[p1,L1] = tspsearch2(d1,2);

for i=1:m
fit1(i,1)=A(p1(i),1);
fit1(i,2)=A(p1(i),2);

end
end
[m,n]=size(B);
fit2=[];p2=[];
if m==1
fit2=B;L2=0;

else


[d2]=dj(B);
[p2,L2] = tspsearch2(d2,2);

for i=1:m
fit2(i,1)=B(p2(i),1);
fit2(i,2)=B(p2(i),2);

end
end
if		(L1+L2)<Routebest Routebest=L1+L2;
fit1best=[];fit2best=[];p1best=[];p2best=[]; fit1best=fit1;fit2best=fit2;p1best=p1;p2best=p2;
end end
2、問題 1 中對 68 個目标點的兩架次最優排程規劃 Matlab 源程式
clc;clear all;close all; position=load('坐标點.txt'); po1=position(1:10,:);%A1 po2=position(11:19,:);%A2 po8=position(54:58,:);%A8 po9=position(59:63,:);%A9 po3=position(20:24,:); %A3 po4=position(25:34,:);%A4 po10=position(64:68,:);%A10 po7=position(48:53,:);%A7 po5=position(35:41,:);%A5 po6=position(42:47,:); %A6
A=[po2;po3;po4;po5;po6;po7;po8;po9;po10]; B=po1;
[d1]=dj(A);
[p1,L1] = tspsearch2(d1,2); [m,n]=size(A) ;
for i=1:m
fit1(i,1)=A(p1(i),1);
fit1(i,2)=A(p1(i),2);
end
[d2]=dj(B);
[p2,L2] = tspsearch2(d2,2); [m,n]=size(B) ;
for i=1:m
fit2(i,1)=B(p2(i),1);
fit2(i,2)=B(p2(i),2);
end 
           

三、matlab版本及參考文獻

1 matlab版本

2014a

2 參考文獻

[1] 包子陽,餘繼周,楊杉.智能優化算法及其MATLAB執行個體(第2版)[M].電子工業出版社,2016.

[2]張岩,吳水根.MATLAB優化算法源代碼[M].清華大學出版社,2017.

[3]巫茜,羅金彪,顧曉群,曾青.基于改進PSO的無人機三維航迹規劃優化算法[J].兵器裝備工程學報. 2021,42(08)

[4]鄧葉,姜香菊.基于改進人工勢場法的四旋翼無人機航迹規劃算法[J].傳感器與微系統. 2021,40(07)

[5]馬雲紅,張恒,齊樂融,賀建良.基于改進A*算法的三維無人機路徑規劃[J].電光與控制. 2019,26(10)

[6]焦陽.基于改進蟻群算法的無人機三維路徑規劃研究[J].艦船電子工程. 2019,39(03)

繼續閱讀