2. 歼击机综合仿真航空科技重点实验室, 成都 610091
2. Key Laboratory of Aviation Science and Technology on Fighter Integrated Simulation, Chengdu 610091, China
近几十年来,无人机在军事和民用方面发挥着越来越重要的作用。传统的空战中,主要通过派出单架或几架分散的无人机执行任务。然而,当执行复杂任务时,单架无人机有完成任务效率低、成功率低等缺点。因此,为了充分发挥单架无人机的性能,引入多架无人机以合作方式形成一定形状的编队,以扩大作战范围,提高执行任务的可靠性[1]。编队飞行是指多架无人机在空间中能够保持一定队形飞行,并且当外界环境或任务发生变化时,编队队形能够根据要求进行变换,常见的编队队形有“人”字型、菱形、三角形等[2]。不同的编队队形具有各自的功能,例如一般用于侦察的编队可采用“V”形、菱形、锲形或弓形编队;用于拦截的编队则采用行、列或反向圆弧编队形式。由于以上优点,军事上,无人机编队被用于侦察任务,在短时间内能够搜索广大区域[3]。同样由于此优点,无人机编队被用于森林救火[4]与农业播种[5],在一次飞行中能够覆盖大片区域。在以上任务中,为提高编队中无人机间的协作能力,需要对编队控制方法进行研究。
编队控制作为研究热点,目前已有大量学者在此方向进行了研究,形成了很多编队控制方法,下面对常见的编队控制方法进行讨论。第1种是基于“领导者-跟随者”的方法,编队中飞行状态能够被提前告知的无人机被指定为领导者,而其他无人机作为跟随者,其飞行状态通过跟踪领导者的飞行速度、偏航角、飞行高度以及队形要求进行调整[6]。“领导者-跟随者”方法具有原理简单、易于操作等优点,但是其鲁棒性较差,跟踪误差会逐级向后传播并被放大。针对以上问题,学者们将“领导者-跟随者”方法与其他方法,例如鲁棒控制[7]、极值搜索控制[8]、自适应控制[9]等相结合,能够减小跟踪误差,但当遇到紧急情况需要重新计算所有无人机的状态时,会增加计算负担。基于行为法是根据从传感器获取的信息来确定无人机的响应,是一种决策方法[10]。通常无人机有以下4种响应方式,即机间碰撞避免、障碍物规避、目标靠近和队形保持,通过行为响应控制的平均权重来确定每架无人机的行为响应方式[11]。文献[12]提出了一种基于分布式零空间的行为方法,在速度控制器中设置了多种响应方式的优先级,设计了一种考虑行为优先级的奇异-鲁棒反向运动学方法。基于行为法是通过模拟生物反应行为机制而形成的编队控制方法,具有较强的鲁棒性和灵活性,但是无法实现精确的队形保持,而且对基本行为融合的分析难度较大,这也限制了其发展与应用。虚拟结构法将编队视作一个虚拟的刚体结构,每架无人机都对应着虚拟结构上相对位置固定的一点[13]。当每架无人机都与固定点保持一定距离时,编队便能形成固定队形。为精确保持编队队形,无人机间需要进行高质量的通信,并且具备较强的计算能力。该方法要求无人机整体保持刚性运动,这使得编队可靠性较差,实用性较低[14]。
以上3种常用的编队控制方法各有其优缺点,它们都能够被统一到一致性理论的框架下[15]。一致性理论的基本思想是编队中每架无人机都可以与其邻居无人机进行通信,通过设计一种分布式的算法使得无人机的状态变量达成一致[16],以此来实现无人机间的合作。一致性算法的优点是引入了邻居无人机的状态信息作为反馈,只需要邻居无人机间进行信息交换就能形成指定队形,无需复杂的稳定性分析。一致性算法已成为一个研究热点,由于其可靠性高、自愈性强、可扩展性好等优点,已被广泛应用于目标跟踪[17]、传感器网络设计[18]、编队控制[19]等任务中。
当把一致性算法用于求解无人机编队控制问题中时,无人机运动模型、机动性能、飞行性能、飞行安全等因素会从不同方面对控制变量与飞行状态施加限制[20],而无人机在飞行过程中必须满足这些约束条件。一致性算法只能保证无人机编队在满足通信拓扑结构的条件下快速收敛到指定飞行状态与队形,但是对于收敛过程中无人机控制量与飞行状态违背约束条件的情况没有进行考虑。另外,虽然目前的研究针对某些飞行状态约束提出了处理策略,但仍不能完全保证无人机的飞行安全。为避免无人机在形成队形过程中发生相互碰撞,文献[21]设计了人工势场法。当2架飞机在水平面内或竖直方向上的距离小于设计阈值时,则在竖直方向上构造人工势场,并将计算出的人工势场力作为修正项添加到用一致性算法生成的控制指令中,在保证无人机飞行安全的前提下使一致性算法仍能收敛。但是,在计算人工势场力时,此方法未包含无人机飞行速度信息,也未对无人机间是否发生碰撞进行提前检测,存在算法启动时间晚、可靠性不高等问题。
针对以上问题,本文基于带自动驾驶仪的无人机三自由度运动学模型,对基本的一致性算法进行改进,使其满足无人机机动性与飞行性能约束条件,并能防止无人机之间的碰撞。本文的创新点如下:
1) 设计一致性算法对无人机编队队形进行控制。将无人机的运动统一到沿OX、OY与OZ轴3个方向进行描述,对编队状态控制律进行改写,并将无人机沿OX、OY与OZ轴3个方向的相对位置信息分别加入到相应方向的编队状态控制律中,形成编队队形控制律。
2) 提出“最小调整”策略对由一致性算法生成的控制指令进行调整,使调整后的控制指令与飞行状态满足无人机机动与飞行性能约束条件,且对控制指令的调整幅度尽量小。考虑到无人机的运动在XOY平面与OZ轴相对独立,调整策略分两步, 分别在XOY平面与沿OZ轴进行。
3) 为避免编队形成过程中无人机间发生碰撞,基于粒子群算法,对沿OZ轴的控制指令再次进行调整,即以改变飞行高度的方法防止无人机之间的碰撞。优化指标为对沿OZ轴的控制指令调整幅度最小。
1 无人机运动模型与一致性算法描述本节首先建立坐标系描述无人机编队队形,在此基础上给出用于编队控制的无人机运动方程。最后对标准的一致性算法进行介绍,为后续设计编队控制算法做准备。
1.1 无人机编队队形描述首先建立坐标系描述无人机的空中位置。本文将无人机视为质点,选取地面坐标系描述其运动状态。地面坐标系的原点O可根据无人机的初始位置在水平面上任意选取,OX轴方向也可根据无人机初始状态在水平面上进行选取。OZ轴竖直向上垂直于水平面,OY轴的方向可根据右手法则确定。在编队中,无人机之间的位置关系可通过相对位置关系矩阵Rx、Ry和Rz进行描述
$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_x} = \left[ {\begin{array}{*{20}{c}} {{x_{11}}}&{{x_{12}}}& \cdots &{{x_{1n}}}\\ {{x_{21}}}&{{x_{22}}}& \cdots &{{x_{2n}}}\\ \vdots & \vdots &{}& \vdots \\ {{x_{n1}}}&{{x_{n2}}}& \cdots &{{x_{mn}}} \end{array}} \right]\\ {\mathit{\boldsymbol{R}}_y} = \left[ {\begin{array}{*{20}{c}} {{y_{11}}}&{{y_{12}}}& \cdots &{{y_{1n}}}\\ {{y_{21}}}&{{y_{22}}}& \cdots &{{y_{2n}}}\\ \vdots & \vdots &{}& \vdots \\ {{y_{n1}}}&{{y_{n2}}}& \cdots &{{y_m}} \end{array}} \right]\\ {\mathit{\boldsymbol{R}}_z} = \left[ {\begin{array}{*{20}{c}} {{z_{11}}}&{{z_{12}}}& \cdots &{{z_{1n}}}\\ {{z_{21}}}&{{z_{22}}}& \cdots &{{z_{2n}}}\\ \vdots & \vdots &{}& \vdots \\ {{z_{n1}}}&{{z_{n2}}}& \cdots &{{z_{mn}}} \end{array}} \right] \end{array} \right. $ | (1) |
式中:(xij, yij, zij)(i, j=1, 2, …, n)为无人机i与j之间的相对位置,并且有xii=yii=zii=0。当编队达到稳定状态时,必须满足
$ \left\{ {\begin{array}{*{20}{l}} {|{x_i} - {x_j}| \to {x_{ij}}}\\ {|{y_i} - {y_j}| \to {y_{ij}}}\\ {|{z_i} - {z_j}| \to {z_{ij}}}\\ {|{V_i} - {V_j}| \to 0} \end{array}} \right. $ | (2) |
式中:xi、xj和zi分别为编号i的无人机沿OX、OY和OZ轴坐标;V为无人机的飞行速度。
1.2 无人机运动学模型在无人机编队控制问题中,通常采用带自动驾驶仪的三自由度运动学模型。无人机通过来自速度保持器、俯仰角保持器、航向角保持器的指令信号来保持飞行,即
$ \left\{ {\begin{array}{*{20}{l}} {{{\dot x}_i} = {V_i}{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _i}{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _i}}\\ {{{\dot y}_i} = {V_i}{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _i}{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _i}}\\ {{{\dot z}_i} = {V_i}{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\theta _i}}\\ {{{\dot V}_i} = - \frac{1}{{{\tau _V}}}{V_i} + \frac{1}{{{\tau _V}}}V_i^{\rm{c}}}\\ {{{\dot \varphi }_i} = - \frac{1}{{{\tau _\varphi }}}{\varphi _i} + \frac{1}{{{\tau _\varphi }}}\varphi _i^{\rm{c}}}\\ {{{\ddot \theta }_i} = - \frac{1}{{{\tau _{\dot \theta }}}}{{\dot \theta }_i} - \frac{1}{{{\tau _\theta }}}{\theta _i} + \frac{1}{{{\tau _\theta }}}\theta _i^{\rm{c}}} \end{array}} \right. $ | (3) |
式中:φi为航向角,θi为俯仰角;ci=[Vic, φic, θic]为指令信号,分别对应于自动驾驶仪的速度指令、航向角指令和俯仰角指令;τV、τφ、
$ \left\{ {\begin{array}{*{20}{l}} {{{\dot x}_i} = {v_i}{\rm{cos}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _i}}\\ {{{\dot y}_i} = {v_i}{\rm{sin}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _i}}\\ {{{\dot \varphi }_i} = {\omega _i}}\\ {{{\dot v}_i} = \frac{1}{{{\tau _V}}}(v_i^{\rm{c}} - {v_i})}\\ {{{\dot \varphi }_i} = \frac{1}{{{\tau _\varphi }}}(\varphi _i^{\rm{c}} - {\varphi _i})}\\ {{{\ddot z}_i} = - \frac{1}{{{\tau _{\dot z}}}}{{\dot z}_i} + \frac{1}{{{\tau _z}}}(z_i^{\rm{c}} - {z_i})} \end{array}} \right. $ | (4) |
式中:vi为无人机i在平面XOY内的速度;ẇi为航向角速度;żi和
$ \left\{ {\begin{array}{*{20}{l}} {{v_i} \in ({v_{{\rm{min}}}},{v_{{\rm{max}}}})}\\ {{{\dot v}_i} \in ({a_{{\rm{min}}}},{a_{{\rm{max}}}})}\\ {{{\dot z}_i} \in ({{\dot z}_{{\rm{min}}}},{{\dot z}_{{\rm{max}}}})}\\ {{{\ddot z}_i} \in ({{\ddot z}_{{\rm{min}}}},{{\ddot z}_{{\rm{max}}}})}\\ {{{\dot \varphi }_i} \in ({\omega _{{\rm{min}}}},{\omega _{{\rm{max}}}})} \end{array}} \right. $ | (5) |
式中:下标min和max分别表示相应变量的最小值与最大值。
1.3 一致性算法基本原理对于任意一个航行体,其运动状态可用微分方程描述为
$ {\dot x_i} = v,{\dot v_i} = u\quad i = 1,2, \cdots ,n $ | (6) |
式中:n为航行体的数量;xi∈Rm为航行体的状态;vi∈Rm为航行体状态的微分;ui∈Rm为控制输入。由式(6)给出基本的一致性算法为
$ {u_i} = - \sum\limits_{j = 1}^n {{a_{ij}}} [({x_i} - {x_j}) + \alpha ({v_i} - {v_j})] $ | (7) |
式中:i与j表示2个不同的航行体;α为一个表示增益的正数;aij为邻接矩阵An的元素,表示航行体之间的通信拓扑关系。如果航行体i能接收到航行体j的信息,则aij=1,否则aij=0。本文中无人机间的通信拓扑关系不是主要的研究内容,假设aij=1(i, j=1, 2, …, n, i≠j),即任意2架无人机间均可以互相向对方发送和接收对方的信息,通信拓扑为一个有向完全图,有关有向完全图的定义和性质可参考文献[23]。
对于n架无人机,定义其通信拓扑结构为Gn,拉普拉斯矩阵Ln中的元素lij可定义为
$ {l_{ij}} = \left\{ {\begin{array}{*{20}{l}} { - {a_{ij}}}&{i \ne j}\\ {\sum\limits_{i \ne j,j = 1}^n {{a_{ij}}} }&{i = j} \end{array}} \right. $ | (8) |
假设无人机在飞行过程中xi和vi的通信拓扑关系保持一致,给出一致性算法的收敛条件:
定理 如果Gn中含有一簇有向生成树,并且α>α,则无人机编队的状态能够渐进达到一致。其中,如果-Ln的所有n-1个非零特征值均为负数,则=0,否则
$ \bar \alpha = \mathop {{\rm{max}}}\limits_{\forall {\rm{Re}} ({\mu _i}) < 0, {\rm{Im}} ({\mu _i}) > 0} \sqrt {\frac{2}{{|{\mu _i}|{\rm{cos}}\left( {{\rm{arctan}}\frac{{ {\rm{Im}} ({\mu _i})}}{{ - {\rm{Re}} ({\mu _i})}}} \right)}}} $ | (9) |
式中:μi为-Ln的第i个特征值,Re(μi)和Im(μi)为μi的实数和虚数部分。以上定理的证明过程可参见文献[15]。
以上定理表明,当无人机编队的状态根据一致性算法能够收敛时,即对于任意的初始状态xi(0)和vi(0),当t→∞时,有|xi(t)-xj(t)|→0和vi(t)-vj(t)→0。要使无人机编队的状态收敛到一致,则要设置合理的通信拓扑结构与α值。
2 改进的一致性算法鉴于一致性算法式(7)中未考虑对无人机机动与飞行性能的约束(即式(5)中的约束条件)与无人机之间发生碰撞的可能,需要对一致性算法进行改进,以满足无人机编队实际飞行的要求。
首先基于一致性算法对无人机的飞行状态(航向角φi、XOY平面内速度vi、飞行高度zi)进行控制。由于在飞行状态控制律中未包括编队队形信息(Rx、Ry和Rz),为了使控制指令与不同方向编队队形信息相对应,设计各运动方向上的一致性算法,使得无人机同时满足状态一致与指定队形要求。
随后对由所设计的一致性算法生成的控制指令进行修正,使其自身和所对应的状态输出均满足无人机机动与飞行性能约束,且无人机之间不发生碰撞。修正分为2个层次进行:先使得无人机控制指令与飞行状态满足机动性与飞行性能约束,再进一步修正OZ轴方向的控制指令防止无人机之间的碰撞。以上修正步骤不能交换的原因在于将满足防碰撞约束的控制指令进一步修正时可能会使得修正后的控制指令再次不满足防碰撞约束,影响无人机飞行安全。
2.1 编队状态控制状态控制是指让编队中无人机的某些飞行状态分别收敛到相同的值。无人机飞行状态收敛是编队队形收敛的必要条件,故本节基于一致性算法式(7),首先讨论编队状态控制律的设计问题。
由式(4)可以看出,航向角φi、XOY平面内速度vi、飞行高度zi是3个独立的运动自由度,当φic、vic与zic的值(即状态的指令信号值)给定后,无人机的飞行状态便可完全确定。由一致性算法式(7),可推导出用于求解φic、vic与zic的控制律为
$ \left\{ \begin{array}{l} \varphi _i^{\rm{c}} = {\varphi _i} + {\tau _\varphi }{u_{\varphi i}}\\ {u_{\varphi i}} = - {b_i}({\varphi _i} - {\varphi ^*}) - \sum\limits_{j = 1}^n {{a_{ij}}} ({\varphi _i} - {\varphi _j}) \end{array} \right. $ | (10) |
$ \left\{ \begin{array}{l} v_i^{\rm{c}} = {v_i} + {\tau _v}{u_{vi}}\\ {u_{vi}} = - {c_i}({v_i} - {v^*}) - \sum\limits_{j = 1}^n {{a_{ij}}} ({v_i} - {v_j}) \end{array} \right. $ | (11) |
$ \left\{ {\begin{array}{*{20}{l}} {z_i^{\rm{c}} = {z_i} + \frac{{{\tau _z}}}{{{\tau _{\dot z}}}}{{\dot z}_i} + {\tau _z}{u_{zi}}}\\ {{u_{zi}} = - {d_i}({z_i} - {z^*}) - k{{\dot z}_i} - \sum\limits_{j = 1}^n {{a_{ij}}} [({z_i} - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {z_j}) + \gamma ({{\dot z}_i} - {{\dot z}_j})]} \end{array}} \right. $ | (12) |
式中:φ*、v*、z*分别为无人机编队的理想航向角、XOY平面内理想速度、理想飞行高度,即要求无人机的飞行状态收敛到以上值。τv为XOY平面内速度常数; bi、ci、di是控制系数且要求满足bi, ci, di>0。可以看出,uφi、uvi、uzi控制律的表达形式与式(7)一致性算法相同,只是多了第1项用于表示对应状态的跟踪目标,而第2项均是保证所有无人机的该状态都能收敛到同一个值。uφi、uvi、uzi可以被视作无人机对当前编队飞行状态的反馈信号,可为生成飞行状态的指令信号(φic、vic与zic)提供重要信息,见式(10)~式(12)中的第1个等式。
2.2 编队队形控制式(10)~式(12)的控制律可以使编队中各无人机以相同的飞行速度在指定高度上朝相同方向飞行。但由于上述控制律中未考虑无人机之间的相对位置关系,故无人机无法以指定队形飞行。应当加入无人机位置关系矩阵Rx、Ry和Rz信息,进一步设计编队队形控制律。考虑到Rx和Ry是沿OX与OY轴方向对无人机间的相对位置进行描述的,与式(10)、式(11)中涉及的飞行状态描述方式不同,但相互间又存在转换关系,本节首先将无人机的运动统一在沿OX、OY与OZ轴3个方向进行描述,对式(10)与式(11)的控制律在形式上进行改写。最后将无人机沿OX、OY与OZ轴3个方向的相对位置信息分别加入到相应方向的编队状态控制律中,形成编队队形控制律。
状态控制律中φi和vi与矩阵Rx和Ry中元素物理意义不同,不能简单地直接进行运算,需要根据φi和vi与无人机沿OX和OY轴速度之间的关系进行转换
$ \left\{ {\begin{array}{*{20}{l}} {{\rm{tan}}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\varphi _i} = \frac{{{v_{yi}}}}{{{v_{xi}}}}}\\ {{v_i} = \sqrt {v_{xi}^2 + v_{yi}^2} } \end{array}} \right. $ | (13) |
式中:vxi与vyi分别为无人机i沿OX轴与OY轴的速度。通过式(13),可将φi与vi用vxi与vyi来表示,带自动驾驶仪的无人机运动学方程式(4)也可转换为
$ \left\{ {\begin{array}{*{20}{l}} {{{\dot x}_i} = {v_{xi}}}\\ {{{\dot y}_i} = {v_{yi}}}\\ {{{\dot z}_i} = {v_{zi}}}\\ {{{\dot v}_{xi}} = \frac{1}{{{\tau _v}}}(v_{xi}^{\rm{c}} - {v_{xi}})}\\ {{{\dot v}_{yi}} = \frac{1}{{{\tau _v}}}(v_{yi}^{\rm{c}} - {v_{yi}})}\\ {{{\ddot z}_i} = - \frac{1}{{{\tau _{\dot z}}}}{{\dot z}_i} + \frac{1}{{{\tau _z}}}(z_i^{\rm{c}} - {z_i})} \end{array}} \right. $ | (14) |
式中:vzi为沿OZ轴的速度,即无人机i的爬升率。式(14)中,无人机控制指令变为ci=[vxic, vyic, zic],状态量为xi=[xi, yi, zi, vxi, vyi, vzi],而约束条件仍然保持式(5)的形式。
当无人机编队形成稳定队形时,对于每架无人机都有xi-xj=xij、yi-yj=yij与zi-zj=zij,其中xij、yij与zij分别为无人机i与j之间在OX轴、OY轴、OZ轴方向上的理想距离,xij、yij与zij也分别对应于Rx、Ry和Rz中第i行第j列的元素。由基本的一致性算法式(7),可得到无人机编队控制算法
$ \left\{ \begin{array}{l} v_{xi}^{\rm{c}} = {v_{xi}} + {\tau _v}{u_{xi}}\\ {u_{xi}} = - {b_i}({v_{xi}} - v_x^*) - \mathop \sum \limits_{j = 1}^n [{a_{ij}}({v_{xi}} - {v_{xj}}) - \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} k_i^x({x_i} - {x_j} - {{\bar x}_{ij}})] \end{array} \right. $ | (15) |
$ \left\{ \begin{array}{l} v_{yi}^{\rm{c}} = {v_{yi}} + {\tau _v}{u_{yi}}\\ {u_{yi}} = - {c_i}({v_{yi}} - v_y^*) - \mathop \sum \limits_{j = 1}^n [{a_{ij}}({v_{yi}} - {v_{yj}}) - \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} k_i^y({y_i} - {y_j} - {{\bar y}_{ij}})] \end{array} \right. $ | (16) |
$ \left\{ \begin{array}{l} z_i^{\rm{c}} = {z_i} + \frac{{{\tau _z}}}{{{\tau _{\dot z}}}}{{\dot z}_i} + {\tau _z}{u_{zi}}\\ {u_{zi}} = - {d_i}(zi - z_{}^*) - k{{\dot z}_i}\mathop \sum \limits_{j = 1}^n {a_{ij}}[({{\dot z}_i} - \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {z_j} - {{\bar z}_{ij}}) + \gamma ({{\dot z}_i} - {{\dot z}_j})] \end{array} \right. $ | (17) |
式中:kix、kiy与γ为可调的参数。与状态控制律式(10)~式(12)相比,编队队形控制算法中加入了无人机间的相对位置信息。经式(13)的变换后,无人机在XOY平面内的飞行速度vi与航向角可分别收敛到
需要指出的是,式(15)~式(17)的编队队形控制算法可用于无人机编队集结、队形变换等情形。编队集结是指无人机从不同的初始状态经编队控制算法形成稳定队形的过程。队形变换是根据任务需求,将编队队形由一个稳定状态转换到另一个稳定状态的过程,即以某一稳定队形为初始状态,并改变矩阵Rx、Ry和Rz,利用式(15)~式(17)的编队控制算法便可实现。
2.3 基于“最小调整”策略的约束条件处理方法2.2节在设计编队队形控制算法时并没有考虑式(5)中的约束条件,使得生成的控制指令及相应的飞行状态可能不满足无人机机动性与飞行性能要求。针对以上问题,本节提出“最小调整”策略对由2.2节编队队形控制算法生成的控制指令进行调整。由于无人机在XOY平面与OZ轴的运动相对独立,故调整分为两步进行。首先对XOY平面内的控制指令uxi和uyi进行调整,使其满足XOY平面内加速度
首先对式(15)与式(16)中的uxi与uyi进行调整,与这两个变量有关的约束条件为加速度
$ \left\{ {\begin{array}{*{20}{l}} {{a_i}(t) = \sqrt {u_{xi}^2(t) + u_{yi}^2(t)} }\\ {{v_i}(t + \Delta t) = {v_i}(t) + {a_i}(t)\Delta t} \end{array}} \right. $ | (18) |
式中:ai(t)为t时刻无人机i在XOY平面内的加速度(与
$ \left\{ {\begin{array}{*{20}{l}} {a_{{\rm{min}},i}^\prime (t) = \frac{{{v_{{\rm{min}}}} - {v_i}(t)}}{{\Delta t}}}\\ {a_{{\rm{max}},i}^\prime (t) = \frac{{{v_{{\rm{max}}}} - {v_i}(t)}}{{\Delta t}}} \end{array}} \right. $ | (19) |
式中:a′min, i(t)与a′max, i(t)对应于t+Δt时刻飞行速度分别为vmin与vmax时无人机i在t时刻的加速度,即为满足XOY平面内飞行速度vi(t+Δt)约束,加速度ai(t)允许的取值范围为[a′min, i(t), a′max, i(t)]。将a′min, i(t)与amin、a′max, i(t)与amax分别进行比较,得到更新后的关于加速度ai(t)的约束条件为
$ \left\{ {\begin{array}{*{20}{l}} {a_{{\rm{min}},i}^{{\rm{ new }}}(t) = {\rm{max}}({a_{{\rm{min}}}},a_{{\rm{min}},i}^\prime (t))}\\ {a_{{\rm{max}},i}^{{\rm{ new }}}(t) = {\rm{min}}(a_{{\rm{max}},i}^\prime (t),{a_{{\rm{max}}}})} \end{array}} \right. $ | (20) |
式中:amin, inew(t)与amax, inew(t)分别为加速度ai(t)允许的下限与上限。式(20)中实际上也包括了对速度vi(t+Δt)的约束,因此,只要无人机i的加速度ai(t)满足式(20),便可同时满足对XOY平面内加速度与速度的两个约束条件。如果vi(t+Δt)的值满足约束条件vi(t+Δt)∈(vmin, vmax),则amin与amax的值无需用式(21)进行更新。下一步将利用约束ai(t)∈[amin, inew(t), amax, inew(t)]对uxi(t)与uyi(t)的值进行调整,使它们满足约束条件要求。
从式(15)与式(16)可以看出,uxi(t)与uyi(t)即为无人机i在t时刻分别沿OX轴与OY轴的加速度值。由于对加速度ai(t)的约束条件是相对于XOY平面的,所以对uxi(t)与uyi(t)的调整需同步进行,且对原加速度值的影响要尽量小。提出调整uxi(t)与uyi(t)的策略为
$ \left\{ \begin{array}{l} u_{xi}^\prime (t) = a_{{\rm{max}},i}^{{\rm{ new }}}(t)\frac{{{u_{xi}}(t)}}{{{a_i}(t)}},u_{yi}^\prime (t) = a_{{\rm{max}},i}^{{\rm{ new }}}(t)\frac{{{u_{yi}}(t)}}{{{a_i}(t)}}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {a_i}(t) > a_{{\rm{max}},i}^{{\rm{ new }}}(t)\\ u_{xi}^\prime (t) = a_{{\rm{min}},i}^{{\rm{ new }}}(t)\frac{{{u_{xi}}(t)}}{{{a_i}(t)}},u_{yi}^\prime (t) = a_{{\rm{min}},i}^{{\rm{ new }}}(t)\frac{{{u_{yi}}(t)}}{{{a_i}(t)}}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {a_i}(t) < a_{{\rm{min}},i}^{{\rm{ new }}}(t) \end{array} \right. $ | (21) |
式中:u′xi(t)与u′yi(t)分别为对uxi(t)与uyi(t)进行调整后的值。利用式(21),可将加速度ai(t)调整至其约束条件阈值amin, inew(t)或amax, inew(t),并且对uxi(t)与uyi(t)进行调整的比例相同(同时放大或缩小相同倍数),保证了加速度ai(t)经调整后其方向仍保持不变。经过以上调整,u′xi(t)与u′yi(t)的值满足XOY平面内的加速度与速度约束条件,且调整幅度最小(调整至其约束条件阈值)。
下一步将对XOY平面内的航向角速度
$ \left\{ {\begin{array}{*{20}{l}} {{\varphi _{{\rm{max}},i}}(t + \Delta t) = {\varphi _i}(t) + {\omega _{{\rm{max}}}}\Delta t}\\ {{\varphi _{{\rm{min}},i}}(t + \Delta t) = {\varphi _i}(t) + {\omega _{{\rm{min}}}}\Delta t} \end{array}} \right. $ | (22) |
同时,下一采样时刻航向角φi(t+Δt)的值可由u′xi(t)与u′yi(t)的值确定,即
$ {\varphi _i}(t + \Delta t) = {\rm{arctan}}\frac{{{v_{yi}}(t) + u_{yi}^\prime (t)\Delta t}}{{{v_{xi}}(t) + u_{xi}^\prime (t)\Delta t}} $ | (23) |
式中:vxi(t)与vyi(t)分别为t时刻无人机i沿OX轴与OY轴的速度。若φi(t+Δt)∉[φmin, i(t+Δt), φmax, i(t+Δt)],则u′xi(t)与u′yi(t)的值可通过求解式(24)或式(25)中的方程组进行调整。
$ \left\{ {\begin{array}{*{20}{l}} {\frac{{{v_{yi}}(t) + u_{yi}^{\prime \prime }(t)\Delta t}}{{{v_{xi}}(t) + u_{xi}^{\prime \prime }(t)\Delta t}} = {\rm{tan}}({\varphi _{{\rm{max}},i}}(t + \Delta t))}\\ {u_{xi}^{\prime \prime 2}(t) + u_{yi}^{\prime \prime 2}(t) = a_i^{\prime 2}(t)}\\ {{\varphi _i}(t + \Delta t) > {\varphi _{{\rm{max}},i}}(t + \Delta t)} \end{array}} \right. $ | (24) |
$ \left\{ {\begin{array}{*{20}{l}} {\frac{{{v_{yi}}(t) + u_{yi}^{\prime \prime }(t)\Delta t}}{{{v_{xi}}(t) + u_{xi}^{\prime \prime }(t)\Delta t}} = {\rm{tan}}({\varphi _{{\rm{min}},i}}(t + \Delta t))}\\ {u_{xi}^{\prime \prime 2}(t) + u_{yi}^{\prime \prime 2} = a_i^{\prime 2}(t)}\\ {{\varphi _i}(t + \Delta t) < {\varphi _{{\rm{min}},i}}(t + \Delta t)} \end{array}} \right. $ | (25) |
式中:u″xi(t)与u″yi(t)为经u′xi(t)与u′yi(t)调整后的值。式(24)和式(25)为二元二次方程组,通常情况下有两组不同的解,分别记为u″xi1(t)、u″yi1(t)与u″xi2(t)、u″yi2(t)。由于两组解均满足航向角速度i的约束条件,需要根据“最小调整”策略进一步确定最终选取哪一组作为调整后的结果。
令
以上对uxi(t)与uyi(t)进行调整的过程中,先将对XOY平面内速度的约束转换到对加速度的约束中,在保证加速度不超出阈值的前提下等比例调整uxi(t)与uyi(t),调整后的uxi(t)和uyi(t)值分别为u″xi(t)和u″yi(t)。再根据航向角速度约束再次对u″xi(t)与u″yi(t)进行调整,最后根据对加速度方向调整最小的原则确定u″xi(t)与u″yi(t)的值。以上过程使得对uxi(t)与uyi(t)的调整最小且满足XOY平面内的约束条件。
对于沿OZ轴方向的约束条件,即对无人机的爬升率
$ {\dot z_i}(t + \Delta t) = {\dot z_i}(t) + {u_{zi}}(t)\Delta t $ | (26) |
若
$ \left\{ {\begin{array}{*{20}{l}} {\ddot z_{{\rm{min}},i}^\prime (t) = \frac{{{{\dot z}_{{\rm{min}}}} - {{\dot z}_i}(t)}}{{\Delta t}}}\\ {\ddot z_{{\rm{max}},i}^\prime (t) = \frac{{{{\dot z}_{{\rm{max}}}} - {{\dot z}_i}(t)}}{{\Delta t}}} \end{array}} \right. $ | (27) |
式中:
$ \left\{ {\begin{array}{*{20}{l}} {\ddot z_{{\rm{min}},i}^{{\rm{new}}}(t) = {\rm{max}}({{\ddot z}_{{\rm{min}}}},\ddot z_{{\rm{min}},i}^\prime (t))}\\ {\ddot z_{{\rm{max}},i}^{{\rm{new}}}(t) = {\rm{min}}(\ddot z_{{\rm{max}}}^\prime ,{{\ddot z}_{{\rm{max}},i}}(t))} \end{array}} \right. $ | (28) |
式中:
$ u_{zi}^\prime (t) = {\rm{max}}(\ddot z_{\min ,i}^{{\rm{new}}}(t),\min ({u_{zi}}(t),\ddot z_{\max ,i}^{new}(t))) $ | (29) |
式中:u″zi(t)为调整后的爬升加速度值。从式(29)可以看出,当uzi(t)∈
2.3节中设计的对控制指令的“最小调整”策略虽然能保证每架无人机的运动满足机动性和飞行性能的约束条件,但是却未考虑无人机之间发生碰撞的可能。因此,需要对u″xi(t)、u″yi(t)与u″zi(t)进行进一步调整,以满足无人机飞行时的防碰撞要求,使任意2架无人机之间的距离均大于安全距离dsafe。从2.3节中处理XOY平面内约束条件的过程可以看出,OX轴与OY轴运动具有关联性,如果再对u″xi(t)与u″yi(t)的值进行调整,则会使得在XOY平面内本来已经满足的约束条件可能被破坏。而无人机沿OZ轴方向的运动相对独立,因此,只需进一步调整u″zi(t)即可使无人机避免相互碰撞,即通过改变无人机飞行高度的方法来实现防碰撞。设经调整后u″zi(t)的值变为u″zi(t),本节采用离子群算法对u″zi(t)的值进行优化,优化的目标是使调整最小,即u″zi(t)-u″zi(t)最小。约束条件为由无人机机动性与飞行性能确定u″zi(t)的取值范围,以及无人机之间的距离必须大于安全距离dsafe。
首先根据当前u″zi(t)值,利用u″xi(t)与u″yi(t)值与式(14)计算出t+Δt时刻无人机的位置,判断无人机之间的距离是否小于dsafe,若任意2架无人机之间的距离均大于dsafe,则无需执行防撞策略,u″zi(t)=u″zi(t),否则必须对u″zi(t)的值进行调整,用粒子群算法优化u″zi(t)的值。
在此优化问题中,待优化变量为u″zi(t),记待优化变量组成的向量为u″z=[u″z1(t), u″z2(t), …u″zi(t), …, u″zn(t)](i=1, 2, …, n),u″zi(t)的取值在区间
$ \begin{array}{l} \Delta {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o) = \bar \omega \Delta {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o - 1) + {c_1}{\rm{ rand 1}} \cdot \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ({\mathit{\boldsymbol{p}}_{ze}}(o) - {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o)) + {c_2}{\rm{ rand 2}} \cdot \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} ({\mathit{\boldsymbol{p}}_{zw}}(o) - {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o)) \end{array} $ | (30) |
$ {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o + 1) = {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o) + \Delta {\mathit{\boldsymbol{u}}^{\prime \prime }}_{ze}(o) $ | (31) |
式中:u″ze(o)(e=1, 2, …, Np; o=1, 2, …, Niter)表示在第o次迭代过程中粒子e的优化变量;Np为粒子的数量,Niter为最大迭代次数;Δu″ze(o)为优化变量的增量。另外,在粒子群优化算法中,w为惯性权重; c1和c2为加速常数; rand1和rand2为区间[0, 1]内服从均匀分布的随机数; pze(o)为粒子e的个体极值对应的优化变量;pzw(o)为全体极值对应的优化变量。u″z的初始值在各架无人机允许值的范围内,即区间
$ J = \sum\limits_{i = 1}^n | {u^{\prime \prime }}_{zi}(t) - u_{zi}^\prime (t)| $ | (32) |
此优化问题中,需要满足的约束条件是任意2架无人机间的距离均大于dsafe。如果在迭代过程中某个粒子不满足以上约束条件,则将式(32)中的J值设置成一个很大的数,以表示其对应的解是不可行的,应当被舍弃。
根据以上描述,无人机防撞策略的实质就是用粒子群算法对无人机爬升加速度在其允许变化范围内进行优化,找出使无人机避免碰撞且对爬升加速度调整最小的解。
2.5 改进一致性算法的收敛性证明2.3与2.4节对由一致性算法生成的控制指令uxi(t)、uyi(t)与uzi(t)进行了调整,以满足飞机机动性、飞行性能与防碰撞的要求。本节通过设计李雅普诺夫函数对改进一致性算法的收敛性进行证明。
本文对一致性算法进行改进的实质是对控制指令在某些时刻进行“限幅”和改变值操作,使调整后控制指令和状态量满足所有约束条件。以上改进过程将由式(6)与式(7)构成的线性系统变成了非线性系统。对于非线性系统的稳定性,需要通过构造李雅普诺夫函数进行证明。在构造李雅普诺夫函数时,通常可通过引入状态量的能量函数,设计李雅普诺夫函数V如式(33)所示,对其求导可得式(34)。
$ V = \frac{1}{2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n n } {({x_i} - {x_j})^2} + \frac{1}{2}\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{{({v_i} - {v_j})}^2}} } $ | (33) |
$ \begin{array}{*{20}{l}} {\dot V = \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n n } ({x_i} - {x_j})({v_i} - {v_j}) + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {({v_i} - {v_j})} } ({u_i} - {u_j})} \end{array} $ | (34) |
式(34)中包含项ui-uj,可利用一致性算法式(7)将其表示成状态变量的形式,推导过程为
$ \begin{array}{l} {u_i} - {u_j} = - \sum\limits_{b = 1}^n {{a_{ik}}} [({x_i} - {x_k}) + \alpha ({v_i} - {v_k})] + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {\sum\limits_{k = 1}^n {{a_{jk}}} [({x_j} - {x_k}) + \alpha ({v_j} - {v_k})] = }\\ {\sum\limits_{k = 1}^n {{a_{jk}}} ({x_j} - {x_k}) - {a_{ik}}({x_i} - {x_k}) + }\\ {\alpha \sum\limits_{k = 1}^n {{a_{jk}}} ({v_j} - {v_k}) - {a_{ik}}({v_i} - {v_k}) = } \end{array}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {{x_j}\sum\limits_{k = 1}^n {{a_{jk}}} - \sum\limits_{k = 1}^n {{a_{jk}}} {x_k} - {x_i}\sum\limits_{k = 1}^n {{a_{ik}}} + \sum\limits_{k = 1}^n {{a_{ik}}} {x_k} + }\\ {\alpha \left( {{v_j}\sum\limits_{k = 1}^n {{a_{jk}}} - \sum\limits_{k = 1}^n {{a_{jk}}} {v_k} - {x_i}\sum\limits_{k = 1}^n {{a_{ik}}} + } \right.} \end{array}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {\left. {\sum\limits_{k = 1}^n {{a_{ik}}} {v_k}} \right) = {x_j}\sum\limits_{k = 1}^n {{a_{jk}}} - {x_i}\sum\limits_{k = 1}^n {{a_{ik}}} - }\\ {\sum\limits_{k = 1}^n {({a_{jk}} - {a_{ik}})} {x_k} + \alpha \left[ {{v_j}\sum\limits_{k = 1}^n {{a_{jk}}} - } \right.}\\ {\left. {{v_i}\sum\limits_{k = 1}^n {{a_{ik}}} - \sum\limits_{k = 1}^n {({a_{jk}} - {a_{ik}})} {v_k}} \right]} \end{array} \end{array} $ | (35) |
考虑编队通信拓扑结构为有向完全图的情况,则有:
$ {u_i} - {u_j} = n({x_j} - {x_i}) + n\alpha ({v_j} - {v_i}) $ | (36) |
在改进的一致性算法中,对由式(7)计算出的ui值进行了修正,其数学形式可表示为ui-Δui。则有:
$ ({u_i} - \Delta {u_i}) - ({u_j} - \Delta {u_j}) = n({x_j} - {x_i}) + n\alpha ({v_j} - {v_i}) $ | (37) |
将式(37)代入式(36),有
$ \begin{array}{l} \dot V = \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n n } ({x_i} - {x_j})({v_i} - {v_j}) + \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {({v_i} - {v_j})} } [ - n({x_i} - {x_j}) - }\\ {n\alpha ({v_i} - {v_j}) + \Delta {u_i} - \Delta {u_j}] = }\\ {\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {({v_i} - {v_j})} } [ - n\alpha ({v_i} - {v_j}) + } \end{array}\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \begin{array}{*{20}{l}} {\Delta {u_i} - \Delta {u_j}] = - n\alpha \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{{({v_i} - {v_j})}^2}} } + }\\ {\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {({v_i} - {v_j})} } (\Delta {u_i} - \Delta {u_j}) \le }\\ { - (n\alpha - 0.5)\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{{({v_i} - {v_j})}^2}} } + }\\ {0.5\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n {{{(\Delta {u_i} - \Delta {u_j})}^2}} } } \end{array} \end{array} $ | (38) |
为表达方便,令
$ \dot V \le - \left( {n\alpha - \frac{1}{2}} \right)\sum\limits_{l = 1}^n {\sum\limits_{j = 1}^n {{{({v_i} - {v_j})}^2}} } + \Delta U $ | (39) |
式(39)中,若
$ \dot V \le - \left( {n\alpha - \frac{1}{2}} \right){\mathit{\boldsymbol{y}}^{\rm{T}}}\mathit{\boldsymbol{y}} + \Delta U $ | (40) |
则当
以上稳定性证明过程表明,只要ΔU有界,改进的一致性算法就能收敛到一个0附近的区间,即以牺牲一定的稳定误差为代价来保证算法的收敛性。
3 仿真验证与结果分析为验证所提出改进一致性算法的有效性,本文以8架无人机组成的编队为例,分别设计了3组仿真算例。首先验证状态控制算法的有效性,同时也表明状态控制算法不能收敛到指定队形。第2组算例对基于改进一致性算法的编队控制进行仿真,对比了是否考虑无人机机动性与飞行性能约束条件2种情况,表明了所提出的约束条件处理策略及防碰撞策略的有效性。最后,考虑无人机编队形成后需要变换队形的情况,表明所提出的编队控制算法可用于多种任务。以上算例中,假设编队通信拓扑结构为完全图,即任意2架无人机间均可以向对方发送和接收对方的信息。在第1、2组仿真算例中,无人机队形信息与相对位置关系矩阵Rx、Ry和Rz如图 1与式(41)所示。
$ \begin{array}{l} {\mathit{\boldsymbol{R}}_x} = \left[ {\begin{array}{*{20}{c}} 0&{ - 40}&{ - 20}&{ - 80}&{ - 40}&{ - 100}&{ - 80}&{ - 120}\\ {40}&0&{20}&{ - 40}&0&{ - 60}&{ - 40}&{ - 80}\\ {20}&{ - 20}&0&{ - 60}&{ - 20}&{ - 80}&{ - 60}&{ - 100}\\ {80}&{40}&{60}&0&{40}&{ - 20}&0&{ - 40}\\ {40}&0&{20}&{ - 40}&0&{ - 60}&{ - 40}&{ - 80}\\ {100}&{60}&{80}&{20}&{60}&0&{20}&{ - 20}\\ {80}&{40}&{60}&0&{40}&{ - 20}&0&{ - 40}\\ {120}&{80}&{100}&{40}&{80}&{20}&{40}&0 \end{array}} \right]\\ {\mathit{\boldsymbol{R}}_y} = \left[ {\begin{array}{*{20}{c}} 0&{20}&{40}&{40}&{80}&{80}&{100}&{120}\\ { - 20}&0&{20}&{20}&{60}&{60}&{80}&{100}\\ { - 40}&{ - 20}&0&0&{40}&{40}&{60}&{80}\\ { - 40}&{ - 20}&0&0&{40}&{40}&{60}&{80}\\ { - 80}&{ - 60}&{ - 40}&{ - 40}&0&0&{20}&{40}\\ { - 80}&{ - 60}&{ - 40}&{ - 40}&0&0&{20}&{40}\\ { - 100}&{ - 80}&{ - 60}&{ - 60}&{ - 20}&{ - 20}&0&{20}\\ { - 120}&{ - 100}&{ - 80}&{ - 80}&{ - 40}&{ - 40}&{ - 20}&0 \end{array}} \right]\\ {\mathit{\boldsymbol{R}}_z} = \left[ {\begin{array}{*{20}{l}} 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0 \end{array}} \right] \end{array} $ | (41) |
由式(41)可以看出,当编队稳定时,所有无人机都处于同一高度飞行。无人机的初始状态如表 1所示,约束条件及算法中的参数设置如表 2所示。
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
x(0)/m | 0 | 50 | 100 | 150 | 200 | 250 | 300 | 350 |
y(0)/m | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
z(0)/m | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
v(0)/(m·s-1) | 74 | 97 | 102 | 73 | 51 | 132 | 81 | 41 |
φ(0)/rad | ||||||||
ż(0)/(m·s-1) | 8 | 5 | 5 | 9 | 3 | 4 | 8 | 6 |
参数 | vmin/ (m·s-1) |
vmax/ (m·s-1) |
amin /g |
amax /g |
żmin/ (m·s-1) |
数值 | 10 | 600 | -5 | 5 | -30 |
参数 | żmax/ (m·s-1) |
(m·s-2) |
(m·s-2) |
ωmin/ (rad·s-1) |
ωmax/ (rad·s-1) |
数值 | 30 | -5 | 5 | -π/4 | π/4 |
参数 | τv/ (s-1) |
τz/ (s-1) |
(s-1) |
Np | Niter |
数值 | 4 | 0.05 | 1.184 | 20 | 20 |
在无人机编队飞行过程中,假设理想飞行状态分别为
利用2.1节提出的编队状态控制算法,并且采用2.3节的约束条件处理策略,得到仿真结果如图 2与图 3所示。
从图 2中可以看出,无人机编队的速度与航向角可以快速分别趋于一致,并最终等于期望的速度与航向角值。相比于航向角速度,飞行高度的响应速度较慢,但最终还是可以收敛到期望高度。这是因为与速度和航向角的控制律相比,高度控制律是基于二阶微分方程的,即对速度和航向角的控制通过改变加速度与航向角速度来实现,而对高度的控制则通过改变爬升加速度来实现,需要经过两次积分过程才能得到高度值,故响应过程较慢。另外,从图 2(d)XOY平面内飞行轨迹可以看出无人机没有形成任何队形,说明只运用状态控制算法还不能使无人形成队形,需要加入无人机间的相互位置关系,利用编队队形控制算法进行求解。
图 3中检验了所提出的“最小调整”约束条件处理策略的有效性,可以看到,在XOY平面内,加速度、航向角速度均满足约束条件,而且在个别点处加速度与航向角速度接近于临界值,说明了该策略能够起到“限幅”作用。在OZ轴方向,爬升率与爬升加速度也满足约束条件要求。
3.2 无人机编队队形控制本节采用的参数设置与无人机初始条件均与3.1节相同,在加入无人机间的相对位置信息后,设置无人机间的安全距离dsafe=15 m,采用所提出的编队队形控制算法,得到无人机编队飞行轨迹如图 4所示。
图 4(b)中,通过放大的细节可以看出,采用改进的一致性算法,处于不同初始状态的无人机能够收敛到指定的队形,并保持该队形飞行。图 5与图 6给出了与图 4结果相对应的无人机编队飞行状态和约束条件值。
同样,无人机编队的速度、航向角、飞行高度均可收敛到指定的理想值,且各项约束条件均能满足。图 5中“无人机与其他飞机间最小距离”指的是在某一时刻某1架无人机与其他7架无人机距离中的最小值,最小距离值(最小值为17.77 m)均大于机间最小安全距离,能够防止无人机间相互碰撞。
为进一步说明所提出“最小调整”约束条件处理策略的有效性,给出了在不采用此策略下无人机编队的飞行轨迹与状态,如图 7~图 9所示。
以上仿真结果中,在不考虑约束条件时,无人机编队仍然可以收敛到指定飞行状态,并保持指定队形。但是在达到收敛状态前,在XOY平面内,无人机的加速度与航向角速度在某些时刻均超出了允许范围。对比图 6与图 9中XOY平面内加速度,发现图 6中,在采用本文提出的约束条件调整策略后,axy的值并不都处于最小值或最大值处,与图 9中不考虑约束条件时的结果不能相互佐证。原因在于对XOY平面内约束中,不仅包括对加速度和速度的约束,也包括对航向角的约束,而且这些约束间是相互影响的。对于加速度而言,一方面需要进行调整满足加速度与速度约束条件,根据本文提出的调整策略,调整后的加速度值应处于最大值或最小值处;另一方面,为了满足航向角的约束条件,OX轴方向与OY轴方向的加速度需要进行再次调整,调整后加速度就可能出现没有维持在最大值或最小值处的现象。在沿OZ轴方向,无人机爬升率与爬升加速度在某些时刻也违背了约束条件,这使得生成的指令信号对于无人机来说在实际飞行过程中是不可行的。另外,无人机间的最小距离在少数时刻也略小于最小安全距离(最小值为14.05 m),使得无人机间存在相互碰撞的风险。
下面将用文献[21]中提出的基于人工势场的避障方法与本文提出的防碰撞策略进行比较。在式(17)的基础上,在OZ轴方向加入了人工势场力以防止无人机之间的碰撞,控制律的表达式为
$ \begin{array}{*{20}{l}} {{u_{zi}} = - {d_i}({z_i} - {z^*}) - k{{\dot z}_i} - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \sum\limits_{i = 1}^n {{a_{ij}}} [{z_i} - {z_j} - {{\bar z}_{ij}} + \gamma ({{\dot z}_i} - {{\dot z}_j})] + {f_{c{a_i}}}} \end{array} $ | (42) |
$ {\mathit{\boldsymbol{f}}_{ca}} = - \nabla {U_c} = {\left[ {\frac{{\partial {U_c}}}{{\partial {h_1}}},\frac{{\partial {U_c}}}{{\partial {h_2}}}, \cdots ,\frac{{\partial {U_c}}}{{\partial {h_n}}}} \right]^{\rm{T}}} $ | (43) |
式中:fcai为定义的每架无人机的势场力,其具体的推导过程可详见文献[21]中式(7)~式(11)。设置无人机间在XOY平面内的安全距离ΔR=10 m,无人机沿OZ轴方向的安全距离ΔH=10 m。需要注意的是,人工势场力仅当2架无人机间在XOY平面内的距离小于2ΔR或沿OZ轴方向的距离小于2ΔH时才产生,否则仍用式(17)来计算uzi的值。计算人工势场力时参数Kh的值设为1(见文献[21]中式(8))。在以上设置下,仿真得到无人机与其他飞机间最小距离”随时间变化曲线如图 10所示。
从图 10可以看出,无人机之间的距离最小值为14.88 m,比未考虑机间碰撞的情形(图 8)相比无人机间的距离有所增加,但仍小于本文所规定的安全距离(dsafe=15 m)。以上结果说明人工势场法在某些情况下并不能完全使无人机避免碰撞,原因在于未考虑无人机飞行速度的影响,可靠性不高,有待进一步改进。
通过以上仿真结果的对比可以看出,本文提出的“最小调整”约束条件处理策略与基于粒子群算法的防碰撞策略有效,能够保证生成的指令信号在无人机实际飞行过程中有效,并能防止机间碰撞。
3.3 无人机编队队形变换飞行控制仿真为说明本文设计的一致性算法可用于无人机编队队形变换任务,本节用一个综合算例进行仿真。仿真中无人机编队的飞行过程设置如下:
无人机的初始状态与3.2节中设置相同,理想编队队形描述如图 11与式(44)所示。当t=30 s时,要求编队变换到图 1与式(41)描述的队形,队形的理想速度、航向角、飞行高度仍保持不变。以上情形如图 11所示。
$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{R}}_x} = \left[ {\begin{array}{*{20}{c}} 0&{ - 20}&0&{ - 40}&{ - 20}&{ - 40}&{ - 20}&{ - 40}\\ {20}&0&{20}&{ - 20}&0&{ - 20}&0&{ - 20}\\ 0&{ - 20}&0&{ - 40}&{ - 20}&{ - 40}&{ - 20}&{ - 40}\\ {40}&{20}&{40}&0&{20}&0&{20}&0\\ {20}&0&{20}&{ - 20}&0&{ - 20}&0&{ - 20}\\ {40}&{20}&{40}&0&{20}&0&{20}&0\\ {20}&0&{20}&{ - 20}&0&{ - 20}&0&{ - 20}\\ {40}&{20}&{40}&0&{20}&0&{20}&0 \end{array}} \right]\\ {\mathit{\boldsymbol{R}}_y} = \left[ {\begin{array}{*{20}{c}} 0&0&{20}&0&{20}&{20}&{40}&{40}\\ 0&0&{20}&0&{20}&{20}&{40}&{40}\\ { - 20}&{ - 20}&0&{ - 20}&0&0&{20}&{20}\\ 0&0&{20}&0&{20}&{20}&{40}&{40}\\ { - 20}&{ - 20}&0&{ - 20}&0&0&{20}&{20}\\ { - 20}&{ - 20}&0&{ - 20}&0&0&{20}&{20}\\ { - 40}&{ - 40}&{ - 20}&{ - 40}&{ - 20}&{ - 20}&0&0\\ { - 40}&{ - 40}&{ - 20}&{ - 40}&{ - 20}&{ - 20}&0&0 \end{array}} \right],{\mathit{\boldsymbol{R}}_z} = \left[ {\begin{array}{*{20}{l}} 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0 \end{array}} \right] \end{array} \right. $ | (44) |
图 12中,当t=28 s时,无人机编队队形为五边形,到t=40 s时,无人机编队队形已变换为指定的菱形形状。在图 13中,当t=30 s发出编队队形变换指令时,无人机速度与航向角会立即发生变化,随后会很快收敛到理想状态。队形变换过程中,无人机飞行高度不发生变化。由图 14中的结果可知,在整个飞行过程中,无人机的控制信号、飞行状态与机间距离均满足约束条件,保证了所生成的指令信号在实际过程中可行。以上仿真结果表明,本文提出的基于改进一致性算法的编队控制算法可以实现队形形成与变换功能。
4 结论1) 利用无人机各飞行状态间的几何关系,基于带自动驾驶仪的三自由度运动学方程,对基本一致性算法进行改进,在状态控制算法的基础上设计了编队队形控制算法。
2) 提出“最小调整”策略对由编队控制算法生成的指令信号进行调整,使得指令信号满足无人机机动性与飞行性能约束条件,在实际飞行过程中可用。对指令信号的调整分别在XOY平面与OZ轴两个方向进行。
3) 设计基于粒子群算法的无人机防碰撞策略。无人机之间的防碰撞措施在OZ轴方向进行,在允许范围内优化各无人机爬升加速度值,避免碰撞,优化指标为对各无人机原爬升加速度调整之和最小。
4) 仿真结果表明,所提出的改进一致性无人机编队控制算法可用于无人机编队队形成形、变换等任务,具有良好的通用性。
[1] |
张佳龙, 闫建国, 张普. 基于反步推演法的多机编队队形重构控制[J]. 航空学报, 2019, 40(11): 323177. ZHANG J L, YAN J G, ZHANG P. Multi-UAV formation forming reconfiguration control based on back-stepping method[J]. Acta Aeronautica et Astronautica Sinica, 2019, 40(11): 323177. (in Chinese) |
Cited By in Cnki (3) | Click to display the text | |
[2] |
宗群, 王丹丹, 邵士凯, 等. 多无人机协同编队飞行控制研究现状及发展[J]. 哈尔滨工业大学学报, 2017, 49(3): 1-14. ZONG Q, WANG D D, SHAO S K, et al. Research status and development of multi UAV coordinated formation flight control[J]. Journal of Harbin Institute of Technology, 2017, 49(3): 1-14. (in Chinese) |
Cited By in Cnki (121) | Click to display the text | |
[3] | SHAO S, PENG Y, HE C, et al. Efficient path planning for UAV formation via comprehensively improved particle swarm optimization[J]. ISA Transactions, 2019, 97: 415-430. |
Click to display the text | |
[4] | HARIKUMAR K, SENTHILNATH J, SUNDARAM S. Multi-UAV oxyrrhis marina-inspired search and dynamic formation control for forest firefighting[J]. IEEE Transactions on Automation Science and Engineering, 2018, 16(2): 863-873. |
Click to display the text | |
[5] | JU C, SON H I. A distributed swarm control for an agricultural multiple unmanned aerial vehicle system[J]. Proceedings of the Institution of Mechanical Engineers, Part Ⅰ:Journal of Systems and Control Engineering, 2019, 0959651819828460. |
Click to display the text | |
[6] |
王晶, 顾维博, 窦立亚. 基于Leader-Follower的多无人机编队轨迹跟踪设计[J]. 航空学报, 2020, 41(S1): 723758. WANG J, GU W B, DOU L Y. Leader-Follower formation control of multiple UAVs with trajectory tracking design[J]. Acta Aeronautica et Astronautica Sinica, 2020, 41(S1): 723758. (in Chinese) |
Cited By in Cnki (2) | Click to display the text | |
[7] | JIN X Z, WANG S F, YANG G H, et al. Robust adaptive hierarchical insensitive tracking control of a class of leader-follower agents[J]. Information Sciences, 2017, 406: 234-247. |
Click to display the text | |
[8] | EBEGBULEM J, GUAY M. Distributed control of multi-agent systems over unknown communication networks using extremum seeking[J]. Journal of Process Control, 2017, 59: 37-48. |
Click to display the text | |
[9] | JIN X, HADDAD W M. An adaptive control architecture for leader-follower multiagent systems with stochastic disturbances and sensor and actuator attacks[J]. International Journal of Control, 2019, 92(11): 2561-2570. |
Click to display the text | |
[10] |
安永跃, 李淑琴. 基于行为规划的多机器鱼编队策略的研究[J]. 计算机仿真, 2013, 30(11): 369-373. AN Y Y, LI S Q. Study of multiple robotic fishes formation strategy based on behavior planning method[J]. Computer Simulation, 2013, 30(11): 369-373. (in Chinese) |
Cited By in Cnki (13) | Click to display the text | |
[11] |
雷艳敏, 冯志彬, 宋继红. 基于行为的多机器人编队控制的仿真研究[J]. 长春大学学报, 2008(8): 43-47. LEI Y M, FENG Z B, SONG J H. The simulation study on formation control of multi-robot system based on behaviors[J]. Journal of Changchun University, 2008(8): 43-47. (in Chinese) |
Cited By in Cnki (26) | Click to display the text | |
[12] | AHMAD S, FENG Z, HU G. Multi-robot formation control using distributed null space behavioral approach[C]//IEEE International Conference on Robotics & Automation. Piscataway: IEEE Press, 2014. |
[13] |
吕永申, 刘力嘉, 杨雪榕, 等. 人工势场与虚拟结构相结合的无人机集群编队控制[J]. 飞行力学, 2019, 37(3): 43-47. LYU Y S, LIU L J, YANG X R, et al. Formation control of UAV swarm combining artificial potential field and virtual structure[J]. Flight Dynamics, 2019, 37(3): 43-47. (in Chinese) |
Cited By in Cnki (5) | Click to display the text | |
[14] |
王祥科, 李迅, 郑志强. 多智能体系统编队控制相关问题研究综述[J]. 控制与决策, 2013(11): 4-16. WANG X K, LI X, ZHENG Z Q. Survey of developments on multi-agent formation control related problems[J]. Control and Decision, 2013(11): 4-16. (in Chinese) |
Cited By in Cnki (188) | Click to display the text | |
[15] | REN W. Consensus based formation control strategies for multi-vehicle systems[C]//2006 American Control Conference. Piscataway: IEEE Press, 2006: 6. |
[16] | REN W. Consensus strategies for cooperative control of vehicle formations[J]. IET Control Theory & Applications, 2007, 1(2): 505-512. |
Click to display the text | |
[17] |
李静宇, 姚志军, 田睿. 一致性特征点匹配在目标跟踪中的应用[J]. 电子测量技术, 2015(10): 28-31. LI J Y, YAO Z J, TIAN R. Target tracking based on consistency feature points matching[J]. Electronic Measurement Technology, 2015(10): 28-31. (in Chinese) |
Cited By in Cnki (6) | Click to display the text | |
[18] |
刘瑜, 刘俊, 徐从安, 等. 非均匀拓扑网络中的分布式一致性状态估计算法[J]. 系统工程与电子技术, 2018, 40(9): 26-34. LIU Y, LIU J, XU C A, et al. Distributed consensus state estimation algorithm in asymmetrical networks[J]. Systems Engineering and Electronics, 2018, 40(9): 26-34. (in Chinese) |
Cited By in Cnki (3) | Click to display the text | |
[19] |
陈旿, 张鑫, 金鑫, 等. 一种多智能体协同信息一致性算法[J]. 航空学报, 2017, 38(12): 321222. CHEN W, ZHANG X, JIN X, et al. A cooperative information consensus algorithm for multiagent system[J]. Acta Aeronautica et Astronautica Sinica, 2017, 38(12): 321222. (in Chinese) |
Cited By in Cnki (16) | Click to display the text | |
[20] | SUN F, TURKOGLU K. Nonlinear consensus strategies for multi-agent networks under switching topologies:Real-time receding horizon approach[J]. Aerospace Science and Technology, 2019, 87: 323-330. |
Click to display the text | |
[21] | KURIKI Y, NAMERIKAWA T. Consensus-based cooperative formation control with collision avoidance for a multi-UAV system[C]//2014 American Control Conference. Piscataway: IEEE Press, 2014: 2077-2082. |
[22] |
王新民, 王晓燕. 无人机编队飞行技术[M]. 西安: 西北工业大学出版社, 2015: 149-232. WANG X M, WANG X Y. UAV formation flight technology[M]. Xi'an: Northwestern Polytechnical University Press, 2015: 149-232. (in Chinese) |
[23] |
王树禾. 图论[M]. 北京: 科学出版社, 2004: 5-6. WANG S H. Graph theory[M]. Beijing: Science Press, 2004: 5-6. (in Chinese) |
[24] | SHI Y, EBERHART R C. Parameter selection in particle swarm optimization[C]//International Conference on Evolutionary Programming.Berlin: Springer, 1998: 591-600. |