舰船科学技术  2024, Vol. 46 Issue (12): 84-89    DOI: 10.3404/j.issn.1672-7649.2024.12.015   PDF    
基于PPO的异构UUV集群任务分配算法
董经纬1, 姚尧1, 冯景祥1, 李亚哲1, 尤岳2     
1. 中国船舶集团有限公司第七一六研究所,江苏 连云港 222061;
2. 中国人民解放军 92578部队,北京 100071
摘要: 无人水下航行器(Unmanned Underwater Vehicle,UUV)集群的任务分配问题是UUV集群形成水下功能的重要问题之一,但是,受限于通信以及探测能力,UUV在水下只能获取有限的信息,不能得到很好的应用。提出一种基于深度强化学习的任务分配算法,针对水下信息缺失、奖励稀少的问题,在近端策略优化算法的基础上加入Curiosity模块,给智能体一种减小环境中不确定性的期望,鼓励UUV探索环境中不可预测的部分,实现UUV集群的最优任务分配。最后的仿真实验表明,相较于传统智能算法,该方法收敛更快,可靠性更强。
关键词: 任务分配     近端策略优化算法     集群    
Heterogeneous UUV cluster task allocation algorithm based on PPO
DONG Jingwei1, YAO Yao1, FENG Jingxiang1, LI Yazhe1, YOU Yue2     
1. The 716 Research Institute of CSSC, Lianyungang 222061, China;
2. No.92578 Unit of PLA, Beijing 100071, China
Abstract: The Assignment problem problem of the UUV cluster is one of the important problems for the formation of the underwater function of the UUV cluster. However, due to the communication and detection capabilities, UUV can only obtain limited information underwater and cannot be used well. A task allocation algorithm based on deep reinforcement learning is proposed. Aiming at the problem of lack of underwater information and scarce rewards, the Curiosity module is added on the basis of the near end strategy optimization algorithm, giving agents an expectation to reduce the uncertainty in the environment, encouraging UUV to explore the unpredictable part of the environment, and realizing the optimal task allocation of UUV clusters. The final simulation experiment shows that compared to traditional intelligent algorithms, it converges faster and has stronger reliability.
Key words: task allocation     proximal policy optimization     cluster    
0 引 言

随着无人水下航行器(Unmanned Underwater Vehicle,UUV)技术的不断发展和进步,UUV集群在水下任务中的作用越来越受到重视,海洋环境中地理生态环境的调查,水文信息的获取,使用UUV集群,可以有效避免人身伤害和资源的浪费[1-2]。UUV集群任务分配作为其中一个关键问题,已经成为学术界和工业界关注的焦点[3]。通过合理的任务分配,可以实现UUV集群的协同作业,提高任务执行的效率和准确性。这不仅对深海勘探、水下救援、环境监测等领域具有重要意义[4],也对军事和商业应用中的水下任务产生了深远的影响[5-7]。然而,UUV集群任务分配面临着许多挑战和难题。首先,由于UUV集群中的每个无人机都有自己独立的感知、决策和执行能力,如何将任务合理地分配给不同的UUV成为一个复杂的问题。其次,任务之间的相互关联性和依赖性可能会对任务分配产生影响,需要考虑各种因素来保证任务的顺利执行。此外,不同UUV之间的通信与协作也是任务分配中亟待解决的问题。

本文研究异构UUV集群任务分配的问题,特点是随着UUV数量和UUV执行任务的增加,可行解的数量会指数级上升。目前,常用的解决水下UUV集群任务规划的方法有基于集中式的线性规划法,基于分布式的市场合同拍卖法以及基于启发式的智能算法。吴俊臣等[8]提出了一种基于拍卖算法的水下机器人团队分布式任务分配方法,通过拍卖机制,UUV之间可以自主竞标任务,并根据各自的成本和优先级进行任务分配,但是拍卖算法可能需要较高的计算资源和通信开销,限制了其在大规模UUV集群中的扩展性。为了解决动态无人潜航器任务分配问题,Sun等[9]设计了一种三级优化方法来规划恶劣海洋环境中的安全路径,在这种环境中,UUV的探测范围有限,需要实时响应紧急情况,但是为了保证方案分配的有效性,启发式算法通常需要一定数量的优化迭代过程来生成、更新和选择解决方案,这导致了动态任务环境中的高时间消耗。丁滢颖[10]提出一种基于蚁群算法的多智能体任务分配方法,给任务赋予事先设定的信息素,使任务难度产生变化,从而使得机器人能够根据任务的人工信息素对任务进行选择。但是这种方法对于其应用环境具有较高的要求,不具备普遍性。Zhao等[11]提出一种自适应任务分配算法,用于UUV集群任务分配。该算法基于任务特征和UUV能力,利用模糊推理和关联度技术来动态调整任务分配的权重,侧重于特定方面的任务分配,如任务执行时间、能耗等,但在综合考虑多个目标和因素时可能存在不足。这可能导致在平衡各个目标和因素时的困难,并可能忽略一些重要的限制和约束条件。

本文在基于水下通信条件差,探测范围有限的情况下,研究深度强化学习在水下异构UUV集群任务分配中的应用,提出基于深度强化学习的异构UUV集群任务分配算法。仿真实验证明提出的方法比传统智能算法有了一定的改善。

1 环境模型 1.1 问题描述

异构UUV集群执行察打任务所包含的要素可以用三元组表示:

$ < U,T,K > 。$ (1)

式中:为任务区域内异构UUV集合;为任务区域内目标集合,需要说明的是,UUV集群在初始时刻没有关于目标的任何信息;K为异构UUV集群执行察打任务所需考虑的约束条件集合。

$ U = \{ {U_1},{U_2}, \cdots {U_{{N_U}}}\}。$ (2)

式(2)表明一共有$ {N_U} $艘UUV,每艘UUV都有5个要素$ \{ i{d_i},positio{n_i},typ{e_i},re{s_i},di{s_i}\} $,这5项依次是UUV在集群中的编号、所处的位置信息、UUV的种类(有2类)、UUV自身携带的武器资源、UUV可以航行的最远路程。

根据UUV所具有功能的不同,将UUV分为Ⅰ型侦察UUV和Ⅱ型察打一体UUV,其任务能力分别为:1)Ⅰ型:侦察C;2)Ⅱ型:侦察C、攻击A。并且具有攻击功能的Ⅱ型UUV携带弹药为有限数量,故执行攻击任务的次数有限。

表 1 异构UUV类型及相应任务能力 Tab.1 Heterogeneous UUV types and corresponding task capabilities

UUV自身携带武器的集合为$ re{s_i} = \{ re{s_{i1}},re{s_{i2}}, \cdots , re{s_{im}}\} $,其中,$ re{s_{im}} $为第$i$艘UUV携带的第$m$钟武器资源的数量。

目标集合为$ T = \{ {T_1},{T_2}, \cdots ,{T_{{N_T}}}\} $,共有$ {N_T} $个目标点,当目标进入UUV的最大探测范围$ di{s_{\det }} $,UUV即发现该目标,并可以确定对其实施打击任务所需的攻击型资源,但完成侦察任务需到达目标点附近。目标的资源需求向量可表示为:

$ {R^{{T_i}}} = [R_1^{{T_i}},R_2^{{T_i}}, \cdots ,R_m^{{T_i}}]。$ (3)

式中:$ R_m^{{T_i}} $为攻击目标$ {T_i} $所需要的第m种资源的数量,其中$i = 1,2, \cdots {N_T}$

目标的价值是随着时间的增加而变小的,$ Va{l_{q,{t_0}}} $表示UUV在$ {t_0} $时刻发现目标$ {T_q} $时目标的价值,在$ {t_e} $时刻UUV执行攻击任务的时候,目标价值变为:

$ Va{l_{q,{t_e}}} = Va{l_{q,{t_0}}} \cdot {e^{ - \beta ({t_e} - {t_0})}} 。$ (4)

式中:$ \beta > 0 $$Va{l_{q,{t_e}}} $反应价值变化的快慢,越大目标价值减小的越快。

$ {N_U} $艘UUV协同执行任务,即对$ {N_T} $个目标分别依次进行侦查(classify,C)、攻击(attack,A),则集群需执行的任务总数为$ N = 2{N_T} $

1.2 约束条件

1)任务时序约束

对同一个任务目标,任务执行的顺序应该是:①侦察②打击。对于Ⅱ型UUV来说,发现目标时可以进行①②行为。如果目标已经被侦察过了,那么可以直接进行打击行动。

$ t_S^{{T_i}} \leqslant t_A^{{T_i}} 。$ (5)

2)任务协同约束

保证每个目标$ {T_i}(i = 1,2, \cdots ,{N_T}) $的每个任务(S, A)都会被执行,且只执行一次。

$ \sum\limits_{i = 1}^{{N_U}} {\sum\limits_{j = 1}^N {{x_{i,j}} = 1,\forall j = 1, \cdots ,N} } 。$ (6)

3) 航程约束

对于每艘UUV来说,执行任务的最远航程应当小于其可以航行的最大航程。

$ \sum\limits_{i = 1}^{{N_U}} {\sum\limits_{j = 1}^N {{x_{i,j}}{d_{i,j}} \leqslant dis} } 。$ (7)

4) 资源约束

UUV携带的任一武器数目都必须大于执行此任务需要的武器资源,UUV才可执行此任务。

$ re{s_{i,m}} \geqslant R_m^{{T_i}},\forall m 。$ (8)

5) 通信距离的约束

UUV集群在执行任务的过程中,为了可以实时了解目标点任务进度以及其他UUV所处的位置信息,要求UUV之间的距离保持在通信距离以内。在t时刻:

$ \left\| {positio{n_i}(t) - positio{n_j}(t)} \right\| \leqslant di{s_{com}}。$ (9)

式中:$ di{s_{com}} $为UUV可以通信的最大距离;$ positio{n_i}(t) $为在$t$时刻编号为$i$的UUV所处的位置信息$ ({x_i},{y_i}) $

1.3 目标函数

1)任务的成本函数

任务的主要成本是路径的代价,总路径越短,能量的消耗越少。

$ Cost = \sum\limits_{i = 1}^{{N_U}} {\sum\limits_{j = 1}^N {\sqrt {{{(positio{n_i}({T_j}) - positio{n_i}({T_{j + 1}}))}^2}} } } 。$ (10)

式中,$ positio{n_i}({T_j}) $$ UU{V_i} $在执行任务$ {T_j} $时的位置;$ positio{n_i}({T_{j + 1}}) $$ UU{V_i} $执行下一个任务的位置。

2)任务的效益函数

$ W = \sum\limits_{}^{{N_T}} {\sum\limits_{}^{{N_U}} {({\omega _1}Val - {\omega _2}Cost)} }。$ (11)

式中,$ {\omega _1}、{\omega _2} $为收益和损失的权重。

2 基于深度强化学习的异构UUV集群任务分配算法 2.1 深度强化学习

智能体与环境发生交互的过程如图1所示,智能体根据环境的反馈(奖励和状态)学习策略,随后根据策略选择合适的动作。

图 1 强化学习一般框架 Fig. 1 General framework for reinforcement learning

图1的强化学习过程可采用马尔可夫决策过程表示。

$ MDP = (S,A,{P_{sa}},R)。$ (12)

其中:S为状态空间;A为动作空间;$ {P_{sa}} $为状态转移概率;R为奖励函数。

对于智能体而言,主要包括3个重要概念[12]

1)策略(Policy):智能体的动作函数,用以指导智能体根据特定策略执行动作。

2)价值(Value):用于评估动作或者状态的好坏程度,智能体根据值函数选择动作。

3)模型(Model):用以模拟智能体所处的环境。

强化学习主要通过求解策略$ {\text π} ( \cdot \left| s \right.) $、状态值函数$ {v_\pi }(s) $或者动作值函数$ {q_\pi }(s,a) $获得智能体下一步的执行动作。深度强化学习通过将强化学习和深度学习进行深度结合,充分利用强化学习的决策优势和深度学习的感知优势。在深度强化学习中,使用强化学习定义问题和优化目标,使用深度学习求解策略函数或价值函数,并使用反向传播算法优化目标函数。

2.2 策略梯度算法

策略梯度算法是基于策略的强化学习主要学习方式。策略梯度算法直接参数化策略,参数化的策略不再是一个概率集合,而是一个函数,即通过函数近似直接拟合策略$ \pi $

$ {\pi _\theta }(a\left| s \right.) = P[a\left| s \right.,\theta ]。$ (13)

式中:$ \theta \in {R^d} $为策略函数的权重参数向量;$ {\pi _\theta }(a\left| s \right.) $为参数向量$ \theta $进行函数拟合获得策略函数,进而智能体在状态s下采取动作a的概率。

在当前状态为$ {s_t} $时,基于参数$ \theta $智能体执行动作$ {a_t} $的概率为:

$ {\pi _\theta }(a\left| s \right.) = P\{ {a_t} = a\left| {{s_t} = s,{\theta _t} = \theta } \right.\} 。$ (14)

可知,策略函数为确定时间步t的状态下采取任何可能动作的具体概率。将策略的目标函数设为智能体关于奖励的期望,并以$ J(\theta ) $来表示,采用策略梯度法求解目标函数$ J(\theta ) $的梯度,进而学习出策略参数$ \theta $,为了使求解的梯度最大,即最大化奖励的期望,使用梯度上升法更新目标函数的策略参数$ \theta $

$ {\theta _{t + 1}} = {\theta _t} + \alpha \nabla \hat J({\theta _t})。$ (15)

其中,$ \nabla \hat J({\theta _t}) $为策略梯度。

2.3 PPO算法介绍

当使用策略梯度算法训练智能体时,算法很容易受到性能突然下降的影响,而Schulman等[13]提出的近端策略优化算法(Proximal Policy Optimization,PPO),可以引入一个替代目标函数,通过单调改进策略来避免性能的突然下降。

该算法存在2个变体,第1个是基于自适应的KL惩罚,第2个是基于裁剪的目标函数。裁剪的替代目标函数变体胜过KL修正的替代目标函数目标变体,性能优越且简单,故选择近端策略优化的裁剪变体。

裁剪的替代目标函数可阻止某种参数更新,这种更新可能会导致策略$ {\pi _\theta } $发生较大梯度且有风险的变化。为了量化大梯度的策略变化,使用概率比$ {r_t}(\theta ) $

当新策略等于旧策略时,

$ {r_t}(\theta ) = {r_t}({\theta _{\text{old}}}) = \frac{{{\pi _{{\theta _{\text{old}}}}}({a_t}\left| {{s_t}} \right.)}}{{{\pi _{{\theta _{\text{old}}}}}({a_t}\left| {{s_t}} \right.)}} = 1 。$ (16)

如果新策略偏离了旧策略,则$ {r_t}(\theta ) $会远离1。

具有裁剪的近端策略优化的目标函数为:

$\begin{split} & {J^{CLIP}}(\theta ) = \\ &E[\min ({r_t}(\theta )A_t^{{\pi _{{\theta _{\text{old}}}}}}),clip({r_t}(\theta ),1 - \varepsilon ,1 + \varepsilon )A_t^{{\pi _{{\theta _{\text{old}}}}}}]。\end{split}$ (17)
2.4 PPO+Curiosity算法

在密集奖励的环境中,训练期间会频繁接收到奖励,从而更容易强化行为。在稀疏奖励的环境中,只有在很多子问题得到解决后才能得到奖励,使得智能体很难甚至无法基于奖励信号进行学习。

在神经科学尤其是计算神经科学领域,有一个从高层次上理解神经系统的模型,称之为预测编码模型,该模型中,理论上说从单个神经元道大规模神经网络的所有神经系统都在运行一种算法,该算法在试图预测输入,并试图最小化期望体验与真实体验之间的预测误差。Curiosity可以被视为一种减小环境中的不确定性(从而减少预测误差)的愿望。为强化学习智能体灌输Curiosity的尝试之一便是使用一种预测误差机制,除了试图最大化外部(环境提供的)奖励,智能体还将尝试预测给定其动作时环境的下一个状态,并尝试减小其预测误差,这一模块实现一个函数为$ f:({s_t},{a_t}) \to {\hat s_{t + 1}} $,用于接受一个状态和所执行的动作,并返回预测的下一个状态,由于它是对环境的未来(正向)状态进行预测,因此称之为正向预测模型。

预测状态中真正重要的部分,需要给预测模型添加一个约束,称之为反向模型$ g:(s{}_t,s{}_{t + 1}) \to {\hat a_t} $,其中函数$ g $接受一个状态和该状态的下一个状态,然后返回造成从$ {s_t} $转变为$ {s_{t + 1}} $所采取动作的预测值。

与反向模型紧密耦合的附加模型称之为编码器模型,表示为$ \varphi $,编码器函数$ \varphi :{s_t} \to {\tilde s_t} $接受一个状态并返回一个编码后的状态$ \tilde s $,其中$ \tilde s $的维度远远低于原始状态$ {s_t} $的。编码器模型通过反向模型进行训练,使用编码状态作为正向模型$ f $和反向模型$ g $的输入而不是原始状态,使得正向模型函数变为$ f:\varphi ({s_t}) \times {a_t} \to \hat \varphi ({s_{t + 1}}) $,其中$ \hat \varphi ({s_{t + 1}}) $指的是编码状态的预测值,同时,反向模型函数变为$ g:\varphi ({s_t}) \times \hat \varphi ({s_{t + 1}}) \to {\hat a_t} $

图2为整个Curiosity模块加入到PPO算法的结构:通过组件的正向传递和反向传递来更新模型的参数。无论是正向模型还是反向模型,都需要访问完整的转换数据。

图 2 PPO+Curiosity算法完整视图 Fig. 2 PPO+Curiosity algorithm complete view
3 仿真与分析 3.1 环境设置

仿真试验由UUV集群为仿真对象,在22$ \times $22的栅格图上模拟海域,每一小格单位为1 km,在此处海域布置1艘Ⅰ型侦察UUV1和3艘Ⅱ型察打一体UUV2、UUV3、UUV4,坐标分别为(10, 10)、(5, 10)、(10, 5)、(15, 10)随机生成10个任务点。UUV的探测范围5 km,且UUV之间可以实时传输消息。

图 3 异构UUV集群任务场景模拟图 Fig. 3 Simulation diagram of heterogeneous UUV cluster task scenarios
3.2 仿真结果

1艘Ⅰ型侦察UUV和3艘Ⅱ型察打一体UUV,共生成10个任务点。

图4所示,区域内的UUV在10 s完成了这10个任务点的侦察以及打击任务。

图 4 存在10任务点时分配结果 Fig. 4 Allocation results at 10 nodes

1艘Ⅰ型侦察UUV和3艘Ⅱ型察打一体UUV,共生成20个任务点。

图5所示,区域内的UUV在14 s完成了这20个任务点的侦察以及打击任务。

图 5 存在20任务点时分配结果 Fig. 5 Allocation results at 20 nodes

图6所示,3种算法得到可行解的时间大不一样,当任务数量以及异构UUV数量变大时,传统遗传算法得到解的时间大为增加,在第3种情况下,传统遗传算法耗时107 s,而PPO+Curiosity算法耗时仅为16 s,减少了85%的时间。相较于PPO算法,PPO+Curiosity算法得到可行解的速度也有了很大的提升,3种情况下分别提高了4 s、5 s、17 s。

图 6 求解时间对比结果 Fig. 6 Solution time comparison results
3.3 PPO算法与PPO+Curiosity算法进行比较

图7可知,PPO和PPO+Curiosity这2种算法最终的奖励都是1.586,而传统遗传算法的最终奖励为1.406,且尚未收敛。虽然PPO算法相较于传统遗传算法收敛时间有所改善,但是,PPO算法相较于PPO+Curiosity算法,更易震荡,且收敛的更慢,慢了31.25%。本文提出的这种PPO+Curiosity算法,可以在环境中奖励是稀疏的情况下,进行强化学习,利用误差机制,除了试图最大化外部环境提供的奖励,UUV还将尝试预测其动作环境的下一个状态,并尝试减小其预测误差。

图 7 训练奖励对比图 Fig. 7 Comparison chart of training rewards
4 结 语

本文针对水下异构UUV集群任务分配问题,在海洋环境中弱联通,探通能力有限的情况下,利用深度强化学习具有十分强大的函数逼近能力和自主学习能力,适用于解决具有高纬度状态动作空间的多智能体任务分配问题。提出了一种基于深度强化学习的异构UUV集群任务分配算法。

仿真试验结果表明,该算法不仅成功的实现了对异构UUV集群的任务分配,而且提高了训练的稳定性和采样效率。本文利用深度强化学习算法加Curiosity模块,在同等条件下,相较于传统遗传算法或者PPO算法,无论是算法的收敛速度还是最终的奖励,都有较大的提升,并且,随着任务复杂度,可行解不断增大的情况下,这一优势将会更加明显,本文提出的算法可以有效解决异构UUV集群任务分配问题。

参考文献
[1]
ROGOWSKI P, TERRILL E, CHEN J, et al. Observations of the frontal region of a buoyant river plume using an autonomous underwater vehicle[J]. Journal of Geophysical Research, 2014, 119(11): 7547-7567.
[2]
YAN Z , HAO B , LIU Y , et al. Movement control in recovering UUV based on two-stage discrete t-s fuzzy model[J]. Discrete Dynamics in Nature and Society, 2014, 2014: 362787.
[3]
陶伟, 张晓霜. 国外水下无人集群应用及关键技术研究[J]. 舰船电子工程, 2021, 41(2): 9-13+54.
TAO Wei, ZHANG Xiaoshuang. Research on the application and key technologies of underwater unmanned cluster abroad[J]. Ship Electronic Engineering, 2021, 41(2): 9-13+54.
[4]
FENG J, YAO Y , WANG H, et al. Multi-AUV terminal guidance method based on underwater visual positioning[C]// 2020 IEEE International Conference on Mechatronics and Automation (ICMA), Beijing, China, 2020: 314−319.
[5]
冯景祥, 姚尧, 潘峰, 等. 国外水下无人装备研究现状及发展趋势[J]. 舰船科学技术, 2021, 43(23): 1-8.
FENG Jingxiang YAO Yao, PAN Feng, et al. Research status and development trends of underwater unmanned equipment abroad[J]. Ship Science and Technology, 2021, 43(23): 1-8.
[6]
冯景祥, 谢飞跃, 张平, 等. 美海上分布式作战研究现状及发展趋势[C]//中国指挥与控制学会. 第九届中国指挥控制大会论文集. 兵器工业出版社, 2021: 150−155.
FENG Jingxiang, XIE Feiyue, ZHANG Ping, et al. Research status and development trends of distributed operations at sea in the united states [C]//Chinese Command and Control Society. Proceedings of the 9th China Command and Control Conference. Ordnance Industry Press, 2021: 150−155.
[7]
李亚哲, 姚尧, 冯景祥, 等. 基于有限状态机的UUV集群围捕策略研究[J]. 舰船电子对抗, 2022, 45(1): 22-27.
LI Yazhe, YAO Yao, FENG Jingxiang, et al. Research on UUV cluster siege strategy based on finite state machine[J]. Ship Electronic Countermeasures, 2022, 45(1): 22-27.
[8]
吴俊成, 周锐, 冉华明, 等. 遗传算法和拍卖算法在任务分配中的性能比较 [J]. 电光与控制, 2016, 23(2): 11–15+82.
WU Juncheng, ZHOU Rui, RAN Huaming, et al. Comparison of performance between genetic algorithm and auction algorithm in task allocation [J] Electro Optics and Control, 2016, 23(2): 11–15+82.
[9]
SUN S, SONG B, WANG P, et al. Real-time mission-motion planner for multi-UUVs cooperative work using tri-Level Programing[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23, 1260–1273.
[10]
DING Yingying, HE Yan, JIANG Jingping. Multi-robot cooperation method based on the ant algorithm[J]. Robot, 2003, 25(5): 414−418.
[11]
ZHAO Wenlai, HU Huosheng. An adaptive task assignment algorithm for a swarm of autonomous underwater vehicles[J]. IEEE Transactions on Robotics, 2016, 32(2), 466−477.
[12]
郝冠捷, 姚尧, 常鹏, 等. 基于深度强化学习的分布式UUV集群任务分配算法[J]. 指挥控制与仿真, 2023, 45(3): 25-33.
HAO Guanjie, YAO Yao, CHANG Peng, et al. Distributed UUV cluster task allocation algorithm based on deep reinforcement learning[J]. Command Control and Simulation, 2023, 45(3): 25-33. DOI:10.3969/j.issn.1673-3819.2023.03.004
[13]
SCHULMAN J, WOLSKI F, DHARIWAL P, et al. Proximal Policy Optimization Alorithms[J]. ARXIV, 2017: 1707.06347.