3.3仿真二:编队中心可变(以平均距离和最长距离为适应度函数)
3.4仿真三:编队中心可变(以平均距离和标准差为适应度函数)
一、问题描述分析
1.1应用问题描述
现有匈牙利算法在多无人机编队切换应用中存在部分无人机分配的飞行路径过长,由于无人机飞行过程中电量消耗大于悬停时消耗,导致个别无人机在编队切换中电量下降快速较其它无人机提前降落,整个编队因此问题而飞行时间缩短。
图1 无人机编队切换实验 图2 编队切换问题示例
如图1图2所示,由18架无人机组成的编队,由F队形切换至Z队形,其中绿色方块表示无人机在F队形中的位置,红色圆点表示Z队形中无人机集群所要到达的各目标航点,蓝色直线表示经分配后无人机由初始位置到达目标位置的直线路径。图2中,部分无人机到达目的地的直线路径过长消耗电力多,而大部分无人机初始位置与目标位置重合耗能少。
1.2问题描述分析
在不考虑图案编队中心点位置的基础上,上述多无人机编队的切换可被归结为两个主要问题:
1)寻找目标形状的最优中心位置
2)编队间航路点的优化分配
优化目标可归结为:
1)缩短总飞行距离/平均飞行距离;
2)避免木桶效应——单无人机过多耗能;
二、总体方案设计
2.1粒子群算法设计
2.1.1粒子群迭代流程
针对寻找目标形状的最优中心位置问题,采用粒子群算法为解决方案。粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜寻最优解,并将其记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,找到最优的那个个体极值作为整个粒子群的当前全局最优解,粒子群中的所有粒子根据自己找到的当前个体极值和整个粒子群共享的当前全局最优解来调整自己的速度和位置。通过不断迭代,更新速度和位置,最终得到满足终止条件的最优解。
2.1.2设计粒子群适应速函数
定义适应度函数,个体极值为每个粒子找到的最优解,从这些最优解找到一个全局值,叫做本次全局最优解,与历史全局最优比较,进行更新。为了达到均衡能耗的同时总体能耗较低的优化目标,本报告将无人机的飞行距离与能耗成正相关关系,所以考虑三个方面,形成过程中所有无人机的平均距离、所有无人机轨迹中的最长距离、无人机飞行距离标准差,将这其中两个方面作为优化的目标函数:
1.以平均距离和最长距离为适应度函数:
1)所有无人机的平均距离
2)所有无人机中最长的距离
3)轨迹规划的适应度函数可以表示为:
其中,Ei表示第i架无人机的目标位置,Si表示第i架无人机的初始位置,k1和k2分别为平均距离和最长距离之间的权重系数。
2.以平均距离和标准差为适应度函数:
1)所有无人机的平均距离
2)所有无人机中标准差
3)轨迹规划的适应度函数可以表示为:
其中,Ei表示第i架无人机的目标位置,Si表示第i架无人机的初始位置,k1和k2分别为平均距离和标准差之间的权重系数。
2.1.3粒子群粒子更新规则
初始化每个粒子的初始适应值,迭代过程找到每个粒子的个体极值 pbest,通过比较,找到当前群体中全局最优。粒子通过跟踪这两个极值来更新自己的速度和位置,示意图可由图4所示:
其中:
c1和c2为粒子的对自身最优和全局最优的学习因子,
rand()表示区间[0,1]的随机数,是为增加粒子的灵活性,
ω为惯性因子,若ω较大,则全局寻优能力强,局部寻优能力弱,若ω较小,则全局寻优能力弱,局部寻优能力强,通过调整ω的大小可以对全局寻优性能和局部寻优性能进行调整。
Vi是粒子的速度,Xi表示粒子的位置
图4 粒子位置速度更新示意图
2.2 0-1整数规划设计
通过粒子群算法得出编队的中心位置后,可以通过机间相对位置,得出所有无人机的目标航点位置。得到所有无人机航点信息后,需要解决编队间航路点的优化分配问题,通俗地讲就是得到所有无人机所需的航点,哪架无人机该飞到哪个位置。针对寻找编队间航路点的优化分配问题,本报告采用0-1整数规划解决任务的分配问题。
0-1整数规划是线性规划及整数规划的一种特殊形式。模型结构和形式是线性规划,只是决策变量取0或1。可将无人机航点分配问题表示为:
其中 是无人机i指派去第j个航点所需的代价
是无人机i被指派去第j个航点
表示每一架无人机只能对应一个航点
表示一个航点只能由一个无人机对应
0-1整数规划通常在matlab中,用linprog函数求解。
2.3 算法流程
首先初始化一些参数,包括粒子群个数,最大迭代次数,粒子学习因子等元素,然后将生成的每一个粒子当做无人机编队图案的中心,得知图案中心后便可得到所有无人机目标点的位置,再通过匈牙利算法或者0-1整数规划等任务分配方法指派好各个无人机所对应的目标点,并计算出粒子群算法的所有粒子的目标函数适应值,进行比较得出最优粒子,然后根据粒子更新公式去更新粒子速度位置,再循环上述操作计算出新粒子的目标函数值,当粒子收敛或者达到最大迭代次数则输出最优解否则继续循环,流程如图5所示:
图5 算法总体流程图
三、仿真结果:
3.1仿真参数初始化
本次仿真首先是在三维下的仿真,先选取18个初始点无人机“F”字母的数据,再初始化18个字母“Z”的相对坐标信息(不是坐标信息因为具体坐标要加上最优粒子的位置才是具体位置)。
无人机初始“F”字母的坐标如下,如图5所示:
F_x = [0,100,200,100,100,100,200,300,400,400,400,100,100,50,200,300,400,500];
F_y = [0, 0, 0,130,260,390,350,350,350,300,400,520,650,650,650,650,650,650];
F_z = [400,400,400,465,530,595,575,575,575,550,600,660,725,725, 725,725,725,725];
无人机初始“Z”字母的相对坐标如下:
Z_rel_x = [0,100,200,300,400,500,500,100,200,300,400,500,400,300,200,100, 0, 0];
Z_rel_y = [0 ,0 ,0 ,0 ,0 ,0 ,50 ,130,260,390,520,650,650, 650, 650, 650,650,600];
Z_rel_z =[400,400,400,400,400,400,425,465,530,595,660,725,725, 725, 725,725,725,700];
无人机初始“Z”字母的最优坐标如下,如图6所示:
Z_real_x = [0,100,200,300,400,500,500,100,200,300,400,500,400,300,200,100, 0, 0]
+ pop(x);
Z_real_y = [0 ,0 ,0 ,0 ,0 ,0 ,50 ,130,260,390,520,650,650, 650, 650, 650,650,600]
+ pop(y);
Z_rel_z =[400,400,400,400,400,400,425,465,530,595,660,725,725, 725, 725,725,725,700]
+ pop(z);
图5 无人机编队“F”示意图 图6 无人机编队“Z”示意图
3.2仿真一:编队上下边界不变
为了编队切换时的美观效果,使编队中心不变,那么将降低能耗的均衡去提升整体的美观。由于在固定图形的编队上,只要有一架无人机的航点已知,那么其他无人机都可以通过相对位置得知航点信息。而编队上下边界不变,导致“F”变成“Z”的时候,目标航点不需要通过粒子群得知,所以可以直接进行任务分配,通过以下航点信息进行航点指派,可以得到如下仿真结果:
无人机“F”字母的坐标如下:
F_x = [0,100,200,100,100,100,200,300,400,400,400,100,100,50,200,300,400,500];
F_y = [0, 0, 0,130,260,390,350,350,350,300,400,520,650,650,650,650,650,650];
F_z = [400,400,400,465,530,595,575,575,575,550,600,660,725,725,725,725,725,725];
无人机“Z”字母的坐标如下:
Z_rel_x = [0,100,200,300,400,500,500,100,200,300,400,500,400,300,200,100, 0, 0];
Z_rel_y = [0 ,0 ,0 ,0 ,0 ,0 ,50 ,130,260,390,520,650,650, 650, 650, 650,650,600];
Z_rel_z =[400,400,400,400,400,400,425,465,530,595,660,725,725, 725, 725,725,725,700];
而且其分配方案为:
无人机编号[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]分别配对的航点编号为[1,2,3,8,4,9,5,5,7,6,11,18,16,17,15,14,13,12],如下图8所示:
图8 无人机编队切换示意图
分配方案与无人机飞行距离如下表2所示:
表2 无人机分配方案与飞行距离
飞机 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
航点 | 1 | 2 | 4 | 8 | 4 | 9 | 5 | 10 | 7 |
距离 | 0 | 0 | 0 | 0 | 226 | 113 | 277 | 27 | 217 |
飞机 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
航点 | 6 | 11 | 18 | 16 | 17 | 15 | 14 | 13 | 12 |
距离 | 217 | 82 | 89 | 0 | 35 | 0 | 0 | 0 | 0 |
从表2中可得知飞行最长距离为226,而最短距离为0,其中能耗差值(距离)为226,标准差为96.8。从数据中可以看出当无人机编队中心点不变是,能耗均衡性较差,但是编队的视觉效果较好,适用于电量充裕时的灯光表演。
3.3仿真二:编队中心可变(以平均距离和最长距离为适应度函数)
当为了使编队切换时的能耗平均为主要因素的话,那么可加大最长距离最小化的权值k2,当k2的权值取0.7的时候,仿真结果如下
参数如下表3所示:
表3:粒子群参数设置表
粒子个数 | 迭代数 | 平均距离权值k1 | 最长距离权值k2 | 粒子最大位置 | 粒子最大速度 |
10 | 40 | 0.3 | 0.7 | 150 | 10 |
仿真得到最优粒子gbest坐标为[-36.8,117.8,20.5],粒子适应度函数的收敛情况如图9所示,其所有无人机总的飞行距离为1774,平均飞行距离为98.5.
图9:粒子群适应度函数收敛情况
而且其分配方案为:
无人机编号[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]分别配对的航点编号为[1,3,4,2,8,9,10,5,7,6,11,18,16,17,15,14,13,12],如下图10所示:
图10 无人机编队切换示意图
分配方案与无人机飞行距离如下表4所示:
表4 无人机分配方案与飞行距离
飞机 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
航点 | 1 | 2 | 4 | 3 | 8 | 9 | 10 | 5 | 7 |
距离 | 84 | 84 | 80 | 35 | 44 | 35 | 105 | 169 | 136 |
飞机 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
航点 | 6 | 11 | 18 | 16 | 17 | 15 | 14 | 13 | 12 |
距离 | 136 | 161 | 169 | 84 | 105 | 84 | 84 | 84 | 84 |
从表4中可得知飞行最长距离为169,而最短距离为35,其中能耗差值(距离)为134,标准差为41。从数据分析中可以得出最大能耗与最小能耗差较小,能实现较为平均的电量消耗,可以在不考虑美观的前提下增加无人机在空中保持编队的时长。
3.4仿真三:编队中心可变(以平均距离和标准差为适应度函数)
当为了使编队切换时的能耗平均为主要因素的话,那么可加大最长距离最小化的权值k2,当k2的权值取0.8的时候,仿真结果如下
参数如下表5所示:
表5:粒子群参数设置表
粒子个数 | 迭代数 | 平均距离权值k1 | 标准差权值k2 | 粒子最大位置 | 粒子最大速度 |
10 | 40 | 0.2 | 0.8 | 150 | 10 |
仿真得到最优粒子gbest坐标为[-33.5,2.5,106.5],粒子适应度函数的收敛情况如图11所示,其所有无人机总的飞行距离为2242,平均飞行距离为124.5.
图11 粒子群适应度函数收敛情况
而且其分配方案为:
无人机编号[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]分别配对的航点编号为[1,3,4,2,8,9,10,5,7,6,11,18,16,17,15,14,13,12],
如下图12、13所示:分别为不同视角图
图12 无人机编队切换示意图
分配方案与无人机飞行距离如下表6所示:
表6 无人机分配方案与飞行距离
飞机 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
航点 | 1 | 2 | 4 | 3 | 8 | 9 | 10 | 5 | 7 |
距离 | 111 | 112 | 112 | 79 | 79 | 81 | 133 | 180 | 150 |
飞机 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
航点 | 6 | 11 | 18 | 16 | 17 | 15 | 14 | 13 | 12 |
距离 | 150 | 179 | 183 | 111 | 126 | 111 | 111 | 111 | 111 |
从表6中可得知飞行最长距离为183,而最短距离为79,其中能耗差值(距离)为104,标准差为32.8。从数据分析中得出,改方案是无人机标准差最小的一种方案,能实现总体的能耗均衡,也能增加在空中保持无人机编队的效果。
四、结论与未来工作
本报告采用粒子群算法、0-1整数规划共同解决寻找目标形状的最优中心位置和编队间航路点的优化分配问题。粒子群算法的优点:首先不会因为数据问题而陷入死循环;其次在粒子群算法上容易加入优化条件;而且方便修改目标适应函数。0-1整数规划能快速解决无人机得到航点后的指派问题,实现最优指派。
在仿真中以编队中心位置不变方案;用平均距离、最长距离为优化目标函数编队中心位置改变方案;用平均距离、标准差为优化目标函数编队中心位置改变方案,如下表所示。
最长距离 | 最短距离 | 标准差 | 平均飞行距离 | |
编队上下边 界不变 | 226 | 0 | 96.8 | 72.3 |
平均距离和最长距离为优化目标 | 169 | 35 | 41 | 98.5 |
平均距离和标准差为优化目标 | 183 | 79 | 32.8 | 124.5 |
以上三种各有优缺点:无人机编队中心点不变时,能耗均衡性较差,但是编队的视觉效果较好,适用于电量充裕时的灯光表演;用平均距离、最长距离为优化目标函数编队中心位置改变方案能使最大能耗与最小能耗差较小,能实现较为平均的电量消耗,可以在不考虑美观的前提下增加无人机在空中保持编队的时长;用平均距离、标准差为优化目标函数编队中心位置改变方案能实现总体的能耗均衡,也能增加在空中保持无人机编队的效果。
本报告中以无人机飞行距离为其能耗指标,而在未来的工作中,应在能耗的考虑更多因素,应将无人机爬升距离、平移距离、降落距离区分开,并且考虑更多其他因素,用更综合的指标去评价无人机的飞行能量消耗问题。在未来工作中,可以多尝试其他优化方法及优化指标,更加综合去权衡无人机各项飞行性能。