一、无人机多目标优化模型
无人机三维路径规划是无人机在执行任务过程中的非常关键的环节,无人机三维路径规划的主要目的是在满足任务需求和自主飞行约束的基础上,计算出发点和目标点之间的最佳航路。
1.1路径成本
无人机三维路径规划的首要目标是寻找起飞点和目标点之间最短路程的飞行路径方案。一般地,记无人机的飞行路径点为
W
i
j
=
(
x
i
j
,
y
i
j
,
z
i
j
)
W_{i j}=\left(x_{i j}, y_{i j}, z_{i j}\right)
Wij=(xij,yij,zij)即在第
i
i
i 条飞行路径中第
j
j
j个路径点的无人机三维空间位置,则整条飞行路径
X
i
X_{i}
Xi 可表示为包含
n
n
n 个路径点的三维数组。将 2 个路径点之间的欧氏距离记作路径段
∥
W
i
j
W
i
,
j
+
1
→
∥
\left\|\overrightarrow{W_{i j} W_{i, j+1}}\right\|
WijWi,j+1
,则与无人机飞行路径成本函数
F
1
F_{1}
F1 为:
F
1
(
X
i
)
=
∑
j
=
1
n
−
1
∥
W
i
j
W
i
,
j
+
1
→
∥
F_{1}\left(X_{i}\right)=\sum_{j=1}^{n-1}\left\|\overrightarrow{W_{i j} W_{i, j+1}}\right\|
F1(Xi)=j=1∑n−1
WijWi,j+1
1.2障碍物威胁成本
无人机通过躲避障碍物来确保安全作业航迹。设定障碍物威胁区为圆柱体形式,其投影如下图所示,记圆柱体中心坐标为 C k C_{k} Ck,半径为 R k R_{k} Rk,则无人机的避障威胁成本与其路径段 ∥ W i j W i , j + 1 → ∥ \left\|\overrightarrow{W_{i j} W_{i, j+1}}\right\| WijWi,j+1 和障碍物中心 C k C_{k} Ck的距离 d k d_{k} dk 成反比。
将飞行环境下的障碍物威胁区集合记作
T
T
T,则与无人机避障威胁相关的成本函数
F
2
F_{2}
F2为:
F
2
(
X
i
)
=
∑
j
=
1
n
−
1
∑
k
=
1
K
T
k
(
W
i
j
W
i
,
j
+
1
→
)
F_{2}\left(X_{i}\right)=\sum_{j=1}^{n-1} \sum_{k=1}^{K} T_{k}\left(\overrightarrow{W_{i j} W_{i, j+1}}\right)
F2(Xi)=j=1∑n−1k=1∑KTk(WijWi,j+1)
其中:
T
k
(
W
i
j
W
i
,
j
+
1
→
)
=
{
0
(
d
k
>
R
k
)
(
R
k
/
d
k
)
(
0
<
d
k
<
R
k
)
∞
(
d
k
=
0
)
T_{k}\left(\overrightarrow{W_{i j} W_{i, j+1}}\right)=\left\{\begin{array}{ll} 0 & \left(d_{k}>R_{k}\right) \\ \left(R_{k}/d_{k}\right) & \left(0<d_{k}<R_{k}\right) \\ \infty & \left(d_{k}=0\right) \end{array}\right.
Tk(WijWi,j+1)=⎩
⎨
⎧0(Rk/dk)∞(dk>Rk)(0<dk<Rk)(dk=0)
1.3飞行高度威胁成本
无人机的飞行高度通常受到最小高度
h
m
i
n
h_{min}
hmin 和最大高度
h
m
a
x
h_{max}
hmax 的约束限制,如下图 所示,其中
T
i
j
T_{ij}
Tij 为地形的高度,
Z
i
j
Z_{ij}
Zij为无人机相对于海平面的高度。
将无人机在路径点
W
i
j
W_{ij}
Wij处距离基准地形地面的高度记作
h
i
j
h_{ij}
hij,即
Z
i
j
Z_{ij}
Zij和
T
i
j
T_{ij}
Tij 的差,则与无人机当前路径点
W
i
j
W_{ij}
Wij相关的成本函数
H
i
j
H_{ij}
Hij 为:
H
i
j
=
{
γ
h
(
h
i
j
−
h
max
)
(
h
i
j
>
h
max
)
0
(
h
min
<
h
i
j
<
h
max
)
γ
h
(
h
min
−
h
i
j
)
(
0
<
h
i
j
<
h
min
)
∞
(
h
i
j
<
0
)
H_{i j}=\left\{\begin{array}{ll} \gamma_{h}\left(h_{i j}-h_{\max }\right) & \left(h_{i j}>h_{\max }\right) \\ 0 & \left(h_{\min }<h_{i j}<h_{\max }\right) \\ \gamma_{h}\left(h_{\min }-h_{i j}\right) & \left(0<h_{i j}<h_{\min }\right) \\ \infty & \left(h_{i j}<0\right) \end{array}\right.
Hij=⎩
⎨
⎧γh(hij−hmax)0γh(hmin−hij)∞(hij>hmax)(hmin<hij<hmax)(0<hij<hmin)(hij<0)
同时,将无人机飞行高度超出约束限制条件的惩罚系数记作
γ
h
γ_{h}
γh,则与无人机飞行路径相关的成本函数
F
3
F_{3}
F3为:
F
3
(
X
i
)
=
∑
j
=
1
n
H
i
j
F_{3}\left(X_{i}\right)=\sum_{j=1}^{n} H_{i j}
F3(Xi)=j=1∑nHij
1.4飞行转角威胁成本
无人机的飞行转角控制参数主要包括水平转弯角和竖直俯仰角,这 2 个参数变量必须符合无人机的实际转角约束限制,否则航迹规划模型无法生成具有可行性的飞行路径。如下图所示,
∥
W
i
j
W
i
,
j
+
1
→
∥
\left\|\overrightarrow{W_{i j} W_{i, j+1}}\right\|
WijWi,j+1
和
∥
W
i
j
+
1
W
i
,
j
+
2
→
∥
\left\|\overrightarrow{W_{i j+1} W_{i, j+2}}\right\|
Wij+1Wi,j+2
表示无人机飞行路径中的 2 个连续路径段,
W
i
j
′
W
i
,
j
+
1
′
→
\overrightarrow{W_{i j}^{\prime} W_{i, j+1}^{\prime}}
Wij′Wi,j+1′和
W
i
j
+
1
′
W
i
,
j
+
2
′
→
\overrightarrow{W_{i j+1}^{\prime} W_{i, j+2}^{\prime}}
Wij+1′Wi,j+2′是其在xoy 平面的投影。
记𝒌为轴正方向的单位向量,则
W
i
j
+
1
′
W
i
,
j
+
2
′
→
\overrightarrow{W_{i j+1}^{\prime} W_{i, j+2}^{\prime}}
Wij+1′Wi,j+2′的计算式和水平转弯角
α
i
j
α_{ij}
αij、竖直俯仰角
β
i
,
j
+
1
β_{i,j+1}
βi,j+1 计算式为:
W
i
j
′
W
i
,
j
+
1
′
→
=
k
×
(
W
i
j
W
i
,
j
+
1
→
×
k
)
α
i
j
=
arctan
(
W
i
j
′
W
i
,
j
+
1
′
→
×
W
i
,
j
+
1
′
W
i
,
j
+
2
′
‾
W
i
j
′
W
i
,
j
+
1
′
→
⋅
W
i
,
j
+
1
′
W
i
,
j
+
2
′
‾
)
β
i
j
=
arctan
(
z
i
,
j
+
1
−
z
i
j
∥
W
i
j
′
W
i
,
j
+
1
′
→
∥
)
\begin{array}{c} \overrightarrow{W_{i j}^{\prime} W_{i, j+1}^{\prime}}=\boldsymbol{k} \times\left(\overrightarrow{W_{i j} W_{i, j+1}} \times \boldsymbol{k}\right) \\ \alpha_{i j}=\arctan \left(\frac{\overrightarrow{W_{i j}^{\prime} W_{i, j+1}^{\prime}} \times \overline{W_{i, j+1}^{\prime} W_{i, j+2}^{\prime}}}{\overrightarrow{W_{i j}^{\prime} W_{i, j+1}^{\prime}} \cdot \overline{W_{i, j+1}^{\prime} W_{i, j+2}^{\prime}}}\right) \\ \beta_{i j}=\arctan \left(\frac{z_{i, j+1}-z_{i j}}{\left\|\overrightarrow{W_{i j}^{\prime} W_{i, j+1}^{\prime}}\right\|}\right) \end{array}
Wij′Wi,j+1′=k×(WijWi,j+1×k)αij=arctan(Wij′Wi,j+1′⋅Wi,j+1′Wi,j+2′Wij′Wi,j+1′×Wi,j+1′Wi,j+2′)βij=arctan
Wij′Wi,j+1′
zi,j+1−zij
同时,将无人机的水平转弯角和竖直俯仰角超出约束限制条件的惩罚系数分别记作
a
1
=
1
a_{1}=1
a1=1和
a
2
=
1
a_{2}=1
a2=1,则与无人机飞行转角相关的成本函数
F
4
F_{4}
F4 为:
F
4
(
X
i
)
=
a
1
∑
j
=
1
n
−
2
α
i
j
+
a
2
∑
j
=
1
n
−
1
∣
β
i
j
−
β
i
,
j
−
1
∣
F_{4}\left(X_{i}\right)=a_{1} \sum_{j=1}^{n-2} \alpha_{i j}+a_{2} \sum_{j=1}^{n-1}\left|\beta_{i j}-\beta_{i, j-1}\right|
F4(Xi)=a1j=1∑n−2αij+a2j=1∑n−1∣βij−βi,j−1∣
1.5无人机三维路径规划的目标函数
综合考虑与无人机飞行路径
X
i
X_{i}
Xi 相关的最短路径成本、最小威胁成本,以及飞行高度成本和飞行转角成本等限制,基于多因素约束的多目标函数构建如下:其中第一个目标函数
f
1
f_{1}
f1为最短路径成本,第二个目标函数
f
2
f_{2}
f2为最小威胁成本,为障碍物威胁成本、飞行高度威胁成本和飞行转角威胁成本的总和,具体定义如下为:
f
1
(
X
i
)
=
F
1
(
X
i
)
f_{1}\left(X_{i}\right)=F_{1}\left(X_{i}\right)
f1(Xi)=F1(Xi)
f
2
(
X
i
)
=
F
2
(
X
i
)
+
F
3
(
X
i
)
+
F
4
(
X
i
)
f_{2}\left(X_{i}\right)=F_{2}\left(X_{i}\right)+F_{3}\left(X_{i}\right)+F_{4}\left(X_{i}\right)
f2(Xi)=F2(Xi)+F3(Xi)+F4(Xi)
参考文献:
[1]吕石磊,范仁杰,李震,陈嘉鸿,谢家兴.基于改进蝙蝠算法和圆柱坐标系的农业无人机航迹规划[J].农业机械学报:1-19
[2]褚宏悦,易军凯.无人机安全路径规划的混沌粒子群优化研究[J].控制工程:1-8
[3]MD Phung, Ha Q P . Safety-enhanced UAV Path Planning with Spherical Vector-based Particle Swarm Optimization: 2021.
[4]陈明强,李奇峰,冯树娟等.基于改进粒子群算法的无人机三维航迹规划[J].无线电工程,2023,53(02):394-400.
[5]徐建新,孙纬,马超.基于改进粒子群算法的无人机三维路径规划[J].电光与控制:1-10
[6]骆文冠,于小兵.基于强化学习布谷鸟搜索算法的应急无人机路径规划[J].灾害学:1-10
[7]陈先亮,黄元君,范勤勤.基于多模态多目标进化算法的无人机三维路径规划[J].火力与指挥控制, 2023(11):32-39.
二、 MOGOA算法介绍
多目标蚱蜢优化算法(Multi-Objective Grasshopper Optimization Algorithm,MOGOA)是一种基于自然界蚱蜢行为的元启发式算法,旨在解决具有多个冲突目标的优化问题。这种算法模仿了蚱蜢在寻找食物和避免捕食者时的社会行为。以下是详细介绍:
算法描述
- 启发来源:MOGOA受蚱蜢在自然界中的行为启发,包括它们在草地上的跳跃、觅食以及逃避捕食者的行为。
- 多目标处理:算法能够处理多个目标,并通过Pareto最优原则来平衡这些目标,寻找解决方案的非支配排序。
- 群体搜索:蚱蜢代表了候选解,它们通过群体行为在解空间中搜索最优解。
特点
- 多样性保持:通过领地跳跃和变异操作,算法能够有效地保持种群的多样性。
- 自适应性:算法能够适应不同的优化问题,包括连续、离散和组合优化问题。
- Pareto优化:算法能够找到Pareto最优解集,为多目标问题提供全面的解决方案。
应用领域
多目标蚱蜢优化算法适用于多种领域,包括但不限于工程设计、经济学、资源管理、调度问题等,尤其是在需要考虑多个性能指标或目标的复杂问题中。
参考文献:
[1] Han J , Vartosh A .Multi-objective grasshopper optimization algorithm for optimal energy scheduling by considering heat as integrated demand response[J].Applied Thermal Engineering, 2023.DOI:10.1016/j.applthermaleng.2023.121242.
三、MOGOA求解无人机路径规划
3.1部分代码
close all
clear
clc
dbstop if all error
addpath("./MOGOA/")
global model
model = CreateModel(); % 创建模型
MultiObj= fun_info();%获取无人机模型信息
params.maxgen=100; % 最大迭代次数
params.Np=100; % 种群大小
params.Nr=200; %外部存档大小(不得小于种群大小)
[Xbest,Fbest] = MOGOA(params,MultiObj);
3.2部分结果
MOGOA求解得到的pareto前沿图:
MOGOA求解得到的路径成本最小和威胁成本最小的路径:
四、完整MATLAB代码
见下方联系方式