(三)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介:

单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客

参考文献:

[1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120

二、高尔夫优化算法GOA简介

高尔夫优化算法(Golf Optimization Algorithm,GOA)由Montazeri Z等人于2023年提出,该算法模拟高尔夫运动过程中的球员击打高尔夫所采取的战术策略,能够有效平衡全局搜索和局部搜索的能力。

多目标优化算法:基于非支配排序的高尔夫优化算法(NSGOA)MATLAB-CSDN博客

参考文献:

[1] Montazeri Z, Niknam T, Aghaei J, Malik OP, Dehghani M, Dhiman G. Golf Optimization Algorithm: A New Game-Based Metaheuristic Algorithm and Its Application to Energy Commitment Problem Considering Resilience. Biomimetics. 2023; 8(5):386. Biomimetics | Free Full-Text | Golf Optimization Algorithm: A New Game-Based Metaheuristic Algorithm and Its Application to Energy Commitment Problem Considering Resilience

三、高尔夫优化算法GOA求解无人机路径规划

(1)部分代码

close all
clear  
clc
addpath('./Algorithm/')%添加算法路径
warning off;
%% 三维路径规划模型定义
global startPos goalPos N
N=2;%待优化点的个数(可以修改)
startPos = [10, 10, 80]; %起点(可以修改)
goalPos = [80, 90, 150]; %终点(可以修改)
SearchAgents_no=30; % 种群大小(可以修改)
Function_name='F1'; %F1:随机产生地图 F2:导入固定地图
Max_iteration=50; %最大迭代次数(可以修改)
% Load details of the selected benchmark function
[lb,ub,dim,fobj]=Get_Functions_details(Function_name);
[Best_score,Best_pos,curve]=GOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);%算法优化求解
AlgorithmName='GOA';%算法名字
figure
semilogy(curve,'Color','r','linewidth',3)
xlabel('迭代次数');
ylabel('飞行路径长度');
legend(AlgorithmName)
display(['算法得到的最优适应度: ', num2str(Best_score)]); 
Position=[Best_pos(1:dim/3); Best_pos(1+dim/3:2*(dim/3)); Best_pos(1+(2*dim/3):end)]'; %优化点的XYZ坐标(每一行是一个点)
plotFigure(Best_pos,AlgorithmName)%画最优路径

(2)部分结果

无人机飞行路径坐标:

   1.0000000e+01   1.0000000e+01   8.0000000e+011.0637597e+01   1.0948916e+01   8.0637496e+011.1250104e+01   1.1826722e+01   8.1229036e+011.1838745e+01   1.2636252e+01   8.1776657e+011.2404748e+01   1.3380341e+01   8.2282399e+011.2949338e+01   1.4061821e+01   8.2748300e+011.3473740e+01   1.4683529e+01   8.3176400e+011.3979180e+01   1.5248297e+01   8.3568738e+011.4466884e+01   1.5758961e+01   8.3927352e+011.4938079e+01   1.6218354e+01   8.4254280e+011.5393989e+01   1.6629310e+01   8.4551563e+011.5835840e+01   1.6994664e+01   8.4821239e+011.6264859e+01   1.7317250e+01   8.5065346e+011.6682271e+01   1.7599902e+01   8.5285924e+011.7089302e+01   1.7845455e+01   8.5485011e+011.7487177e+01   1.8056741e+01   8.5664646e+011.7877123e+01   1.8236597e+01   8.5826869e+011.8260364e+01   1.8387856e+01   8.5973718e+011.8638128e+01   1.8513351e+01   8.6107231e+011.9011640e+01   1.8615918e+01   8.6229448e+011.9382125e+01   1.8698391e+01   8.6342408e+011.9750810e+01   1.8763603e+01   8.6448149e+012.0118919e+01   1.8814389e+01   8.6548710e+012.0487680e+01   1.8853583e+01   8.6646131e+012.0858317e+01   1.8884020e+01   8.6742449e+012.1232057e+01   1.8908533e+01   8.6839705e+012.1610125e+01   1.8929957e+01   8.6939936e+012.1993747e+01   1.8951126e+01   8.7045182e+012.2384149e+01   1.8974874e+01   8.7157481e+012.2782557e+01   1.9004035e+01   8.7278872e+012.3190196e+01   1.9041444e+01   8.7411395e+012.3608292e+01   1.9089935e+01   8.7557088e+012.4038071e+01   1.9152341e+01   8.7717990e+012.4480759e+01   1.9231498e+01   8.7896139e+012.4937582e+01   1.9330239e+01   8.8093575e+012.5409764e+01   1.9451399e+01   8.8312337e+012.5898533e+01   1.9597811e+01   8.8554463e+012.6405114e+01   1.9772311e+01   8.8821992e+012.6930733e+01   1.9977731e+01   8.9116963e+012.7476615e+01   2.0216907e+01   8.9441415e+012.8043987e+01   2.0492673e+01   8.9797387e+012.8634073e+01   2.0807862e+01   9.0186918e+012.9248101e+01   2.1165310e+01   9.0612046e+012.9887295e+01   2.1567849e+01   9.1074810e+013.0552881e+01   2.2018315e+01   9.1577250e+013.1246086e+01   2.2519541e+01   9.2121404e+013.1968134e+01   2.3074363e+01   9.2709311e+013.2720253e+01   2.3685613e+01   9.3343009e+013.3503667e+01   2.4356126e+01   9.4024539e+013.4319602e+01   2.5088737e+01   9.4755938e+013.5169285e+01   2.5886280e+01   9.5539245e+013.6053940e+01   2.6751588e+01   9.6376499e+013.6974795e+01   2.7687496e+01   9.7269740e+013.7933073e+01   2.8696839e+01   9.8221006e+013.8930002e+01   2.9782450e+01   9.9232335e+013.9966808e+01   3.0947163e+01   1.0030577e+024.1044715e+01   3.2193814e+01   1.0144334e+024.2164949e+01   3.3525235e+01   1.0264710e+024.3328737e+01   3.4944262e+01   1.0391907e+024.4537305e+01   3.6453728e+01   1.0526130e+024.5791877e+01   3.8056467e+01   1.0667583e+024.7093680e+01   3.9755315e+01   1.0816470e+024.8443940e+01   4.1553104e+01   1.0972993e+024.9843882e+01   4.3452670e+01   1.1137359e+025.1294732e+01   4.5456846e+01   1.1309769e+025.2797716e+01   4.7568467e+01   1.1490429e+025.4354060e+01   4.9790367e+01   1.1679542e+025.5964990e+01   5.2125380e+01   1.1877311e+025.7631730e+01   5.4576340e+01   1.2083942e+025.9355508e+01   5.7146081e+01   1.2299637e+026.1137549e+01   5.9837438e+01   1.2524600e+026.2979078e+01   6.2653245e+01   1.2759037e+026.4881322e+01   6.5596336e+01   1.3003149e+026.6845506e+01   6.8669545e+01   1.3257142e+026.8872856e+01   7.1875707e+01   1.3521218e+027.0964598e+01   7.5217656e+01   1.3795583e+027.3121958e+01   7.8698225e+01   1.4080440e+027.5346161e+01   8.2320249e+01   1.4375992e+027.7638433e+01   8.6086563e+01   1.4682444e+028.0000000e+01   9.0000000e+01   1.5000000e+02

四、完整MATLAB代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/256457.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚拟数据优化器VDO

本章主要介绍虚拟化数据优化器。 什么是虚拟数据优化器VDO创建VDO设备以节约硬盘空间 了解什么是VDO VDO全称是Virtual Data Optimize(虚拟数据优化),主要是为了节省硬盘空间。 现在假设有两个文件file1和 file2,大小都是10G。file1和 f…

Retrofit嵌套请求与适配器

一、前言: 1. retrofit嵌套请求 在实际开发中,可能会存在:需要先请求A接口,在请求B接口的情况,比如进入“玩android”网页请求获取收藏文章列表,但是需要先登录拿到Cookie才能请求搜藏文章几口&am…

【web安全】文件包含漏洞详细整理

前言 菜某的笔记总结,如有错误请指正。 本文用的是PHP语言作为案例 文件包含漏洞的概念 开发者使用include()等函数,可以把别的文件中的代码引入当前文件中执行,而又没有对用户输入的内容进行充分的过滤&#xff0…

添加新公司代码的配置步骤-Part3

原文地址:配置公司代码 概述 这是讨论创建新公司代码的基本标准配置步骤的第三篇博客。在第 1 部分中,我列出并讨论了企业结构中需要配置的项目。我随后提供了特定 FI 配置的详细信息。在本版本中,我将重点关注 SD 和 MM 模块。以下是这些博…

每日一题:LeetCode-11.盛水最多的容器

每日一题系列(day 13) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x1f50e…

低代码——“平衡饮食”才是王道

文章目录 一、低代码的概念二、低代码的优点2.1. 高效率与快速开发2.2. 降低技术门槛2.3. 适用于快速迭代与原型开发 三、低代码的缺点3.1. 定制性不足3.2. 深度不足3.3. 可能导致技术债务 四、低代码开发的未来4.1. 深度定制化4.2. 智能化 五、低代码会替代传统编程吗&#xf…

Python Struct 模块:二进制数据的强大解析与打包工具

更多资料获取 📚 个人网站:ipengtao.com Python中的struct模块是一个强大而灵活的工具,用于解析和打包二进制数据。本文将深入介绍struct模块的各个方面,通过丰富的示例代码,帮助读者更全面地理解和运用这一模块&…

参考信号速度变化存在跳跃时容易发生不稳定的阻抗调节

问题描述 当参考信号速度存在跳跃变化时,阻抗调节系统容易发生不稳定。这是因为阻抗调节系统需要根据参考信号的速度来调整其输出阻抗,以匹配负载阻抗,从而保持系统的稳定性。 当参考信号速度突然变化时,阻抗调节系统可能无法及…

C++新经典模板与泛型编程:用成员函数重载实现is_base_of

用成员函数重载实现is_base_of std::is_base_of是一个C 11标准中用于判断某个类是否是另一个类父类的类模板。 #include "killCmake.h"#include<string>using namespace std;class A { };class B : public A { public:B(int x): x_(x){} private:int x_; };/…

LinuxBasicsForHackers笔记 -- BASH 脚本

你的第一个脚本&#xff1a;“你好&#xff0c;黑客崛起&#xff01;” 首先&#xff0c;您需要告诉操作系统您要为脚本使用哪个解释器。 为此&#xff0c;请输入 shebang&#xff0c;它是井号和感叹号的组合&#xff0c;如下所示&#xff1a;#! 然后&#xff0c;在 shebang …

正则表达式(6):分组与后向引用

正则表达式&#xff08;6&#xff09;&#xff1a;分组与后向引用 总结 本博文转载自 在本博客中&#xff0c;”正则表达式”为一系列文章&#xff0c;如果你想要从头学习怎样在Linux中使用正则&#xff0c;可以参考此系列文章&#xff0c;直达链接如下&#xff1a; 在Linux中…

GateWay网关介绍以及整合knife4j聚合所有服务的接口文档

为什么使用网关&#xff1f; 因为多个微服务的端口不同&#xff0c;前端调用不方便&#xff0c;使用网关可以统一接收处理前端的请求&#xff0c;同时方便接口的集中处理&#xff0c;比如鉴权、聚合接口文档、限流等等.. 这里使用Knife4j文档工具来实现接口文档&#xff1a;K…