栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

多无人机协同三维路径规划的蛇优化算法Snake Optimizer(提供MATLAB代码)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多无人机协同三维路径规划的蛇优化算法Snake Optimizer(提供MATLAB代码)

一、蛇优化算法简介

蛇优化算法(Snake Optimizer,SO)由Fatma A. Hashim和Abdelazim G. Hussien于2022年提出,该算法思路新颖,快速高效,模拟了蛇的觅食和繁殖行为。

二、蛇优化算法原理

雄性蛇和雌性蛇之间交配的发生受到某些因素的影响。蛇在春末和初夏交配,那时温度低。但交配过程不仅取决于温度,还取决于食物的充足性。如果温带低,食物充足;雄性蛇会互相争斗,以吸引雌性的注意力。雌性有权决定是否交配。如果发生交配,雌性开始在巢穴或洞穴中产卵,一旦卵出现,它就会离开。

蛇优化算法受蛇交配行为的启发,如果温度低且食物充足,则会发生交配,否则蛇只会寻找食物或吃掉剩余的食物。蛇优化算法分为两个阶段即全局探索或局部开发。探索取决于环境因素,即寒冷的地方和食物,在这种情况下,蛇只在周围寻找食物。对于开发,此阶段包括许多过渡阶段,以使全局更有效率。在食物可用但温度高的情况下,蛇只会专注于吃可用的食物。如果食物可用并且该区域寒冷,则会导致交配过程的发生;交配过程进行战斗模式或交配模式。在战斗模式中,每个雄性都会为获得最好的雌性而战,每个雌性都会尝试选择最好的雄性。在交配模式下,每对配对之间发生交配与食物数量的可用性有关。如果交配过程发生,则雌性产卵并将其孵化成新的蛇。SO将群体分成两个相等的群体即雄性和雌性。

2.1全局搜索(无食物)

如果Q<0.25,蛇通过选择任何随机位置来搜索食物,并更新它们的位置。

雄性蛇位置更新:

雌性蛇位置更新:

2.2局部搜索(有食物)

如果Q>0.25,且温度>0.6,则蛇只会向食物移动:

如果Q>0.25,且温度<0.6,则蛇将处于战斗模式或交配模式

2.2.1战斗模式

雄性蛇位置更新:

雌雄蛇位置更新:

2.2.2交配模式

雄性蛇位置更新:

雌雄蛇位置更新:

三、蛇优化算法流程

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

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

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

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

4.1路径长度成本

路径长度成本由相邻两个节点之间的欧氏距离和构成,其计算公式如下:

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

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

4.3路径飞行高度成本

飞行高度成本通过如下公式计算所得:

4.4路径平滑成本

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

转弯角度的计算公式为:

爬坡角度的计算公式为:

平滑成本的计算公式为:

4.5总成本(目标函数)

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

五、实验结果

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

5.1参数设置 (1)9个柱状障碍物的位置及半径:
R1=60;  % Radius 60
x1 = 350; y1 = 500; z1 = 100; % center


R2=70;  % Radius 70
x2 = 600; y2 = 200; z2 = 150; % center

R3=80;  % Radius 80
x3 = 500; y3 = 350; z3 = 150; % center

R4=70;  % Radius 70
x4 = 350; y4 = 200; z4 = 150; % center

R5=70;  % Radius 70 
x5 = 700; y5 = 550; z5 = 150; % center


R6=80;  % Radius 80
x6 = 650; y6 = 750; z6 = 150; % center

R7=70;  % Radius 70
x7 = 800; y7 = 400; z7 = 150; % center

R8=50;  % Radius 50
x8 = 300; y8 = 350; z8 = 100; % center

R9=50;  % Radius 50
x9 = 500; y9 = 600; z9 = 100; % center 
(2)起始点位置:

第一个无人机起始点:
start_location = [150;200;150];
end_location = [800;800;150];
第二个无人机起始点:
start_location = [400;100;150];
end_location = [900;550;150];

(3)每个无人机起始点间共12个待求点。 (4)加权系数b=[5 1 10 1]。 (5)SO种群大小为50,最大迭代次数为5000。 5.2求解结果

独立运行三次,得到三次参考方案如下:(黑色正方形是起点,黑色圆圈是终点,共有9个柱状障碍物,红线为优化得到的第一个无人机路线,粉线为优化得到的第二个无人机路线。)

5.2.1结果一


5.2.2结果二


5.2.3结果三


六、参考代码

参考代码联系博主。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008127.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号