基于改进凸优化算法的多机编队突防航迹规划

源自:系统工程与电子技术

作者:刘玉杰, 李樾, 韩维, 崔凯凯

“人工智能技术与咨询”

摘要

为更好地发挥多机编队在低空突防作战中的优势, 对已有的凸优化算法进行改进, 提出一种多机编队低空突防航迹规划方法。首先, 根据低空突防任务特点进行问题建模, 包含多机编队航迹规划模型、障碍物模型以及任务分配评估模型。其次, 提出基于匈牙利算法的集群任务分组概念, 设计更符合战场需求和运动学规律的预规划航迹。之后, 考虑新类型的外部障碍物和不同任务小组间的组间避障, 通过对约束进行合理的近似与凸优化, 实现多机安全飞行。最后, 通过对比仿真, 验证所提改进方法的可行性和有效性。结果表明, 改进后的航迹规划算法能实现对低空突防任务的合理分配, 求解效率和成功率均有所提高, 对新加入的障碍有良好的避障效果。

关键词

多机编队 ; 低空突防 ; 任务分配 ; 航迹规划 ; 凸优化 ; 避障

引言

现代化战争正在向全方位、立体化、大纵深的多兵种合成作战方向发展, 防空技术的快速进步使得对空战的要求不断提升[1]。应运而生的低空突防技术是多机编队作战以及网络化作战的重要技术, 有效的突防部署可使多机编队更有效地躲避威胁障碍, 提高任务完成效率, 保证飞行安全[2]。面对复杂多变的低空战场环境, 只依赖人工规划航迹或飞行员实时操纵已无法满足现代战场多变的要求, 需要综合考虑自然环境、电磁防御、炮火防御等多种威胁以及飞机本身的性能指标, 并按照科学有效的航迹规划算法, 规划出合理的飞行轨迹, 从而提高飞机的作战效能[3]。因而, 多机编队低空突防的重要基础是确定航迹规划方法, 规划方法的优劣直接决定了低空突防任务完成的效果[4]。

航迹规划根据建模方式的不同, 通常分成两类, 一类是基于转弯角、航段长度而建立代数运动方程[5], 包括势场法[6-8]、图论法[9-11]、随机树法[12-14]等, 此类建模方式适合大尺度的全局规划问题。另一类则是以过载或加速度等控制量为基础, 建立微分运动方程模型[15], 此类建模方式更贴近工程实际, 与控制理论也更为契合。本文采取后一类方式进行建模, 该类模型的求解方式又可分为直接法和间接法[16]。前者的原理是将最优控制问题转化为有限维参数优化问题, 用非线性规划方法进行求解, 其缺点是求解精度不高; 间接法包括伪谱法[17]、混合整数规划算法[18]以及启发式算法[19]等, 其原理是将航迹规划问题视为最优控制问题进行求解, 存在不易收敛的不足。

当前, 作为直接法的典型代表之一, 凸优化方法已成为求解航迹规划问题的一种高效稳定算法, 这与凸优化理论的迅速发展有密切关系[20]。但是, 凸优化建模方法需要基于线性动力学假设, 并受限于建模对象的不同特点, 因而普适性一般。对此, 序列凸优化方法采取逐次凸化的方式, 将原模型中的非凸问题分解为若干凸优化子问题, 从而达到求解一般非凸约束航迹规划问题的目的, 并已在多机编队避障[21]、卫星自主交会[22]、行星着陆[23]等航迹规划案例中得到校验。特别地, 文献[21]针对异构多机系统中各飞机种类的任务特点, 设计了不同的优化目标函数, 并通过凸优化近似各类约束条件, 为多机编队协同航迹规划问题提供了一种新的求解思路, 特别是证明了凸优化算法在解决高维协同航迹规划问题上比伪谱法等经典算法有更大的优势。

研究发现, 将凸优化算法直接应用到多机编队低空突防航迹规划过程中, 还应对以下几个方面进行改进和完善: ①初始规划航迹的改进。在序列凸优化迭代求解的过程中, 初始解即首次输入的初始航迹采用单纯的初始点、目标点连线方式确定, 这不符合飞行的运动学规律, 虽不影响求解, 但导致迭代收敛缓慢, 同时, 并未结合任务需求进行合理的初始任务分配, “协同作战”概念不足, 含“战”量低[21]。②障碍模型及其近似凸化过程的完善。在已有文献中, 对障碍物过于简化, 忽略了其所代表的实际意义, 仅考虑了所谓的圆形障碍物, 未考虑其他构型的障碍, 更没有讨论其他构型障碍的近似与凸优化过程。③多机执行任务时的飞行安全问题需进一步考虑。由于低空突防的飞机数量更多, 子任务不尽相同, 应考虑建立“任务小组”的概念, 在完成任务分配的基础上, 重点研究航迹规划中不同任务小组之间的避障问题, 以进一步保证多机飞行安全。

基于上述分析, 本文以固定翼飞机多机编队为研究对象, 以低空突防为任务输入, 对已有的凸优化算法进行改进, 提出一种基于改进凸优化算法的多机编队低空突防航迹规划方法。本文的创新点包括以下3点: 首先, 提出了基于匈牙利算法的集群任务分组概念, 设计了更符合运动学规律、更贴近战场实际需求的预规划航迹; 其次, 在凸优化过程中加入了更贴合战场环境的多边形障碍, 用以模拟禁飞区, 并解决了航迹规划离散点之间可能与多边形障碍发生碰撞的问题; 最后, 针对不同任务小组之间可能发生的碰撞问题, 引入“虚拟多边形”的概念以进行凸优化处理, 以进一步确保各任务小组中飞机的飞行安全。

1 问题建模

1.1   多机编队航迹规划模型的建立

多机编队航迹规划模型是基于飞行器运动模型建立的, 设定多机编队在执行任务过程中无侧滑飞行, 且发动机推力与飞行速度方向一致, 从而可建立单机三维空间点质量运动模型, 如下所示:

图片

(1)

式中: (xi, yi, hi)表示飞机i在地面坐标系下的三维坐标; (γi, χi)表示飞机i的航迹倾角和航向角; Vi表示飞机i的地速; (nx, i, ny, i, nz, i)分别表示飞机i的水平轴向过载、法向过载的水平分量和法向过载的垂直分量; si和ui分别表示飞机i的状态量及控制量, 其中, si=(xi, yi, hi, Vi, χi, γi)T, ui=(nx, i, ny, i, nz, i)T。由于本文所研究的多机为同一型号, 因而编队中各机的运动模型一致, 用下标i进行区分。

在完成运动模型建立的基础上, 多机航迹规划问题还需要考虑若干约束条件, 具体包含飞机初/末状态量约束、状态/控制量的幅值约束、控制量的变化率约束、机间防碰撞约束和与外部障碍物防碰撞约束等, 上述约束的数学表达式分别如下所示:

图片

(2)

图片

(3)

图片

(4)

图片

(5)

图片

(6)

式中: t0和tf分别表示航迹规划的初始时刻和终端时刻; 矩阵F =[I3×3, 03×3], Rt是机间安全距离; E =[I2×2, 04×4], pobs, m和rm分别是外部障碍的中心坐标和对应的安全距离; M0为静态威胁个数。

约束条件确定后, 需设定航迹规划模的目标函数, 结合低空突防任务快速、精确打击的特点要求, 设定以最短时间到达目标点为目标函数, 具体如下所示:

图片

(7)

1.2   障碍物模型的建立

低空突防过程中, 在空域内往往会遇到雷达、高炮阵及禁飞区等障碍, 在对上述障碍进行建模时应既考虑其共性, 又考虑其特性, 同时也还要进行合理的简化和提炼, 降低计算复杂度。值得一提的是, 虽然本文所研究的低空突防航迹规划问题是基于三维空间的, 但借鉴之前凸优化求解的理论成果, 将障碍物视为高度不限的三维柱体, 因此在障碍物建模时只需考虑二维截面。

其中, 敌方雷达和高炮阵地可以近似为圆形障碍, 以雷达为例, 在突防过程中, 雷达的覆盖面积可用以雷达所处位置为圆心、探测范围为半径的圆形表示。图 1给出了飞机与雷达位置关系的示意图, 当满足D≥Rr+ds时, 可认为飞机实现了避障,图中Rr为雷达探测半径, ds为安全裕度。

图片

图1   飞机与雷达位置关系图

低空突防过程中所遇到的禁飞区多为不规则形状, 将不规则图形简化为可用数学表达式表达的规则图形, 当满足下式时, 飞机实现了对禁飞区的避障:

图片

(8)

式中:(xo, yo)为禁飞区中心坐标; (a, b)为禁飞区的宽度与长度; k表示禁飞区所近似多边形的形状参数。根据式(8), 当k=1时, 禁飞区表示菱形; 当k=2时, 禁飞区表示椭圆形; 当k→∞时, 禁飞区表示矩形[24]。

1.3   任务分配评估模型的建立

任务分配的合理性直接关系到我方突防效率及最终空战结果, 合理的任务分配可使多机编队在最小的损耗代价下获得对敌方最大的空战打击优势[25]。当今, 比较主流的任务分配方法包括启发式方法、最优化方法和基于市场交易思想的拍卖算法等。其中, 启发式算法求解的效率较高, 包括遗传算法[26]、鱼群算法等[27]。最优化方法包含匈牙利算法、动态规划方法等[28]。这类算法应用更为广泛, 但处理某些特殊的数据时易出现不收敛的情况。拍卖算法[29]假设任务为拍卖品, 任务分配对象根据出价策略与收益函数竞拍或拍卖某一任务, 通过任务分配对象竞价的方式实现任务分配。低空突防任务中包含近距轰炸、远程打击、电子战压制、空中加油等多个子任务。匈牙利算法是目前公认的一种有效解决任务分配的方法, 其适合求解“一对一”的匹配问题, 在解决小规模任务分配问题时, 具有求解迅速、可靠性高的特点[30]。

本文所研究的对象是不具备多目标攻击能力的三代机[31], 因而在低空突防任务中, 不能采取一架飞机对多个任务的分配模式; 另一方面, 由于我方出动的战机数量通常大于任务数量, 因而可以根据任务数量对我方战机进行对应数量的分组, 形成若干“任务小组”, 将“多对一”匹配问题转化为“一对一”的匹配问题, 从而可采用匈牙利算法进行计算和求解。由于匈牙利算法的原理较为经典, 受篇幅限制, 在此不再详细展开介绍, 该算法的关键是要输入一个科学有效的评估矩阵。为此, 本节将重点放在对低空突防过程中子任务的评估建模上, 以更好地提高任务分配的合理性, 从而进一步保证多机航迹规划中初始航迹输入的有效性。

本文在对子任务评估建模时, 提出了创新的评价标准, 重点考虑了两个方面, 即子任务的威胁和子任务的固有价值, 前者又由敌我相对态势指标和敌我相对战斗力指标共同决定。由于引入了“任务小组”的概念, 因而在评估建模时, 需假设小组内各飞机正以同速、同航向巡航飞行, 其机间距离相对子任务与任务小组距离可忽略不计, 即在计算相对态势时, 将任务小组视为质点, 取小组中长机状态量进行计算。其中, 长机是任务小组中的某一架飞机, 通常由领导者驾驶, 负责整个任务小组的指挥、下达命令等, 是预先设定好的。同时, 由于执行子任务的位置通常距离子任务实际位置仍有一段距离, 如远程打击子任务并不需要实际达到目标点上空, 因而还需提前设定实际的任务执行点, 同样只取长机状态量即可。

首先, 对敌我相对态势指标T进行建模, T由相对距离态势参数Tr、相对高度态势参数Th及相对角度态势参数Ta这3个参数决定, 其对应的数学表达式如下所示:

图片

 (9)

图片

(10)

图片

(11)

式中: r为任务小组长机距实际任务执行点的距离; Rb为子任务目标的防御攻击距离; Ra为任务小组中所携导弹的最大射程; Rc为任务小组雷达最大跟踪距离; h为任务小组长机相对实际任务执行点的高度差; h0和hmax均为高度经验值; qa表示任务小组中长机的速度矢量与长机的质心和实际任务执行点的质心之间连线的夹角; qb表示实际任务执行点的速度矢量与长机的质心和实际任务执行点的质心之间连线的夹角。上述部分物理量的关系如图 2所示。

图片

图2   敌我相对态势指标中各物理量示意图

3个参数确定后, 可得敌我相对态势指标T:

图片

(12)

再来分析敌我相对战斗力指标C, 通俗来讲, C是指我方任务小组和敌方战斗力的差。对战斗力的评估, 可以参考文献[32]所提的评估公式, 其受7个要素的影响, 分别是机动能力、打击能力、侦查能力、操纵性能、生存指标、飞行距离以及电子对抗能力, 则本文中C的表达式为

图片

(13)

式中: Ca、Cb分别为我方任务小组和子任务目标的战斗力指标; B为机动能力参数; A1为打击能力参数; A2为侦查能力参数; ε1表示操纵性能参数; ε2表示生存指标参数; ε3表示飞行距离参数; ε4表示电子对抗能力参数。

本文中, 对式(13)进行进一步拓展, 引入飞行员综合素质参数ε5, 其值设定如下:

图片

 (14)

从而有:

图片

(15)

通常, 可根据经验数据库提前确定Ca、Cb, 在后续的仿真中, 在此也不再详细展开的具体计算过程。

最后, 子任务的固有价值G可由我方指挥官利用打分原理确定, 通常T、C、G都需要进行归一化处理, 得到

图片

。其中, 归一化方法采取较为简单的处理方式, 即分别除以各自指标的最大值即可。

至此, 可得到子任务小组i相对任务j的子任务的评估值Wij。

图片

(16)

式中, λ1、λ2为比例系数。在此基础上得到评估矩阵W, 可表示为

图片

(17)

2 凸优化算法的改进

首先对式(1)~式(6)进行离散化, 将最优控制问题转化为参数优化问题; 之后基于基准轨迹对约束进行近似和凸化, 其中外部障碍约束仅考虑了圆形障碍; 最后利用序列凸优化迭代的思想对模型进行求解。本文将重点在预规划航迹、外部障碍处理和任务小组避障约束等方面对凸优化算法进行改进。

2.1   预规划航迹的改进

对预规划航迹的改进主要体现以下两个方面: 一方面是利用第1.3节构建的子任务评估模型, 结合匈牙利算法, 对各任务小组进行任务预分配, 得到大尺度规模下任务小组的预规划航迹。由于航迹规划过程中包含末状态量约束, 因而各任务小组还应根据所分配的子任务特点, 确定末状态编队队形, 合理的队形选择能够有效提高子任务的完成率。以三机以上的任务小组为例, 当末状态编队构型为横向平行队形时, 适和完成大面积侦查和搜索任务; 为一字纵向队形时, 适用于完成近距轰炸任务, 或者伴随掩护任务; 为楔形队形时, 适和完成巡航或空投任务; 为菱形护卫队形时, 适用于保护某架友机, 该飞机可能出现油量不足或损伤的突发情况。

另一方面, 在既往研究所述的序列凸优化迭代求解过程中, 首次输入的基准航迹采用简单的初始点、目标点连线方式进行确定, 而初始离散时刻的航迹点则根据离散时刻数进行平均分配, 这显然不符合飞行的运动学规律, 虽不影响求解, 但易导致迭代收敛缓慢, 甚至无解的情况发生。为此, 在任务分配完成的基础上, 本文对组内各机的预规划航迹进行改进, 利用初始序列凸优化迭代的方式求取预规划航迹。在这一过程中, 重点保证的是飞机的运动特性和求解效率, 因而只需考虑飞机的初/末状态量约束、状态/控制量的幅值约束以及控制量的变化率约束, 而机间防碰撞约束和与外部障碍物防碰撞约束则暂时忽略, 初始序列凸优化迭代的优化模型如下:

图片

(18)

图片

(19)

图片

(20)

图片

(21)

图片

(22)

式中: K为离散时刻数, 是指将初始时刻到终端时刻这段时间离散成的时间段数量; N为任务小组中飞机的数量; q为迭代次数, ε为收敛域, q每增加1, ε将变成原来的1/2。通过这种策略使得循环逐渐趋向收敛; 等式约束Aeq·Z = beq包括式(18), 不等式约束Ain·Z ≤ bin包括式(19)~式(21), μeq和μin为上述两项的比例系数; Z包括离散时间步长Δt0和集合zi, 其中:

图片

(23)

至此, 可得到小尺度规模下任务小组的预规划航迹, 从而完成了对预规划航迹的改进。

2.2    外部障碍的增加及凸优化

既往研究仅考虑了所谓的圆形障碍物并忽略了其所代表的实际意义。本文在第1.2节建立了基于低空突防任务的环境障碍物模型, 包括雷达、高炮阵及禁飞区等, 除可近似为圆形障碍物的雷达、高炮阵外, 还有可近似为多边形障碍的禁飞区。本节对禁飞区的避障进行研究, 以式(8)中k→∞为例进行讨论, 此时禁飞区表示矩形。

设我方通过侦察获取到一处可近似为矩形的禁飞区, 用ℵ表示, 其4个顶点从最西顶点逆时针标记为(xℵi, yℵi), 其中i=1, 2, 3, 4, 式(6)中的约束条件能保证飞机不与禁飞区相撞, 但该约束显然是非凸的, 无法直接用于序列凸优化求解。为此, 借助基准航迹, 即上一次迭代所求的航迹对该约束进行凸化近似。

首先, 取某一时刻基准点

图片

与ℵ形心的连线, 若该连线与ℵ的某一条边有交点, 则置预警信号flag=0, 并定义该边为基准边, 若该连线与ℵ的任何一条边都没有交点, 则置预警信号flag为一恒正值, 同时计算

图片

到形心的距离, 记为dpc。其次, 根据基准边两顶点的坐标, 可求得该边所在直线的标准表达式, 该直线划分平面为两部分, 显然两部分均为凸的, 其中基准点所在的半平面为该次循环p[k]的可行域。最后, 将该约束作为序列凸优化模型中的一项不等式约束进行惩罚, 用Cin表示, 其表达式如式下

图片

(24)

式中: (xp[k], yp[k])为p[k]的坐标; 

图片

的坐标; (ap, bp, cp)为基准边所在直线的标准表达式参数。

特别是Cin表达式中flag/dpc的设计有利于更好地引导收敛。

图片

 (25)

式中: 

图片

形心所决定的基准边所在直线标准表达式系数; 

图片

到形心的距离, 同理有flag*。

在保证离散点处的避障后, 还应保证航迹离散点之间的航迹不与ℵ发生碰撞, 须在式(24)的基础上确保式(25)中的Cin*表达式成立, 可保证离散点之间的飞行安全。式(24)和式(25)联立得到p[k]的可行域如图 3所示的深色区域, 显然两凸集的交集还是凸的, 这符合序列凸优化求解的原则。

图片

图3   多边形障碍的凸化可行域

2.3   任务小组间的避障约束及凸化

在多机编队低空突防任务中, 划分若干任务小组, 若继续按照既往研究[21]所述的小组内飞机间避障约束进行优化, 存在以下问题。

一是飞机数量多导致的求解效率降低。由于已有的机间避障约束是令每一架飞机躲避其他所有飞机, 飞机数量越多, 这一约束的数量和复杂程度将越大, 不利于发挥序列凸优化算法求解迅速的优势。

二是各任务小组的任务不同, 执行任务时间相对灵活, 原机间约束的适用性降低。之前的理论成果多以多机同时到达目标点为基础条件展开, 当面对更为复杂的低空突防任务时, 由于子任务的评价值不同, 其被执行的时序也不尽相同, 因而多机同时到达目标点的理想设定将难以保证。

为此, 提出“虚拟多边形”的概念来解决任务小组间的避障问题。以两个任务小组为例, 设在收到指挥官任务指令后, 优先级更高的任务小组1率先按照规划航迹进行飞行, 所规划的到达子任务目标点的时间为Tp, 小组内飞机间避障按照传统的方式进行避障, 其约束如下所示:

图片

(26)

式中: Vi, max表示飞机i的最大飞行速度; Vj, max表示飞机j的最大飞行速度; R表示平面内的安全距离。

在任务小组1飞行至T1时刻时, 任务小组2开始执行任务, 此时对任务小组2进行航迹规划时需考虑任务小组1的航迹。截取任务小组1在T1~Tp时段的规划航迹, 标记出这段航迹在地面坐标系下的横纵坐标最值, 并确定4个最值点, 进而依据最值点确定一个矩形, 称该矩形为组间避障的虚拟多边形, 该过程的示意图如图 4所示。

图片

图4   组间避障示意图

在对任务小组2进行航迹规划时, 应将该虚拟多边形按照第2.2节所述的外部障碍进行躲避。虽然该近似过程具有一定的保守性, 但这是对经典凸优化算法思想的一个延续, 该步操作有利于实现多机编队简单、快速、安全的组间避障的效果, 并可拓展到多任务小组协同避障的案例中。

3 仿真校验

本节对所提算法的有效性进行校验。设定仿真背景如下: 经预警侦查, 获取到敌方总部位于我东北方向约90 km处, 同时侦察到重要的电磁干扰区和战略性建筑各一处, 此外还有若干雷达区和禁飞区。将打击电磁干扰区、敌方总部、战略性建筑设为3个子任务, 分别记为子任务1、子任务2和子任务3, 将我方12架战机分为3个任务小组, 分别记为任务小组1、任务小组2和任务小组3, 每组4架飞机, 敌我双方的初始状态如表 1和表 2所示。其中, 表 1中的s(t0)第一行为组内长机的参数。由于执行的是低空突防任务, 因而任务执行点的目标队形高度均不超过2 000 m。优化目标均设定为多机到达时间最短, 并选取一字纵向队形和楔形队形等适合攻击的队形为主要队形。障碍物模型有关信息如表 3所示, 优化参数设置如表 4所示。仿真环境为Matlab R2017a, 计算机配置为Intel酷睿i7处理器, 主频3.60 GHz, 内存32 G, 64位win10操作系统。

图片

表1   各任务小组的状态量

图片

表2   各子任务信息

图片

表3   障碍物模型信息

图片

表4   优化参数设置

3.1    预规划航迹的校验

根据表 1中长机的s(t0)以及Ra、Rc和表 2中任务执行点的状态量及Rb,结合表 4设定的预规划阶段参数,利用式(9)~式(12)可解算出各子任务相对各任务小组的态势指标T。受篇幅限制,不再列出Tr、Th及Ta具体值,而是直接在表 5中列出了求解后的

图片

值,同时在该表格中列出了根据文献[21]估算的

图片

值以及根据经验打分获取的

图片

值。根据表中数据,通过式(16)和表 4中的参数,可计算得到评估矩阵W,具体如下:

图片

表5   任务小组对子任务的评价值

图片

(27)

将W带入匈牙利算法进行求解Wr,得出结果矩阵:

图片

(28)

对应的最优值为1.052。从而可以得到初始任务分配结果,即任务小组1执行子任务2,任务小组2执行子任务3,任务小组3执行子任务1。

为进一步验证小尺度范围内预规划航迹的改进效果,暂时不考虑本文所提的组间避障约束和多边形外部障碍约束,即以文献[21]的算法结构为基础,采用已完成任务分配的3个任务小组为实验对象,分别利用初始序列凸优化迭代的方式,采用简单的初始点、目标点连线方式确定初始航迹。其中, 前者为实验组,后者为对照组,分别进行30次完整的航迹规划对照试验以验证改进效果。航迹规划的已知条件和约束均已在表 1~表 4中列出,实验结果如表 6所示。

图片

表6   预规划航迹对比表

从表 6中可以看出, 实验组的平均求解时间在任务小组1和任务小组3两组规划过程中用时更短, 最大平均差异为2.50 s; 任务小组2中两组用时接近, 出现这种情况的原因是采用两种方式对任务小组2进行的预规划航迹均近似接近直线, 复杂度较低, 差异化较小, 具体如图 5所示, 因而后续输入到完整约束的航迹规划模型中差异不大。而另外两组航迹因相对复杂, 预规划航迹差异较大而使得完整的求解时间有差异, 由此可以得出改进后的预规划航迹使得算法的求解效率有一定的提升。

图片

图5   任务小组2预规划航迹

另一方面, 实验组的求解成功率也相比对照组更优, 且同样有着航迹越复杂, 优势越明显的特点, 在任务小组3的30次航迹规划求解中, 实验组求解成功率高出对照组10%, 证明了本文所提改进策略的优越性。

3.2    航迹避障效果的校验

在第3.1节任务分配的基础上, 验证航迹避障效果。各任务小组的出发时序由后方的指挥中心根据战场的实际作战需求和战场态势决定, 先出发的小组优先级更高, 后出发的任务小组需对其进行避障。由于电磁压制任务(子任务1)是保障其他两项子任务的基础, 因而先出动任务小组3。

任务小组3的航迹规划结果如图 6所示, 图中不同颜色的线条代表组内各飞机的航迹。结合表 2, 从图 6中可看出组内各飞机均可到达实际任务执行点, 并形成指定队形, 所求解出的Δt0=2.97 s。同时, 从图 6中可以直观地看到, 各飞机均有效地躲避了雷达和禁飞区, 验证了本文所提多边形障碍约束的有效性。

图片

图6   任务小组3执行子任务航迹变化图

当任务小组3按规划航迹飞行至80 s时, 出动任务小组2执行打击战略建筑的任务, 以实现对敌方进一步的压制。由于该时刻任务小组3还未抵达实际任务执行点, 因而对任务小组2进行航迹规划时, 需考虑组间避障。通过计算可知, 此时任务小组3飞至第27个离散时刻点, 截取第27~50离散时间段的航迹, 按照第2.3节所述方法, 确定虚拟多边形1, 其4个顶点坐标分别为(44 500, 13 800), (44 500, 45 000), (77 000, 45 000), (77 000, 13 800), 将其加入任务小组2的航迹规划模型进行求解, 可得出相应航迹。为校验组间约束的效果, 去除组间约束进行对比实验, 同时保留其他约束和参数设定不变, 再次进行规划, 两次规划的结果如图 7所示。

图片

图7   任务小组2航迹对比

从图 7(a)和图 7(b)两图中, 可以看出添加组间约束后, 任务小组2为避免与任务小组3可能发生的碰撞, 组内飞机均采取向禁飞区西侧绕飞的方式抵达实际任务执行点, 而未添加组间约束时, 任务小组2内4架飞机, 各有2架分别从东、西两侧对禁飞区进行绕飞。结合图 7(c)和图 7(d)两图可看出, 两种方式均可到达指定任务执行点, 并且组内最小机间距均大于设定的安全距离, 但结合图 6(b)可知, 在任务小组2出动前期, 任务小组3正从西向东飞行, 未添加组间避障的规划航迹此时从禁飞区东侧由南向北进行穿越。经计算, 在同一时刻两小组最小机间距仅为428 m, 小于允许的最小安全距离, 而添加机间避障约束的最小机间距显然始终远大于安全距离, 可以证明本文所提的组间约束的可行性和有效性。

当任务小组3出发后的第160 s, 出动任务小组1打击敌方总部。由于任务小组2按照添加组间约束进行规划所求出的Δt0=1.82 s, 而任务小组3的Δt0=2.97 s, 通过简单计算可知, 此时任务小组3已抵达实际任务执行点, 任务小组2仍未抵达对应的任务执行点, 因而需要考虑任务小组1与任务小组2的组间避障。按照上一轮仿真的计算方式, 截取任务小组2第45~50离散时间段内的航迹, 形成虚拟多边形2, 其4个顶点坐标分别为(40 000, 45 500), (40 000, 54 000), (41 000, 54 000), (41 000, 45 500), 则任务小组1的规划航迹如图 8所示。由图 8可以看出, 组内飞机按照各约束条件, 安全抵达了任务执行点。

图片

图8   任务小组1执行子任务航迹变化

综上所述, 采用本文所提算法使飞机能有效躲避多边形障碍, 同时可以通过躲避虚拟多边形的方式实现有效的组间避障。此外, 在执行子任务的过程中, 各机严格满足始/末状态量约束、状态/控制量的幅值约束、控制量的变化率约束、机间防碰撞约束, 可有效躲避雷达等圆形障碍物。考虑到序列凸优化算法在求解该航迹规划模型时较其他传统算法在效率上也具有明显优势, 可充分证明本文算法能有效满足多机低空突防任务航迹规划需求。

4 结束语

本文对已有的凸优化算法进行改进, 研究了多机编队低空突防航迹规划问题, 得到如下结论:

(1) 提出了基于匈牙利算法的集群任务分组概念, 并设计了更符合运动学规律、更贴近战场实际需求的预规划航迹, 仿真证明改进后的预规划航迹有助于提升模型求解效率和成功率;

(2) 在凸优化过程中引入更为贴合战场环境的多边形障碍, 以提高模拟禁飞区的真实性, 并有效解决航迹规划离散点之间可能与多边形障碍发生碰撞的潜在风险;

(3) 针对不同任务小组之间存在的碰撞风险, 引入“虚拟多边形”概念进行凸化处理, 可进一步提升各任务小组间的飞行安全性。

后续将针对如何进一步完善任务分配模型、降低凸优化算法的保守性等问题进行更为深入的探索研究。对于突防任务而言, 还应加强对动态的、无法事先确定的威胁的研究, 并将本文所提算法作进一步延伸拓展。此外, 为有效应对当前人工智能高速发展趋势, 还应尽早针对有人/无人协同作战航迹规划和无人机机群作战航迹规划特点将该算法作适应性改进研究。

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

“人工智能技术与咨询”  发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/631359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

课表排课小程序怎么制作?多少钱?

在当今的数字化时代,无论是购物、支付、点餐,还是工作、学习,都离不开各种各样的微信小程序。其中,课表排课小程序就是许多教育机构和学校必不可少的工具。那么课表排课小程序怎么制作呢?又需要多少钱呢? …

electron+vue项目使用serialport报错Cannot read property ‘indexOf‘ of undefined解决办法

描述 使用ElectronVue项目时引入serialport串口后启动时报下面错误 Cannot read property indexOf of undefined解决方法 打开vue.config.js找到pluginOptions -> electronBuilder -> externals添加serialport module.exports {pluginOptions: {electronBuilder: {e…

MBTI+大模型=甜甜的恋爱?美国新年AI裁员潮;中国大模型人才分布图;20分钟览尽NLP百年;Transformer新手入门教程 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🉑 GenAI 是美国「2024 年裁员潮」罪魁祸首吗?来看几组数据 https://www.trueup.io/layoffs 补充一份背景:&#…

Javaassist:编写字节码,改变Java的命运

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Javaassist:编写字节码,改变Java的命运 前言javaassist简介基本用法高级技巧实际应用与示例与其他字节码工具的对比结语 前言 Java是一门强大的编程语言,但有时候&…

【印象深刻的实战经历】两次全国大学生数学建模经历分享

目录 🌼初次接触 初次参加培训 分享培训所得 比赛开始 🔥再次接触 参加校赛 机缘巧合 再次培训 比赛开始 📕技巧总结 从问题的实际意义分析大体上可分为 从问题的解决方法上分析 做国赛题目的步骤 赛前准备 选题 寻找思路…

vue二次封装ant-design-vue中的Modal弹窗组件,实现拖拽,全屏两种功能,原有参数属性不变

在我们的项目的有的地方需要用弹框的拖拽,以及弹窗自定义全屏显示的需求,所以再次将二次合一,同时弹框里面内容自适应屏幕高度 在ant-design-vue中,已经实现了拖拽,全屏的功能,下面是ant官网的示例 自定义…

开发实践6_project

要求: ① 页面写入超链接,获取所有数据item,显示在另一个页面,1min内,即使数据有变化,页面内容不变,1min后点击超链接可获取最新信息; ② 使用middleware完成用户请求路径判断 &am…

一篇综述洞悉医学大型语言模型的原理,应用和挑战

在过去的一年中,随着 GPT-4、LLaMA、Mistral,PaLM 等先进技术的突飞猛进,大型语言模型(Large Language Models)已经引领全球人工智能进入了一个全新的基础模型时代,这一时代不仅开启了技术创新的新篇章&…

微信小程序vue+uniapp瑜伽馆课程预约选课管理系统

本文对该站点以及对其进行了全面的剖析,为瑜伽馆管理系统的发展带来了借鉴。瑜伽馆管理系统小程序对于瑜伽馆起到了很好的引导作用,特别是对于地方瑜伽馆的处理起到了很大的作用。 按照已有的功能,除了管理员外,还可以对系统中的全…

python高级练习题库实验2(B)部分

文章目录 题目1代码实验结果题目2代码实验结果题目总结题目1 注册课程小游戏程序 研究下面的例子,并编写一个与这些例子完全相同的程序。使用for loop和break来解决问题。提示用户输入课程数量,是否选择,并且课程代码,最后还需显示已经完成的课程注册数量或者未完成的注册…

【Python3】【力扣题】389. 找不同

【力扣题】题目描述: 【Python3】代码: 1、解题思路:使用计数器分别统计字符串中的元素和出现次数,两个计数器相减,结果就是新添加的元素。 知识点:collections.Counter(...):字典子类&#x…

Python算法例36 丑数Ⅱ

1. 问题描述 设计一个算法&#xff0c;找出只含素因子2、3、5的第n小的数&#xff0c;符合条件的数如&#xff1a;1、2、3、4、5、6、8、9、10、12… 2. 问题示例 如果n9&#xff0c;返回10。 3. 代码实现 def find_nth_number(n):if n < 0:return Nonenumbers [1]idx…

Azure Machine Learning - 聊天机器人构建

目录 聊天机器人架构概述消耗成本环境准备打开开发环境部署和运行将聊天应用部署到 Azure使用聊天应用从 PDF 文件获取答案使用聊天应用设置更改答复行为 本文介绍如何部署和运行适用于 Python 的企业聊天应用示例。 此示例使用 Python、Azure OpenAI 服务和 Azure AI 搜索中的…

【playwright】新一代自动化测试神器playwright+python系列课程22_playwright模拟鼠标操作_悬停_右击_双击

playwright模拟鼠标操作_悬停_右击_双击 鼠标悬停 – hover() 有些元素&#xff0c;只有你鼠标移动到它那个位置上&#xff0c;他才会展开或者显示一些内容&#xff0c;这时候就要用到hover()操作了。 以个人设置这个下拉菜单&#xff0c;来看一下hover的使用。 项目实践代…

产品排名提升秘籍:亚马逊鲲鹏系统的独特优势

在亚马逊竞争激烈的市场中&#xff0c;商家们一直在寻找新的方法来提升产品排名和吸引更多的顾客。近期&#xff0c;一款名为“亚马逊鲲鹏系统”的全自动化运行软件引起了广泛关注。该软件集成了一系列独特的功能和特点&#xff0c;旨在帮助商家更轻松地管理其亚马逊业务&#…

企业微信无法正常启动 报错0xc0000142

报错内容如下&#xff0c;每次打开工作电脑时候企业微信一般会正常启动&#xff0c;但是有时候经常会出现下面这种错误&#xff0c;重启也解决不了&#xff0c;每次都得重装企业微信&#xff0c;今天整理了一下网上的方法&#xff0c;这个原因大概率是亿赛通。 解决办法&#x…

2024年网络安全比赛--内存取证(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.从内存文件中找到异常程序的进程&#xff0c;将进程的名称作为Flag值提交&#xff1b; 2.从内存文件中找到黑客将异常程序迁移后的进程编号&#xff0c;将迁移后的进程编号作为Flag值…

Python学习之路——异常捕获

一、什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是bug 二、异常的捕获方法 当我们的程序遇到bug&#xff0c;那么就下来有两种情况 ①整个程序因为一个…

Elasticsearch:和 LIamaIndex 的集成

LlamaIndex 是一个数据框架&#xff0c;供 LLM 应用程序摄取、构建和访问私有或特定领域的数据。 LlamaIndex 是开源的&#xff0c;可用于构建各种应用程序。 在 GitHub 上查看该项目。 安装 在 Docker 上设置 Elasticsearch 使用以下 docker 命令启动单节点 Elasticsearch 实…

chromedriver+Selenium+springboot+Java实现后端截图

chromedriver这种方法实现截图&#xff0c;依赖服务器端的谷歌浏览器软件&#xff0c;需要在服务器端下载谷歌浏览器。 Windows服务器说明 1.下载谷歌浏览器 2.根据第一步下载的谷歌浏览器版本&#xff0c;下载chromedriver&#xff0c;可以在这个页面找到和版本相近的版本去下…