基于人工蜂群算法多无人机轨迹规划

#生物背景

蜜蜂是一种群居生物,生物学家研究发现蜜蜂以跳舞的方式来交换蜜源信息。根据分工的不同,蜜蜂被分为三个工种:引领峰、跟随蜂、侦察蜂

侦察蜂的职责是侦察蜜源(即蜜蜂的食物),一旦某一个侦察蜂找到蜜源后,实际上它的角色就切换为引领蜂了。

找到蜜源后的引领峰以跳舞的方式向同伴传递自己找到食物的信息,这时候一些饥饿的、没有找到食物的蜜蜂就会沿着引领峰指明的方向去寻找食物,这些相信引领峰传递的信息的蜜蜂实际上就是跟随蜂这实际上属于招募蜜蜂的行为。

当引领峰寻找了多次蜜源后,发现再也找不到吃起来更香的蜜源后,引领峰说话的信服力会降低,于是跟随蜂也逐渐不相信引领峰传递的信息。

引领峰转变角色,做回侦察蜂。直到再次找到高质量的蜜源后,再做回引领峰,这实际上属于放弃蜜源的行为。

综上,蜂群实现群体智慧的最小搜索模型包括蜜源引领蜂跟随蜂侦察蜂共4个组成要素,以及招募蜜蜂放弃蜜源2种基本的行为。

#步骤

1)初始化各蜜源 ; 设定参数数量、侦察蜂搜索阈值以及最大迭代次数;
2)为蜜源分配一只引领蜂,在范围内进行随机搜索,产生新蜜源 ;
3)依据适应度评价函数,根据贪婪选择的方法确定保留的蜜源;
4) 轮盘赌计算引领蜂找到的蜜源被跟随的概率;
5)跟随峰采用与引领蜂相同的方式进行搜索,根据贪婪选择的方法确定保留的蜜源;
6)判断蜜源是否满足被放弃的条件。如满足,对应的引领蜂角色变为侦察蜂,否则直接转到8);
7)侦察蜂根据式(4)随机产生新蜜源;
8)判断算法是否满足终止条件,若满足则终止,输出最优解,否则转到2

#多无人机轨迹规划约束

#算法步骤
① 初始化初值,并对于不同长度的路径确定不同数量的节点数使节点大致呈均匀分布
② 产生蜜源,计算适应度
③ 开采蜜源,贪婪算法求解
④ 如果一个蜜源经过多次开采没被更新,超过了预定阈值 limit ,那么需抛弃这个蜜源,启动探索蜂阶段
⑤ 最大迭代次数求最优适应度,求解下一个节点
⑥ B 样条平滑处理

|------------|-----------------|
| 蜂群采蜜行为 | 无人机代价函数优化问题 |
| 蜜源位置 | 可行路径节点的坐标值 |
| 蜜源的收益度大小 | 可行路径节点坐标的质量 |
| 寻找蜜源与采蜜的速度 | 无人机代价函数的求解速度 |

##仿真

代码结果:

distance_min =

264.8229

204.0834

318.8194

291.2678

routes_distance =

265.1149

211.3959

363.0191

309.3624

time_plan =

8.8372

26.8372

35.8372

17.8372

V_plan =

30.0000

7.8770

10.1297

17.3437

代码链接GitHub - promising76/abc-UAVplanning

部分代码如下:

Matlab 复制代码
clc
close all
clear all
%================================��������=============================================%
global boundary setstart setfinal node delta_H danger_xi danger_yi danger_zi danger_ri weight;
%node=12;%���յ��������ʼ�㵽�յ�Ľڵ����(ż��)
L_FEN=26;%���ýڵ��ļ������
delta_H=[20 40];%���(���)�߶ȡ����й�����͸߶�
danger_xi=[207.1 393.9];%�������������                
danger_yi=[333.3 414.1];
danger_zi=[389.9 349.2];
danger_ri=[0 0];%������в�뾶
weight=[1 0.01 0.3];%·�����ȡ������߶ȡ��н���ռȨ��
boundary=[500 0];%���û���������
setfinal=[291.8 219.8 492.4];%�����յ�
setstart_ALL=[176.8 237.4 254.5;%������㣬����Ϊ���˻�1��2��3...
             161.6 363.6 429;
             454.5 146.5 228.2;
             393.9 308.1 234.3];          
Vmin=3;%�������˻������ٶȷ�Χ��m/s��
Vmax=30;
Ways=2;%Ways=1ʱ��ʵ��ͬʱ��ɣ�ͬʱ����Ŀ�ꣻWays=2ʱ��ʵ��ָ��˳�����ε���Ŀ��
Order=[1 4 2 3];%���˻�����˳��
interval=9;%���˻�������ʱ�䣨s��
%====================================================================================%       
lineX=size(setstart_ALL,1);
相关推荐
后厂村路钢铁侠16 小时前
基于PX4的多无人机集群中的的配置
无人机
创小董1 天前
高海拔低温地区无人机大载重吊运技术详解
无人机
创小董2 天前
垂起固定翼无人机大面积森林草原巡检技术详解
无人机
IT猿手2 天前
基于PWLCM混沌映射的麋鹿群优化算法(Elk herd optimizer,EHO)的多无人机协同路径规划,MATLAB代码
算法·elk·机器学习·matlab·无人机·聚类·强化学习
创小董2 天前
无人机飞防高效率喷洒技术详解
无人机
云卓SKYDROID2 天前
反无人机防御系统概述!
无人机·科普·高科技·云卓科技
EasyDSS3 天前
视频直播点播平台EasyDSS与无人机技术的森林防火融合应用
音视频·无人机
IT猿手4 天前
SDMTSP:黑翅鸢算法(Black-winged kite algorithm,BKA)求解单仓库多旅行商问题,可以更改数据集和起点(MATLAB代码)
人工智能·深度学习·机器学习·matlab·无人机·智能优化算法
创小董4 天前
低温高海拔大载重无人机吊运技术详解
无人机
白嫖叫上我4 天前
Cesium 无人机航线规划(航点航线)
无人机·cesium