【paper】分布式无人水下航行器围捕智能目标

  • An Effective Strategy for Distributed Unmanned Underwater Vehicles to Encircle and Capture Intelligent Targets
  • 2022.8
  • IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS【Q1 7.5】
  • Mingzhi Chen 上海理工大学

Q1 Background:本文试图解决一个什么样的问题?

  • 在岛屿环境下, n u n_u nu个防御型UUV围捕 m s m_s ms个外来UUV

如下图,t1、t2为外来UUV,1~8为防御UUV。

(以2的视角为例) 防御UUV 2通过连接到UUV 6进行任务分配。在接近其团队后,与团队成员进行更多沟通,以配合完成包围。防御UUV形成一个大包围圈,以防止外来UUV逃脱。之后,他们缩小包围圈以完成捕获。

(以t2包围过程为例)开始时,1、5、8号防御型UUV驱动t2上行,帮助2号防御型UUV完成包围。由于包围圈刚开始时较大,5号防御型UUV最先到达包围点,因此5号防御型UUV的航行轨迹与目标t2有些相似,以保持对包围点的占领。在仿真结束阶段,由于岛屿阻挡,2号防御型UUV从左侧过来,因此8号防御型UUV改为向上包围点航行,帮助快速完成包围

Q2 What's Known:之前解决这个问题有哪些方法?

  • 追逃博弈:汉密尔顿-雅可比-艾萨克 (HJI) 方程从终端状态追溯最优状态轨迹、基于图论、HJI 和最小-最大策略
  • 编队控制:一致性圆圈、阿波罗尼乌斯圆圈
  • 路径规划:[26]仿生神经网络(BNN) ;[17]改进BNN,获得快速的动态特性 。虽然动态特性得到了改善,但其路径取决于地图的分辨率,影响包围效率。[24]研究了追击-躲避游戏,并使用快速行进法FMM来估计追击时间。
  • 追逃博弈 + 编队控制:基于行为的方法[12] :为机器人群体建立了基于排斥、朝向和吸引三种行为的自组织捕食者任务;受生物启发的方法[13]、[14] :基于狼群算法和粒子群优化算法,目标仅依赖于敏捷性优势;基于状态的方法[15]:仅需通过局部交互来捕获目标;
  • 水下研究:[16]一种改进的脊髓神经系统,提出了一种双向协商的任务分配 方法。[17]完成了基于自组织映射(SOM)的目标围剿,重点研究了异质水下航行器。[19]提出了一种主从式围剿编队控制器,将围剿任务分配给距离近似相同的UUV,使UUV同时到达。😈缺点:集中式结构的任务分配算法,可以有效地分配任务,但需要很大的通信负担。此外,SOM神经网络的贪婪竞争导致分配不平衡。

之后看下 [10] Pursuit formation of double-integrator dynamics using consensus control approach

Q3 What's New:本文是用什么样的方法如何解决这个问题的?

  1. 速度估计:通过防御UUV的相对位置矢量估计外来UUV的速度
  2. 分布式任务分配:拍卖算法
  3. 规划和优化:QPSO算法改善包围圈合作
  4. 包围控制:FMM(fast marching method)和双闭环控制器对UUV进行跟踪包围:FMM是一种快速的类A*路径规划算法,它使用时间矩阵来规划路线。受此启发,在模型预测控制中将FMM设计为优化目标,并形成了一种新颖的速度规划器,使路线更高效、更平滑

预备知识

追逃博弈中的阿波罗尼斯圆

  • 在追逃博弈中,阿波罗尼斯圆是通过两点间的几何关系构造的圆,通常用来描述追捕者和逃逸者之间的相对距离和速度,帮助确定逃逸者的位置是否可以逃脱追捕者的控制区域,或者是否存在可以捕捉逃逸者的路径;也用来计算最优的追捕路径,特别是在追捕者和逃逸者的速度差异较大时,如何通过几何构造制定最优策略。
  • 其定义如下:给定两个点 𝐴和 𝐵,阿波罗尼斯圆是所有点 𝑃,使得点 𝑃到 𝐴的距离和点 𝑃到 𝐵的距离的比值为常数的圆。

分布式拍卖算法

  • 是一种通过拍卖机制来分配资源、任务或服务的算法,在分布式系统中应用广泛,尤其是在任务调度、资源管理、负载均衡、云计算、自动化决策等领域。其核心思想是将任务分配过程视为一个拍卖过程,参与者(通常是计算节点或代理)通过竞价来获得任务,从而实现资源的高效利用。

  • 在分布式系统中,通常有多个任务需要分配给多个计算节点或代理,目标是通过合理分配任务来优化系统性能(例如,最小化总执行时间或最大化资源利用率)。分布式拍卖任务分配算法通过模拟拍卖过程来决定每个任务的执行节点。每个节点或代理都可以对任务进行竞价,竞价的依据可以是节点的剩余计算能力、任务执行成本、预计完成时间等因素。

  • 步骤:

    1. 任务发布:任务发布方(通常是任务调度器或系统的中央控制单元)将任务发布到系统中,任务的描述包括计算需求、优先级、时限等。

    2. 节点竞价 :每个可用的节点或代理根据自己当前的状态(如计算能力、负载情况、可用资源等)为任务进行竞价。竞价通常是基于节点的执行成本或完成任务的时间。例如,节点 i 可能为任务 t 提出如下竞价:

      节点根据这些估算的执行成本或时间来提出竞价,较低的竞价意味着节点更愿意接受该任务。

    3. 拍卖和任务分配:根据节点的竞价,任务调度器(或拍卖系统)将任务分配给竞价最优的节点。常见的分配策略包括:

      • 最优拍卖(Optimal Auction):选择最低的竞价作为任务的执行节点。
      • 第二价格拍卖(Vickrey Auction):选择第二低的竞价作为任务的执行节点,尽管竞标者支付的是其自己出价,但系统根据第二低价格决定任务分配。
    4. 反馈和调整:任务分配后,节点开始执行任务。在任务执行过程中,节点可以反馈执行状态(如进度、失败信息等),系统根据反馈结果可能会重新调整任务的分配。

  • 算法特点去中心化 :分布式拍卖任务分配算法的一个关键特点是去中心化。任务的分配不依赖于中央控制节点,而是通过局部竞价和拍卖来完成。这有助于提高系统的可扩展性和容错性。动态性 :任务的分配可以根据系统的实时状态动态调整,例如,节点的负载变化或任务的优先级变化可能导致任务重新分配。参与者策略:每个参与者(节点或代理)在拍卖中的策略会影响最终任务分配的效率。例如,节点可能通过策略来隐瞒自己的真实能力或信息,以提高获取任务的几率。

量子粒子群优化算法(QPSO)

  • 基于粒子群优化(PSO)算法的变种,引入了量子力学的概念(量子比特的性质来更新粒子的状态)来增强搜索的效率,从而避免了传统PSO可能遇到的局部最优问题,结合了量子力学和粒子群优化的优势。
    • 粒子群优化(PSO)模拟鸟群觅食行为,通过在搜索空间中找到最优解来解决优化问题。PSO通过调整粒子的速度和位置来更新解空间,
    • QPSO则通过量子力学的波函数和量子位的叠加态来代替传统的速度更新规则,这使得QPSO可以通过量子门来对粒子的位置进行更高效的探索。
特点 PSO QPSO
搜索机制 基于速度和位置更新 基于量子叠加和量子坍缩更新
避免局部最优 通过惯性权重和加速因子控制 更强的全局搜索能力,通过量子叠加避免局部最优
计算复杂度 相对简单 较高,需要量子控制参数调节
收敛速度 较快 可能更快,但受参数控制影响

建模

  • 运动学模型

    x、y:位置; θ:方向

    u:线速度; w:角速度

  • 动力学模型

    fp:推进器推力;Tr:舵力矩;

    fz:水阻力;Tz:转矩;

    Cf:阻力系数,取0.75;CT:考虑力臂后的阻力矩系数,取0.3。ρ:海水密度,Sf=0.05、ST=0.2为横截面积

  • 目标
    d u i d_{ui} dui是防御UUV的追击距离 u i u_i ui; d s i d_{si} dsi是外来UUV的逃脱距离 s i s_i si。

    👉防御UUV:选择行动fui来避免外来UUV逃脱并最小化追逐距离,

    👉外来UUV:选择行动fsi来增加这些距离,最好是无穷大。

  • 任务成功标准:最终防御UUV编队成功的包围圈。

    👉e1和e2是防御UUV与外来UUV的相对位置;n:形成有效包围圈的防御UUV数量;rsucc:成功绕圈的半径。

外来者的逃避策略

👉未形成包围圈:以u的逃逸速度逃离最近的防御UUV。 u u i u_{ui} uui和 u u j u_{uj} uuj是防御UUV的跟踪速度矢量。 e u i e_{ui} eui和 e u j e_{uj} euj是防御和外方UUV之间的相对位置矢量。 V s m a x Vsmax Vsmax是外方UUV的最大标量速度。

👉已形成包围圈:需要找到一个最有可能冲出包围圈的方向:外方UUV可以快速跑出而不被拦截的方向。 t u i u j t_{uiuj} tuiuj为第i、j号防御型UUV相遇的最短时间, ∣ ∣ e u i u j ∣ ∣ ||e_{uiuj}|| ∣∣euiuj∣∣为二者距离。 t e t_e te为外来UUV到达边缘的最短逃逸时间, d e d_e de为外来UUV与边缘的最小距离

虽然这可能不是最优的逃离策略,但所提策略比随机的逃离策略更合理的,因为如果外来UUV采取随机的逃离方向,则会在被包围之前被拦截,该策略可以延迟拦截,使包围任务更加艰巨。

防御者的围捕策略

防御型 UUV 配备测距声纳来探测外来 UUV(以它们所在位置为中心的一个圆圈,可以很好地测量两辆车之间的相对位置)。其具体策略包括速度估计、任务分配和规划优化,以及包围控制。

速度估计:相对位置

  • 用一个虚拟agent(单积分模型)去跟踪外来UUV, u s u_s us是对外来UUV的速度估计, e v s e_{vs} evs 是虚拟agent与外来 UUV 之间的相对位置向量。当 k1 = 2 且 k2 = 3 时, u s u_s us 可以收敛到外来 UUV 的实际速度(文献[21]数学证明)

任务分配:拍卖算法

key:第一步:确定有效包围小组的防御UUV数量【通过公式(10)】,该数量应满足在包围成功后外来UUV试图逃脱时的拦截要求(用阿波罗尼斯圆检验包围是否成功。)。第二步:计算防御 UUV 到达每个外来 UUV(假设其处于静止状态)的时间【通过公式(11)】,存储为一个时间矩阵【公式(12)】。第三步:将时间矩阵中的行/列分配给每个UUV作为其竞价。第四步:开始拍卖,对于每个agent i:获取邻居的竞价,并更新自己的更高价格,重新分配行索引。最后,如果所有行都分配给不同的 UUV 或所有 UUV 都分配了不同的行索引,任务分配结束,获得任务列表 p s = p 11 , p 12 , . . . , p 1 , n − 1 , . . . , p m s 1 , p m s 2 , . . . , p m s , n − 1 p_s = {p_{11}, p_{12}, ..., p_{1,n−1}, ..., p_{m_s1}, p_{m_s2}, ..., p_{m_s,n−1}} ps=p11,p12,...,p1,n−1,...,pms1,pms2,...,pms,n−1。

防御性UUV的速度为外来UUV速度的√2/2,防御性UUV与对方UUV的距离为50 m。(a)中看似成功,实则不然。Ramana和Kothari[14]证明了仍然存在空隙,如图(b)所示。外来UUV朝两个阿波罗尼斯圆的切点方向逃脱,组成这两个阿波罗尼斯圆的两个防御性UUV必须要沿着正方形的边缘移动才能拦截。对于另外两艘防御型UUV来说,它们的最佳策略是沿着正方形的其他边移动。然而,当外来UUV逃离40 m后,有两个空隙(gap),外来UUV可以通过这两个空隙逃脱。

如何解决以上问题?👉 当UUV数量满足下述式中的 n n n时,包围才会成功。 V r a t i o V_{ratio} Vratio 为防御UUV与外来 UUV 的速度比。

所以派出 8 艘防御方 UUV 。当外来 UUV 想要逃跑时,可以派遣一艘防御方 UUV 拦截,其阿波罗尼乌斯圆与逃跑方向相交。其他防御方 UUV 可以保持静止以维持包围。

因此需要选择防御性 UUV 来组成一个有效的团队来跟踪外来 UUV,这是一个任务分配问题

  1. 为了确保外来 UUV 始终可见,最靠近外来 UUV 的防御 UUV 被直接分配到小队并设置为"不可用",以持续跟踪外来 UUV。需要 其余防御 UUV 中选择 n − 1 n − 1 n−1 艘防御性 UUV。
  2. 假设有 ms 艘未被捕获的外来 UUV,可以创建一个任务列表,即 p s = p 11 , p 12 , . . . , p 1 , n − 1 , . . . , p m s 1 , p m s 2 , . . . , p m s , n − 1 p_s = {p_{11}, p_{12}, ..., p_{1,n−1}, ..., p_{m_s1}, p_{m_s2}, ..., p_{m_s,n−1}} ps=p11,p12,...,p1,n−1,...,pms1,pms2,...,pms,n−1。比如 p 1 , n − 1 p_{1,n−1} p1,n−1表示分配第n-1号防御UUV围捕第1号外来UUV
  3. 采用分布式拍卖算法根据外来 UUV 的距离和估计速度将防御 UUV 映射到任务列表中。防御 UUV 到达外来 UUV(假设其处于静止状态)的时间粗略地通过(11)计算得出,其中考虑了外来 UUV 和防御性 UUV 的相对速度,权重因子为 imf = 0.25。
  4. Tc 是估计的行程时间矩阵ms ∗ (n − 1) * nu − ms ,其中一行包含第 1 号到 nu − ms 个可用防御性 UUV 到达任务列表中每个位置的时间的负值;ξ 是一个在 [0, 1] 中具有随机值的矩阵。

拍卖算法:

规划优化:基于QPSO的围剿合作和动态缩小包围圈

当防御型UUV接近目标时,它们可以通过更多的通信来加强合作。如果能尽快形成初步包围,捕获速度可能会更快。初始包围圈形成后,防御型UUV应逐渐缩小包围圈,直至捕获成功。
最大占领时间与包围半径r、包围角度θ以及防御型UUV的包围点分配有关。占领时间是指UUV到达指定包围点的时间。该问题需要是rθ包围点的非线性组合优化,很难得到精确的解,并且受到如下约束:① r s u c c r_succ rsucc为成功绕圈的半径, m i n ( d u s ) min(d_us) min(dus)为外来UUV与防御UUV之间的最小距离。② θ在x轴与两个最近的外来UUV和防御UUV的相对位置之间的夹角±π/2范围内,x=[1,0]T

  • 算法步骤
    1. 初始化:随机采样10组半径r和角度θ,并随机分配包围点,通过随机采样的半径和角度生成相应的包围点
    2. 循环:计算最大占领时间,更新全局和局部最优解👉利用全局和局部最优解生成10组新的采样半径r和角度θ,并分配包围点👉迭代20次后跳出循环
    3. 输出:返回优化后的包围点及其分配

包围控制:FMM+MPC+PI

  • 防御UUV的目标:无碰撞控制其fpTr到达包围点,尽可能节省时间【不如试试Minco时空轨迹优化】
  • 步骤:
    1. 构建局部地图,FMM通过求解Eikonal方程计算到达时间矩阵
      源位置的到达时间 T 0 T_0 T0 = 0。F可设置为UUV在自由空间中的速度,在障碍空间中F = 0。∇T是增量到达时间。 [25]提出了一种迎风策略来求解该方程,∇T由下式给出

    2. 通过MPC规划u和v:将运动学模型离散化,Ts为采样周期

      目标函数:最小化到达时间和角速度

      稳定性证明:Lyapunov J k + 1 − J k < 0 J_{k+1} - J_k < 0 Jk+1−Jk<0

    3. 跟踪期望u和v:PI控制器

Q4 What's the Contribution

  • 基于预估行程时间、阿波罗尼斯圆和分布式拍卖,提出了一种新的任务分配机制,将外来UUV分配到防御UUV中,并通过本地通信形成高效的包围圈。通过QPSO实现包围圈协作,与没有包围圈协作的算法相比,可以更快地形成初始包围圈
  • 设计了双闭环控制器用于包围控制,包括用于速度规划的运动学规划器和用于速度跟踪的动态跟随器。运动学规划器使用 FMM 计算的时间矩阵作为模型预测优化控制中的优化指标,从而提供时间成本更低的路径。
  • 对比BNN、SOM分配和无包围协作算法,本文算法的距离(形成编队包围圈的距离和围剿的距离)和耗时最短,任务分配的小组是平衡的
  • 水下真机实验:(通过D-DWM-PG3.6定位;包围点控制器、速度、力矩控制器均在计算机完成后,再发送力矩信号给水下机器人的stm32F407控制器;只有包围任务,无任务分配,三台防御UUV目标均为同一台外来UUV)

Q5 What's the Inspiration:个人的启发,Creation和畅想。

  • 优点:这篇文章整个的流程做的很完备,把问题拆解为先分配防御者到组👉再分配组内位置👉再进行运动规划。先让防御者对外来者的进行速度估计,根据估计值使用拍卖算法进行任务分配(最小化到达时间),分配后通过QPOS生成包围点,即目标。用FMM(类A*)找到时间最短的最优路径后,采样交给MPC规划出速度,再由PI进行跟踪。
  • 缺点:QPOS迭代20次就break,也可能无法获得最优解,但毕竟是非线性组合优化问题难以求解,看还有没有什么近似的手段?FMM规划出的路线进行离线采样后再用MPC做u v的规划还是有可能会发生碰撞的,且FMM计算量大可能也是一个潜在隐患。MPC其实可以直接代替FMM的工作,还无需考虑栅格地图,但要加入避障软约束和时间成本项,这一操作还需考量。
  • 值得借鉴🌟:
    • 多目标任务分配,这篇文章的拍卖任务分配方法还挺有意思
    • 避障:FMM是一种快速的类A*路径规划算法,它使用时间矩阵来规划路线。可以在分布式模型预测控制中将FMM设计为优化目标,形成了一种新颖的速度规划器,使路线更高效、更平滑。而且无需再MPC目标函数加入避障项,
相关推荐
Mr.Demo.1 小时前
[RabbitMQ] 保证消息可靠性的三大机制------消息确认,持久化,发送方确认
分布式·rabbitmq
小扳2 小时前
微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用
java·运维·分布式·后端·spring·微服务·架构
LightOfNight2 小时前
Redis设计与实现第14章 -- 服务器 总结(命令执行器 serverCron函数 初始化)
服务器·数据库·redis·分布式·后端·缓存·中间件
就是有点傻2 小时前
C#中面试的常见问题006
开发语言·面试·c#·wpf
cnsxjean11 小时前
SpringBoot集成Minio实现上传凭证、分片上传、秒传和断点续传
java·前端·spring boot·分布式·后端·中间件·架构
就是有点傻15 小时前
WPF中如何让Textbox显示为一条直线
c#·wpf
桃园码工17 小时前
3-测试go-redis+redsync实现分布式锁 --开源项目obtain_data测试
redis·分布式·golang
sx_170617 小时前
Spark面试题
大数据·分布式·spark
wclass-zhengge19 小时前
02微服务系统与设计(D1_走出微服务误区:避免从单体到分布式单体)
分布式·微服务·架构
ZOMI酱20 小时前
【AI系统】分布式通信与 NVLink
人工智能·分布式