获取资源
请见文章第5节:资源获取】可参考DBO算法介绍
无人机航迹规划是指在给定的环境中,通过算法或策略确定无人机的航行路径,以实现特定的任务目标。这个问题涉及到多个方面,包括路径规划、障碍物避免、最优化等。
下面是一些常见的无人机航迹规划问题和相关的方法:
需要根据具体的应用场景和任务目标选择合适的方法和算法来解决无人机航迹规划问题。这通常涉及到环境建模、路径搜索和优化技术等多个领域的知识。
路径规划能力是无人机械完成各项规定任务的基本能力,而对于无人机而言,其三维航迹规划得合理与否,直接决定了无人机能否完成规定的任务,而航迹规划算法,又直接影响着航迹规划的质量。因此,进行无人机三维航迹规划算法的研究,对于提高无人机的任务完成率具有重要的意义。
近年来,针对无人机航迹规划问题的研究主要分为两类,一类是基于数学计算的航迹规划方法,另一类是基于智能仿生算法的航迹规划方法。其中,智能仿生算法在求解复杂、多约束条件下的无人机航迹规划问题时,具有较快的运算速度和较强的适用性,故受到了很对学者的青睐。
%% 威胁区域绘制
%威胁区域中心坐标
ThreatAreaPostion = [50,140];
%威胁区域半径
ThreatAreaRadius = 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,20];
endPoint = [200,200,20];
plot3(startPoint(1),startPoint(2),startPoint(3),'ro');
text(startPoint(1),startPoint(2),startPoint(3),'起点','Color','k','FontSize',15)
plot3(endPoint(1),endPoint(2),endPoint(3),'r*');
text(endPoint(1),endPoint(2),endPoint(3),'终点','Color','k','FontSize',15)
title('地图信息')
%% 蜣螂优化参数设置
NodesNumber = 2;%起点与终点之间节点的个数
dim = 2*NodesNumber; %维度,一组坐标点为[x,y,z]3个值,,其中X等间隔分布,所以总的数据个数为2*NodesNumber
lb = [20.*ones(1,NodesNumber),0.*ones(1,NodesNumber)];%x,y,z的下限[20,20,0]
ub = [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=70; % 种群数量
Max_iteration=50; % 设定最大迭代次数
%DBO寻优
[Best_pos_DBO,Best_score_DBO,DBO_curve]=DBO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
%根据寻优获得的节点,获取插值后的路径
[X_seq_DBO,Y_seq_DBO,Z_seq_DBO,x_seq_DBO,y_seq_DBO,z_seq_DBO] = GetThePathLine(Best_pos_DBO,NodesNumber,startPoint,endPoint);
可以获取完整代码资源。