目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码实现
无人机作为一种现代航空设备,不仅作业速度快,成本低,还具有卓越的灵活性和时效性.常用于完成那些繁冗、危险、对灵活性要求较高、作业范围较大的任务,比如航空拍摄、农药喷洒、边防检查、电力检测、防汛扛旱等领域.随着技术的发展,将无人机独特的优势和不同的行业技术相结合,可以应用到不同的行业.比如,无人机搭载成像传感器,可以组成一种可以捕获目标图像的新型监视设备2'.目前,许多国家都在积极拓展无人机与工业应用相结合的技术,因此无人机应用的研究一直备受关注.
部分代码:
function [fit,result,x0]=aimFcn_1(x,option,data)
x0=x;
%%
x=reshape(x,data.mapSize0);
%%
S=data.S0;
E=data.E0;
flag=x*0;
path=S;
map=data.map;
while sum(S==E)~=3
% 可移动点
nextN=repmat(S,length(data.direction(:,1)),1)+data.direction;
% 剔除超界点
flag=nextN(:,1)*0;
for i=1:length(nextN(:,1))
for j=1:3
if nextN(i,j)<=0 ||nextN(i,j)>data.mapSize0(j)
flag(i)=1;
end
end
end
position=find(flag==1);
nextN(position,:)=[];
% 剔除不可移动点
flag=nextN(:,1)*0;
for i=1:length(nextN(:,1))
no1=nextN(i,1);
no2=nextN(i,2);
no3=nextN(i,3);
if map(no1,no2,no3)==1
flag(i)=1;
end
end
position=find(flag==1);
nextN(position,:)=[];
if isempty(nextN)
S=path(end-1,:);
path(end,:)=[];
continue;
end
%
D1=nextN(:,1)*0;
D2=nextN(:,1)*0;
pri=nextN(:,1)*0;
for i=1:length(nextN(:,1))
no1=nextN(i,1);
no2=nextN(i,2);
no3=nextN(i,3);
D1(i)=norm(nextN(i,:)-S);
D2(i)=norm(nextN(i,:)-E);
pri(i)=x(no1,no2,no3);
end
[~,no]=min((D1+D2).*pri.^0.5);
path=[path;nextN(no,:)];
S=nextN(no,:);
map(S(1),S(2),S(3))=1;
end
D=0;
for i=1:length(path(:,1))-1
D=D+norm(path(i,:)-path(i+1,:));
end
fit=D;
if nargout>1
result.fit=fit; %总目标
result.path=path;
end
end
无人机作为一种现代航空设备,不仅作业速度快,成本低,还具有卓越的灵活性和时效性.常用于完成那些繁冗、危险、对灵活性要求较高、作业范围较大的任务,比如航空拍摄、农药喷洒、边防检查、电力检测、防汛扛旱等领域.随着技术的发展,将无人机独特的优势和不同的行业技术相结合,可以应用到不同的行业.比如,无人机搭载成像传感器,可以组成一种可以捕获目标图像的新型监视设备2'.目前,许多国家都在积极拓展无人机与工业应用相结合的技术,因此无人机应用的研究一直备受关注.
部分理论引用网络文献,如有侵权请联系删除。
[1]马华伟,马凯,郭君.考虑多投递的带无人机车辆路径规划问题研究[J].计算机工程,2022,48(8):299-305
[2]陈亚青,郑稀元,韩丹,刘成.民用无人机发展管理现状及路径规划研究进展[J].科学技术与工程,2022,22(15):5951-5966