郑 宇,蔡志浩,王隆洪,赵 江,王英勋
(北京航空航天大学自动化科学与电气工程学院,北京 100083)
无人机(Unmanned Aerial Vehicles,UAVs)技术发展速度快、迭代周期短,尤其是近几年已经广泛应用于军事和民用领域,如侦察、搜救、森林防火和城市测绘等[1-4]。与单架无人机平台相比,多无人机协同飞行在复杂任务中具有更好的性能,包括协同目标搜索、救援和战斗等[5-8],并且在检测、定位和感知方面具有很多优势,有助于多无人机的任务分配、空中加油、自组织和重构。
多无人机编队控制的常用方法有一致性理论、主从式策略、基于行为的方法、虚拟结构方法、微分博弈、有限时域控制理论等[9-12]。文献[13]设计了一种主从式编队控制算法,其中领导者被隐式地整合到群体中,并且可以受到来自他们群体的导航反馈的影响。文献[14]基于滑模控制方法,提出了一种分布式多无人机编队控制方法。当多无人机系统的状态在滑模表面时,可以在有限时间内实现编队。文献[15]提出了基于信鸽分层策略的分布式编队控制架构,结合信鸽群速度相关、主从交互和分层领导网络的优点,提出了一种基于高度一致性的控制算法。文献[16]提出了一种基于虚拟结构和人工势场方法的避碰控制算法。为了有效地避开障碍物跟踪运动目标,设计了三维空间的主从控制策略。在文献[17]中提出了一种分布式编队控制协议。多无人机系统能够在有限的时间内实现预期的编队,并且根据编队控制的要求可以预先指定编队构型。
无人机集群技术发展迅速[18-19],其中无人机集群自组网(Ad-hoc)通信系统是一种具有分布式、无中心、自组织、多业务、远距离、精准定位等显著技术特点的动态自治性局部区域无线通信网络。支持集群中成员的动态加入和退出,满足了无人机集群大规模、高动态情况下的协同通信需求,也适用于解决各种复杂和特殊环境下的网络通信。自组网技术采用一种不需要基站的对等结构移动通信模式,网络中所有联网设备可以在移动过程中动态组网,节点之间通过无线方式互联,每个节点又同时具有终端和路由器的功能。目前Ad-hoc网络已经成为移动通信领域研究的重点方向,图1展示了典型Ad-hoc网络的结构。
图1 自组网网络结构Fig.1 Ad-hoc network structure
有鉴于此,将自组网技术引入到无人机编队控制中来,实现多无人机的编队飞行并提高多无人机编队飞行过程中的实时性、准确性、可靠性和全面性。本文主要研究了无人机组队控制与防撞策略,主要解决无人机编队的队形构建、保持和重构,避障策略以及自组网通信等关键技术问题,对推动多旋翼无人机编队技术的发展具有重要的理论与工程参考价值。
无人机协同编队技术还没有进行过实际战场演练,随着编队技术的发展,不断完善无人机编队飞行队形,其队形需要借鉴有人机的编队队形设计经验。队形设计完成后,通过地面控制站或者机载计算机的控制来进行战斗任务的执行,在设计队形时需要考虑作战范围、确保安全距离防止碰撞、增强攻击与防御、侦察打击并保护重要目标等,同时还要结合具体的作战任务对编队队形进行调整,并且根据任务需求增减无人机,都是编队问题中的难点。
根据不同的作战环境和任务需求,战机往往组成不同队形的编队:平行编队主要用于搜索目标时扩大搜索范围;纵向编队主要用于轰炸、空投、空降以及躲避威胁或者通过狭窄区域;梯形编队常用于协同对地攻击;三角形编队常用于巡航和轰炸;五菱形编队主要用于保护编队中的重要目标,如预警机、加油机等;反向圆弧编队常用于截击来袭敌机;箭形编队主要用于突防、空袭敌方重要目标和对敌进行核打击。在此,主要研究平行编队、纵向编队、三角形编队、梯形编队和五菱形编队,这五种队形在实战应用中具有重要意义。
为了便于编队队形的表述,采用[dxdydz]T来表示2架无人机之间的相对位置关系,其中dx表示纵向距离,dy代表横向距离,dz表示高度差。本节以5架六旋翼无人机编排了五种编队队形,当无人机数目增加时可以根据队形特点进行扩展。需要注意的是,所设计的队形只是编队队形的示意图,除紧密编队飞行外,实际编队飞行时要按照无人机尺寸、速度以及实际任务进行阈值的调整。
(1)平行编队(图2)
图2 平行编队队形图Fig.2 Parallel formation diagram
平行编队队形中,无人机横向一字排开并且处于同一高度,因此dx=dz=0,dy根据无人机的机载侦查设备的搜索能力来调整。
平行编队主要用于大面积搜索目标,无人机数量的增加可以明显扩大搜索范围,提高作战效率。地面站控制中心可以安置在地面,也可以通过多旋翼和直升机等飞行器搭载在空中悬停增大发射范围,可以实时监督编队飞行状态和任务执行情况。
(2)纵向编队(图3)
图3 垂直编队队形图Fig.3 Vertical formation diagram
纵向编队队形中,无人机纵向一字排开并且处于同一高度,因此dy=dz=0,每架飞机的距离根据当前飞行速度下所需要的安全距离来调整。
纵向编队主要用于躲避障碍物、轰炸地面目标等任务。当无人机编队在没有敌方威胁的山区飞行或者在执行作战任务需要躲避敌方防空雷达时,可以提高速度快速飞行,一次穿越山峰障碍物,尽快完成轰炸任务,脱离任务区域快速返航。
(3)梯形编队(图4)
图4 梯形编队队形图Fig.4 Trapezoidal formation diagram
梯形编队队形中,无人机在同一高度上呈阶梯状分布,dz=0,无人机之间的纵向间距dx和横向距离dy根据具体的作战任务进行调整。
梯形编队主要用于攻击,这种队形有利于提高攻击效率增大完成任务的概率。处于前方的无人机在攻击目标之后对攻击效果进行评估,如果需要二次攻击,处于斜后方的无人机可以进行二次攻击,否则斜后方的无人机可以继续执行其他任务。这样前方的无人机就无需掉头回来进行二次攻击,从而节省了无人机宝贵的续航时间。通过地面站接收传感器传回的信息,实时监督每架无人机的飞行状态和任务执行情况,必要时可以直接修改无人机的作战任务。
(4)三角形编队(图5)
图5 三角形编队队形图Fig.5 Triangle formation diagram
三角形编队主要用于出航和返航,头机在编队最前方为僚机领航,有利于僚机减小燃油消耗,增大航程。为了确保编队飞行的安全,在编队到达作战任务区之前根据作战任务指挥将三角形巡航队形变换为其他队形。
(5)菱形编队(图6)
图6 菱形编队队形图Fig.6 Prismatic formation diagram
五菱形护航编队队形中,无人机在同一高度上呈五菱形分布于各个角落,dz=0,编队飞机之间的距离dx、dy根据飞行时所需要的安全距离来调整。
菱形护航编队的主要用途为保护重要目标的安全。当编队遭遇强于自身的空中力量来袭时,无人机在重要目标周围保护重要目标迅速撤离战场,无人机要吸引敌方来袭导弹,必要时以机身来阻挡来袭导弹,以最大限度地保护重要目标。
编队队形的集结、保持、变换以及避碰是本小节的研究重点,采用地面编队控制软件对编队队形以及应急措施进行决策和处理。
编队控制主要包括2个部分:1)队形集结、组队与重构(图7);2)队形保持(图8)。
图7 编队集结、组队与重构控制流程Fig.7 Control flow of formation aggregation, construction and reconstruction
队形集结、组队与重构的主要流程是:当地面编队控制软件收到起飞指令后,飞机会从起飞点飞行至集结点,根据编队飞机的当前位置和集结点(目标点)来解算出飞机的飞行路径;到达集结点后等待地面编队控制软件发出队形变换指令,同时生成飞行路径;编队飞机在收到指令后,会对各自路径进行跟踪,飞向各自被分配的目标点。运动过程中,编队中的飞机会把状态信息实时反馈给地面站控制中心,根据反馈信息做出实时调整。编队飞机到达目标点后,当前任务结束。
图8 编队保持控制流程Fig.8 Control flow of formation maintaining
队形保持的主要流程是:地面编队控制软件不断计算飞机的当前位置,当飞机到达目标点时,代表变换任务结束,飞机在目标点进行位置悬停。每架飞机从起始点到目标点的路径长度不一样,这样就导致了编队飞机没办法同时间到达;同时有的队形变换会产生路径交叉点,触发避障功能也会对到达时间有一定的影响。编队飞机在到达目标点后,由于会对控制精度误差进行实时修正,在修正过程中也会实时生成运动路径,有利于编队整体队形的保持。
蚁群算法(Ant Colony Algorithm,ACA)是解决复杂优化组合问题的新型真演化算法,将ACA应用到无人机编队的路径规划中,需要将每一个可能的路径规划作为一个节点。要解决这个问题首先要建立多旋翼编队路径规划的数学模型,构建矩阵D∈Dn×n,n代表多旋翼飞机的个数,矩阵D中的每一个Dij都是一个单独的节点vij,其中i表示队形重构或队形集结前的原始位置Si,j表示队形重构或队形集结前的新位置Fj,Dij表示从Si飞到Fj所需的代价。矩阵D中有n×n个数值,因此形成的无向图有n×n个节点,节点之间相互连通。但当Dij被选中时,则i行j列的其他节点将不能再被选择。因此会有n个不同行不同列的Dij被找到,使得这n个Dij的和最小,即
min∑Dij
(1)
这n个Dij的组合就表示着编队重构或编队集结前后每架无人机的位置分配情况。由于本文的对象为多旋翼无人机,机动性强,因此飞机可以从Si按照规划出的路径直线飞到Fj。
上文提到,Dij表示由原来保持的编队位置Si飞向需要构造的编队队形位置Fj所需的代价,但是由于剩余目标点受以往选择的节点所代表的直线的影响,所以本文中的Dij在蚂蚁选择节点后不断变化。初始时,只考虑燃油代价为Jfuel,ij=Lij,Lij为vij所代表直线的距离,Dij=Jfuel,ij。当蚂蚁开始选择节点后,需要计算剩余节点的威胁代价,将剩余节点的边与已经选择的边分为6等分,分别选取7个点计算距离,从而计算威胁代价,即
(2)
其中,Jthreat,ij为威胁代价,d(0)(ij-v)、d(1/6)(ij-v)、d(1/3)(ij-v)、d(1/2)(ij-v)、d(2/3)(ij-v)、d(5/6)(ij-v)、d(1)(ij-v)分别为节点vij与已选择的节点所代表的边的起点、1/6处、1/3处、1/2处、2/3处、5/6处、终点的距离。综上所述,vij的选择代价为J=k1Jthreat,ij+(1-k1)Jfuel,ij,k1值越大表示对威胁代价越重视。若剩余节点与已选择节点交叉,则将此节点放入禁忌表中,这一步可以杜绝位置分配的路径交叉问题。
蚁群算法中蚂蚁k从节点vij转到可行节点vlm的状态转移概率公式为
(3)
其中,tlm代表节点上的信息素浓度;ηlm=1/clm为启发函数,clm表示选择vlm节点的成本。α、β为信息素因子和启发函数因子,表示了信息素和启发函数对状态转移概率的影响的比重。计算的状态转移概率越大则该节点被选中的概率也就越大。
用Nmax表示最大的迭代次数,Nc表示当前迭代次数。利用蚁群算法解决多无人机编队集结和编队重构的位置分配问题的具体步骤如下:
1)设置每个节点一样的信息素t0,把禁忌表置为0。
2)设置算法中的各个参数,将m只蚂蚁随机放置在起点处,当前迭代次数Nc=1。
3)按照上述的状态转移概率公式选择出下一个节点,当蚂蚁选中某个节点vij后,则矩阵中i行j列的其他节点将不能再被选择,因此将这些节点放入禁忌表中。
4)当蚂蚁选中某个节点vij后,就更新节点vij上的信息素浓度
tij=(1-ζ)tij+ζt0,0<ζ<1
(4)
其中,ζ是给定参数。当其中某节点被选中后,更新该点的信息素浓度,使其他蚂蚁选择其余节点的概率增加。这样可以防止出现结果局部最优的结果
5)当所有的m个蚂蚁完成n次搜索后,就会出现m种节点组合,每一个组合都是一种分配方案,每种组合都包含不同行不同列的n个节点。然后找出这些解中的最优解则为此次迭代的最优解,记录下来。
6)寻到此次迭代的最优解后,按照式(5)更新所有节点上的信息素浓度
(5)
7)若规划完成,则从所有迭代次数的最优解中找到其中的全局最优解,并且记录下来。
基于ACA的路径规划会使编队飞机的当前位置和目标点之间进行配对,如果目标点数量少于当前位置飞机的数量,那就根据飞机标号从小到大的原则,标号偏小的飞机执行任务,剩余飞机返回集结点待命。当前位置和目标点之间的位置配对就生成了编队飞机的飞行路径。由于多旋翼飞机具有可悬停的特性,因此当地面站控制中心发出队形集结和队形变换的指令后,编队中的各架飞机按照所生成的路径向目标点飞行。因为处在编队试飞的起步阶段,还达不到控制编队中各架飞机同一时间到达目标点,所有飞机的速度指令是相同的,但最终目标要达到所有飞机同一时间到达目标点,这时候就需要地面站控制中心给编队中每架飞机都生成相应的控制指令。多旋翼无人机的路径控制的指令由期望的位移给出,当调节参数一样时,给出的期望位移可以决定每架飞机追踪路径的前进速度。
多旋翼无人机路径跟踪有两种方式:一种是机头不发生航向偏转行为,即无头模式;另一种是机头朝向下一个目标点飞行的策略,即有头模式。出于无头模式可以不发生航向行为再进行运动可以节省时间以及队形保持整齐度考虑,采用无头模式直接飞往下一个目标点的飞行策略,此时在排除了航向倾转行为所消耗的时间后,飞机的前进速度与所选择的期望位移成正比例关系
Vi=kLi
(6)
则每架无人机到达期望目标点所需时间为
(7)
其中,Di为每架无人机航路的长度,若要使各个无人机同时到达期望位置,则航路越远的无人机,前进速度就越大。为了避免其余计算的速度指令过大,因此,以航路最远的无人机为基准选择其余无人机的期望位移。控制指令计算的流程如下:首先计算各个无人机的航路长度Di(i=1,2,…,n),选择其中航路最远的无人机j,其期望位移选择为Lj。则其余无人机的期望位移为
(8)
在小范围编队中,通过合理的任务分配和路径规划,很少会出现航迹点重合的现象,当然也会出现双机或者三机路径重合需要避障策略来完成任务的情况。在这里引入斥力场函数,通过斥力场函数的大小来决策飞机相遇之后的运动速度和方向。
传统的斥力场函数
(9)
没有考虑目标点与飞机的当前位置的相对距离,而且具有目标不可达的问题,从而需要建立一个新的斥力场函数
Urep(q)=
(10)
式中,ρ是2架飞机飞行过程中的最近距离;(X-Xgoal)是触发条件的飞机与目标点之间的相对距离;ρ0是触发阈值条件的最小安全距离;η是一个位置增益函数,与之前提出的斥力场函数相比,引入了触发条件的飞机与目标点之间的相对距离,保证了飞机在触发避障条件后还能准确地朝目标点飞去,从而保证了不影响其他飞机的航线,引起再次触发条件。在触发条件范围内,斥力场越大,飞机离开触发区的响应速度和运动速度越快。
在大规模编队试飞中,在多架无人机相遇的情况下,采用平等策略会增加计算量,在工程上有很大挑战。这时可以采用以编队无人机的IP大小排序的基于不平等原则的避障策略(图9),即IP号大的先离开触发区域,其余触发条件的飞机让出当前IP大的飞机的飞行轨迹,然后IP小的依次离开,直到所有飞机都离开触发区域,避障策略停止,飞机飞往目标点。经过试飞验证,即使在小范围试飞试验中,使用该不平等原则的避障策略也可以得到很好的避障效果,避免了在试飞试验中由于策略过多而导致计算量特别大,也降低了系统判断触发条件的错误率,提高了试飞验证的效率。
图9 基于不平等原则的避障策略Fig.9 The flow of obstacle avoidance strategy based on unequal principle
编队软硬件均采用模块化设计的思路,在完成多个多旋翼无人机编队控制系统的硬件平台搭建以及编队控制策略与算法的设计之后,需要通过试飞测试编队控制系统的可靠性和稳定性。上文所设计的航迹规划、任务分配以及避碰算法都需要试飞来验证算法的可行性。编队飞行控制软件如图10所示。
图10 编队飞行控制软件Fig.10 Formation flight control software
整个试飞验证的任务剖面图分为:起飞段、集结段、任务完成段、返航段和着陆段,其中任务完成段包括五种队形的队形构建飞行、队形保持飞行、队形重构飞行,以及待命飞机的进出。图11所示为五种队形的编队飞行试验任务,其中(a)起飞;(b)集结;(c)水平编队变换;(d)水平编队保持;(e)垂直编队变换;(f)三角形编队变换;(g)三角形编队保持;(h)梯形编队变换;(i)梯形编队保持;(j)棱形编队变换;(k)棱形编队保持;(l)编队返回集结点并降落。
图11 五种编队队形飞行试验任务Fig.11 Five formation flight test mission
图12 心形编队Fig.12 Heart-shaped formation
图13 真实场景下飞行效果Fig.13 Actual flight effect
本文以5架六旋翼无人机为研究对象,重点研究了基于自组网策略的多旋翼无人机队形组成、队形保持、队形重构以及飞行过程中的避碰策略:
1)研究了平行编队、纵向编队、三角形编队、梯形编队和五菱形编队在实战应用中具有的重要意义,并分析了队形组成、保持和重构的过程。
2)研究了基于ACA的多无人机路径规划算法,并设计了队形生成和队形转换控制指令。
3)设计了基于不平等原则的多无人机避障策略,该策略根据相对ID大小依次通过避障触发区域。最后设计了数据闭环的地面编队控制软件,并进行真实场景下的试飞验证,试飞结果表明本文提出的基于自组网策略的多旋翼无人机队形组成、队形保持、队形重构以及飞行过程中的避碰策略具有很好的工程经验指导。