✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
在搜救领域中,透过程序完成半自主或自主飞行控制,无人机能够协助救难人员更好地完成救援任务.搜救任务中涉及到多个目标间的搜索,相比于单目标的搜索问题,需要更复杂的算法或是奖励重塑形式,才能改进其稀疏奖励的问题.此外,搜救任务比起一般的强化学习问题,更讲究时效性.如何利用搜救的先验知识对算法进行改进,从而提高完成任务的效率和训练时间,是机器学习应用的研究重点.
⛄ 部分代码
function MakeData()
%%%%%%%%制作地形数据
load ('TerrainData.mat');
MAX_X = 100;
MAX_Y = 100;
MAX_Z = 50;
Cut_Data = Final_Data(301:400,101:200);
mesh(double(Cut_Data));
MAX_Final_Data = max(max(Cut_Data));
MIN_Final_Data = min(min(Cut_Data));
for i=1:100
for j=1:100
New_Data(i,j) = ceil((Cut_Data(i,j)-MIN_Final_Data)/100); % 朝正无穷大四舍五入,减去最小值可以减少搜索结点
Display_Data(i,j) = (Cut_Data(i,j)-MIN_Final_Data)/100;
end
end
%%%%%%%%% Map初始化
% 可以走的区域为2,目标为0,障碍为-1
MAP=2*(ones(MAX_X,MAX_Y,MAX_Z));
for i=1:MAX_X
for j=1:MAX_Y
Z_UpData = New_Data(i,j);
for z = 1:Z_UpData
MAP(i,j,z) = -1;
end
end
end
%%%%%%%%输入异常气象区域信息
CLOSED = [];
k = 1;
c2 = size(CLOSED,1);
for i_z=1:50
for i_x=1:100
for i_y=1:100
flag = 1;
Length = (i_x-60)^2 + (i_y-70)^2;
for c1=1:c2
if (i_x == CLOSED(c1,1) && i_y == CLOSED(c1,2) && i_z == CLOSED(c1,3))
flag = 0;
end
end
if Length <= 56.25 && flag == 1
Threaten_Weather(k,1)=i_x;
Threaten_Weather(k,2)=i_y;
Threaten_Weather(k,3)=i_z;
k = k+1;
end
end
end
end
%%%%%%%%%%生成太阳辐射数据
solar2dim = 3.491 + (4.491-3.491) * rand(100,100);
surf(solar2dim(1:100,1:100)','linestyle','none');
xlabel('X Points','FontWeight', 'bold');
ylabel('Y Points','FontWeight', 'bold');
title('kwh/kwp/day','FontWeight', 'bold');
set(gca,'fontsize',9,'fontname','Times New Roman');
view(0, 90);
solar2dim = solar2dim./4.491;
solar3dim = [];
for i = 1:50
solar3dim(:, :, i) = solar2dim;
end
save('MapData.mat','MAX_X','MAX_Y','MAX_Z','MAP','CLOSED','Final_Data','Display_Data','Threaten_Weather','solar3dim');
end
⛄ 运行结果
⛄ 参考文献
[1] 陈洋, 张道辉, 赵新刚,等. 基于自主学习框架的无人机三维路径规划[C]// 中国自动化大会暨钱学森诞辰一百周年及中国自动化学会五十周年会庆. 中国自动化学会, 2011.
[2] 李波. 基于分层强化学习的多agent路径规划与编队方法研究[D]. 河南师范大学, 2016.
[3] 李东华, 江驹, 姜长生. 多智能体强化学习飞行路径规划算法[J]. 电光与控制, 2009, 16(10):5.