1 简介
本文提出一种基于强化学习实现多无人机路径规划。
2 部分代码
% This is used to measure the path length, service rate and risk explosure for each UAVs
%% parameters
function [PL,ServiceRate,Risk]=measure
global N2; % divide [0,1]*[0,1] map into N2*N2 grid when calculating weight matrix
global UAVnum;
global traceRecord;
global TU_info;
global enemysUK2plot;
global K;
global M;
%% path length
PathLength=[];
for i=1:UAVnum
PathLength(i)=0;
for j=2:size(traceRecord{i},1)
PathLength(i)=PathLength(i)+norm(traceRecord{i}(j,:)-traceRecord{i}(j-1,:));
end
end
PL=roundn(sum(PathLength)/UAVnum,-4);
%% service rate
Served=0;Sum=0;
TU_info_ori=getTU_info;
for i=1:size(TU_info,1)
Served=Served+TU_info(i,3);
Sum=Sum+TU_info_ori(i,3);
end
ServiceRate=roundn(1-Served/Sum,-4);
%% Risk
DangerMeasure=[];
E_matrix = getEmatrix(N2,enemysUK2plot);
for i=1:UAVnum
DangerMeasure(i)=0;
for j=1:size(traceRecord{i},1)
DangerMeasure(i)=DangerMeasure(i)+E_matrix(round(traceRecord{i}(j,1)*N2),round(traceRecord{i}(j,2)*N2));
end
end
Risk=roundn(sum(DangerMeasure)/UAVnum,-4);
%% print to screen
fprintf('Average path length = %.4f \n',PL);
fprintf('Service rate = %.4f \n',ServiceRate);
fprintf('Average risk = %.4f \n',Risk);
end
3 仿真结果
4 参考文献
[1]郝祁, 张志建, 杨云波. 一种基于强化学习的无人机路径规划方法和装置:, CN106595671A[P]. 2017.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。