基于粒子群优化和行为控制的无人机在最优多跳自组织网络中的部署(Matlab代码实现)

 👨‍🎓个人主页:研学社的博客  

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

Ad-Hoc(点对点)模式:ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了。一般无线终端设备像PMP、PSP、DMA等用的就是ad-hoc模式。 在家庭无线局域网的组建,我想大家都知道最简单的莫过于两台安装有无线网卡的计算机实施无线互联,其中一台计算机连接Internet就可以共享带宽。如右图所示,一个基于Ad-Hoc结构的无线局域网便完成了组建。

Ad hoc网络一般有两种结构:平面结构和分级结构。在平面结构中,所有结点的地位平等,所以又可以称为对等式结构。分级结构中,网络被刈分为簇。每个簇由一个簇头和多个簇成员组成。这些簇头形成了高一级的网络。在高一级网络中,又可以分簇,再次形成更高一级的网络,直至最高级。在分级结构中,簇头结点负责簇间数据的转发。簇头可以预先指定,也可以由结点使用算法自动选举产生。 分级结构的网络又可以被分为单频分级和多频分级两种。单频率分级网络中,所有结点使用同一个频率通信。为了实现簇头之间的通信,要有网关结点(同时属于两个簇的结点)的支持。而在多频率分组网络中,不同级采用不同的通信频率。低级结点的通信范围较小,而高级结点要覆盖较大的范围。高级的结点同时处于多个级中,有多个频率,用不同的频率实现不同级的通信。在两级网络中,簇头结点有两个频率。频率1用于簇头与簇成员的通信。而频率2用于簇头之间的通信。分级网络的每个结点都可以成为簇头,所以需要适当的簇头选举算法,算法要能根据网络拓扑的变化重新分簇。 平面结构的网络比较简单,网络中所有结点是完全对等的,原则上不存在瓶颈,所以比较健壮。

它的缺点是可扩充性差:每一个结点都需要知道到达其他所有结点的路由。维护这些动态变化的路由信息需要大量的控制消息。在分级结构的网络中,簇成员的功能比较简单,不需要维护复杂的路由信息。这大大减少了网络中路由控制信息的数量,因此具有很好的可扩充性。由于簇头结点可以随时选举产生,分级结构也具有很强的抗毁性。分级结构的缺点是,维护分级结构需要结点执行簇头选举算法,簇头结点可能会成为网络的瓶颈。 

因此,当网络的规模较小时,可以采用简单的平面式结构;而当网络的规模增大时,应用分级结构。

📚2 运行结果

主函数部分代码:

clc;

clear;

close all;

model = CreateModel2();

file = load('drone.mat');

uavs = file.uavs;

figure();

set(gcf, 'Position', get(0, 'Screensize'));

iter = 0;

% Plot model

mesh(model.X,model.Y,model.H);  % Plot the data

colormap pink;         % Default color map.

set(gca, 'Position', [0 0 1 1]); % Fill the figure window.

axis equal vis3d on;       % Set aspect ratio and turn off axis.

shading interp;         % Interpolate color across faces.

material dull;          % Mountains aren't shiny.

camlight left;          % Add a light over to the left somewhere.

lighting gouraud;        % Use decent lighting.

xlabel('x [m]');

ylabel('y [m]');

zlabel('z [m]');

hold on

% Plot threats

threats = model.threats;

threat_num = size(threats,1);

h=250; % Height

for i = 1:threat_num

  threat = threats(i,:);

  threat_x = threat(1);

  threat_y = threat(2);

  threat_z = threat(3);

  threat_radius = threat(4);

  [xc,yc,zc]=cylinder(threat_radius); % create a unit cylinder

  % set the center and height 

  xc=xc+threat_x;  

  yc=yc+threat_y;

  zc=zc*h+threat_z;

  c = mesh(xc,yc,zc); % plot the cylinder 

  set(c,'Edgecolor','none','Facecolor','black','FaceAlpha',.5); % set color and transparency

end

🎉3 参考文献

[1]肖永康,山秀明,任勇.无线Ad hoc网络及其研究难点[J].电信科学,2002(06):12-14.

部分理论来源于网络,如有侵权请联系删除。

🌈4 Matlab代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
基于粒子群优化(Particle Swarm Optimization, PSO)和基于行为控制(Behavioral Control)的方法可以实现无人机最佳多网络部署。下面将介绍这两种方法的基本原理和步骤。 1. 粒子群优化(PSO): - 初始化种群:随机生成一组粒子,每个粒子代表一个无人机的位置。 - 计算适应度:根据无人机的位置,计算网络性能指标(如覆盖范围、通信质量等)作为适应度值。 - 更新速度和位置:根据每个粒子的当前位置和速度,以及个体经验和群体经验,更新速度和位置,以寻找更优的解。 - 重复迭代:重复执行更新速度和位置的步骤,直到达到预定的迭代次数或满足停止条件。 - 输出最优解:根据迭代过程的适应度值,选择具有最佳适应度的粒子作为最优解,即最佳的无人机位置。 2. 基于行为控制: - 设定行为规则:定义无人机行为规则,如避障、跟随、聚集等。 - 感知环境信息:无人机通过传感器感知周围环境的信息,如障碍物位置、其他无人机位置等。 - 更新行为:根据感知到的环境信息和设定的行为规则,更新无人机行为,如调整飞行速度、方向等。 - 重复迭代:不断重复感知环境信息和更新行为的过程,直到达到预定的终止条件。 - 输出最佳部署:根据迭代过程行为更新,确定无人机的最佳部署位置,以实现最优的多网络部署。 在实际应用,可以将PSO和基于行为控制方法结合起来,以综合考虑无人机的位置优化和行为控制。通过适当调整PSO算法的参数,如粒子数、迭代次数等,以及设定合适的行为规则,可以实现无人机的最佳多网络部署,并提高网络性能和通信质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荔枝科研社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值