【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)

这篇具有很好参考价值的文章主要介绍了【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

 随着各种新兴技术的发展,无人机在灾后救援、物资运输、环境监测、军事作战等多个领域起着广泛的应用[1]。航迹规划是无人机执行任务中最重要的部分之一,是指在一定的约束条件下,找到一条能从起点抵达终点且安全、快速、消耗代价小的路线[2]。因此,航迹规划问题经常被当作优化问题来处理,但传统的优化方法无法得到较为精确的解。近年来,受到自然界现象的启发,国内外学者提出了许多生物智能算法如人工蜂群算法、蚁 群 算 法 、天牛须搜索算法 等。它们具有原理简 单、易收敛到最优解、参数设置简单等优点,因此在优化问题中有着广泛的应用。

灰 狼 优 化 算 法是一种群体智能搜索算法,借鉴了灰狼群体中的社会等级制度和捕食行为模式,具有较强的收敛性能和探索能力[4]。但是随着维度和复杂性的增加,GWO 算法 会出

现收敛速度慢、易陷入局部最优、寻优效果较差等问题,于是一些改进的算法被相继提出,一定程度上解决了上述问题。

 在无人机航迹规划问题中,建立无人机的规划空间环境和航迹评价指标是进行航迹规划的前提准备。

 不同的环境信息能够直接影响航迹规划的结果,也会影响执行任务的效果,因此对规划空间环境进行精准建模是十分重要的。考虑到数据存储和计算量的问题,本文采用栅格法来建立规划空间环境模型。

📚2 运行结果

【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)

部分代码:

% Calculating theta base on start and target points
theta = atand((target(2) - start(2))/(target(1) - start(1)));
% Parameter to control size of bounds
delta_d = 0;
% Number of wolfs
N = 50;
% Number of point generation for each wolf
d = 10;
% Constant for Cost_Function
mhio = 0.4;
% Optimization itteration
t_max = 100;

%% Initialization

% Transofrm point and threats to the new coordination
start_transform = Coordinate_Transfromation(start, start, theta);
target_transform = Coordinate_Transfromation(target, start, theta);
threats_tranform = threats;
for i = 1:size(threats, 1)
    threats_tranform(i, 1:3) = Coordinate_Transfromation(threats(i, 1:3), start, theta);
end

% Calculating bounds for initialization and producing N random intial points
[P_min, P_max] = UL_Bounds(threats_tranform, delta_d);

wolfs_positions = Initialization(N, d, target_transform, start_transform, P_min, P_max);

% calculating fittness of each wolf
fitness = Inf;
for i=1:N
    % wolfs_positions(:, :, i) is a set of d points' coordinates for the ith wolf
    fitness_wolf = Cost_Function(wolfs_positions(:, :, i),  threats_tranform, mhio, d);
    if fitness_wolf < fitness
        fitness = fitness_wolf;
        X_alpha = wolfs_positions(:, :, i);
        X_alpha_index = i;
    end
end

% Generating matrix for Xi(t). 
X_t = zeros(d, 3, N, t_max);

for i = 1:N
    for t = 1:t_max
        if t==1
            % We have Xi(1) for different all i. So we fill the X_t(:,:,i,1)
            % with the known positions.
            X_t(:,:,i,1) = wolfs_positions(:, :, i);
        else
            % Also since all the time for all wolfs, the x coordinate
            % should be the same, we fill it so !
            X_t(:,1,i,t) = wolfs_positions(:, 1, i);
            
            % Also the last row (d) for all X_t should be the target
            X_t(d,:,i,t) = target_transform;
        end
    end
end 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]许乐,赵文龙.基于新型灰狼优化算法的无人机航迹规划[J].电子测量技术,2022,45(05):55-61.DOI:10.19651/j.cnki.emt.2108509.

[2]芦方旭,米志超,李艾静,王海,田雨露.基于灰狼算法的无人机基站三维空间优化部署[J].兵器装备工程学报,2021,42(07):185-189.文章来源地址https://www.toymoban.com/news/detail-420980.html

🌈4 Matlab代码实现

到了这里,关于【无人机】基于灰狼优化算法的无人机路径规划问题研究(Matlab代码实现)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包