💥💥💥💥💞💞💞💞💞💞欢迎来到Matlab研究室博客之家💞💞💞💞💞💞💥💥💥💥
✅博主简介:985研究生,热爱科研的Matlab仿真开发者,完整代码 论文复现 程序定制 期刊写作 科研合作 扫描文章底部QQ二维码。
🍎个人主页:Matlab研究室
🏆代码获取方式:扫描文章底部QQ二维码
⛳️座右铭:行百里者,半于九十;路漫漫其修远兮,吾将上下而求索。
更多Matlab路径规划仿真内容点击👇
①Matlab路径规划(研究室版)
⛳️关注微信公众号Matlab王者助手或Matlab海神之光,更多资源等你来!!
⛄一、粒子群算法无人机群威胁环境下多目标路径优化搜索探测
1 粒子群算法
粒子群算法是智能算法领域中除蚁群算法、鱼群算法又一个智能群体算法。
PSO算法首先在可行解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解。粒子在解空间中运动,通过跟踪个体极值Pbest和群体极值Gbest更新个体位置。
粒子每更新一次位置,就计算一次适应度值,并且通过比较新粒子的适应度值和个体极值、群体极值的适应度值更新个体极值Pbest和群体极值Gbest位置。
在每一次迭代过程中,粒子通过个体极值和群体极值更新自身的速度和位置,每个粒子在D维空间的速度和位置状态可表示为
2 粒子群算法步骤
粒子群算法是一种基于群体智能的优化算法,其步骤如下:
(1)初始化粒子群:随机生成一定数量的粒子,并为每个粒子随机分配一个位置和速度。
(2)计算适应度函数:根据问题的具体情况,计算每个粒子的适应度函数值。
(3)更新粒子速度和位置:根据当前位置和速度,以及全局(4)最优位置和个体最优位置,更新每个粒子的速度和位置。
(5)更新全局最优位置和个体最优位置:根据当前适应度函数值,更新全局最优位置和个体最优位置。
(6)判断终止条件:如果满足终止条件,则输出最优解;否则返回第3步。
3 粒子群算法无人机群威胁环境下多目标路径优化搜索探测
粒子群算法是一种基于群体智能的优化算法,被广泛应用于解决多目标优化问题。在无人机群威胁环境下的多目标路径优化搜索探测中,每个粒子代表一个可能的路径解,通过评估目标函数和约束条件来更新粒子的位置和速度。通过多次迭代,粒子群算法能够逐步收敛到最优解。最后,通过仿真实验来验证粒子群算法的效果,可以得到一组最优路径解。通过对比不同算法和参数设置下的结果,可以评估粒子群算法在无人机群威胁环境下的多目标路径优化搜索探测效果。
⛄二、部分源代码
clc
clear all
close all
%% 搜索任务设置
global Nv
Nv = 1; %无人机数量(可设)
global huav
huav=1; %无人机高度
global Nt
Nt=3; %目标个数(可设)
global dp
dp=[1 1 1]; %目标初始情况:初始位置未知,静止目标为1;初始位置已知,静止目标为2;初始位置、速度及运动方向均已知为3
global Vt;
Vt=0; %目标最大速度为0km/s(可设)
global PD1 PF1 PD2 PF2
PF1=0; %无人机虚警概率(可设)
PD1=1; %无人机探测概率(可设)
PF2=0; %无人机虚警概率(可设)
PD2=1; %无人机探测概率(可设)
global Reg_sen
Reg_sen=4; %传感器探测范围为1km(可设)
global Search_Time;
Search_Time = 480; %最大搜索时间(可设)
global Total_targ;
global Result;
global Sim_Time;
%% 环境设置(威胁,目标),搜索图的初始化
global Map_margin
Map_margin=5; %搜索图相对搜索区域预留出的裕度,四个方向均为5km
global Search_area
Search_area=[50,50]; %搜索范围:50km50km(可设)
global Ini_Pos;
Ini_Pos=[0,0]; %无人机初始位置(可设)
global Int_Pos;
Int_Pos=[17,15;27,31;37,40]; %目标初始位置(可设)
global wwidth llength
wwidth=Search_area(1,1)+Map_margin;
llength =Search_area(1,2)+Map_margin;
global Width Length
Width=wwidth+Map_margin;
Length=llength+Map_margin; %搜索图的规模WidthLength=60(km)60(km)
global Lx Ly
Lx=60; Ly=60; %搜索图分成i_maxj_max=LxLy=60(行)60(列)的网格区域
global max_m
max_m =LxLy;
global L_unit W_unit
W_unit=Width/Lx;L_unit=Length/Ly; %每一个小单元格的规模均为W_unitL_unit
global X
X=zeros(Lx,Ly,3); %网格的坐标及编号信息
global pm
pm=zeros(max_m,Nt,Nv); %网格点的目标存在概率,取中心点的概率值
global Pm Xm Hm
Pm=zeros(max_m,Nv); %网格点上多目标的联合存在概率,取中心点的概率值
Xm=zeros(max_m,Nv); %无人机对网格点的确定度
Hm=zeros(max_m,Nv); %荷尔蒙信息
global Pm_combine Xm_combine Hm_combine
Pm_combine=zeros(max_m,1);
Xm_combine=zeros(max_m,1);
Hm_combine=zeros(max_m,1);
global DETAH_A DETAH_I
DETAH_A = zeros(max_m,Nv);
DETAH_I = zeros(max_m,Nv); %荷尔蒙的累积扩散值
%将目标及无人机的初始位置映射到搜索图上
Ini_Pos_onmap=zeros(Nv,2);
for j=1:Nv
Ini_Pos_onmap(j,:)=Ini_Pos(j,:)+Map_margin*[1,1];
end
Int_Pos_onmap=zeros(Nt,2);
for j=1:Nt
Int_Pos_onmap(j,:)=Int_Pos(j,:)+Map_margin*[1,1];
end
display(‘正在进行搜索图初始化。。。。。。。’)
global Coord_Target;
[Coord_Target]=Search_map_initial(Ini_Pos_onmap,Int_Pos_onmap); %搜索图初始化
global Target_pos
Target_pos(:,1,:)=Coord_Target;
draw_threaten();
%框出搜索区域
hold on
plot([Map_margin,Map_margin],[Map_margin,wwidth]);
hold on
plot([Map_margin,wwidth],[llength ,wwidth]);
hold on
plot([llength ,wwidth],[llength ,Map_margin]);
hold on
plot([llength ,Map_margin],[Map_margin,Map_margin]);
grid
axis([0,Length,0,Width,0,3+0.5]);
xlabel(‘X(km)’)
ylabel(‘Y(km)’)
%% 算法过程参数设置
global St
St=1; %发现目标累积次数
global FindTarget
FindTarget=[0,0]; %第几个无人机发现第几个目标
%% 滚动优化参数设置
global P_rhc M_rhc
P_rhc = 3; % 滚动优化的预测窗口
M_rhc = 3; % 滚动优化的控制窗口
Ts =20; % 决策间隔时间,两个航迹点间所用时间
X_uav = Ini_Pos_onmap(:,1);
Y_uav = Ini_Pos_onmap(:,2);
Z_uav = ones(Nv,1);
LPOS_uav=zeros(Nv,2); %无人机当前位置坐标(x,y)
NPOS_uav=zeros(Nv,2); %无人机当前位置坐标(x,y)
%% 相关仿真参数初始化设置
k = 0;
Sim_Time = 0; % 仿真时间
end_flag = 0; % 结束标志
Xp0 = Ini_Pos_onmap;
Phi0 = pi/4;
display(‘PSO算法开始。。。。。。’)
%% 开始执行搜索任务
while ( end_flag == 0 )
k = k+1;
% 利用BSO算法优化得到各无人机的控制作用[ v, ψ ]
[U_uav ,best_fitness(k)]=pso_opt( Xp0, Phi0, P_rhc, Ts);
for j = 1 : M_rhc
%计算每个控制时域内各架无人机的状态
for i = 1 : Nv
% 各个无人机在每个时域内的控制量
V_uav(i, M_rhc*(k-1)+j) = U_uav(i,2j-1);
Phi_uav(i, M_rhc(k-1)+j) = U_uav(i,2j);
% 各架无人机的位置
X_uav(i, M_rhc(k-1)+j+1) = X_uav(i,M_rhc*(k-1)+j) + V_uav(i, M_rhc*(k-1)+j) * cos(Phi_uav(i, M_rhc*(k-1)+j)) * Ts;
Y_uav(i, M_rhc*(k-1)+j+1) = Y_uav(i,M_rhc*(k-1)+j) + V_uav(i, M_rhc*(k-1)+j) * sin(Phi_uav(i, M_rhc*(k-1)+j)) * Ts;
Z_uav(i, M_rhc*(k-1)+j+1) = huav;
LPOS_uav(i,:)=[X_uav(i, M_rhc*(k-1)+j),Y_uav(i, M_rhc*(k-1)+j)]; %无人机上一个位置坐标(x,y)
NPOS_uav(i,:)=[X_uav(i, M_rhc*(k-1)+j+1),Y_uav(i, M_rhc*(k-1)+j+1)];
end
% 传感器信息,是否探测到目标
[b,NUM1,grid_num]=Judge_t(Coord_Target,LPOS_uav,NPOS_uav);
% 搜索图的更新
[Coord_Target]=Search_map_update(Coord_Target,LPOS_uav,NPOS_uav,Ts,b);
Target_pos(:,M_rhc*(k-1)+j+1,:)=Coord_Target;
Result=unique(FindTarget,'rows');
Total_targ=length(unique(Result(:,2)));
% 记录仿真运行时间
Sim_Time = Sim_Time + Ts;
if Sim_Time >= Search_Time || Total_targ == Nt
end_flag = 1; % 达到任务要求时间,仿真结束
break
end
end
display('运行时间:');
Sim_Time
% Sure(k)=sum(Xm_combine);
% save Sure
% 为下一次迭代进行初始化设置
if end_flag ~= 1
Xp0 = [ X_uav(:,k*M_rhc+1), Y_uav(:,k*M_rhc+1) ];
Phi0 = Phi_uav(:,k*M_rhc);
end
end
global Xuavpath;
global Yuavpath;
Xuavpath = X_uav;
Yuavpath = Y_uav;
global XX1;
global YY1;
global ZZ1;
for i=1:Lx
for j=1:Ly
m=i+(j-1)*Lx;
X1(1,m)=X(i,j,1);
Y1(1,m)=X(i,j,2);
Z1(1,m)=Pm_combine(m,1); %概率分布
end
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]牛龙辉,陈海洋,季野彪.结合粒子群算法与任务分配协调策略的仓储多机器人任务分配[J].西安工程大学学报. 2020,34(06)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长
10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合