当前位置: 首页 > news >正文

基于猎豹优化算法(The Cheetah Optimizer,CO)的多无人机协同三维路径规划(提供MATLAB代码)

一、猎豹优化算法

猎豹优化算法(The Cheetah Optimizer,CO)由MohammadAminAkbari等人于2022年提出,该算法性能高效,思路新颖。

参考文献: Akbari, M.A., Zare, M., Azizipanah-abarghooee, R. et al. The cheetah optimizer: a nature-inspired metaheuristic algorithm for large-scale optimization problems. Sci Rep 12, 10953 (2022). https://doi.org/10.1038/s41598-022-14338-z
在这里插入图片描述

CO算法描述:

在这里插入图片描述

二、无人机(UAV)三维路径规划

单个无人机三维路径规划数学模型参考如下文献:

Phung M D , Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization[J]. arXiv e-prints, 2021.

每个无人机的目标函数由路径长度成本,安全性与可行性成本、飞行高度成本和路径平滑成本共同组成:

2.1路径长度成本

路径长度成本由相邻两个节点之间的欧氏距离和构成,其计算公式如下:
在这里插入图片描述

2.2路径安全性与可行性成本

在这里插入图片描述

路径安全性与可行性成本通过下式计算:

在这里插入图片描述

2.3路径飞行高度成本

在这里插入图片描述

飞行高度成本通过如下公式计算所得:
在这里插入图片描述
在这里插入图片描述

2.4路径平滑成本

在这里插入图片描述

投影向量通过如下公式计算:

在这里插入图片描述

转弯角度的计算公式为:
在这里插入图片描述

爬坡角度的计算公式为:

在这里插入图片描述

平滑成本的计算公式为:
在这里插入图片描述

2.5总成本(目标函数)

在这里插入图片描述

总成本由最优路径成本,安全性与可行性成本、飞行高度成本和路径平滑成本的线性加权所得。其中,b为加权系数。

三、实验结果

在三维无人机路径规划中,无人机的路径由起点,终点以及起始点间的点共同连接而成。因此,自变量为无人机起始点间的各点坐标,每个无人机的目标函数为总成本(公式9)。本文研究3个无人机协同路径规划,总的目标函数为3个无人机的总成本之和。

Xmin=[Xmin0,Xmin1,Xmin2];
Xmax=[Xmax0,Xmax1,Xmax2];
dim=dim0+dim1+dim2;
fobj=@(x)GetFun(x,fobj0,fobj1,fobj2);%总的目标函数
pop=50;
maxgen=1500;[fMin ,bestX,Convergence_curve]=CO(pop,maxgen,Xmin,Xmax,dim,fobj);%Trajectories,fitness_history, population_history
% save bestX bestX
BestPosition1 = SphericalToCart(bestX(1:dim/3),model);% 第一个无人机得到的路径坐标位置
BestPosition2 = SphericalToCart(bestX(1+dim/3:2*dim/3),model1);% 第二个无人机得到的路径坐标位置
BestPosition3 = SphericalToCart(bestX(1+2*dim/3:end),model2);% 第三个无人机得到的路径坐标位置gca1=figure(1);
gca2=figure(2);
gca3=figure(3);
PlotSolution(BestPosition1,model,gca1,gca2,gca3);% 画第一个无人机
PlotSolution1(BestPosition2,model1,gca1,gca2,gca3);% 画第二个无人机
PlotSolution2(BestPosition3,model2,gca1,gca2,gca3);% 画第三个无人机figure
plot(Convergence_curve,'LineWidth',2)
xlabel('Iteration');
ylabel('Best Cost');
grid on;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/454726.html

相关文章:

  • Linux:进程的创建、终止和等待
  • 数值优化基础——基于优化的规划算法
  • 括号匹配——(栈实现)
  • 【Java 并发编程】初识多线程
  • Linux下载安装MySQL8.4
  • 强化学习笔记之【DDPG算法】
  • c++继承(下)
  • 数据结构 ——— 单链表oj题:反转链表
  • 前端项目npm install报错解决的解决办法
  • vue双向绑定/小程序双向绑定区别
  • 华为OD机试真题---字符串变换最小字符串
  • JAVA基础面试题汇总(持续更新)
  • 设计模式-创建型-常用:单例模式、工厂模式、建造者模式
  • 【数据结构】【链表代码】随机链表的复制
  • Linux 系统五种帮助命令的使用
  • Vueron引领未来出行:2026年ADAS激光雷达解决方案上市路线图深度剖析
  • Java | Leetcode java题解之第458题可怜的小猪
  • 怎么不改变视频大小的情况下,修改视频的时长
  • 数据结构:AVL树
  • 系统守护者:使用PyCharm与Python实现关键硬件状态的实时监控
  • 【工作流引擎集成】springboot+Vue+activiti+mysql带工作流集成系统,直接用于业务开发,流程设计,工作流审批,会签
  • SumatraPDF一打开就无响应怎么办?
  • 棋牌灯控计时计费系统软件免费试用版怎么下载 佳易王计时收银管理系统操作教程
  • Excel下拉菜单制作及选项修改
  • 树莓派 mysql (兼容mariadb)登陆问题
  • 智能手表(Smart Watch)项目
  • 设计模式~~~
  • Golang | Leetcode Golang题解之第458题可怜的小猪
  • 欢聚时代(BIGO)Android面试题及参考答案
  • [C语言]指针和数组