Cooperative Control and Intelligent Optimization for Air-Sea Heterogeneous Unmanned Systems
-
摘要: 为应对日益复杂的海洋任务, 文中构建了一个由空中无人机-无人水面艇-无人水下航行器组成的空海异构无人系统, 研究其协同控制问题。对于异构无人系统的信息交互问题, 各域均由1个领航者与多个跟随者组成, 跨域通信由各域领航者完成。同时, 针对各域领航者轨迹问题, 提出了一种基于人工势场法的协同轨迹规划算法, 使各域领航者能够在避障情况下到达目标位置。对于受限的通信资源问题, 为各域跟随者设计了一种基于间歇通信的脉冲层级编队控制协议, 实现了避障下的编队控制, 且减少了通信开销。另外, 针对协同控制算法的收敛时间和通信能耗的多目标优化问题, 通过设计收缩-扩张系数和动态密集距离策略, 提出了一种改进的多目标量子行为粒子群优化算法, 用于智能选择各域脉冲间隔, 从而使协同控制算法的收敛时间与通信能耗间达到良好折衷。仿真结果表明, 该空海异构无人系统能够在避障下实现编队控制, 同时减少通信开销, 与传统的多目标量子行为粒子群优化算法相比, 所提算法具有更好的收敛性与全局搜索能力。Abstract: In order to cope with increasingly complex ocean missions, an air-sea heterogeneous unmanned system composed of unmanned aerial vehicles(UAVs), unmanned surface vessels(USVs), and unmanned undersea vehicles(UUVs) was constructed to study the cooperative control problem. For the information exchange problem of a heterogeneous unmanned system, each domain consisted of a leader and multiple followers, where cross-domain communication was required between the leaders of each domain. Meanwhile, for the trajectory planning issue of the leader in each domain, a cooperative trajectory planning algorithm based on the artificial potential field method was proposed for the leader in each domain to reach the target location while avoiding obstacles. For the limited communication resources, an impulsive hierarchical formation control protocol with intermittent communication was designed for followers in each domain, which reduces communication overhead while achieving formation control under obstacle avoidance. Besides, for the multi-objective optimization problem of convergence time and communication energy consumption in cooperative control algorithm, an improved multi-objective quantum-behavior particle swarm optimization algorithm was proposed by designing contraction-expansion coefficient and dynamic dense distance strategy, which was used to intelligently select the impulsive interval for each domain, achieving a good compromise between the convergence time and communication energy consumption of cooperative control algorithm. Simulation results demonstrate that the air-sea heterogeneous unmanned system can achieve formation control while avoiding obstacles and reducing communication overhead, and the proposed algorithm has better convergence and global search ability than the traditional multi-objective quantum-behavior particle swarm optimization algorithm.
-
0. 引言
海洋中富含各种生物、矿产资源以及海洋能源, 海洋观测在探索这些丰富的海洋资源与了解海洋现象方面发挥着至关重要的作用。近年来, 自主导航、小型化且智能化的海洋自主无人平台, 如无人水面艇(unmanned surface vessel, USV)和无人水下航行器(unmanned undersea vehicle, UUV)等, 正成为海洋观测的有效观测工具, 且在海洋工程中得到广泛应用[1-2]。
为了完成更复杂的任务, 将具有不同功能的多域自主无人平台组合成一个异构系统, 能够实现能效倍增[3-4]。因此, Jia等[5]研究了由USV和自主水下航行器(autonomous undersea vehicles, AUV)组成的异构无人系统的交会控制问题。与USV相比, 空中无人机(unmanned aerial vehicle, UAV)的速度更快, 覆盖范围更广。于建宇等[6]引入UAV组成UAV-USV-UUV空海异构无人系统, 并提出了跨域协同时钟同步算法。研究空海异构无人系统的协同控制问题是十分必要的。
编队控制通常需通过无人平台与邻居节点间进行信息交互来实现。相比于连续通信, 基于间歇通信的脉冲控制仅在脉冲时刻进行通信, 从而能够在实现控制效果的同时节省通信能耗。Ma等[7]设计了一种脉冲控制协议, 实现了多智能体系统的编队跟踪。针对系统遭受网络攻击时所引起的时延现象, Wan等[8]与Dai等[9]分别提出了相应的时延脉冲控制算法; Lin等[10]进一步考虑脉冲时刻的选取问题, 引入事件触发机制, 提出了一种基于事件触发机制的脉冲控制算法, 实现了多智能体系统一致性; Zhang等[11]进一步提出了基于事件触发的时延脉冲控制算法, 解决了多智能体系统的二部一致性问题。但是, 脉冲间隔的选取通常在满足一定条件下人为选取, 或因引入事件触发机制可能会引起芝诺行为, 同时导致控制算法设计较为复杂, 增加计算量。目前少有研究在选取脉冲间隔时综合考虑收敛时间与通信成本的最优选择。基于此, 如何通过智能优化算法来选取脉冲间隔成为目前有待解决的问题。
多个互相制约的目标优化可以归结为多目标优化问题(multi-objective optimization problem, MOP)[12]。冯茜等[13]基于加权求和法的传统优化方法, 通常将多目标问题分解为单目标问题, 再使用单目标算法完成优化。传统求解MOP的优化方法依赖于先验知识, 须通过多次计算才能逼近Pareto最优解集, 但当问题高维化、复杂化时, 采用传统方法很难找到一组理想的解集。
针对群体中个体间的协作与信息共享问题, 群体智能(swarm intelligence, SI)方法被引入MOP的求解, MOP无需先验知识, 只需运行一次就能得到整个Pareto前沿的逼近。Hu等[14]通过多目标粒子群优化(multi-objective particle swarm optimization,MOPSO)算法分析复杂网络的聚类问题。相比于其他SI算法, MOPSO算法参数少, 易于实现, 能够快速找到全局最优解, 但可能陷入局部最优的不利情况。
根据上述分析, 文中研究UAV-USV-UUV空海异构无人系统的协同控制问题。首先, 针对各域领航者分别提出了一种基于人工势场法的协同轨迹规划算法, 为域内的跟随者们设计了一种脉冲层级控制协议, 从而实现空海异构无人系统的编队控制。其次, 针对综合了收敛时间与通信能耗的MOP问题, 提出一种改进的多目标量子粒子群优化(multi-objective improved quantum particle swarm optimization, MOIQPSO)算法, 智能选取脉冲间隔解集, 从而使协同控制算法的收敛时间与通信能耗间达到良好折衷。
1. 系统模型与问题描述
1.1 网络模型
如图1所示, 空海异构无人系统由3个领航者和N个跟随者组成。领航者集合表示为
$ {\mathcal{N}_{\text{L}}} = \{ {l_{\text{a}}}, {l_{\text{s}}}, {l_{\text{u}}}\} $ , 下标$ {\text{a}} $ 、$ {\text{s}} $ 、$ {\text{u}} $ 分别表示UAV、USV和UUV。跟随者集合表示为$ \mathcal{N}_{\text{F}}=\mathcal{N}_{\text{a}}\cup\mathcal{N}_{\text{s}}\cup\mathcal{N}\mathrm{_u} $ ,$ {\mathcal{N}_{\text{a}}} $ 、$ {\mathcal{N}_{\text{s}}} $ 、$ \mathcal{N}\mathrm{_u} $ 分别表示UAV、USV和UUV集群中跟随者集合。$ \mathcal{G} = (\mathcal{V}, \mathcal{E}, {\boldsymbol{Y}}) $ 为无向跟随图, 表示跟随者间的通信拓扑关系。假设每个网络节点代表一个无人平台, 所有跟随者的集合为$ \mathcal{V} = {\mathcal{N}_{\text{F}}} $ ;$ \mathcal{E} $ 为边的集合, 且$ \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} $ ; 定义$ {\boldsymbol{Y}} = \left[ {{a_{ij}}} \right] $ 为节点间的邻接矩阵(此处及下文中的i、j均表示每个无人平台(节点), 包括UAV、USV和UUV), 如果$ (i, j) \in \mathcal{E} $ , 则$ {a_{ij}} = {a_{ji}} \gt 0 $ ; 反之, 则$ {a_{ij}} = 0 $ ;$ {\mathcal{N}_i} $ 为节点$ i\left( {i \in {\mathcal{N}_{\text{F}}}} \right) $ 的邻居节点集合,$ {\mathcal{N}_i} = \{ j \in \mathcal{V}|(i, j) \in \mathcal{E}, {\text{ }}i \ne j\} $ , 其中$ (i, j) $ 表示节点i能够获取来自节点j的状态信息。另外, 领航跟随图
$ \tilde {\cal{G}} $ 表示领航者与同域跟随者间的通信拓扑关系。同时, 领航者与同域跟随者间信息传递关系用对角矩阵Q表示,$ \boldsymbol{Q}=\text{diag}(b_{1l}, b_{2l},\cdots,b_{N_ll}) $ ,${N_l} $ 表示领航者l同域中跟随者的数量。1.2 无人平台动力学模型
假设UAV为四旋翼无人机[15], 其动力学模型可以用整个机身的刚度和对称结构建模。因此, UAV可以建模成一个2阶非线性模型, 即
$$ \left\{ \begin{gathered} {{\dot {\boldsymbol{x}}}_i}\left( t \right) = {{\boldsymbol{v}}_i}\left( t \right) \\ {{\dot {\boldsymbol{v}}}_i}\left( t \right) = {{\boldsymbol{A}}_i}{{\boldsymbol{u}}_i}\left( t \right) + {{\bar {\boldsymbol{F}}}_i}\left( {{\boldsymbol{v}}, t} \right) \\ \end{gathered} \right. $$ (1) 式中:
$ {{\boldsymbol{x}}_i}(t) \in {\mathbb{R}^3} $ ,$ {{\boldsymbol{v}}_i}(t) \in {\mathbb{R}^3} $ ,$ {{\boldsymbol{u}}_i}(t) \in {\mathbb{R}^3} $ 分别表示UAV$ i\left( {i \in {{\overset{\frown}{\mathcal{N}} }_{\text{a}}}} \right) $ 的位置、速度和控制输入, 均为三维列向量集,$ {\mathbb{R}^3} $ 为三维实数集,$ {\overset{\frown}{\mathcal{N}} _{\text{a}}} $ 为UAV集群集合,$ {\overset{\frown}{\mathcal{N}} _{\text{a}}} = $ $\{ {{l_{\text{a}}}} \} \cup {\mathcal{N}_{\text{a}}} $ ; 系统矩阵$ {{\boldsymbol{A}}_i} = {\text{diag}}\{ 1/{m_i}, 1/{m_i}, \;1/{m_i}\; \} $ ,$ {m_i} $ 表示UAVi的质量; t为时间; Fi为惯性矩阵的逆矩阵,$ {\bar {\boldsymbol{F}}_i}\left( {{\boldsymbol{v}}, t} \right) = {\left[ {{f_{xi}}, {f_{yi}}, {f_{{\textit{z}}i}}} \right]^{\text{T}}} + {{\boldsymbol{\omega}} _i}(t) $ ,$ {f_{xi}} $ ,$ {f_{yi}} $ ,$ {f_{{\textit{z}}i}} $ 表示UAVi的非线性项,$ {{\boldsymbol{\omega}} _i}(t) \in {\mathbb{R}^3} $ 表示UAVi的外部扰动。考虑到无旋转的海洋水流且忽略横滚速度, USV与UUV的动力学模型可以表示为[5, 16]
$$ \left\{ {\begin{array}{*{20}{l}} {\dot \xi \left( t \right) = {\boldsymbol{\iota}} \left( \xi \right){\boldsymbol{\upsilon}} \left( t \right), } \\ {{\boldsymbol{M}}\dot {\boldsymbol{\upsilon}} \left( t \right) + {\boldsymbol{G}}\left( {\boldsymbol{\upsilon}} \right){\boldsymbol{\upsilon}} \left( t \right) + {\boldsymbol{H}}\left( {\boldsymbol{\upsilon}} \right){\boldsymbol{\upsilon}} \left( t \right) + {\boldsymbol{g}}\left( \xi \right) = {\boldsymbol{\tau }}\left( t \right) + {{\boldsymbol{\tau}} _d}\left( t \right)} \end{array}} \right. $$ (2) 式中:
$ \xi \left( t \right) $ ,$ {\boldsymbol{\upsilon }}\left( t \right) $ 和$ {\boldsymbol{\tau}} \left( t \right) $ 分别表示USV与UUV的位置、速度和控制输入;$ {\boldsymbol{\iota}} \left( \xi \right) $ 与M分别表示旋转矩阵与惯性矩阵;$ {\boldsymbol{G}}\left( {\boldsymbol{\upsilon}} \right) $ 与$ {\boldsymbol{H}}\left( {\boldsymbol{\upsilon}} \right) $ 分别表示科氏力附加矩阵与粘性阻尼矩阵;$ {\boldsymbol{g}}\left( \xi \right) $ 表示恢复力和力矩矢量;$ \boldsymbol{\tau}_{\mathrm{\mathit{d}}}\left(t\right) $ 表示外部扰动。定义如下坐标变换
$$ \left\{ {\begin{array}{*{20}{l}} {{\boldsymbol{x}}\left( t \right) = \xi \left( t \right)} \\ {{\boldsymbol{v}}\left( t \right) = \dot \xi \left( t \right)} \end{array}} \right. $$ (3) 式中: x(t), ξ(t)为无人平台的位置; v(t)为速度。
由式(2)和式(3), USV与UUV可以建模为欧拉-拉格朗日(Euler-Lagrange)智能体[17-18]。因此, USV或UUV的动力学模型为
$$ \left\{ \begin{gathered} {{\dot {\boldsymbol{x}}}_i}\left( t \right) = {{\boldsymbol{v}}_i}\left( t \right) \\ {{\dot {\boldsymbol{v}}}_i}\left( t \right) = \left( {{\boldsymbol{M}}_i^{ - 1}{{\tilde {\boldsymbol{A}}}_i}} \right){{\boldsymbol{v}}_i}\left( t \right) + {\boldsymbol{M}}_i^{ - 1}{{\boldsymbol{u}}_i}\left( t \right) + {{\boldsymbol{\omega}} _i}(t) \\ \end{gathered} \right. $$ (4) 式中: 状态矩阵
$ \tilde {\boldsymbol{A}} = - {{\boldsymbol{M}}^{ - 1}}[ {\boldsymbol{G}}\left( {\boldsymbol{\upsilon}} \right)\dot \xi \left( t \right) + {\boldsymbol{H}}\left( {\boldsymbol{\upsilon}} \right)\dot \xi \left( t \right) + {\boldsymbol{g}}\left( \xi \right)] $ , 外部扰动$ \boldsymbol{\omega}(t)= \tau_{\mathrm{\mathit{d}}}\left(t\right) $ 。整理式(4), 可重新表示为
$$ \left\{ \begin{gathered} {{\dot {\boldsymbol{x}}}_i}\left( t \right) = {{\boldsymbol{v}}_i}\left( t \right) \\ {{\dot {\boldsymbol{v}}}_i}\left( t \right) = {{\boldsymbol{F}}_i}{{\boldsymbol{u}}_i}\left( t \right) + {{\boldsymbol{E}}_i}\left( {{\boldsymbol{v}}, t} \right) \\ \end{gathered} \right. $$ (5) 式中:
$ {{\boldsymbol{F}}_i} = {\boldsymbol{M}}_i^{ - 1} $ ;$ \boldsymbol{E}_i\left(\boldsymbol{v},t\right) $ 为包含与状态及外部干扰相关的项,$ {{\boldsymbol{E}}_i}\left( {{\boldsymbol{v}}, t} \right) = \left( {{\boldsymbol{M}}_i^{ - 1}{{\tilde {\boldsymbol{A}}}_i}} \right){{\boldsymbol{v}}_i}\left( t \right) + {{\boldsymbol{\omega}} _i}(t) $ 。1.3 通信能耗模型
在空海异构无人系统中, 水上部分无人节点间的信息交互采用射频通信方式, 水下部分则采用水声通信。因此, 每轮协同控制无人平台进行信息交互所消耗的总通信开销为
$$ W = \sum\limits_{i = 1}^N {\sum\limits_{j \in {\mathcal{N}_i}} {{p_i}t_{ij}^{\text{c}}} } $$ (6) 式中:
$ {p_i} $ 表示无人节点i的发送功率;$ t_{ij}^{\text{c}} $ 表示信息传输时间,$ t_{ij}^{\text{c}} ={{{R_{ij}}}}/{{{r_{ij}}}} $ , 其中,$ {R_{ij}} $ 、$ {r_{ij}} $ 分别表示无人节点i向节点j传输数据的总数据量与传输速率$$ {r_{ij}} = \left\{ {\begin{array}{*{20}{l}} {P{{\log }_2}\left( {1 + \dfrac{{{p_i}{G_i}}}{{{\kappa ^2}}}} \right), {\text{ }}i, {\text{ }}j \in \left( {{{\overset{\frown}{\mathcal{N}} }_{\text{a}}} \cup {{\overset{\frown}{\mathcal{N}} }_{\text{s}}}} \right)} \\ {P{{\log }_2}\left( {1 + I_{{\mathrm{SNR}}\_{ }ij}} \right), {\text{ }}i, {\text{ }}j \in \left( {{{\overset{\frown}{\mathcal{N}} }_{\text{u}}} \cup \left\{ {{l_{\text{s}}}} \right\}} \right)} \end{array}} \right. $$ (7) 式中: P表示带宽;
$ {G_i} $ 、$ {\kappa ^2} $ 分别表示无人节点$ i \left( {i \in {{\overset{\frown}{\mathcal{N}} }_{\text{a}}} \cup {{\overset{\frown}{\mathcal{N}} }_{\text{s}}}} \right) $ 与节点j间的信道增益与加性高斯白噪声的方差,$ {G_i} = {{{{\tilde \rho }_0}}}/{{d_{ij}^2}} $ , 其中,$ {\tilde \rho _0} $ 、$ {d_{ij}} $ 分别表示单位距离的功率增益与2个节点间的欧氏距离;$ {\overset{\frown}{\mathcal{N}} _{\text{s}}} $ 、$ {\overset{\frown}{\mathcal{N}} _{\text{u}}} $ 分别表示USV集群与UUV集群集合,$ {\overset{\frown}{\mathcal{N}} _{\text{s}}} = \left\{ {{l_{\text{s}}}} \right\} \cup {\mathcal{N}_{\text{s}}} $ ,$ {\overset{\frown}{\mathcal{N}} _{\text{u}}} = \left\{ {{l_{\text{u}}}} \right\} \cup {\mathcal{N}_{\text{u}}} $ ;$ I_{{\mathrm{SNR}}\_{ }ij} $ 表示无人节点$ i \left( {i \in \left( {{{\overset{\frown}{\mathcal{N}} }_{\text{u}}} \cup \left\{ {{l_{\text{s}}}} \right\}} \right)} \right) $ 与节点j间的信噪比(signal-to-noise ratio, SNR)。由式(7)可知, 水面与水下分别通过视距通信模型
$ {{{p_i}{G_i}} \mathord{\left/ {\vphantom {{{p_i}{G_i}} {{\kappa ^2}}}} \right. } {{\kappa ^2}}} $ 与$ I_{{\mathrm{SNR}}\_{ }ij} $ 获取传输速率。由于水下声波传播损耗大于水面电磁波, 而相比于水面通信能耗, 水下通信能耗更大, 因此水下通信能耗作为主要通信能耗。1.4 问题描述
UUV集群收集到的信息难以直接传输到陆地上的基站或控制中心, 因此引入USV作为UUV集群与陆地基站信息传输的中继, 并且USV集群也能协助UUV进行信息收集, 由于UAV覆盖面积广, 将其引入USV-UUV系统中完成信息收集任务, 同时作为USV与基站的中继。由此构建了一个由UAV-USV-UUV组成的空海异构无人系统, 通过各域集群间的信息交互协同完成任务。
为了减少跨域异构无人平台间的信息交互, 各域均由1个领航者与多个跟随者组成, 跨域通信由各域领航者完成。如图1所示, UAV集群领航者与USV集群领航者, USV集群领航者与UAV集群领航者分别进行信息交互。UUV集群领航者负责收集UUV集群获取的数据, 并将其传输给USV集群领航者。USV集群领航者作为UAV和UUV集群间的中继, 将USV和UUV集群收集的数据转发给UAV集群领航者。UAV集群领航者作为基站和USV集群间的中继, 将空海异构无人系统收集到的数据发送到基站, 从而完成任务。
根据式(1)和式(4), 跟随者
$ i\left( {i \in {\mathcal{N}_{\text{F}}}} \right) $ 与领航者$ l\left( {l \in {\mathcal{N}_{\text{L}}}} \right) $ 的动力学模型分别表示为$$ \begin{align} {{{\dot {\boldsymbol{\eta}} }_i}(t)}=&{ \left( {{{\boldsymbol{I}}_{{n_i}}} \otimes {{\boldsymbol{K}}_1}} \right){{\boldsymbol{\eta}} _i}(t) + \left( {{{\boldsymbol{I}}_{{n_i}}} \otimes {{\boldsymbol{K}}_2}} \right){{\boldsymbol{u}}_i}(t)} +\\ &{ \left( {{{\boldsymbol{I}}_{{n_i}}} \otimes {{\boldsymbol{D}}_1}} \right){{\boldsymbol{\varOmega}} _i}(t), {\text{ }}i \in {\mathcal{N}_{\text{F}}}} \end{align} $$ (8) $$ \begin{align} {{{\dot {\boldsymbol{\eta}} }_l}(t)}=&{ \left( {{{\boldsymbol{I}}_{{n_l}}} \otimes {K_1}} \right){{\boldsymbol{\eta}} _l}(t) + \left( {{{\boldsymbol{I}}_{{n_l}}} \otimes {{\boldsymbol{K}}_3}} \right){{\boldsymbol{u}}_l}(t)}+ \\ &{ \left( {{{\boldsymbol{I}}_{{n_l}}} \otimes {{\boldsymbol{D}}_1}} \right){{\boldsymbol{\varOmega}} _l}(t), {\text{ }}l \in {\mathcal{N}_{\text{L}}}} \end{align} $$ (9) 式中:
$ {{\boldsymbol{\eta}} _i}(t) \in {\mathbb{R}^{2{n_i}}} $ 、$ {{\boldsymbol{\eta}} _l}(t) \in {\mathbb{R}^{2{n_l}}} $ 分别为跟随者与领航者的状态信息;$ \boldsymbol{\eta}_i(t)=[\left[x_{i1}(t),v_{i1}(t)\right]^{\text{T}},\left[x_{i2}(t),v_{i2}(t)\right]^{\text{T}}, \cdots, \left[x_{in_i}(t),v_{in_i}(t)\right]^{\text{T}}]^{\text{T}} $ ,$ \boldsymbol{\eta}_l(t)=[\left[x_{l1}(t), v_{l1}(t)\right]^{\text{T}},\;[x_{l2}(t), v_{l2}(t)]^{\text{T}},\;\cdots,\;\left[x_{ln_l}(t),\;v_{ln_l}(t)\right]^{\text{T}}]^{\text{T}} $ ,${\boldsymbol{D}}_1 $ 、${\boldsymbol{K}}_1 $ 、${\boldsymbol{K}}_2 $ 、${\boldsymbol{K}}_3 $ 分别为式(8)和式(9)的系统矩阵;$ {{\boldsymbol{D}}_1} = {[0, 1]^{\text{T}}} $ ,${{\boldsymbol{K}}_1} = $ $ \left[ {\begin{array}{*{20}{l}} 0&1 \\ 0&0 \end{array}} \right] $ ,$ {{\boldsymbol{K}}_2} = \left[ {\begin{array}{*{20}{c}} 0 \\ {{{{\text{tr}}\left( {{{\bar A}_i}} \right)}}\Big /{{{n_i}}}} \end{array}} \right] $ ,$ {{\boldsymbol{K}}_3} = \left[ {\begin{array}{*{20}{c}} 0 \\ {{{{\text{tr}}\left( {{{\bar A}_l}} \right)}}\Big /{{{n_l}}}} \end{array}} \right] $ , 当$ i \in {\mathcal{N}_{\text{a}}} $ ,$ l = {l_{\text{a}}} $ 时,$ {\bar {\boldsymbol{A}}_i} = {\bar {\boldsymbol{A}}_l} = {{\boldsymbol{A}}_i} $ ,$ {{\boldsymbol{\varOmega}} _i}(t) = {{\boldsymbol{\varOmega}} _l}(t) = {\bar {\boldsymbol{F}}_i}\left( {v, t} \right) $ ,$ \bar{\boldsymbol{A}}_i、 \bar{\boldsymbol{A}}_l $ 分别为跟随者和领航者与质量相关的矩阵;$ {{\boldsymbol{\varOmega}} _i}(t) = {{\boldsymbol{\varOmega}} _l}(t) = {E_i}\left( {v, t} \right) $ ,$ \boldsymbol{\varOmega}_i(t)、\boldsymbol{\varOmega}_l(t) $ 分别表示跟随者与领航者中包含状态与外部干扰相关项; 当$ i \in {\mathcal{N}_{\text{s}}} \cup {\mathcal{N}_{\text{u}}} $ ,$ l \in \left\{ {{l_{\text{s}}}, {l_{\text{u}}}} \right\} $ 时,$ {\bar {\boldsymbol{A}}_i} = {\bar {\boldsymbol{A}}_l} = {{\boldsymbol{F}}_i} $ ,$ \mathrm{tr}(\cdot) $ 表示矩阵的迹;$ {n_i} $ 与$ {n_l} $ 分别表示跟随者i与领航者l的状态向量维度。基于上述, 文中有如下3个问题需要解决。
1) 多领航者的协同轨迹规划问题。首先, 需确保各域领航者在避障条件下到达预定位置; 其次, 需解决各域领航者保持在可通信范围内的同时, 减少各域领航者间通信能耗的问题。其数学描述为
$$ \left\{ {\begin{array}{*{20}{l}} {\mathop {\lim }\limits_{t \to + \infty } {d_{l, {\mathrm{goal}}}}\left( t \right) = 0} \\ {\underline{D} \leqslant {d_{lj}}\left( t \right) \leqslant \bar D, {\text{ }}l, j \in {\mathcal{N}_L}} \end{array}} \right. $$ (10) 式中:
$ {d_{l, {\text{goal}}}}\left( t \right) $ 表示领航者与目标位置的距离;$ {d_{lj}}\left( t \right) $ 表示领航者l与跨域领航者j的距离,$ \underline{{D}} $ 与$ \bar D $ 分别表示领航者间通信距离的最小值与最大值。2) 跟随者的编队控制问题。需解决跟随者在实现避障条件下跟随其领航者的同时, 减少通信能耗的问题。其数学描述为
$$ \mathop {\lim }\limits_{t \to + \infty } \left\| {{{\boldsymbol{x}}_i}\left( t \right) - {{\boldsymbol{h}}_i} - {{\boldsymbol{x}}_l}\left( t \right)} \right\| = 0 $$ (11) 式中:
$ {{\boldsymbol{x}}_i}\left( t \right) $ 、$ {{\boldsymbol{x}}_l}\left( t \right) $ 分别表示跟随者$ i\left( {i \in {\mathcal{N}_{\text{F}}}} \right) $ 与同域领航者$ l\left( {l \in {\mathcal{N}_{\text{L}}}} \right) $ 的位置信息;$ {{\boldsymbol{h}}_i} $ 表示跟随者i与同域领航者间的期望编队向量。3) 无人平台间歇通信中脉冲间隔的智能选取问题。考虑到空海异构无人系统的收敛时间与通信能耗, 需解决空海异构无人系统间歇通信中脉冲间隔的智能选取问题, 以实现多目标优化。
2. 空海异构无人系统协同控制算法
2.1 多领航者协同轨迹规划算法
文中提出的基于人工势场法的协同轨迹规划算法, 将领航者的控制输入分为引力和斥力。其中, 引力包括2个部分, 第1部分是由目标产生的引力, 使各领航者能够到达目标位置; 第2部分是由跨域领航者产生的引力, 为了保证领航者间保持在可通信范围内, 同时考虑通信资源受限, 这部分引力仅发生在脉冲时刻, 从而减少通信开销。斥力主要由航行过程中遇到的障碍物产生, 为了能够安全到达目标位置, 从而实现避障。
基于人工势场法与脉冲控制理论可知, 当
$ t \in \left[ {{t_{k'}}, {t_{k' + 1}}} \right) $ 时, 领航者$ l\left( {l \in {\mathcal{N}_{\text{L}}}} \right) $ 的引力场可表示为$$ \left\{\begin{array}{*{20}{l}} {{\boldsymbol{\psi}} _l^{{\text{att}}} = - {\nabla _{{x_l}}}\varPsi _l^{{\text{att}}}} \\ {\varPsi _l^{{\text{att}}} = \dfrac{1}{2}\left( {k_{\text{1}}^{{\text{att}}}d_{l, {\text{goal}}}^2\left( t \right) + k_{\text{2}}^{{\text{att}}}\displaystyle \sum\limits_{j \ne l}^{{\mathcal{N}_{\text{L}}}} {d_{l, j}^2\left( {{t_{k'}}} \right)} } \right)} \end{array}\right. $$ (12) 式中:
$ {\boldsymbol{\psi}} _l^{{\text{att}}} $ ,$ \varPsi _l^{{\text{att}}} $ 分别表示领航者l的引力与引力场,$ {\nabla _{{x_l}}} $ 为梯度项;$ {d_{l, j}}\left( {{t_{k'}}} \right) $ 表示在脉冲时刻$ t = {t_{k'}} $ , 领航者与跨域领航者间的距离, 其吸引系数为$ k_2^{{\text{att}}} \gt 0 $ , 且满足$ k_{\text{1}}^{{\text{att}}} \gt k_2^{{\text{att}}} \gt 0 $ 。从式(12)可知, 该引力场充分考虑了领航者与跨域领航者间的相对距离。对于各域领航者间的脉冲间隔选取, 在后续MOIQPSO算法设计中, 兼顾了各域领航者间的通信约束和通信能耗, 不仅节省通信能耗, 同时保证各域领航者间在航行过程中保持在可通信范围内。
领航者l的总斥力势能表示为
$$ \left\{\begin{array}{*{20}{l}} {{\boldsymbol{\psi}} _l^{{\text{rep}}} = - {\nabla _{{x_l}}}\varPsi _l^{{\text{rep}}}} \\ {\varPsi _l^{{\text{rep}}} =\displaystyle \sum\limits_{o = 1}^{{\mathcal{N}_{\text{O}}}} {{\boldsymbol{\varphi}} _l^{{\text{rep}}}\left( {{d_{lo}}, t} \right)} } \end{array}\right. $$ (13) 式中:
$ {\boldsymbol{\psi}} _l^{{\text{rep}}} $ ,$ \varPsi _l^{{\text{rep}}} $ 分别表示为领航者l的斥力与斥力场;$ {\mathcal{N}_{\text{O}}} $ 表示障碍物o的集合,$ o \in {\mathcal{N}_{\text{O}}} $ ;$ {\boldsymbol{\varphi}} _l^{{\text{rep}}} $ 表示领航者l的势能函数;$ {d_{lo}} $ 表示领航者与障碍物的距离。结合式(12)和(13), 领航者l的控制输入
$ {{\boldsymbol{u}}_l} $ 可以表示为$$ {{\boldsymbol{u}}_l}\left( t \right) = {\boldsymbol{\psi}} _l^{{\text{att}}} + {\boldsymbol{\psi}} _l^{{\text{rep}}} $$ (14) 与其他人工势场法相比, 该方法特别考虑了节点与邻居间存在通信距离约束, 而且各域间通信距离范围不同。
2.2 跟随者脉冲层级编队控制器
无人平台应当优先考虑自身物理约束和安全避障, 其次才是编队控制。因此, 跟随者的控制优先级应从个体递减到集群。为了保证跟随者在避障的同时实现编队控制, 设计了如下脉冲层级编队控制器。
$$ {{\boldsymbol{u}}}_{i}\left(t\right)=\underset{个体}{\underbrace{{a}_{1}{{\boldsymbol{u}}}_{i}^{\text{ao}}\left(t\right)}}+\underset{集群}{\underbrace{{a}_{2}{{\boldsymbol{u}}}_{i}^{\text{fc}}\left(t\right)}} $$ (15) 式中:
$ {\boldsymbol{u}}_i^{{\text{ao}}}\left( t \right) $ 和$ {\boldsymbol{u}}_i^{{\text{fc}}}\left( t \right) $ 分别表示跟随者i的避障控制和编队控制;$ {a_1} $ 与$ {a_2} $ 分别表示个体与集群的控制权重, 由于个体控制优于集群控制, 因此$ {a_1} \gt {a_2} \gt 0 $ 。根据式(13), 跟随者i的避障控制器设计为
$$ {\boldsymbol{u}}_i^{{\text{ao}}}\left( t \right) = \alpha _i^{{\text{ao}}}{{\boldsymbol{\psi}}_i} $$ (16) 式中:
$ \boldsymbol{\psi}_i=-\nabla_{x_i}\mathit{\varPsi}_i^{\text{rep}} $ , 其中$ \mathit{\varPsi}_i^{\text{rep}}=\displaystyle\sum\limits_{o=1}^{\mathcal{N}_{\text{O}}}\boldsymbol{\varphi}_i^{\text{rep}}\left(d_{io},t\right) $ ,$ {{\boldsymbol{\psi}}_i} $ 和$ \mathit{\varPsi}_i^{\text{rep}} $ 分别为跟随者i的斥力与斥力场, 且其斥力系数为$ \alpha _i^{{\text{ao}}} \gt 0 $ ,$ {\boldsymbol{\varphi}}_i^{{\text{rep}}} $ 表示跟随者i的势能函数;$ {d_{io}} $ 表示跟随者与障碍物的距离。对于第k次脉冲时刻
$ {t_k} $ , 即当$ t = {t_k} $ 时, 跟随者i的编队控制器设计为$$ \left\{ {\begin{array}{*{20}{l}} {{\boldsymbol{u}}_{xi}^{{\text{fc}}}({t_k})}={ \alpha _i^{{\text{fc}}}\left\{ {\displaystyle \sum\limits_{j = 1}^{{\mathcal{N}_i}} {{a_{ij}}\left( {{{\boldsymbol{x}}_i}\left( {t_k^ - } \right) - {{\boldsymbol{h}}_i} - \left( {{{\boldsymbol{x}}_j}\left( {t_k^ - } \right) - {{\boldsymbol{h}}_j}} \right)} \right)} } \right.} +\\ \qquad\quad{\left. { {b_{il}}\left( {{{\boldsymbol{x}}_i}\left( {{t_k}} \right) - {{\boldsymbol{h}}_i} - {{\boldsymbol{x}}_l}\left( {t_k^ - } \right)} \right)} \right\}} \\ {{\boldsymbol{u}}_{vi}^{{\text{fc}}}({t_k})}{ = \alpha _i^{{\text{fc}}}\left\{ {\displaystyle \sum\limits_{j = 1}^{{\mathcal{N}_i}} {{a_{ij}}\left( {{{\boldsymbol{v}}_i}\left( {t_k^ - } \right) - {{\boldsymbol{v}}_j}\left( {t_k^ - } \right)} \right)} } \right.} +\\ \qquad\quad {\left. { {b_{il}}\left( {{{\boldsymbol{v}}_i}\left( {t_k^ - } \right) - {{\boldsymbol{v}}_l}\left( {t_k^ - } \right)} \right)} \right\}} \end{array}} \right. $$ (17) 式中:
$ {\boldsymbol{u}}_{xi}^{{\text{fc}}}({t_k}) $ 与$ {\boldsymbol{u}}_{vi}^{{\text{fc}}}({t_k}) $ 分别表示在脉冲时刻$ {t_k} $ 跟随者i在位置与速度分量上的编队控制输入; xi、xj分别表示跟随者i与领航者l的位置;$ {b_{il}} $ 表示领航者$ l\left( {l \in {\mathcal{N}_{\text{L}}}} \right) $ 与同域跟随者$ i\left( {i \in {\mathcal{N}_{\text{F}}}} \right) $ 间的连接权重,$ {N_l} $ 如果跟随者i能与领航者l通信, 则$ {b_{il}} \gt 0 $ ; 反之, 则$ {b_{il}} = 0 $ ; vj、vl分别表示跟随者j与领航者l的速度;$ t_k^ - $ 表示发生第k次脉冲前时刻;$ \alpha _i^{{\text{fc}}} $ 为控制增益,$ \alpha _i^{{\text{fc}}} \lt 0 $ ; aij为跟随者i与j的通信边的权重; hj表示跟随者j与同域领航者间的期望编队向量。同时, 定义跟随者i与同域领航者l间的编队跟踪误差为
$$ \left\{ {\begin{array}{*{20}{l}} {{{\boldsymbol{e}}_{xi}}\left( t \right) = {{\boldsymbol{x}}_i}\left( t \right) - {{\boldsymbol{h}}_i} - {{\boldsymbol{x}}_l}\left( t \right)} \\ {{{\boldsymbol{e}}_{vi}}\left( t \right) = {{\boldsymbol{v}}_i}\left( t \right) - {{\boldsymbol{v}}_l}\left( t \right)} \end{array}} \right. $$ (18) 式中:
$ {{\boldsymbol{e}}_{xi}}\left( t \right) $ 与$ {{\boldsymbol{e}}_{vi}}\left( t \right) $ 分别表示跟随者与同域领航者间位置与速度的误差。根据编队跟踪误差式(18), 式(17)可进一步表示为
$$ {\boldsymbol{u}}_i^{{\text{fc}}}\left( {{t_k}} \right) = \alpha _i^{{\text{fc}}}\left\{ {\sum\limits_{j = 1}^{{\mathcal{N}_i}} {{a_{ij}}\left( {{{\boldsymbol{e}}_i}\left( {t_k^ - } \right) - {{\boldsymbol{e}}_j}\left( {t_k^ - } \right)} \right) + {b_{il}}{{\boldsymbol{e}}_i}\left( {t_k^ - } \right)} } \right\} $$ (19) 式中:
$ {\boldsymbol{u}}_i^{{\text{fc}}}\left( {{t_k}} \right) = {\left[ {{{\left( {{\boldsymbol{u}}_{xi}^{{\text{fc}}}\left( {{t_k}} \right)} \right)}^{\rm{T}}}, {{\left( {{\boldsymbol{u}}_{vi}^{{\text{fc}}}\left( {{t_k}} \right)} \right)}^{\rm{T}}}} \right]^{\rm{T}}} $ ;$ {{\boldsymbol{e}}_i}\left( {t_k^ - } \right) = {\left[ {{\boldsymbol{e}}_{xi}^{\rm{T}}\left( {t_k^ - } \right), {\boldsymbol{e}}_{vi}^{\rm{T}}\left( {t_k^ - } \right)} \right]^{\rm{T}}} $ ; ei、ej分别表示跟随者i和跟随者j与领航者的编队状态误差。结合式(15)、式(16)和式(19), 跟随者i的控制器可重新表示为
$$ \left\{ {\begin{array}{*{20}{l}} {{{\boldsymbol{u}}_i}\left( t \right) = {a_1}{\boldsymbol{u}}_i^{{\text{ao}}}\left( t \right) + {a_2}{\boldsymbol{u}}_i^{{\text{fc}}}\left( {{t_k}} \right)} \\ {{\boldsymbol{u}}_i^{{\text{ao}}}\left( t \right) = \alpha _i^{{\text{ao}}}{{\boldsymbol{\psi}}_i}, t \in \left[ {{t_{k - 1}}, {t_k}} \right), {\text{ }}k \in {\mathbb{N}^ + }} \\ {{\boldsymbol{u}}_i^{{\text{fc}}}\left( {{t_k}} \right) = \alpha _i^{{\text{fc}}}\left\{ {\displaystyle \sum\limits_{j = 1}^{{\mathcal{N}_i}} {{a_{ij}}\left( {{{\boldsymbol{e}}_i}\left( {t_k^ - } \right) - {{\boldsymbol{e}}_j}\left( {t_k^ - } \right)} \right) + {a_{il}}{{\boldsymbol{e}}_i}\left( {t_k^ - } \right)} } \right\}} \end{array}} \right. $$ (20) 式中:
$ {\mathbb{N}^ + } $ 表示正整数集。2.3 稳定性分析
定理: 考虑各域跟随者式(8)与领航者式(9), 根据跟随者的脉冲层级编队控制器式(20), 最终跟随者与同域领航者的编队误差式(18)趋于收敛, 实现编队控制。
根据式(20), 对编队误差
$ {\boldsymbol{e}}\left( t \right) $ 求导可得$$ \left\{ {\begin{array}{*{20}{l}} {\dot {\boldsymbol{e}}\left( t \right)}={ \tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{e}}\left( t \right) + \tilde {\boldsymbol{B}}\left( {{a_1}{u^{{\text{ao}}}}\left( t \right) - {{\boldsymbol{U}}_l}\left( t \right)} \right)} +\\ \qquad\;\;\;{ \tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}} + \tilde {\boldsymbol{C}}\left( {{\boldsymbol{\varOmega}} \left( t \right) - \bar {\boldsymbol{\varOmega}} \left( t \right)} \right), {\text{ }}t \in \left[ {{t_{k - 1}}, {t_k}} \right)} \\ {\Delta {\boldsymbol{e}}\left( {{t_k}} \right)}{ = \left( {{a_2}{\alpha ^{{\text{fc}}}}\tilde {\boldsymbol{H}} \otimes {\boldsymbol{B}}} \right){\boldsymbol{e}}\left( {t_k^ - } \right), {\text{ }}t = {t_k}} \end{array}} \right. $$ (21) 式中:
$ \tilde{\boldsymbol{\varUpsilon}} $ 、$ \tilde{\boldsymbol{B}} $ 、$ \tilde{\boldsymbol{C}} $ 、$ \boldsymbol{\varUpsilon} $ 、$ \boldsymbol{B} $ 、$ \boldsymbol{C} $ 均为系统矩阵,$ \tilde {\boldsymbol{\varUpsilon}} ={\boldsymbol{ I}} \otimes {\boldsymbol{\varUpsilon}} $ ,$ \tilde {\boldsymbol{B}} = {\boldsymbol{I}} \otimes {\boldsymbol{B}} $ ,$ \tilde {\boldsymbol{C}} = {\boldsymbol{I}} \otimes {\boldsymbol{C}} $ ,$ {\boldsymbol{\varUpsilon}} = {{\boldsymbol{I}}_{{n_i}}} \otimes {{\boldsymbol{K}}_1} $ ,$ {\boldsymbol{B}} = {{\boldsymbol{I}}_{{n_i}}} \otimes {{\boldsymbol{K}}_2} $ ,$ {\boldsymbol{C}} = {{\boldsymbol{I}}_{{n_i}}} \otimes {D_1} $ ; I为单位矩阵;$ {\boldsymbol{e}}\left( t \right) = \left[ {\boldsymbol{e}}_1^{\rm{T}}\left( t \right), {\boldsymbol{e}}_2^{\rm{T}}\left( t \right), \cdots , {\boldsymbol{e}}_N^{\rm{T}}\left( t \right) \right]^{\rm{T}} $ ;$ \bar {\boldsymbol{\varOmega}} \left( t \right) = {{\text{1}}_N} \otimes {{\boldsymbol{\varOmega}} _l}\left( t \right) $ ;$ {\boldsymbol{\varOmega}} \left( t \right) = [ {\boldsymbol{\varOmega}} _1^{\rm{T}}\left( t \right), {\boldsymbol{\varOmega}} _2^{\rm{T}}\left( t \right), \cdots , {\boldsymbol{\varOmega}} _N^{\rm{T}}\left( t \right)]^{\rm{T}} $ ;$ \boldsymbol{U}_l\left(t\right) $ 表示领航者控制输入,$ \boldsymbol{U}_l\left(t\right)={{\text{1}}}_{\boldsymbol{N}}\otimes \boldsymbol{u}_l\left(t\right) $ , 1N为N维全1列向量; h为编队误差向量;$ \tilde{\boldsymbol{H}} $ 为节点间通信连接矩阵,$ \tilde {\boldsymbol{H}} = {\boldsymbol{L}} + {\boldsymbol{Q}} $ , L为图$ \mathcal{G} $ 的拉普拉斯矩阵;$ \Delta {\boldsymbol{e}}\left( {{t_k}} \right) = {\boldsymbol{e}}\left( {{t_k}} \right) - {\boldsymbol{e}}\left( {t_k^ - } \right) $ 。假设1: 外部扰动项
$ {{\boldsymbol{\omega}} _i}(t) $ 有界, 且满足$ \left\| {{{\boldsymbol{\omega}} _i}(t)} \right\| \leqslant \rho $ ,$ \rho $ 为正常数。假设2[19]: 对于向量值非线性函数
$ f\left( {x, t} \right) $ , 存在正常数$ {\rho _1} $ , 满足$$ \left\| {{\boldsymbol{f}}\left( {{{\boldsymbol{x}}_1}, t} \right) - {\boldsymbol{f}}\left( {{{\boldsymbol{x}}_2}, t} \right)} \right\| \leqslant {\rho _1}\left\| {{{\boldsymbol{x}}_1} - {{\boldsymbol{x}}_2}} \right\| $$ (22) 证明: 构造Lyapunov函数为
$$ {{V}}(t) = \dfrac{1}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) $$ (23) 当
$ t \in \left[ {{t_{k - 1}}, {t_k}} \right) $ 时, 对$ V(t) $ 求导, 可得$$ \begin{array}{*{20}{l}} {\dot V\left( t \right)}={ {\text{ }}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\left( {\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{e}}\left( t \right) + \tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}} + \tilde {\boldsymbol{C}}\left( {\varOmega \left( t \right) - \bar \varOmega \left( t \right)} \right)} \right)} +\\ \qquad \quad {}{ {{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{B}}\left( {{a_1}{{\boldsymbol{u}}^{{\text{ao}}}}\left( t \right) - {{\boldsymbol{U}}_l}\left( t \right)} \right)} =\\ \qquad \quad{}{ {V_1}\left( t \right) + {V_2}\left( t \right) + {V_3}\left( t \right)} \end{array} $$ (24) 式中:
$ {V_1}\left( t \right) = {{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\left( {\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{e}}\left( t \right) + \tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}}} \right) $ ;$ {V_2}\left( t \right) = {{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{C}}( {\boldsymbol{\varOmega}} \left( t \right) - \bar{\boldsymbol{ \varOmega }}\left( t \right)) $ ;$ {V_3}\left( t \right) = {{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{B}}\left( {{a_1}{{\boldsymbol{u}}^{{\text{ao}}}}\left( t \right) - {{\boldsymbol{U}}_l}\left( t \right)} \right) $ 。根据杨氏不等式[20],
$ 2{{\boldsymbol{a}}^{\rm{T}}}b \leqslant \varepsilon {{\boldsymbol{a}}^{\rm{T}}}{\boldsymbol{a}} + {\varepsilon ^{ - 1}}{{\boldsymbol{b}}^{\rm{T}}}{\boldsymbol{b}} $ , 且a与b为向量,$ \varepsilon \gt 0 $ 。$ {V_1}\left( t \right) $ 、$ {V_2}\left( t \right) $ 和$ {V_3}\left( t \right) $ 分别可推导为$$ \begin{align} {{V_1}\left( t \right)}\leqslant&{ \dfrac{{{\varepsilon _0}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + \dfrac{{\varepsilon _0^{ - 1}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){{\tilde {\boldsymbol{\varUpsilon}} }^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{e}}\left( t \right)} +\\ &{ \dfrac{{{\varepsilon _1}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + \dfrac{{\varepsilon _1^{ - 1}}}{2}{{\boldsymbol{h}}^{\rm{T}}}{{\tilde {\boldsymbol{\varUpsilon}} }^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}}} \leqslant\\ &{ \left( {\dfrac{{{\varepsilon _0}}}{2} + \dfrac{{{\varepsilon _1}}}{2}} \right){{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + \dfrac{{\varepsilon _1^{ - 1}}}{2}{{\boldsymbol{h}}^{\rm{T}}}{{\tilde {\boldsymbol{\varUpsilon}} }^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}}} +\\ &{ \dfrac{{\varepsilon _0^{ - 1}{\lambda _{\max }}\left( {{{\tilde {\boldsymbol{\varUpsilon}} }^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} } \right)}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right)}= \\ &{ \vartheta {{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + {\sigma _1}} \end{align} $$ (25) 式中: 正常数
$ \vartheta = \dfrac{{{\varepsilon _0}}}{2} + \dfrac{{{\varepsilon _1}}}{2} + \dfrac{{\varepsilon _0^{ - 1}{\lambda _{\max }}\left( {{{\tilde {\boldsymbol{\varUpsilon}} }^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} } \right)}}{2} $ ;$ {\sigma _1} = \dfrac{{{\varepsilon _1^{ - 1}}}}{2} {{\boldsymbol{h}}^{\rm{T}}}{\tilde {\boldsymbol{\varUpsilon}} ^{\rm{T}}}\tilde {\boldsymbol{\varUpsilon}} {\boldsymbol{h}} $ ;$ {\varepsilon _0} $ 与$ {\varepsilon _1} $ 为正数。$$ \begin{align} {{V_2}\left( t \right)}\leqslant&{ \frac{{{\varepsilon _2}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{C}}{{\tilde {\boldsymbol{C}}}^{\rm{T}}}{\boldsymbol{e}}\left( t \right)}+\frac{{\varepsilon _2^{ - 1}}}{2}{{\left( {{\boldsymbol{\varOmega}} \left( t \right) - \bar {\boldsymbol{\varOmega}} \left( t \right)} \right)}^{\rm{T}}} \\ {}&{ \left( {{\boldsymbol{\varOmega}} \left( t \right) - \bar {\boldsymbol{\varOmega}} \left( t \right)} \right)} \end{align} $$ (26) 基于假设1与假设2, 式(26)可以进一步写为
$$ \begin{split} {{V_2}\left( t \right)}\leqslant&{ \frac{{{\varepsilon _2}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{C}}{{\tilde {\boldsymbol{C}}}^{\rm{T}}}{\boldsymbol{e}}\left( t \right) + \frac{{\varepsilon _2^{ - 1}}}{2}\rho _1^2{\boldsymbol{e}}_v^{\text{T}}\left( t \right){{\boldsymbol{e}}_v}\left( t \right)} =\\ {}&{ \frac{{{\varepsilon _2}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{C}}{{\tilde {\boldsymbol{C}}}^{\rm{T}}}{\boldsymbol{e}}\left( t \right) + \frac{{\varepsilon _2^{ - 1}}}{2}\rho _1^2{{\boldsymbol{e}}^{\text{T}}}\left( t \right){\boldsymbol{\phi}} {\boldsymbol{e}}\left( t \right)} \leqslant\\ {}&{ \left( {\frac{{{\lambda _{\max }}\left( {\tilde {\boldsymbol{C}}{{\tilde {\boldsymbol{C}}}^{\rm{T}}}} \right){\varepsilon _2}}}{2} + \frac{{\varepsilon _2^{ - 1}}}{2}\rho _1^2{\lambda _{\max }}\left( {\boldsymbol{\phi}} \right)} \right){{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right)} =\\ {}&{ \left( {\frac{{{\varepsilon _2}}}{2} + \frac{{\varepsilon _2^{ - 1}}}{2}\rho _1^2} \right){{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right)} \end{split} $$ (27) 式中:
$ {\lambda _{\max }}\left( {\tilde {\boldsymbol{C}}{{\tilde {\boldsymbol{C}}}^{\rm{T}}}} \right) = 1 $ ;$ {\lambda _{\max }}\left( {\boldsymbol{\phi }}\right) = 1 $ ; 对角矩阵$ {\boldsymbol{\phi}} = ( {{\boldsymbol{I}}_{{n_i}}} \otimes ( {{\mathrm{diag}}}( 0, 1) ) )^{\rm{T}}\left( {{{\boldsymbol{I}}_{{n_i}}} \otimes \left( {{{\mathrm{diag}}} \left( {0, 1} \right)} \right)} \right) $ ;$ {\varepsilon _2} $ 为正数;$ {{\boldsymbol{e}}_v}\left( t \right) = [ {\boldsymbol{e}}_{v1}^{\rm{T}}\left( t \right),{\boldsymbol{e}}_{v2}^{\rm{T}}\left( t \right), \cdots , {\boldsymbol{e}}_{vN}^{\rm{T}}\left( t \right)]^{\rm{T}} $ 。$$ \begin{split} & {{V_3}\left( t \right)}\leqslant{ \frac{{{\varepsilon _3}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{B}}{{\tilde {\boldsymbol{B}}}^{\rm{T}}}{\boldsymbol{e}}\left( t \right)} +\\ &{ \frac{{\varepsilon _3^{ - 1}}}{2}{{\left( {{a_1}{{\boldsymbol{u}}^{{\text{ao}}}}\left( t \right) - {{\boldsymbol{U}}_l}\left( t \right)} \right)}^{\rm{T}}}\left( {{a_1}{{\boldsymbol{u}}^{{\text{ao}}}}\left( t \right) - {{\boldsymbol{U}}_l}\left( t \right)} \right)}\leqslant \\ & { \frac{{{\varepsilon _3}}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right)\tilde {\boldsymbol{B}}{{\tilde {\boldsymbol{B}}}^{\rm{T}}}{\boldsymbol{e}}\left( t \right) + \frac{{\varepsilon _3^{ - 1}}}{2}\sum\limits_{i = 1}^{{N_{\text{F}}}} {{{\left( {{a_1}\left| {{\boldsymbol{u}}_i^{{\text{ao}}}\left( t \right)} \right| + \left| {{{\boldsymbol{U}}_{l, i}}\left( t \right)} \right|} \right)}^2}} }\leqslant \\ &{ \frac{{{\varepsilon _3}{\lambda _{\max }}\left( {\tilde {\boldsymbol{B}}{{\tilde {\boldsymbol{B}}}^{\rm{T}}}} \right)}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + \left( {1 + {\varepsilon _4}} \right){{\left\| {\bar {\boldsymbol{\varPi}} } \right\|}^2} + \left( {1 + \varepsilon _4^{ - 1}} \right){{\left\| {\bar {\boldsymbol{\varTheta}} } \right\|}^2}}\leqslant \\ &{ \frac{{{\varepsilon _4}{\lambda _{\max }}\left( {\tilde {\boldsymbol{B}}{{\tilde {\boldsymbol{B}}}^{\rm{T}}}} \right)}}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + {\sigma _2}} \end{split}$$ (28) 式中: 避障控制项
$ \bar {\boldsymbol{\varPi}} = {\left( {2{\varepsilon _3}} \right)^{ - \frac{1}{2}}}{a_1}{{\boldsymbol{u}}^{{\text{ao}}}}\left( t \right) $ ,$ \left\| {\bar {\boldsymbol{\varPi}} } \right\| \leqslant {\sigma _3} $ , 领航者控制项$ \bar {\boldsymbol{\varTheta}} = {\left( {2{\varepsilon _3}} \right)^{ - \frac{1}{2}}} {a_1}{U_l}\left( t \right) $ ,$ \left\| {\bar {\boldsymbol{\varTheta}} } \right\| \leqslant {\sigma _4} $ ; 正常数$ {\sigma _2} = {\sigma _3} + {\sigma _4} $ ,$ {\sigma _3} $ 、$ {\sigma _4} $ 、$ {\varepsilon _3} $ 和$ {\varepsilon _4} $ 均为正数;$ {N_{\text{F}}} = xN \cdot {{\boldsymbol{I}}_{{n_i}}} $ 。结合式(25), 式(27)以及式(28), 可得
$$ {\dot V\left( t \right)}{ \leqslant \dfrac{\mu }{2}{{\boldsymbol{e}}^{\rm{T}}}\left( t \right){\boldsymbol{e}}\left( t \right) + \varsigma } { = \mu V\left( t \right) + \varsigma } $$ (29) 式中: 正常数
$ \mu = \vartheta + \dfrac{{{\varepsilon _2}}}{2} + {{\varepsilon _2^{ - 1}}}/{2}\rho _1^2 + {{{\varepsilon _3}{\lambda _{\max }}\left( {\tilde {\boldsymbol{B}}{{\tilde {\boldsymbol{B}}}^{\rm{T}}}} \right)}}\Big/{2} $ ,$ \mu \gt 1 $ ; 正常数$ \varsigma = {\sigma _1} + {\sigma _2} $ 。当
$ t = {t_k} $ 时, 可得$$ \begin{align} {V\left( {{t_k}} \right)}=&{ \frac{1}{2}{{\boldsymbol{e}}^{\rm{T}}}\left( {{t_k}} \right){\boldsymbol{e}}\left( {{t_k}} \right)} =\\ {}&{ \frac{1}{2}{{\left( {\Delta {\boldsymbol{e}}\left( {{t_k}} \right) + {\boldsymbol{e}}\left( {t_k^ - } \right)} \right)}^{\rm{T}}}\left( {\Delta {\boldsymbol{e}}\left( {{t_k}} \right) + {\boldsymbol{e}}\left( {t_k^ - } \right)} \right)} =\\ {}&{ \frac{1}{2}e{{\left( {t_k^ - } \right)}^{\rm{T}}}{{\left[ {{\boldsymbol{I}} + {\boldsymbol{\chi}} } \right]}^{\rm{T}}}\left[ {{\boldsymbol{I}} + {\boldsymbol{\chi}} } \right]{\boldsymbol{e}}\left( {t_k^ - } \right)} \leqslant{ \beta V\left( {t_k^ - } \right)} \end{align} $$ (30) 式中,
${\boldsymbol{ \chi}} = {a_2}{\alpha ^{{\text{fc}}}}\tilde {\boldsymbol{H}} \otimes {\boldsymbol{B}} $ ,$ \left\| {{{\left[ {{\boldsymbol{I}} + \chi } \right]}^{\rm{T}}}\left[ {{\boldsymbol{I}} +{\boldsymbol{ \chi}} } \right]} \right\| \leqslant \beta $ ,$ {{0 < }}\beta {{ < 1}} $ 。结合式(29)和(30), 可得
$$ \left\{ {\begin{array}{*{20}{l}} {\dot V\left( t \right) \leqslant \mu V\left( t \right) + \varsigma , }\;{t \in \left[ {{t_{k - 1}}, {t_k}} \right)} \\ {V\left( {{t_k}} \right) \leqslant \beta V\left( {t_k^ - } \right), }\;{t = {t_k}} \end{array}} \right. $$ (31) 式(31)可以进一步为
$$ \left\{ {\begin{array}{*{20}{l}} {V\left( t \right) \leqslant {{\text{e}}^{\mu \left( {t - {t_{k - 1}}} \right)}}\left( {V\left( {{t_{k - 1}}} \right) + \dfrac{\varsigma }{\mu }} \right), }\;{t \in \left[ {{t_{k - 1}}, {t_k}} \right)} \\ {V\left( {{t_k}} \right) \leqslant \beta V\left( {t_k^ - } \right), }\;{t = {t_k}} \end{array}} \right. $$ (32) 依此类推, 式(32)可得
$$ \begin{align} {V\left( t \right)}\leqslant&\;{ {\beta ^k}{{\text{e}}^{\mu \left( {t - {t_0}} \right)}}V\left( {{t_0}} \right)}+ \\ {}&\;{ \left( {{\beta ^k}{{\text{e}}^{\mu \left( {t - {t_0}} \right)}} + {\beta ^{k - 1}}{{\text{e}}^{\mu \left( {t - {t_1}} \right)}} + \cdots + {{\text{e}}^{\mu \left( {{t_k} - {t_{k - 1}}} \right)}}} \right)\frac{\varsigma }{\mu }} \end{align} $$ (33) 式中,
$ {t_0} $ 表示初始时刻。当脉冲间隔为
$ \gamma = {t_k} - {t_{k - 1}} $ ,${{t - {t_0}}}/{\gamma } = k $ 时, 式(33)可以进一步表示为$$ \begin{align} {V\left( t \right)}\leqslant&\;{ {{\text{e}}^{k\ln \beta }}{{\text{e}}^{\mu \left( {t - {t_0}} \right)}}V\left( {{t_0}} \right)}+ \\ {}&{ \left( {{{\text{e}}^{k\ln \beta }}{{\text{e}}^{k\mu \gamma }} + {{\text{e}}^{\left( {k - 1} \right)\ln \beta }}{{\text{e}}^{\left( {k - 1} \right)\mu \gamma }} + \cdots + {{\text{e}}^{\mu \gamma }}} \right)\frac{\varsigma }{\mu }}= \\ {}&{ {{\text{e}}^{\left( {\frac{{\ln \beta }}{\gamma } + \mu } \right)\left( {t - {t_0}} \right)}}V\left( {{t_0}} \right)} + \Big( {{\text{e}}^{\left( {\ln \beta + \mu \gamma } \right)k}} + {{\text{e}}^{\left( {\ln \beta + \mu \gamma } \right)\left( {k - 1} \right)}} + \cdots +\\ {}& {{\text{e}}^{\mu \gamma }} \Big)\frac{\varsigma }{\mu } = {{\text{e}}^{\varpi \left( {t - {t_0}} \right)}}V\left( {{t_0}} \right) +{ \left( {\tilde \vartheta + {{\text{e}}^{\mu \gamma }}} \right)\frac{\varsigma }{\mu }} \end{align} $$ (34) 式中:
$ \varpi = {{\ln \beta }}/{\gamma } + \mu \lt 0 $ ,$ \tilde \vartheta = {\zeta ^{k + 1}} + {\zeta ^k} + \cdots + \zeta $ ,$ \zeta = {{\text{e}}^{\left( {{{\ln \beta }}/{\gamma } + \mu } \right)\gamma }} $ , 由于$ 0 \lt \zeta \lt 1 $ ,$ \tilde \vartheta $ 是收敛且有界的。当t趋于无穷时, 由于$ \varpi \lt 0 $ ,$ V\left( t \right) $ 最终趋于零, 进而可得编队跟踪误差函数式(18)趋于收敛, 实现编队控制。证毕。3. MOIQPSO算法
脉冲间隔的选取不仅会影响系统收敛速率, 同时也与系统通信能耗有关, 特别是对于通信资源受限的水下环境, 无人节点间的通信能耗较大, 有必要对系统通信能耗进行优化。因此, 对于脉冲间隔的选取需要结合收敛时间与通信能耗综合考虑, 使协同控制算法的收敛时间与通信能耗间达到良好的折衷。为此, 文中通过MOIQPSO算法来智能选取各域脉冲间隔。该算法包括改进量子粒子群优化(improved quantum particle swarm optimization, IQPSO)算法与基于动态密集距离的非劣解集更新。
3.1 IQPSO算法
将各域跟随者与其同域领航者的编队跟踪误差作为其中一个目标函数, 表示为
$$ {f_{\text{e}}} = \sum\limits_{t \to {T_{\max }}} {\left( {\frac{1}{2}\sum\limits_i^N {\left\| {{{\boldsymbol{e}}_i}} \right\|} + \frac{{\tilde \varepsilon }}{2}\left( {\left\| {{{\boldsymbol{e}}_{{\text{L, a, s}}}}} \right\| + \left\| {{{\boldsymbol{e}}_{{\text{L, s, u}}}}} \right\|} \right)} \right)} $$ (35) 式中:
$ {{\boldsymbol{e}}_i} $ 表示各域跟随者与其同域领航者的编队跟踪误差函数;$ {T_{\max }} $ 表示各域跟随者跟踪领航者所需最长时间;$ {{\boldsymbol{e}}_{{\text{L, a, s}}}} $ 和$ {{\boldsymbol{e}}_{{\text{L, s, u}}}} $ 分别表示UAV集群领航者$ {l_{\text{a}}} $ 与USV集群领航者$ {l_{\text{s}}} $ 以及USV集群领航者$ {l_{\text{s}}} $ 与UUV集群领航者$ {l_{\text{u}}} $ 间的误差函数;$ \tilde \varepsilon $ 为一个正常数, 且$ \tilde \varepsilon \leqslant 1 $ , 取决于任务需求。另一方面, 总的通信能耗表示为
$$ W_{\text{total}}=\frac{1}{2}\left(W_{\text{a, s}}\cdot F_{\text{a, s}}+W_{\text{s, u}}\cdot F_{\text{s, u}}+\sum\limits_i^NW_i\cdot S\right) $$ (36) 式中:
$ {F_{{\text{a, s}}}} $ 与$ {W_{{\text{a, s}}}} $ 分别表示跨域领航者$ {l_{\text{a}}} $ 与$ {l_{\text{s}}} $ 间的通信总次数与每轮协同控制通信能耗;$ {F_{{\text{s, u}}}} $ 与$ {W_{{\text{s, u}}}} $ 分别表示跨域领航者$ {l_{\text{s}}} $ 与$ {l_{\text{u}}} $ 间的通信总次数与每轮协同控制通信能耗;$ {W_i} $ 表示每轮协同控制各域集群的通信能耗;$ S $ 表示各域实现编队控制所需通信频率总次数。综合考虑编队跟踪误差以及总通信能耗, 其多目标优化函数
$$ \min F = \left[ {{f_{\text{e}}}, {W_{{\text{total}}}}} \right] $$ (37) 在无人系统在实现收敛过程中, 不仅要考虑收敛时间与通信能耗, 同时也要考虑控制器参数的约束条件、领航者间的通信距离等。
1) 各域脉冲间隔大小依次表示为
$$ \left\{ {\begin{array}{*{20}{l}} {\dfrac{{\ln {\beta _i}}}{{{\gamma _i}}} + {\mu _i} \lt 0, {\text{ }}i \in \mathcal{V}} \\ {\max \left\{ {{\gamma _{\text{a}}}, {\gamma _{\text{s}}}} \right\} \leqslant {{\gamma '}_{{\text{L, a, s}}}} \lt {T_{{\text{L, a, s}}}}} \\ {\max \left\{ {{\gamma _{\text{s}}}, {\gamma _{\text{u}}}} \right\} \leqslant {{\gamma '}_{{\text{L, s, u}}}} \lt {T_{{\text{L, s, u}}}}} \end{array}} \right. $$ (38) 式中:
$ {\gamma _i} $ 表示同域脉冲间隔;$ {\beta _i} $ 与$ {\mu _i} $ 为满足2.3节中稳定性条件下的参数, 且$ {\text{0 \lt }}{\beta _i}{\text{ \lt 1}} $ ,$ {\mu _i} \gt 1 $ ;$ {\gamma '_{{\text{L, a, s}}}} $ 与$ {\gamma '_{{\text{L, s, u}}}} $ 分别表示UAV集群领航者$ {l_{\text{a}}} $ 与USV集群领航者$ {l_{\text{s}}} $ 以及USV集群领航者$ {l_{\text{s}}} $ 与UUV集群领航者$ {l_{\text{u}}} $ 间的脉冲间隔;$ {\gamma _{\text{a}}} $ ,$ {\gamma _{\text{s}}} $ 以及$ {\gamma _{\text{u}}} $ 分别表示UAV集群、USV集群以及UUV集群脉冲间隔,$ {T_{{\text{L, a, s}}}} $ 与$ {T_{{\text{L, s, u}}}} $ 分别表示领航者UAV与领航者USV以及领航者USV与领航者UUV超出通信范围时的最大间隔。2) 领航者间的通信距离约束, 即领航者间相对距离需保持在一定通信范围内, 可表示为
$$ \underline{D} \leqslant \left\| {{x_l} - {x_j}} \right\| \leqslant \bar D, l, j \in {\mathcal{N}_L} $$ (39) 3) 无人平台的运动约束, 无人平台i的最大速度为
$ {v_{i, \max }} $ , 最小转弯半径为$ {\theta _{i, \min }} $ 。QPSO算法是一种基于群体搜索的启发式算法, 属于智能优化算法, 其基本思想为初始时一群随机粒子, 根据自身与群体信息共同来确定其位置, 通过迭代寻找最优解。因此, 假设各域脉冲间隔参数集合
$ \tilde \gamma $ 作为粒子的位置状态信息, 即$ \tilde \gamma = \left\{ {{{\gamma '}_{{\text{L, a, s}}}}, {{\gamma '}_{{\text{L, s, u}}}}, {\gamma _{\text{a}}}, {\gamma _{\text{s}}}, {\gamma _{\text{u}}}} \right\} $ , 共有$ {N_p} $ 个粒子。基于QPSO算法的演化表达式为$$ {C_{\textit{z}}}\left( t \right) = \frac{1}{M}\sum\limits_{i = 1}^M {{{\bar \gamma }_{q, {\textit{z}}}}\left( t \right)} , {\text{ }}j \in \left\{ {1, 2, 3, 4, 5} \right\} $$ (40) $$ \left\{ \begin{gathered} {{\bar \gamma }_q}\left( t \right) = \left\{ {\begin{array}{*{20}{l}} {{{\tilde \gamma }_q}\left( t \right), }\;{\varGamma \left[ {{{\tilde \gamma }_q}\left( t \right)} \right] \lt \varGamma \left[ {{{\bar \gamma }_q}\left( {t - 1} \right)} \right]} \\ {{{\bar \gamma }_q}\left( {t - 1} \right), }\;{\varGamma \left[ {{{\tilde \gamma }_q}\left( t \right)} \right] \geqslant \varGamma \left[ {{{\bar \gamma }_q}\left( {t - 1} \right)} \right]} \end{array}} \right. \\ {{\tilde \gamma }^{{\text{opt}}}}\left( t \right) = {{\bar \gamma }_{\text{g}}}\left( t \right), {\text{ }}g = \arg \mathop {\min }\limits_{1 \leqslant q \leqslant M} {\mkern 1mu} \left\{ {\varGamma \left[ {{{\bar \gamma }_q}\left( t \right)} \right]} \right\} \\ \end{gathered} \right. $$ (41) $$ {\tilde p_{q, {\textit{z}}}}\left( t \right) = {{\boldsymbol{\varphi}}_{\textit{z}}}\left( t \right) \cdot {\bar \gamma _{q, {\textit{z}}}}\left( t \right) + \left[ {1 - {{\boldsymbol{\varphi}}_{\textit{z}}}\left( t \right)} \right] \cdot \tilde \gamma _{\textit{z}}^{{\text{opt}}}\left( t \right) $$ (42) $$ {\tilde \gamma _{q, {\textit{z}}}}(t + 1) = {\tilde p_{q, {\textit{z}}}}\left( t \right) \pm \bar \alpha \cdot \left| {{C_{\textit{z}}}\left( t \right) - {{\tilde \gamma }_{q, {\textit{z}}}}(t)} \right| \cdot \ln \left[ {1/{{\bar \mu }_{q, {\textit{z}}}}\left( t \right)\;} \right] $$ (43) 式中:
$ {\tilde \gamma _{q, {\textit{z}}}}(t + 1) $ 与$ {\tilde p_{q, {\textit{z}}}}\left( t \right) $ 分别表示粒子q在第z维度的当前位置与吸引子;$ {C_{\textit{z}}}\left( t \right) $ 表示第z维度的平均最佳位置,$ {\bar \gamma _{q, {\textit{z}}}}\left( t \right) $ 表示粒子q在第z维度的最优位置,$ {\bar \gamma _q}\left( t \right) $ 与$ {\tilde \gamma ^{{\text{opt}}}}\left( t \right) $ 分别表示个体最优与全局最优; g表示优化函数$ \varGamma \left[ {{{\bar \gamma }_q}\left( t \right)} \right] $ 达到最小时变量q的值;$ \bar \alpha $ 表示收缩-扩张系数;$ {{\boldsymbol{\varphi}}_{\textit{z}}}\left( t \right) $ 与$ {\bar \mu _{q, {\textit{z}}}}\left( t \right) $ 分别表示服从均匀分布的随机数, 即$ {\bar \mu _{q, {\textit{z}}}}\left( t \right), {\text{ }}{{\boldsymbol{\varphi}}_{\textit{z}}}\left( t \right)\sim U\left( {0, 1} \right) $ 。由于
$ \bar \alpha $ 值越大, 全局搜索范围越广; 值越小, 收敛速度越快。因此, 为了扩大前期搜索范围以及加快后期收敛速度,$ \bar \alpha $ 可以改进为一个呈递减的指数函数, 即$$ \bar \alpha = {\bar \alpha _0}\exp \left( {\frac{{\left( {{{\tilde I}_{\max }} - {{\tilde I}_k}} \right)}}{{{{\tilde I}_{\max }}}} - 1} \right) $$ (44) 式中:
$ {\bar \alpha _0} $ 表示初始值;$ \tilde{\boldsymbol{\mathit{I}}}_k $ 与$ \tilde{\boldsymbol{\mathit{I}}}_{\max} $ 分别表示迭代次数与最大迭代次数。3.2 基于动态密集距离的非劣解集更新
对于基于MOIQPSO算法的多目标优化问题, 通常非劣解集更新维护处理不当, 会引起Pareto解集的多样性以及分布性差, 常见方法如自适应网格策略[21], 该方法易受网格划分的影响; 而拥挤距离策略[22]通过粒子间的拥挤距离排序, 对存档中的粒子进行增删, 弥补自适应网格策略引起的非劣解集分布不均匀缺陷。相比于拥挤距离策略, 动态密集距离策略采用逐一去除方法更新非劣解集, 其解集的多样性与均匀性更好。因此利用动态密集距离的策略来解决非劣解集的更新问题。
假设目标数为
$ {n_{\text{o}}} $ , 定义粒子的密集距离为$$ {\bar {\boldsymbol{I}}_q} = \sum\limits_{m = 1}^{{n_{\text{o}}}} {\frac{{\left| {{f_{m, c}} - {f_{m, c'}}} \right|}}{{{f_{m, \max }} - {f_{m, \min }}}}} $$ (45) 式中: c与
$ c' $ 分别表示距离粒子q最近的2个粒子;$ {f_{m, c}} $ 与$ {f_{m, c'}} $ 分别表示粒子c与$ c' $ 的第m个目标值;$ {f_{m, \max }} $ 与$ {f_{m, \min }} $ 分别表示所有粒子第m个目标函数的最大值和最小值。使用动态密集距离机制选择全局最优和维护外部存档的步骤如下:
1) 根据每个目标函数对外部存档中的所有个体进行排序;
2) 根据式(45)计算所有个体的密集距离值
$ \bar I $ , 其中边界个体的密集距离值设为无穷大;3) 对
$ \bar I $ 进行降序排序, 去除密集距离最小的个体;4) 对剩余个体循环执行步骤2)和3), 直至存档不超容为止; 若是选择全局最优, 则从拥挤距离值最大前百分比随机选取。
综上, MOIQPSO算法的流程图如图2所示。通过MOIQPSO算法, 可以智能选取各域最优的脉冲间隔。
4. 仿真验证与结果分析
为了验证文中提出的协同控制与智能优化算法的性能, 开展了仿真验证。
考虑空海异构无人系统由3组不同域的异构无人平台组成, 其中包括3个领航者和11个跟随者, 其中跟随者分别为3个
${\mathrm{UAV}}_ i, {\text{ }}i \in \{ 1, 2, 3\} $ , 4个${\mathrm{USV}}_ i, {\text{ }}i \in \{ 4, 5, 6, 7\} $ 和4个${\mathrm{UUV}}_ i, {\text{ }}i \in \{ 8, 9, 10, 11\} $ , 如图3所示。领航者的初始位置分别为
$$ \left[ {\begin{array}{*{20}{c}} {{\boldsymbol{x}}_{{l_1}}^{\rm{T}}} \\ {{\boldsymbol{x}}_{{l_2}}^{\rm{T}}} \\ {{\boldsymbol{x}}_{{l_3}}^{\rm{T}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} { - 2.5}&{ - 3}&5 \\ { - 3}&{ - 3}&0 \\ { - 2.5}&{ - 3.1}&{ - 5} \end{array}} \right] $$ (46) UAV集群中跟随者的初始位置为
$$ \left[ {\begin{array}{*{20}{c}} {{\boldsymbol{x}}_1^{\rm{T}}} \\ {{\boldsymbol{x}}_2^{\rm{T}}} \\ {{\boldsymbol{x}}_3^{\rm{T}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} { - 2.1}&{ - 1.5}&3 \\ { - 3.2}&{ - 2.5}&2 \\ { - 4}&{ - 2.1}&{4.2} \end{array}} \right] $$ (47) USV集群中跟随者的初始位置为
$$ \left[ {\begin{array}{*{20}{c}} {{\boldsymbol{x}}_4^{\rm{T}}} \\ {{\boldsymbol{x}}_5^{\rm{T}}} \\ {{\boldsymbol{x}}_6^{\rm{T}}} \\ {{\boldsymbol{x}}_7^{\rm{T}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} { - 2.1}&{ - 1.8}&0 \\ { - 4.2}&{ - 2.5}&0 \\ { - 5.5}&{ - 4}&0 \\ { - 1}&{ - 2}&0 \end{array}} \right] $$ (48) UUV集群中跟随者的初始位置为
$$ \left[ {\begin{array}{*{20}{c}} {{\boldsymbol{x}}_8^{\rm{T}}} \\ {{\boldsymbol{x}}_9^{\rm{T}}} \\ {{\boldsymbol{x}}_{10}^{\rm{T}}} \\ {{\boldsymbol{x}}_{11}^{\rm{T}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{l}} { - 3}&{ - 1.5}&{ - 2.3} \\ { - 2.9}&{ - 2.1}&{ - 3.1} \\ { - 4.2}&{ - 2.4}&{ - 4.5} \\ { - 1.8}&{ - 3.8}&{ - 6.3} \end{array}} \right] $$ (49) 上述各无人平台初始位置的单位均为
$ \rm{km} $ , 同时障碍物是以半径为0.4 km的静态球体, 其位置分别表示为$ \boldsymbol{x}_{o_1}=\left[3,\text{ }2,\text{ }5\right]\;\rm{km} $ ,$ \boldsymbol{x}_{o_2}=\left[5,\text{ }4,\text{ }6\right]\;\rm{km} $ ,$ \boldsymbol{x}_{o_3}=\left[1.6,\text{ }4,\text{ }0\right]\;\rm{km} $ ,$ \boldsymbol{x}_{o_4}=\left[6,\text{ }4,\text{ }0\right]\;\rm{km} $ ,$ \boldsymbol{x}_{o_5}=[6,\text{ } 5, \text{ }-5]\;\rm{km} $ ,$ \boldsymbol{x}_{o_6}=\left[4,\text{ }7,\text{ }-6\right]\;\rm{km} $ 。假设采用一般选取算法的脉冲时间间隔为
$ \tilde{\boldsymbol{\gamma}}=[1,1,0.2,0.3,0.3]\min $ , MOIQPSO算法中迭代次数为50, 种群个数为30。图4给出了采用基于所提出MOIQPSO算法时ASHS的轨迹和形成编队的整个过程, 可以看出在所设计的脉冲控制协议下, 实现了编队控制。图5给出了采用基于所提出MOIQPSO算法时各域领航者间的通信距离, 可以看出各域领航者间均保持在可通信范围内。
针对脉冲间隔选取的2种不同算法, 图6~8分别给出了各无人平台相应的位置误差, 图9给出了各无人平台相应的总通信能耗。可以看出, 分别在
$ t = 51\min $ 和$ t = 48\min $ 时, 领航者与跟随者的空间位置误差均渐近收敛到零, 同时对应的通信能耗分别为$ {W}_{1}=13.5\; {\mathrm{J}} $ 和$ {W}_{2}=20 \;{\mathrm{J}} $ ,$ {W_1} $ 与$ {W_2} $ 分别表示采用MOIQPSO算法与一般选取算法的通信能耗。可以看出, 采用MOIQPSO算法的收敛时间要略多于一般选取算法, 但通信能耗要远小于一般选取算法。另外, 对一般选取算法和MOIQPSO算法进行多次重复实验, 各自独自运行5次, 然后分别求其收敛时间与通信能耗的均值与标准差, 计算可得基于一般选取算法下的收敛时间与通信能耗的均值分别为49.4 min与19.8 J, 且标准差分别为4.87 min与2.16 J; 基于MOIQPSO算法下的收敛时间与通信能耗的均值分别为50.5 min与15.1 J, 且标准差分别为1.8 min与1.4 J。
在均值方面, 采用MOIQPSO算法的收敛时间要略多于一般选取算法, 但通信能耗要远小于一般选取算法。在标准差方面, 采用MOIQPSO算法的收敛时间与通信能耗均小于一般选取算法。因此, 相比于一般选取算法, MOIQPSO算法使协同控制算法的收敛时间与通信能耗间达到更好的折衷。
另一方面, 为了体现MOIQPSO算法的优越性, 与传统的MOQPSO算法进行了性能比较。性能评价指标选用外部解、间距与超体积(hypervolume, HV)。外部解指每次迭代过程中Pareto解集中某一目标分量最优时的解, 表征算法的收敛性与鲁棒性。间距IS用于衡量Pareto解集中解分布的均匀性, 文中选用粒子密集距离的均方差来表示, 即
$$ I_S=\sqrt{\frac{1}{N_p}\sum\limits_{q=1}^{N_p}\left(\overline{I}_q-\overline{I}'\right)^2} $$ (50) 式中:
$ \bar I' $ 为Pareto解集中所有粒子$ {\bar {{I}}_q} $ 的平均值。超体积用于衡量Pareto解集的收敛性与多样性, 可以表示为
$$ {\mathrm{}} \;I_{\mathrm{HV}} = \mathop \cup \limits_{i \in \mathcal{X}}^\mathcal{X} \nu \left( {{\boldsymbol{i}}, {\boldsymbol{P}}} \right) $$ (51) 式中:
$ \mathcal{X} $ 为Pareto解集;$ \nu \left( {{\boldsymbol{i}}, {\boldsymbol{P}}} \right) $ 为解集$ \mathcal{X} $ 中解i与参考点P间构成的超体积, 参考点P通常为各目标最大值形成的向量;$ I_{\mathrm{HV}} $ 越大, Pareto解集的收敛性与多样性越好。分别对通信能耗和总编队跟踪误差进行归一化处理, 即
$$ {\tilde W_{{\mathrm{total}}}} = \frac{{{W_{{\mathrm{total}}}}}}{{{W_{{\mathrm{max}}}}}} $$ (52) $$ {{{e}}_{{{\mathrm{nf}}}}} = \frac{{\displaystyle \sum\limits_{t \to T} {{{e}}\left( t \right)} }}{{{{e}}\left( 0 \right) \cdot {T_{\max }}}} $$ (53) 式中:
$ {W_{\max}} $ 表示最大通信能耗;$ {{e}}\left( 0 \right) $ 表示初始编队跟踪误差。式(52)可以反映出编队跟踪误差相对于其最大值的比例, 值越小, 表示更易趋于收敛, 收敛速度更快。文中分别就2种算法进行了多次重复实验, 各自独自运行10次, 然后分别求其外部解、间距与超体积的平均值。
图10和图11分别给出了单次实验的通信能耗和总编队跟踪误差, 表1列出了外部解、间距与超体积的平均值。从图10、图11与表1给出的外部解平均值可以看出, 采用MOIQPSO算法时总编队跟踪误差与通信能耗的外部解更小, 且收敛速度更快。因此, MOIQPSO算法具有更好的收敛特性, 这归功于该算法采用了自适应权重操作。
表 1 2种算法性能比较Table 1. Comparison of performance between two algorithms算法 外部解 IS $ I_{\mathrm{HV}} $ $ {e_{{\mathrm{nf}}}} $ $ {\tilde W_{{\mathrm{total}}}} $ MOQPSO 0.1843 0.1481 0.033 16.05 MOIQPSO 0.1574 0.1351 0.023 18.81 同时, 从图12给出的Pareto解的分布情况, 以及表1给出的间距与超体积平均值可以看出, MOIQPSO算法具有更好的多样性与分布特性, 这是因为该算法对Pareto解集的更新策略进行了改进。
5. 结束语
针对受限通信约束下的空海异构无人系统, 为各域领航者提出了一种基于人工势场法的协同轨迹规划算法, 解决了领航者避障下的轨迹规划问题; 设计了一种脉冲层级编队控制协议, 解决了受限通信条件下空海异构无人系统的各域协同控制问题。另外, 提出了一种各域脉冲间隔的智能选取算法即MOIQPSO算法, 解决了综合收敛速率与通信能耗的多目标优化问题。仿真验证结果表明, 空海异构无人系统采用文中所提协同控制算法能在避障条件下实现编队控制; 同时, 与传统MOQPSO算法相比, 所提MOIQPSO算法具有更好的收敛性与全局搜索能力。由于在复杂的海洋环境下, 在实际部署中会受到洋流干扰, 以及水声通信的有限带宽影响, 因此应当采用相应的抗干扰策略以及对网络拓扑进行优化, 来减少通信资源。一方面, 由于传统的人工势场法易陷入局部极值, 未来结合更为复杂的全局路径规划方法来减少局部极值的影响; 另一方面, 对于收缩-扩张系数的设计, 可以对所提出的递减函数进一步改进。另外, 由于无人平台间的信息交互可能存在丢包与时延问题, 未来将考虑存在丢包与时延条件下, 研究空海异构无人系统的协同控制问题。
-
表 1 2种算法性能比较
Table 1. Comparison of performance between two algorithms
算法 外部解 IS $ I_{\mathrm{HV}} $ $ {e_{{\mathrm{nf}}}} $ $ {\tilde W_{{\mathrm{total}}}} $ MOQPSO 0.1843 0.1481 0.033 16.05 MOIQPSO 0.1574 0.1351 0.023 18.81 -
[1] 杨惠珍, 李建国, 吴天宇, 等. 基于逃逸角的多ASV微分博弈协同围捕方法[J]. 水下无人系统学报, 2024, 32(4): 730-738.YANG H Z, LI J G, WU T Y, et al. Cooperative hunting method for multiple ASVs using differential games based on escape angle[J]. Journal of Unmanned Undersea Systems, 2024, 32(4): 730-738. [2] 宋保维, 潘光, 张立川, 等. 自主水下航行器发展趋势及关键技术[J]. 中国舰船研究, 2022, 17(5): 27-44.SONG B W, PAN G, ZHANG L C, et al. Development trend and key technologies of autonomous underwater vehicles[J]. Chinese Journal of Ship Research, 2022, 17(5): 27-44. [3] 邱志明, 孟祥尧, 马焱, 等. 海上无人系统跨域协同运用与技术发展[J]. 水下无人系统学报, 2024, 32(2): 184-193.QIU Z M, MENG X Y, MA Y, et al. Cross-domain collaborative application and technology development of maritime unmanned systems[J]. Journal of Unmanned Undersea Systems, 2024, 32(2): 184-193. [4] 孙海文, 王溪野, 王兆辰, 等. 海上异构无人集群协同运用发展概况及启示[J]. 水下无人系统学报, 2024, 32(2): 275-281.SUN H W, WANG X Y, WANG Z C, et al. Development overview and inspiration of collaborative application of heterogeneous unmanned clusters at sea[J]. Journal of Unmanned Undersea Systems, 2024, 32(2): 275-281. [5] JIA Z H, LU H B, LI S Q, et al. Distributed dynamic rendezvous control of the AUV-USV joint system with practical disturbance compensations using model predictive control[J]. Ocean Engineering, 2022, 258: 111268. [6] 于建宇, 林景胜, 闫敬, 等. 一种UAV-USV-UUV跨域协同时钟同步算法[J]. 水下无人系统学报, 2024, 32(4): 678-687.YU J Y, LIN J S, YAN J, et al. Clock synchronization algorithm of UAV-USV-UUV cross-domain cooperation[J]. Journal of Unmanned Undersea Systems, 2024, 32(4): 678-687. [7] MA L, YE H M, GU B, et al. Formation tracking for the heterogeneous multi-agents under deception attacks: An impulsive control approach[C]//2023 2nd Conference on Fully Actuated System Theory and Applications (CFASTA). Qingdao, China, 2023: 355-360. [8] WAN Q, CHEN W H, LU X M. Secure consensus tracking of multi-agent systems with network-induced delays under deception attacks via guaranteed performance impulsive control[J]. Nonlinear Dynamics, 2023, 111(13): 12213-12232. [9] DAI H Y, GUO X, JI L H, et al. Bipartite synchronization of multi-agent systems under deception attacks via pinning delayed-impulsive control[J]. International Journal of Robust and Nonlinear Control, 2023, 33(13): 7718-7734. [10] LIN W L, PENG S G, FU Z W, et al. Consensus of fractional-order multi-agent systems via event-triggered pinning impulsive control[J]. Neurocomputing, 2022, 494: 409-417. [11] ZHANG W, HUANG Q, WANG X, et al. Bipartite consensus for quantization communication multi-agent systems with event-triggered random delayed impulse control[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2024, 1-16. [12] 王万良. 人工智能导论[M]. 5版. 北京: 高等教育出版社, 2022. [13] 冯茜, 李擎, 全威, 等. 多目标粒子群优化算法研究综述[J]. 工程科学学报, 2021, 43(6): 745-753.FENG Q, LI Q, QUAN W, et al. Overview of multiobjective particle swarm optimization algorithm[J]. Chinese Journal of Engineering, 2021, 43(6): 745-753. [14] HU L, YANG Y, TANG Z H, et al. FCAN-MOPSO: An improved fuzzy-based graph clustering algorithm for complex networks with multi-objective particle swarm optimization[J]. IEEE Transactions on Fuzzy Systems, 2023, 31(10): 3470-3484. doi: 10.1109/TFUZZ.2023.3259726 [15] CHENG W L, ZHANG K, JIANG B, et al. Fixed-time fault-tolerant formation control for heterogeneous multi-agent systems with parameter uncertainties and disturbances[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2021, 68(5): 2121-2133. [16] YAN Z P, PAN X L, YANG Z W, et al. Formation control of leader-following multi-UUVs with uncertain factors and time-varying delays[J]. IEEE Access, 2019, 7: 118792-118805. [17] 苏博. 自主水下机器人轨迹跟踪及编队一致性固定时间控制研究[D]. 秦皇岛: 燕山大学, 2021. [18] LI H Y, LI X. Distributed consensus of heterogeneous linear time-varying systems on UAVs-USVs coordination[J]. IEEE Transactions on Circuits and Systems II: Express Briefs, 2019, 67(7): 1264-1268. [19] SEMSAR E, KHORASANI K. Team consensus for a network of unmanned vehicles in presence of actuator faults[J]. IEEE Transactions on Control Systems Technology, 2009, 18(5): 1155-1161. [20] HARDY G, LITTLEWOOD J. An inequality[J]. Mathematische Zeitschrift, 1936, 40(1): 1-40. [21] COELLO C, PULIDO G, LECHUGA M. Handling multiple objectives with particle swarm optimization[J]. IEEE Transactions on evolutionary computation, 2004, 8(3): 256-279. [22] RAQUEL C, NAVAL J. An effective use of crowding distance in multiobjective particle swarm optimization [C]//Proceedings of the 7th Annual conference on Genetic and Evolutionary Computation. NY, USA: GEC, 2005: 257-264. -