💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
无人机群在我们的现代世界中有许多应用。它们可以轻松地促进绘制、观察和监督大面积区域。这些代理必须自主导航潜在的危险地形和空域,以记录有关区域的信息。在这个项目中,我们模拟了一群无人机的运动,以及它们与障碍物和目标的相互作用。该项目的目标是使用遗传算法优化此模拟,以最大限度地提高绘制的目标数量,最大限度地减少坠毁的无人机数量,并最大限度地减少模拟中使用的时间。为此,我们将使用 15 个设计参数来确定每架无人机的动力学和运动学,使用前向欧拉时间离散化来更新无人机位置。遗传算法将用于通过生成设计参数的随机字符串来训练这群无人机,并培育新字符串以找到此模拟的最佳字符串。
📚2 运行结果
主函数部分代码:
%% Project 2
% Colin Acton
% E 150
%% Objects and Interactions Parameters
Nm = 15; %Number of initial agents
No = 25; %Number of initial obstacles
Nt = 100; %Number of initial targets
%% Initialize Target, Obstacle, and Swarm Locations
x_range = 100;
y_range = 100;
z_range = 10;
%Targets and obstacles randomly positioned throughout the region.
targets = [2*x_range*rand(1,Nt)-x_range;
2*y_range*rand(1,Nt)-y_range;
2*z_range*rand(1,Nt)-z_range];
obstacles = [2*x_range*rand(1,No)-x_range;
2*y_range*rand(1,No)-y_range;
2*z_range*rand(1,No)-z_range];
%Agents can be purposefully arranged. Right now they are randomly placed.
agents = [[linspace(-150,-110,5),linspace(-150,-110,5),linspace(-150,-110,5)];
[zeros(1,5)-10,zeros(1,5),zeros(1,5)+10];
zeros(1,15)];
% agents = [[linspace(-150,-130,5),linspace(-150,-110,5),linspace(-150,-110,5)];
% [zeros(1,5)-2,zeros(1,5),zeros(1,5)+2];
% [zeros(1,5)-2,zeros(1,5),zeros(1,5)-2]];
%agents = [linspace(-150,-110,Nm);zeros(1,Nm);zeros(1,Nm)];
%% Genetic Algorithm without reevaluating parents
% [PI, Orig, Lambda] = geneticAlgorithm3(cf, lambda_lower, lambda_upper, parents, TOL_GA, G, S, dv)
w1 = 70;
w2 = 10;
w3 = 20;
cf = @(M_star,T_star,L_star) w1*M_star+w2*T_star+w3*L_star;
lambda_lower = 0;
lambda_upper = 2;
parents = 6;
TOL_GA = 0.1;
G = 100;
S = 20;
dv = 15;
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]鲍莉莉,李锦荣,韩兆恩,等.基于无人机多源数据的梭梭(Holoxylon ammodendron)地上生物量估算[J/OL].中国沙漠:1-10[2024-04-03].http://kns.cnki.net/kcms/detail/62.1070.P.20240401.1731.010.html.
[2]陈卫彪,贾小军,朱响斌,等.G-YOLO v7:面向无人机航拍图像的目标检测算法[J/OL].光电子·激光:1-14[2024-04-03].http://kns.cnki.net/kcms/detail/12.1182.O4.20240402.1157.006.html.