一、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=1n1PijPi,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=1n1k=1KTk(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<dkS+D+Rkif dkD+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={hij2hmax+hmin,,if hminhijhmaxotherwise

其中 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=1nHij

(3)平滑成本

平滑成本评估转弯率和爬升率,这对于生成可行路径至关重要。如下图 所示。
在这里插入图片描述

转弯角 ϕ i j \phi_{ij} ϕij 是两个连续路径段 P i j ′ P i , j + 1 ′ → \overrightarrow{P'_{ij}P'_{i,j+1}} PijPi,j+1 P i , j + 1 ′ P i , j + 2 ′ → \overrightarrow{P'_{i,j+1}P'_{i,j+2}} Pi,j+1Pi,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}) PijPi,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+1Pi,j+2 PijPi,j+1 ×Pi,j+1Pi,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}} PijPi,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 PijPi,j+1 zi,j+1zij

然后,平滑成本计算为:

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=1n2ϕij+a2j=1n1ψijψj1

其中 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=1mb1F1(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=24i=1mbkFk(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 PijO,其中 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代码见下方名片

Logo

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

更多推荐