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

#生物背景

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

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

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

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

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

综上,蜂群实现群体智慧的最小搜索模型包括蜜源引领蜂跟随蜂侦察蜂共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);
相关推荐
数智工坊3 小时前
【Inner Monologue论文阅读】: 首次将大语言模型嵌入机器人控制闭环,实现自我反思和动态行为调整
论文阅读·人工智能·算法·语言模型·机器人·无人机
Evand J4 小时前
【MATLAB控制例程】(9)多无人机编队协同控制与三维轨迹规划仿真,附下载链接
开发语言·分布式·matlab·无人机·控制
NOVAnet20239 小时前
高端设计制造业SD-WAN跨域组网深度解析:头部无人机企业如何实现异地数据高效安全回传和协作
无人机·sd-wan·企业组网·南凌科技·边缘数据传输
灵智实验室9 小时前
PX4状态估计技术EKF2详解(六):EKF2 磁力计融合——从航向修正到 3D 姿态约束
算法·无人机·px 4
灵智实验室11 小时前
PX4状态估计技术EKF2详解(五):EKF2 故障检测、重置与鲁棒性——从单实例到多实例仲裁
算法·无人机·px 4
byte轻骑兵11 小时前
【HID】规范精讲[18]: 蓝牙HID设备低延迟秘籍——从报告速率到全链路优化实战
人机交互·无人机·键盘·鼠标·hid
GIS数据转换器11 小时前
基于低空巡检的空地一体智慧治理平台
大数据·人工智能·数据挖掘·数据分析·无人机
CS_Zero1 天前
自主避障无人机FastDrone的控制代码笔记
无人机·飞控
小O的算法实验室1 天前
2023年IEEE TMC,基于进化多目标强化学习的无人机辅助移动边缘计算轨迹控制与任务卸载,深度解析+性能实测
无人机
Deepoch1 天前
野外作业新突破:Deepoc技术让无人机机群实现“去中心化”自主协同
无人机·开发板·具身模型·deepoc