本文主要是介绍【MOV三维路径规划】基于matlab灰狼算法无人机三维航迹规划【含Matlab源码 2445期】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,Matlab项目合作可私信。
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式
⛳️座右铭:行百里者,半于九十。
更多Matlab仿真内容点击👇
Matlab图像处理(进阶版)
路径规划(Matlab)
神经网络预测与分类(Matlab)
优化求解(Matlab)
语音处理(Matlab)
信号处理(Matlab)
车间调度(Matlab)
⛄一、灰狼优化算法的无人机三维航迹规划
1 无人机航迹规划建模
1.1 地形模型
首先, 本研究须对三维地理环境 (规划空间) 进行离散化处理.通过对规划空间进行立方体网格划分, 将空间划分为大小相等、彼此相邻的立方体, 根据所设置的飞行航点的个数, 在规划空间搜索有序的多个航点, 从起点依次连接到目标点, 形成航迹, 模型如图1所示.规划空间使用二维矩阵表示, 其中该矩阵的每一个元素代表该精度下此方位的最高海拔.基于上述, 规划空间O为
1.2 禁飞区模型
由于在真实的地理环境中会有人流密集区和军事管制区等禁飞区域, 因此须建立相应禁飞区模型.本研究将禁飞区模型设置为圆柱体模型.由于规划空间矩阵的行代表横向方向, 列代表纵向方向, 因此第i个禁飞区的圆心坐标为 (xi, yi) , 设禁飞区的半径为ri, 高度h (无人机飞行的最高海拔高度) 为固定值, 禁飞区模型如图1深蓝色圆柱所示.基于上述, 将禁飞区用B表示, 有
图1 三维地理环境下的无人机航迹模型
1.3 无人机航迹规划的代价模型
无人机航迹的优劣评价由多种指标构成.航迹代价 (适应度值的倒数) 的评价指标主要由三部分组成:第一部分是能量的消耗程度;第二部分是飞行的高度;第三部分是禁飞区的威胁程度.因此, 将成本函数定义为
式中:w1和w2为权重参数;f1为消耗的能量;f2为飞行纬度的成本因素;f3为禁飞区的威胁程度.当无人机在飞行过程中保持固定速度时, f1可用固定比例的飞行路线长度等价表示[10], 有
式中:p1为比例因子;li为第i段飞行航迹的距离, 有
其中, k为第k个航点, xk为第k个航点的横坐标, yk为第k个航点的纵坐标, zk为第k个航点所对应的海拔高度.
若无人机飞行的高度太高或太低, 则会通过f2函数进行惩罚[10], 有
2 灰狼优化算法
灰狼优化算法模拟了灰狼在自然中的捕食行为和等级制度.在灰狼优化算法中, 由α领导捕食行动, β进行辅助决策, δ进行具体的行动安排, ω服从前三者的指令, 对猎物进行跟踪围剿, 最终完成捕食行动.
利用灰狼优化算法求解优化问题时, 在G维搜索空间中, 假设灰狼种群中的灰狼个体的数目为N, 其中第i只灰狼在G维空间中的位置可表示为Xi= (Xi1, Xi2, …, XiG) , 种群中当前最优个体记为α, 当前次优的个体记为β, 当前第三优的个体记为δ, 其余个体记为ω, 猎物的位置对应于优化问题的全局最优解.灰狼优化算法的寻优过程为:在搜索空间中随机产生一群灰狼个体, 对于这群灰狼个体进行适应度评估, 得出适应度前三的灰狼个体α, β, δ, 由它们作为寻找猎物的位置 (全局最优解) 的基准, 下一代的灰狼个体的位置根据α, β, δ的位置计算得出.
在捕食过程中, 灰狼种群首先须对猎物采取包围行动.对应在灰狼优化算法的寻优过程中, 须确定个体与猎物之间的距离[6], 有
式中:Xp (t) 为第t代时猎物的位置向量;X (t) 为第t代时灰狼个体的位置向量;A和C为系数;a随着迭代次数从2线性递减到0;r1和r2为[0, 1]之间的随机数.
对于种群中其他的狼, 根据最高级的三头灰狼α, β和δ个体位置来判断猎物的方位[6], 有:
虽然灰狼优化算法有控制参数少和一定程度上避免陷入局部最优等优点, 但是灰狼优化算法在解决三维航迹规划问题中, 也有一定的缺陷.当灰狼优化算法随机初始化个体时, 生成的航点杂乱无序, 造成个体的适应度比较低.因为距离控制参数a是线性递减的, 所以开发能力不足.当位置更新时, 灰狼优化算法采用的是根据适应度值前三的个体进行平均计算, 这样导致位置更新策略不灵活, 在一些寻优过程中, 难以找到最优解.
3 基于灰狼优化算法的航迹规划流程
a.设置灰狼种群规模、变量维数、最大迭代次数.根据式 (18) 和 (19) 采用基于贪婪思想和加入变异策略的初始化方法, 对于每个灰狼个体的航点位置进行初始化, 即初始化参数a, A和C.
b.评估种群中每个灰狼个体是否符合约束条件.
c.计算种群中每个灰狼个体的适应度值.
d.将种群中的灰狼个体的适应度值进行比较, 筛选出前三个表现最好的灰狼个体Xα, Xβ, Xδ, 记录它们对应的航点位置.
e.对于种群的每一个灰狼个体, 根据式 (17) 和 (23) 更新自己的位置.
f.根据式 (13) 、 (14) 和 (20) , 更新参数a, A和C的值.
g.判断迭代次数是否满足要求, 若满足, 则算法结束, 否则返回步骤b.
⛄二、部分源代码
%% 基于灰狼算法的三维无人机航迹优化
clc;clear;close all;
%% 1.创建地图
%地图的大小200*200
MapSizeX = 210 ; MapSizeY = 210;
%% 地形地图创建,地图详细参数,请去MapValueFunction.m里面设置
x = 1:1:MapSizeX;
y = 1:1:MapSizeY;
for i = 1:MapSizeX
for j = 1:MapSizeY
Map(i,j) = MapValueFunction(i,j);
end
end
global NodesNumber
global startPoint
global endPoint
global ThreatAreaPostion
global ThreatAreaRadius
%% 威胁区域绘制
%威胁区域中心坐标
ThreatAreaPostion = [120,20;
20,120];
%威胁区域半径
ThreatAreaRadius = [30;30];
%将威胁区域叠加到图上
figure
mesh(Map);
hold on;
for i= 1:size(ThreatAreaRadius)
[X,Y,Z] = cylinder(ThreatAreaRadius(i),50);
X = X + ThreatAreaPostion(i,1);
Y = Y + ThreatAreaPostion(i,2);
Z(2,:) = Z(2,:) + 50;%威胁区域高度
mesh(X,Y,Z)
end
%% 设置起始点
startPoint = [0,0,10];
endPoint = [210,210,20];
plot3(startPoint(1),startPoint(2),startPoint(3),‘mo’);
text(startPoint(1),startPoint(2),startPoint(3),‘起点’)
plot3(endPoint(1),endPoint(2),endPoint(3),‘yp’);
text(endPoint(1),endPoint(2),endPoint(3),‘终点’)
title(‘地图信息’)
%% 麻雀算法参数设置
NodesNumber = 2;%起点与终点之间节点的个数
dim = 3NodesNumber; %维度,一组坐标点为[x,y,z]3个值,所以总的数据个数为3NodesNumber
lb = [20.*ones(1,NodesNumber),20.*ones(1,NodesNumber),0.*ones(1,NodesNumber)];%x,y,z的下限[20,20,0]
ub = [180.*ones(1,NodesNumber),180.*ones(1,NodesNumber),50.*ones(1,NodesNumber)];%x,y,z的上限[200,200,50]
fobj = @(x)fun(x,NodesNumber,startPoint,endPoint,ThreatAreaPostion,ThreatAreaRadius);%适应度函数
SearchAgents_no=30; % 种群数量
Max_iteration=50; % 设定最大迭代次数
%麻雀寻优
[Best_pos,Best_score,GWO_curve]=GWO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); %开始优化
%根据寻优获得的节点,获取插值后的路径
[X_seq,Y_seq,Z_seq,x_seq,y_seq,z_seq] = GetThePathLine(Best_pos,NodesNumber,startPoint,endPoint);
plot3(X_seq,Y_seq,Z_seq,‘k.-’,‘linewidth’,3);%绘制路径
plot3(x_seq,y_seq,z_seq,‘mo’);%绘制节点
title(‘GWO寻优路径’)
%绘制迭代曲线
figure
plot(GWO_curve,‘Color’,‘b’,‘linewidth’,2)
grid on
title(‘GWO收敛曲线’)
xlabel(‘迭代次数’);
ylabel(‘最优适应度值’);
disp([‘最优适应度值为:’,num2str(Best_score)]);
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]柳长安,王晓鹏,刘春阳,吴华.基于改进灰狼优化算法的无人机三维航迹规划[J].华中科技大学学报(自然科学版). 2017,45(10)
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 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合
这篇关于【MOV三维路径规划】基于matlab灰狼算法无人机三维航迹规划【含Matlab源码 2445期】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!