﻿ 集群式AUV可控分群控制算法
 舰船科学技术  2022, Vol. 44 Issue (14): 95-99    DOI: 10.3404/j.issn.1672-7649.2022.14.021 PDF

Controllable fission control algorithm for swarm autonomous underwater vehicles
LI Cheng-feng, LIU Sheng-jun, ZHANG Yang-wei, ZHANG Hong-qiang
College of Electrical Engineering, Suihua University, Suihua 152000, China
Abstract: For the uncontrollable state of subgroups in autonomous underwater vehicle (AUV) fission, a controllable fission control algorithm based on ant colony algorithm is proposed. Referring to the basic ant colony algorithm, the expected subgroups scale and the distance between AUV and group targets are used to design the autonomous nearest fission strategy. Based on this strategy, a cooperative fission control algorithm with multiple variable speed group targets is designed to make AUV swarm produce fission behavior with controllable number, scale and speed of subgroups. This algorithm effectiveness is verified by theoretical analysis and simulation experiments. The results show that this algorithm can make AUV swarm achieve controllable fission behavior, and doesn’t disturb the stable neighbor structure too much in fission process, so as to accelerate swarm structure adjustment process and reduce swarm speed oscillation.
Key words: AUV swarm     ant colony algorithm     cooperative fission     controllability     subgroup scale
0 引　言

1 问题描述 1.1 图论基础

1.2 问题描述

 $\left\{ \begin{gathered} {{{\boldsymbol{\dot p}}}_i}{\kern 1pt} ={\kern 1pt} {\kern 1pt} {{\boldsymbol{v}}_i} \\ {{{\boldsymbol{\dot v}}}_i}{\kern 1pt} ={\kern 1pt} {{\boldsymbol{u}}_{\boldsymbol{i}}} \\ \end{gathered} \right.,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} i = 1,2,\cdots,N。$ (1)

 ${N_i} = \left\{ {j:\left\| {{{\boldsymbol{p}}_j} - {{\boldsymbol{p}}_i}} \right\| < R,j \ne i,j = 1,2,\cdots,N} \right\} 。$ (2)

 $\left\{ \begin{gathered} {{{\boldsymbol{\dot p}}}_{{{t}}k}}{\kern 1pt} {\text{ = }}{\kern 1pt} {\kern 1pt} {{\boldsymbol{v}}_{{{t}}k}} \\ {{{\boldsymbol{\dot v}}}_{{{t}}k}}{\kern 1pt} {\text{ = }}{\kern 1pt} {{\boldsymbol{f}}_{{{t}}k}} \\ \end{gathered} \right.,{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} k = 1,2,\cdots,K\left( t \right) 。$ (3)

 ${N}_{i}=\Bigg\{\begin{array}{l}{N}_{i}^{\text{s}}=\left\{j|j\in {N}_{i}且与i群目标相同\right\}，\\ {N}_{i}^{\text{d}}=\left\{j|j\in {N}_{i}且与i群目标不同\right\}。\end{array}$ (4)

2 基于蚁群算法的协同分群控制算法 2.1 基于经典蚁群算法的就近分群策略

 ${P}_{ij}^{m}=\left\{\begin{array}{ll}\frac{{\left({\tau }_{ij}\left(t\right)\right)}^{\alpha }{\left({\eta }_{ij}\left(t\right)\right)}^{\beta }}{{\displaystyle {\sum }_{s\in {J}_{m}\left(i\right)}{\left({\tau }_{is}\left(t\right)\right)}^{\alpha }{\left({\eta }_{is}\left(t\right)\right)}^{\beta }}},&j\in {J}_{m}\left(i\right)，\\ 0\text{，} &j\notin {J}_{m}\left(i\right)。\end{array}\right.$ (5)

 ${P_{i,k}} = \frac{{{{\left( {{\tau _k}} \right)}^\alpha }{{\left( {{\eta _{i,k}}} \right)}^\beta }}}{{\displaystyle\sum\nolimits_{k = 1}^{K\left( t \right)} {{{\left( {{\tau _k}} \right)}^\alpha }{{\left( {{\eta _{i,k}}} \right)}^\beta }} }} 。$ (6)

2.2 协同分群控制算法设计

 ${{\boldsymbol{u}}_i} = {\boldsymbol{u}}_i^{{p}} + {\boldsymbol{u}}_i^{{v}} + {\boldsymbol{u}}_i^{{t}}。$ (7)

${\boldsymbol{u}}_i^{\text{p}}= \displaystyle\sum\limits_{j \in {N_i}} {{f_{ji}}{{\boldsymbol{e}}_{ij}}}$ 为位置协调项，通过AUV内部之间的交互作用保证个体间避碰、同子群个体聚集和不同子群个体分离，实现无碰撞的分群行为。 ${{\boldsymbol{f}}_{ji}}$ 是邻居个体之间的相互作用力函数：

 ${f}_{ji}=\left\{ \begin{array}{l}{f}_{{r}}\left(\Vert {p}_{ji}\Vert \right),j\in {N}_{i}^{\text{s}}且\Vert {p}_{ji}\Vert < {d}_{{e}}，\\ 0,j\in {N}_{i}^{{s}}且\Vert {p}_{ji}\Vert ={d}_{{e}}，\\ {f}_{{a}}\left(\Vert {p}_{ji}\Vert \right),j\in {N}_{i}^{{s}}且{d}_{{e}} < \Vert {p}_{ji}\Vert \leqslant R,\\ {f}_{{r}}{}^{\prime }\left(\Vert {p}_{ji}\Vert \right),j\in {N}_{i}^{{d}}。\end{array} \right.$ (8)

${\boldsymbol{u}}_i^{\text{v}}{\text{ = }} \displaystyle\sum\limits_{j \in N_i^{\text{s}}} {{{\boldsymbol{v}}_j}_i}$ 为速度协同项，保证同子群邻居AUV的速度协调一致，其中， ${{\boldsymbol{v}}_j}_i$ 为AUV ij之间的相对速度。

${\boldsymbol{u}}_i^t{\text{ = }}\displaystyle\sum\limits_{k = 1}^{K\left( t \right)} {{b_{ik}}} \left( {{c_1}{{{\boldsymbol{\tilde p}}}_{ki}} + {c_2}{{{\boldsymbol{\tilde v}}}_{ki}} + {{\boldsymbol{f}}_{{\text{t}}k}}} \right)$ 为群目标导航项，是AUV集群产生分群的诱因，并实现子群速度动态可控。其中， ${{\boldsymbol{\tilde p}}_{ki}} = {{\boldsymbol{p}}_{{\text{t}}k}} - {{\boldsymbol{p}}_i}$ ${{\boldsymbol{\tilde v}}_{ki}} = {{\boldsymbol{v}}_{{\text{t}}k}} - {{\boldsymbol{v}}_i}$ ${c_1}$ ${c_2}$ 为正常数，依据分群策略，若AUV $i$ 选择群目标k ${b_{ik}} = 1$ ，否则， ${b_{ik}} = 0$

2.3 稳定性分析

 ${Q_k} = \frac{1}{2}\sum\limits_{i = 1}^{{\tau _k}} {{F_i}} + \frac{1}{2}\sum\limits_{i = 1}^{{\tau _k}} {{c_1}{{{\boldsymbol{\tilde p}}}_{ki}}^{\text{T}}{{{\boldsymbol{\tilde p}}}_{ki}}} + \frac{1}{2}\sum\limits_{i = 1}^{{\tau _k}} {{{{\boldsymbol{\tilde v}}}_{ki}}^{\text{T}}{{{\boldsymbol{\tilde v}}}_{ki}}}。$ (9)

 ${\dot Q_k}{\boldsymbol{ = }}\frac{{\text{1}}}{{\text{2}}}\sum\limits_{i = 1}^{{\tau _k}} {{{\dot F}_{\boldsymbol{i}}}} {\boldsymbol{ + }}\sum\limits_{i = 1}^{{\tau _k}} {{c_1}{{{\boldsymbol{\tilde p}}}_{k{\boldsymbol{i}}}}^{\text{T}}{{{\boldsymbol{\tilde v}}}_{k{\boldsymbol{i}}}}} {\boldsymbol{ + }}\sum\limits_{i = 1}^{{\tau _k}} {{{{\boldsymbol{\tilde v}}}_{k{\boldsymbol{i}}}}^{\text{T}}{{{\boldsymbol{\dot {\tilde v}}}}_{k{\boldsymbol{i}}}}}。$ (10)

${\nabla _{{{{\boldsymbol{\tilde p}}}_{ji}}}}{F_{ji}}\left( {\left\| {{{{\boldsymbol{\tilde p}}}_{ji}}} \right\|} \right) = {\nabla _{{{{\boldsymbol{\tilde p}}}_{ki}}}}{F_{ji}}\left( {\left\| {{{{\boldsymbol{\tilde p}}}_{ji}}} \right\|} \right) = - {\nabla _{{{{\boldsymbol{\tilde p}}}_{kj}}}}{F_j}_i\left( {\left\| {{{{\boldsymbol{\tilde p}}}_{ji}}} \right\|} \right)$

 $\frac{1}{2}\sum\limits_{i = 1}^{{\tau _k}} {{{\dot F}_i}} = \sum\limits_{i = 1}^{{\tau _k}} {{{{\boldsymbol{\tilde v}}}_{ki}}^{\text{T}}{\nabla _{{{{\boldsymbol{\tilde p}}}_{ki}}}}{F_i}} 。$ (11)

${{\boldsymbol{\dot {\tilde v}}}_{ki}} = {{\boldsymbol{u}}_i} - {{\boldsymbol{f}}_{{\text{t}}k}}$ ，得

 \begin{aligned}[b] {{\dot Q}_k} =& \sum\limits_{i = 1}^{{\tau _k}} {{{{\boldsymbol{\tilde v}}}_{ki}}^{\text{T}}{\nabla _{{{{\boldsymbol{\tilde p}}}_{ki}}}}{F_i}} + \sum\limits_{i = 1}^{{\tau _k}} {{c_1}{{{\boldsymbol{\tilde p}}}_{ki}}^{\text{T}}{{{\boldsymbol{\tilde v}}}_{ki}}}+ \sum\limits_{i = 1}^{{\tau _k}} {{{{\boldsymbol{\tilde v}}}_{ki}}^{\text{T}}\left( {{{\boldsymbol{u}}_i} - {{\boldsymbol{f}}_{{\text{t}}k}}} \right)} = \\ & -{{{\boldsymbol{\tilde v}}}^{\text{T}}}\left[ {\left( {{\boldsymbol{L}} + {c_2}{{\boldsymbol{I}}_{{\tau _k}}}} \right) \otimes {{\boldsymbol{I}}_2}} \right]{\boldsymbol{\tilde v}} 。\end{aligned} (12)

 $\varOmega = \left\{ {\left( {{{{\boldsymbol{\tilde p}}}^{\text{T}}},{{{\boldsymbol{\tilde v}}}^{\text{T}}}} \right)\left| {{Q_k}\left( t \right) \leqslant {Q_k}\left( 0 \right)} \right.} \right\} 。$ (13)

 ${\boldsymbol{S}} = \left\{ {\left( {{{{\boldsymbol{\tilde p}}}^{\text{T}}},{{{\boldsymbol{\tilde v}}}^{\text{T}}}} \right)\left| {{{\dot Q}_k}\left( t \right) = 0} \right.} \right\}。$ (14)

 ${\dot Q_k} = - {{\boldsymbol{\tilde v}}^{\text{T}}}\left[ {{\boldsymbol{L}} \otimes {{\boldsymbol{I}}_2}} \right]{\boldsymbol{\tilde v}} - {c_2}{{\boldsymbol{\tilde v}}^{\text{T}}}{\boldsymbol{\tilde v}} 。$ (15)

3 仿真实验

 ${f}_{ji}=\left\{\begin{array}{l}\dfrac{5{k}_{1}{d}_{ji}}{\sqrt{1+{d}_{ji}{}^{2}}}{\rho }_{h}\left(\frac{{\Vert {p}_{ji}\Vert }_{\sigma }}{R}\right)\text{，}j\in {N}_{i}^{{s}}，\\ \dfrac{5{k}_{2}{R}_{ji}}{\sqrt{1+{d}_{ji}{}^{2}}}{\rho }_{h}\left(\frac{{\Vert {p}_{ji}\Vert }_{\sigma }}{R}\right)\text{，}j\in {N}_{i}^{{d}}。\end{array}\right.$ (16)

 ${\rho _h}(z) = \left\{ {\begin{array}{*{20}{c}} {1,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm{if}}\;z \in [0,h)}，\\ {0.5\left[ {1 + \cos \left( {\text{π} \dfrac{{z - h}}{{1 - h}}} \right)} \right],\;{\rm{if}}\;z \in [h,1]}，\\ {0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\rm{otherwise}}}。\end{array}} \right.$

AUV集群和群目标的运行轨迹和速度曲线分别如图1图2所示。图1中，“*”、“○”、“◇”和“☆”分别为AUV集群和3个群目标的终点，可见，集群在最初一个群目标导航作用下完成了组群，并在出现3个群目标后完成了协同分群。由图2可知，无论组群还是分群运动，各子群速度均与对应的群目标速度趋于一致，且分群时集群速度振荡较小。

 图 1 AUV集群和群目标的运行轨迹 Fig. 1 Trajectory of AUV swarm and targets

 图 2 AUV集群和群目标的速度曲线 Fig. 2 Velocity curves of AUV swarm and targets

 图 3 子群规模变化曲线 Fig. 3 Subgroup size curves

 图 4 AUV集群结构变化 Fig. 4 Structure change of AUV swarm

 $E = \frac{1}{N}\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^{j \in {N_i}} {{{\left( {\left\| {{{\boldsymbol{p}}_j}_i} \right\| - {d_{\text{e}}}} \right)}^2}} }。$ (17)

AUV集群结构势能曲线如图5所示。可见，在分群过程中结构能量并没有出现大幅度增加现象，结构能量趋于稳定状态，这进一步表明所设计的就近分群策略可避免分群过程中过大的结构调整，使各个子群形成期望的稳定结构。

 图 5 AUV集群结构能量图 Fig. 5 Structural energy of AUV swarm
4 结　语

 [1] 张伟, 王乃新, 魏世琳, 等. 水下无人潜航器集群发展现状及关键技术综述[J]. 哈尔滨工程大学学报, 2019, 41(2): 289-297. [2] 曹少华, 张春晓, 王广洲, 等. 智能水下机器人的发展现状及在军事上的应用[J]. 船舶工程, 2019, 41(2): 79-84+89. [3] HADI B, KHOSRAVI A, SARHADI P. A Review of the path planning and formation control for multiple autonomous underwater vehicles[J/OL]. Journal of Intelligent & Robotic Systems, 2021, 1–67[2021-03-18].https://doi.org/10.1007/s10846-021-01330-4. [4] 刘明雍, 杨盼盼, 雷小康, 等. 基于信息耦合度的群集式AUV分群控制算法[J]. 西北工业大学学报, 2014, 32(4): 581-585. DOI:10.3969/j.issn.1000-2758.2014.04.022 [5] 杨盼盼, 刘明雍, 雷小康, 等. 群集系统分群行为建模与控制研究进展[J]. 控制与决策, 2016, 31(2): 193-206. [6] LIU Y, SLOTINE J, BARABA´si A. Controllability of complex networks[J]. Nature, 2011, 473(7346): 167-173. DOI:10.1038/nature10011 [7] FAN M C, ZHANG H T, WANG M. Bipartite flocking for multi-agent systems[J]. Communications in Nonlinear Science & Numerical Simulation, 2014, 19(9): 3313-3322. [8] XIAO Q, LIU H, WANG X, et al. A note on the fixed-time bipartite flocking for nonlinear multi-agent systems[J]. Applied Mathematics Letters, 2020, 99: 105973. DOI:10.1016/j.aml.2019.07.004 [9] YU J J, YU S H. An improved fixed-time bipartite flocking protocol for nonlinear multi-agent systems[J]. International Journal of Control, 2020(1): 1-6. [10] 杨盼盼, 张瑾琪, 刘家毓. 水声通信时延下集群式AUV分群控制算法[J]. 兵器装备工程学报, 2018, 39(12): 113-117. DOI:10.11809/bqzbgcxb2018.12.023 [11] YANG P P, LIU M Y, et al. A novel control algorithm for the self-organized fission behavior of flocking system with time delay[J]. International Journal of Control, Automation and Systems, 2016, 14(4): 986-997. DOI:10.1007/s12555-014-0518-1 [12] WEI H, CHEN X B. Flocking for multiple subgroups of multi-agents with different social distancing[J]. IEEE Access, 2020, 8: 164705-164716. DOI:10.1109/ACCESS.2020.3022395 [13] 王帅磊, 张金春, 曹彪, 等. 双类型多智能体蜂拥控制目标跟踪算法[J]. 控制工程, 2019, 26(5): 935-940. [14] 高振龙, 丁勇, 何金. 注意力跟随机制与IAP法相结合的多智能体运动控制[J]. 电光与控制, 2020, 27(3): 58-64. DOI:10.3969/j.issn.1671-637X.2020.03.011 [15] LUO X Y, LI S B, GUAN X P. Flocking algorithm with multi-target tracking for multi-agent systems[J]. Pattern Recognition Letters, 2010, 31(9): 800-805. DOI:10.1016/j.patrec.2010.01.014 [16] 刘宗春, 田彦涛, 李成凤. 动态阻尼环境下多领导者群体机器人系统协同跟踪控制[J]. 机器人, 2011, 33(4): 385-393.