原创:4种最新多目标优化算法求解多无人机协同路径规划(多起点多终点,起始点、无人机数、障碍物可自定义),提供完整MATLAB代码
本文介绍了5种新型多目标优化算法(MOPGA、MOWAA、MOPKO、MOEGO、IMOCTCM)及其在无人机路径规划中的应用。建立了包含路径成本、威胁成本、飞行高度成本和平滑成本的多目标优化模型,通过MATLAB实现了三维路径可视化。结果表明,这些算法能有效规划无人机路径,平衡路径长度与安全约束。研究为复杂环境下的无人机导航提供了新的优化方法。
一、4种最新多目标优化算法介绍
多目标加权平均算法(MOWAA)
多目标班翠鸟优化算法(MOPKO)
多目标鳗鱼和石斑鱼优化算法(MOEGO)
改进型多目标部落竞争与成员合作算法(IMOCTCM)
二. 多目标无人机路径规划模型
2.1 路径成本
为了提高无人机的操作效率,规划的路径需要在特定的应用标准下达到最优。在我们的研究中,主要关注空中摄影、测绘和表面检查,因此选择最小化路径长度作为优化目标。由于无人机通过地面控制站(GCS)进行控制,飞行路径 X i X_i Xi 被表示为无人机需要飞越的一系列 n n n 个航路点的列表。每个航路点对应于搜索地图中的一个路径节点,其坐标为 P i j = ( x i j , y i j , z i j ) P_{ij} = (x_{ij}, y_{ij}, z_{ij}) Pij=(xij,yij,zij)。通过表示两个节点之间的欧几里得距离为路径成本 F 1 F_1 F1 ,可以计算为:
F 1 ( X ) = ∑ j = 1 n − 1 ∥ P i j P i , j + 1 → ∥ F_1(X) = \sum_{j=1}^{n-1} \| \overrightarrow{P_{ij}P_{i,j+1}} \| F1(X)=j=1∑n−1∥PijPi,j+1∥
2.2 约束成本
无人机的约束成本包含威胁成本,飞行高度成本,平滑成本。
(1)威胁成本
除了最优性之外,规划的路径还需要确保无人机的安全操作,引导其避开操作空间中可能出现的威胁,这些威胁通常由障碍物引起。设 K K K 为所有威胁的集合,每个威胁被假设为一个圆柱体,其投影的中心坐标为 C k C_k Ck,半径为 R k R_k Rk,如下图 所示。
对于给定的路径段 ∥ P i j P i , j + 1 → ∥ \| \overrightarrow{P_{ij}P_{i,j+1}} \| ∥PijPi,j+1∥,其相关的威胁成本与它到 C k C_k Ck 的距离 d k d_k dk 成正比。考虑到无人机的直径 D D D 和到碰撞区域的危险距离 S S S,威胁成本 F 2 F_2 F2 在障碍物集合 K K K 上计算如下:
F 2 ( X i ) = ∑ j = 1 n − 1 ∑ k = 1 K T k ( P i j P i , j + 1 → ) , F_2(X_i) = \sum_{j=1}^{n-1} \sum_{k=1}^K T_k(\overrightarrow{P_{ij}P_{i,j+1}}), F2(Xi)=j=1∑n−1k=1∑KTk(PijPi,j+1),
其中
T k ( P i j P i , j + 1 → ) = { 0 , if d k > S + D + R k ( S + D + R k ) − d k , if D + R k < d k ≤ S + D + R k ∞ , if d k ≤ D + R k T_k(\overrightarrow{P_{ij}P_{i,j+1}}) = \begin{cases} 0, & \text{if } d_k > S + D + R_k \\ (S + D + R_k) - d_k, & \text{if } D + R_k < d_k \leq S + D + R_k \\ \infty, & \text{if } d_k \leq D + R_k \end{cases} Tk(PijPi,j+1)=⎩ ⎨ ⎧0,(S+D+Rk)−dk,∞,if dk>S+D+Rkif D+Rk<dk≤S+D+Rkif dk≤D+Rk
(2)飞行高度成本
在操作过程中,飞行高度通常被限制在给定的最小和最大高度之间,例如在调查和搜索应用中,需要相机以特定的分辨率和视场收集视觉数据,从而限制飞行高度。设最小和最大高度分别为 h min h_{\text{min}} hmin 和 h max h_{\text{max}} hmax。与航路点 P i j P_{ij} Pij 相关的高度成本计算为:
H i j = { ∣ h i j − h max + h min 2 ∣ , if h min ≤ h i j ≤ h max ∞ , otherwise H_{ij} = \begin{cases} |h_{ij} - \frac{h_{\text{max}} + h_{\text{min}}}{2}|, & \text{if } h_{\text{min}} \leq h_{ij} \leq h_{\text{max}} \\ \infty, & \text{otherwise} \end{cases} Hij={∣hij−2hmax+hmin∣,∞,if hmin≤hij≤hmaxotherwise
其中 h i j h_{ij} hij 表示相对于地面的飞行高度,如下图所示。
可以看出, H i j H_{ij} Hij 保持平均高度并惩罚超出范围的值。对所有航路点求和得到高度成本:
F 3 ( X ) = ∑ j = 1 n H i j F_3(X) = \sum_{j=1}^n H_{ij} F3(X)=j=1∑nHij
(3)平滑成本
平滑成本评估转弯率和爬升率,这对于生成可行路径至关重要。如下图 所示。
转弯角 ϕ i j \phi_{ij} ϕij 是两个连续路径段 P i j ′ P i , j + 1 ′ → \overrightarrow{P'_{ij}P'_{i,j+1}} Pij′Pi,j+1′ 和 P i , j + 1 ′ P i , j + 2 ′ → \overrightarrow{P'_{i,j+1}P'_{i,j+2}} Pi,j+1′Pi,j+2′ 在水平面 Oxy 上的投影之间的角度。设 k → \overrightarrow{k} k 是 z 轴方向的单位向量,投影向量可以计算为:
P i j ′ P i , j + 1 ′ → = k → × ( P i j P i , j + 1 → × k → ) \overrightarrow{P'_{ij}P'_{i,j+1}} = \overrightarrow{k} \times (\overrightarrow{P_{ij}P_{i,j+1}} \times \overrightarrow{k}) Pij′Pi,j+1′=k×(PijPi,j+1×k)
因此,转弯角计算为:
ϕ i j = arctan ( ∥ P i j ′ P i , j + 1 ′ → × P i , j + 1 ′ P i , j + 2 ′ → ∥ P i j P i , j + 1 ′ → ⋅ P i , j + 1 ′ P i , j + 2 ′ → ) \phi_{ij} = \arctan\left( \frac{\| \overrightarrow{P'_{ij}P'_{i,j+1}} \times \overrightarrow{P'_{i,j+1}P'_{i,j+2}} \|}{\overrightarrow{P_{ij}P'_{i,j+1}} \cdot \overrightarrow{P'_{i,j+1}P'_{i,j+2}}} \right) ϕij=arctan PijPi,j+1′⋅Pi,j+1′Pi,j+2′∥Pij′Pi,j+1′×Pi,j+1′Pi,j+2′∥
爬升角 ψ i j \psi_{ij} ψij 是路径段 P i j P i , j + 1 → \overrightarrow{P_{ij}P_{i,j+1}} PijPi,j+1 与其在水平面上的投影 P i j ′ P i , j + 1 ′ → \overrightarrow{P'_{ij}P'_{i,j+1}} Pij′Pi,j+1′ 之间的角度,由下式给出:
ψ i j = arctan ( z i , j + 1 − z i j ∥ P i j ′ P i , j + 1 ′ → ∥ ) \psi_{ij} = \arctan\left( \frac{z_{i,j+1} - z_{ij}}{\| \overrightarrow{P'_{ij}P'_{i,j+1}} \|} \right) ψij=arctan ∥Pij′Pi,j+1′∥zi,j+1−zij
然后,平滑成本计算为:
F 4 ( X ) = a 1 ∑ j = 1 n − 2 ϕ i j + a 2 ∑ j = 1 n − 1 ∣ ψ i j − ψ j − 1 ∣ F_4(X) = a_1 \sum_{j=1}^{n-2} \phi_{ij} + a_2 \sum_{j=1}^{n-1} |\psi_{ij} - \psi_{j-1}| F4(X)=a1j=1∑n−2ϕij+a2j=1∑n−1∣ψij−ψj−1∣
其中 a 1 a_1 a1 和 a 2 a_2 a2 分别是转弯角和爬升角的惩罚系数。
2.3 目标函数
若共有 m m m 个无人机, f 1 f_1 f1 表示 m m m 个无人机的路径成本之和; f 2 f_2 f2 表示 m m m 个无人机的约束成本之和,计算公式如下:
f 1 ( X ) = ∑ i = 1 m b 1 F 1 ( X i ) f_1(X) = \sum_{i=1}^m b_1F_1(X_i) f1(X)=i=1∑mb1F1(Xi)
f 2 ( X ) = ∑ k = 2 4 ∑ i = 1 m b k F k ( X i ) f_2(X) =\sum_{k=2}^4 \sum_{i=1}^m b_kF_k(X_i) f2(X)=k=2∑4i=1∑mbkFk(Xi)
其中 b k b_k bk 是权重系数,第 i i i 个无人机的路径成本 F 1 ( X i ) F_1(X_i) F1(Xi); 第 i i i 个无人机的约束成本为威胁成本 F 2 ( X i ) F_2(X_i) F2(Xi)、飞行高度成本 F 3 ( X i ) F_3(X_i) F3(Xi)、平滑成本 F 4 ( X i ) F_4(X_i) F4(Xi)、之和。决策变量是 X X X,包括 n n n 个航路点 P i j = ( x i j , y i j , z i j ) P_{ij} = (x_{ij}, y_{ij}, z_{ij}) Pij=(xij,yij,zij) 的列表,使得 P i j ∈ O P_{ij} \in O Pij∈O,其中 O O O 是无人机的操作空间。
参考文献:
[1] Phung M D , Ha Q P .Safety-enhanced UAV path planning with spherical vector-based particle swarm optimization[J].Applied Soft Computing, 2021(2):107376.DOI:10.1016/j.asoc.2021.107376.
三、部分MATLAB代码及结果
运行操作演示
%% 画图
lineColor=linspecer(UAVnum);%%路径颜色
for Anum=1:length(AlgorithmName)
Result=FinalResult(Anum).Algorithm.Result;
%% 定义3个视图
gca1=figure;
gca2=figure;
gca3=figure;
%% 画地形图及起始点
[hh2,hh3,hhh2,hhh3,hhhh2,hhhh3]=PlotUAVRoute(ModelUAV,gca1,gca2,gca3);
%% 画各个无人机的路径
hh=[];
hhh=[];
hhhh=[];
lenstr=[];
for i=1:UAVnum
[hh10,hhh10,hhhh10]=PlotUAV(Result(i).BestPosition,ModelUAV(i).model,gca1,gca2,gca3,lineColor(i,:));
hh=[hh,hh10];
hhh=[hhh,hhh10];
hhhh=[hhhh,hhhh10];
lenstr{i}=strcat('UAV',num2str(i));
end
legenstr=lenstr;
lenstr{i+1}='start';
lenstr{i+2}='end';
legend([hh,hh2,hh3],lenstr,Location="best")
title(AlgorithmName{Anum})
legend([hhh,hhh2,hhh3],lenstr,Location="best")
title(AlgorithmName{Anum})
legend([hhhh,hhhh2,hhhh3],lenstr,Location="best")
title(AlgorithmName{Anum})
figure(gca1)
saveas(gca,['./Picture/',AlgorithmName{Anum},'1.jpg']);
figure(gca2)
saveas(gca,['./Picture/',AlgorithmName{Anum},'2.jpg']);
figure(gca3)
saveas(gca,['./Picture/',AlgorithmName{Anum},'3.jpg']);
figure
for i=1:UAVnum
plot(Result(i).data.fit,'-o','LineWidth',2)
hold on
end
legend(legenstr)
set(gca,'xtick',1:1:4);
set(gca,'XTickLabel',{})
title(AlgorithmName{Anum})
saveas(gca,['./Picture/',AlgorithmName{Anum},'5.jpg']);
end
(1)总图

(2)多目标加权平均算法(MOWAA)




(3)多目标班翠鸟优化算法(MOPKO)




(4)多目标鳗鱼和石斑鱼优化算法(MOEGO)




(5)改进型多目标部落竞争与成员合作算法(IMOCTCM)




四、完整MATLAB代码见下方名片
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)