✅作者简介:热爱科研的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

⛄ 运行结果

【无人机三维路径规划】基于强化学【无人机三维路径规划】基于强化学习实现复杂地形无人机三维路径规划附matlab代码习实现复杂地形无人机三维路径规划附matlab代码_2d

【无人机三维路径规划】基于强化学【无人机三维路径规划】基于强化学习实现复杂地形无人机三维路径规划附matlab代码习实现复杂地形无人机三维路径规划附matlab代码_Data_02

⛄ 参考文献

[1] 陈洋, 张道辉, 赵新刚,等. 基于自主学习框架的无人机三维路径规划[C]// 中国自动化大会暨钱学森诞辰一百周年及中国自动化学会五十周年会庆. 中国自动化学会, 2011.

[2] 李波. 基于分层强化学习的多agent路径规划与编队方法研究[D]. 河南师范大学, 2016.

[3] 李东华, 江驹, 姜长生. 多智能体强化学习飞行路径规划算法[J]. 电光与控制, 2009, 16(10):5.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料