💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
在无人机路径规划中,基于灰狼优化算法(GWO)及其变种如多种群灰狼优化算法(MP-GWO)、灰狼-布谷鸟优化算法(CS-GWO)等,已经展现出强大的应用潜力和性能优势。这些算法通过模拟灰狼的社会等级和狩猎行为,能够在复杂的搜索空间中找到最优或次优路径,为无人机提供高效、安全的飞行指导。以下是对这些算法在无人机路径规划中的研究概述:
1. 灰狼优化算法(GWO)
基本原理:
GWO算法通过模拟灰狼的社会等级和狩猎过程(包围、追捕、攻击猎物)来优化问题。算法中,狼群被分为α(领导者)、β(次优解)、δ(侦查者)和ω(跟随者)四个等级。通过不断更新狼群中个体的位置,逐步逼近最优解。
在无人机路径规划中的应用:
- 建模:将无人机路径规划问题转化为优化问题,考虑无人机的飞行约束(如最大转弯角、最大爬升角、最低和最高飞行高度等)以及飞行环境中的障碍物和威胁区(如山体、雷暴区)。
- 求解:利用GWO算法的全局搜索和局部搜索能力,在复杂的飞行环境中为无人机规划出无碰撞且高效的飞行路径。
2. 多种群灰狼优化算法(MP-GWO)
基本原理:
MP-GWO算法在GWO的基础上引入了多种群策略,通过并行搜索不同区域来增强算法的全局搜索能力,同时保持局部搜索的精度。每个种群独立进化,并通过一定的机制交换信息,从而避免早熟收敛。
在无人机路径规划中的应用:
- 协同航迹规划:特别适用于多无人机协同作战场景,通过MP-GWO算法为每架无人机规划出既独立又协同的飞行路径,提高整体作战效率。
- 稳定性提升:多种群策略能够有效解决多峰值优化函数求解稳定性差的问题,提高无人机路径规划的鲁棒性。
3. 灰狼-布谷鸟优化算法(CS-GWO)
基本原理:
CS-GWO算法结合了灰狼优化算法(GWO)和布谷鸟搜索算法(CS)的优势。布谷鸟搜索算法通过模拟布谷鸟的寄生育雏行为来优化问题,其随机游走特性有助于跳出局部最优解。
在无人机路径规划中的应用:
- 混合优化:利用GWO的全局搜索能力和CS的随机性,为无人机路径规划提供更为丰富的搜索策略和更高的求解精度。
- 复杂环境应对:在复杂多变的飞行环境中,CS-GWO算法能够更有效地应对突发情况,为无人机规划出更加灵活和安全的飞行路径。
4. 实验与仿真
在无人机路径规划的仿真实验中,通常会设置不同的飞行环境和约束条件,以验证算法的可行性和有效性。实验结果通常包括规划出的飞行路径、飞行时间、避障效果等关键指标。
结论
基于GWO算法及其变种的无人机路径规划方法,具有结构简单、参数少、易于实现等优点,能够在复杂的飞行环境中为无人机提供高效、安全的飞行指导。未来,随着算法的不断优化和无人机技术的不断发展,这些方法将在更多领域得到广泛应用。
📚2 运行结果
程序框架:
运行结果:
部分代码:
function [UAV] = UAV_SetUp1
%UAV_SETUP1 在此设置多无人机协同航迹规划任务
% 论文1的3D环境
% 航迹点设置
% (每行为一个无人机的参数)
UAV.S = [ 0, 0, 10;
0, 100, 10;
300, 0, 10;
0, 300, 10; ]; % 起点位置 (x,y)或(x,y,z)
UAV.G = [ 875, 875, 10;
800, 875, 10;
875, 800, 10;
800, 875, 10; ]; % 目标位置 (x,y)或(x,y,z)
UAV.PointNum = [ 28;
24;
24;
24; ]; % 每个无人机导航点个数(起始点之间点的个数)
UAV.PointDim = size(UAV.S, 2); % 坐标点维度 (由 起点 坐标决定)
UAV.num = size(UAV.S, 1); % UAV数量 (由 起点 个数决定)
% 威胁点设置 (x,y,r) 或 (x,y,z,r)
% (每行为一个威胁的坐标和半径)
UAV.Menace.radar = [ 200, 200, 10, 20;
600, 700, 10, 20; ]; % 雷达威胁(数学模型和其余威胁不同)
UAV.Menace.other = [ 80, 40, 10, 40;
300, 300, 10, 40;
350, 600, 10, 40;
480, 450, 10, 20;
700, 700, 10, 40;
720, 760, 10, 20;
680, 760, 10, 20; ]; % 导弹、火炮、气象等威胁
% 无人机约束设置(min,max)
% (可单独为每个无人机设置,每行为一个无人机约束的上下限)
UAV.limt.v = 0.34*repmat([0.3, 0.7], UAV.num, 1); % 速度约束 (0.3Ma ~ 0.7Ma)
UAV.limt.phi = deg2rad(repmat([-60, 60], UAV.num, 1)); % 偏角约束 (-60° ~ 60°)
UAV.limt.theta = deg2rad(repmat([-45, 45], UAV.num, 1)); % 倾角约束 (-45° ~ 45°)
UAV.limt.h = repmat([0.02, 20], UAV.num, 1); % 高度约束 (0.02km ~ 20km)
UAV.limt.x = repmat([0, 875], UAV.num, 1); % 位置x约束 (0 ~ 875km)
UAV.limt.y = repmat([0, 875], UAV.num, 1); % 位置y约束 (0 ~ 875km)
UAV.limt.z = UAV.limt.h; % 位置z约束 (忽略地球弧度)
UAV.limt.L = zeros(UAV.num, 2); % 航程约束 (最短航迹片段2km,最大航程1.5倍起始距离)
for i =1:UAV.num
zz.max = 1.5 * norm(UAV.G(i, :) - UAV.S(i, :));
zz.min = 2;
UAV.limt.L(i, :) = [zz.min, zz.max];
end
% 多无人机协同设置
% (说明略)
UAV.tc = 6850; % 协同时间 (单位s)
UAV.ds = 25; % 安全距离 (单位km)
% 报错
ErrorCheck(UAV)
end
%% 程序自检
function ErrorCheck(UAV)
dim = UAV.PointDim;
if dim ~= size(UAV.G,2) || dim ~= size(UAV.Menace.radar,2)-1 || dim ~= size(UAV.Menace.other,2)-1
if dim ~= size(UAV.G,2)
error('仿真维度为%d,但目标点坐标为%d维', dim, size(UAV.G,2))
else
error('仿真维度为%d,但威胁点坐标为%d维', dim, size(UAV.Menace.radar,2)-1)
end
end
num = UAV.num;
if num ~= size(UAV.G,1) || num ~= size(UAV.limt.v,1) || num ~= size(UAV.limt.phi,1) ...
|| num ~= size(UAV.limt.theta,1) || num ~= size(UAV.limt.h,1) || num ~= size(UAV.limt.x,1) ...
|| num ~= size(UAV.limt.y,1) || num ~= size(UAV.limt.z,1) || num ~= size(UAV.limt.L,1)
if num ~= size(UAV.G,1)
error('无人机个数为%d, 但目标点有%d个', num, size(UAV.G,1))
else
error('约束条件个数与无人机个数不一致')
end
end
if num ~= size(UAV.PointNum, 1)
error('无人机个数为%d, 但为%d个无人机设置了导航点', num, size(UAV.PointNum, 1))
end
MaxPoint = floor(UAV.limt.L(:,2) ./ UAV.limt.L(:,1)) - 1; % 每个无人机支持的最大航迹点数量
for i = 1 : UAV.num
if UAV.PointNum(i) > MaxPoint(i)
error('%d号无人机导航点个数超出任务需求,请尝试减少导航点个数', i)
end
end
end
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]周瑞,黄长强,魏政磊,赵克新.MP-GWO 算法在多 UCAV 协同航迹规划
中的应用[J].空军工程大学学报(自然科学版),2017,18(05):24-29.
[2]胡中华,赵敏,姚敏,李可现,吴蕊.一种改进蚂蚁算法的无人机多目标三
维航迹规划[J].沈阳工业大学学报,2011,33(05):570-575.
[3]柳长安,王晓鹏,刘春阳,吴华.基于改进灰狼优化算法的无人机三维航迹
规 划 [J]. 华 中 科 技 大 学 学 报 ( 自 然 科 学 版 ),2017,45(10):38-
42.DOI:10.13245/j.hust.171007.
🌈4 Matlab代码实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取