一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

面向复杂动态环境的水下无人潜航器航迹生成方法及系统与流程

2023-02-01 15:18:03 来源:中国专利 TAG:


1.本发明属于面向航迹规划技术领域,更具体地,涉及一种面向复杂动态环境的水下无人潜航器航迹生成方法及系统。


背景技术:

2.复杂海况水下无人潜航器的航迹规划技术是海洋科学重要研究方向,在军事和民用领域都起到了举足轻重的作用。水下潜航器具有体积小、机动能力强、智能化程度高、隐身性能好、作业风险低等特点,在海洋领域有着广泛应用。路径规划作为控制技术之一,能够保证水下潜航器在具有障碍物的环境里寻找到一条从起始点到目标点的最优路径,为后续在特定区域作业提供帮助。
3.传统路径规划方法可以解决简单环境下的路径规划问题,在一些特定场景下有良好的规划性能。然而,当前水下潜航器所面临的工作环境愈加复杂,传统方法在高随机、多动态障碍物复杂环境下的航迹规划成功率、实时性与计算效率均受到挑战。强化学习通过智能体与环境的自主交互实现对多步决策问题的优化求解,在环境适应性、决策实时性上较传统方法均具有显著优势,但面对复杂的环境,其计算效率不高。因此,针对传统方法的不足,本发明结合深度学习、强化学习和集成学习的思想,提出一种面向复杂动态海洋环境的水下无人潜航器航迹生成方法。


技术实现要素:

4.针对现有技术的缺陷,本发明的目的在于一种面向复杂动态环境的水下无人潜航器航迹生成方法及系统,旨在解决现有复杂动态海洋环境中无人潜航器航行路径规划实时性不足、成功率不高与计算效率低等问题。
5.为实现上述目的,第一方面,本发明提供了一种面向复杂动态环境的水下无人潜航器航迹生成方法,包括如下步骤:
6.确定水下无人潜航器航迹规划的主场景、第一子场景以及第二子场景;所述主场景包括:无人潜航器和多个动态障碍物;第一子场景不考虑无人潜航器航迹的目的地,以在不发生碰撞的情况下穿越障碍物区域为目标;第二子场景以不断接近并到达航迹目的地为目标;
7.确实上述三个场景的环境状态;所述主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;其中;所述运动状态包括当前时刻位置和当前时刻的前n个时刻下的位置,所述状态为当前时刻位置,n为大于0的整数;
8.将两个子场景的环境状态输入到训练好的具有优先经验回放机制的双深度q网络模型,预测下一时刻两个子场景的无人潜航器动作;所述双深度q网络模型采用两个子场景下的环境状态、无人潜航器动作以及奖励函数的训练样本进行训练;
9.参考所述主场景的环境状态,通过训练好的基于集成学习的多目标强化学习架构对预测的下一时刻两个子场景的无人潜航器动作进行选择,以在障碍物对无人潜航器有碰撞威胁时重点考虑避障、其余情况下以最快速度前往目的地为目标,从中选择最优的动作,实现对无人潜航器航迹的规划;所述多目标强化学习架构采用主场景下的境状态、无人潜航器动作以及奖励函数的训练样本进行训练。
10.在一个可能的示例中,所述具有优先经验回放机制的双深度q网络模型的训练过程为:
11.从无人潜航器航迹的样本数据中确实两个子场景的环境状态、无人潜航器动作以及奖励函数,作为两个子场景的训练样本;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;无人潜航器动作为无人潜航器运动方向;第一子场景的奖励函数根据以尽快穿越障碍物区域,且避免与障碍物发生碰撞的情况设置,第二子场景的奖励函数根据以最短路径接近并到达目的地的情况来设置;
12.将两个子场景的训练样本输入到具有优先经验回放机制的双深度q网络模型,将两个子场景下的环境状态作为模型输入,无人潜航器的动作作为模型输出,结合两个子场景的奖励函数确定以实际动作值函数与估计动作值函数之间的偏差作为损失函数,在两个子场景中训练得到分别侧重于动态障碍物规避和目的地到达的两个子智能体;
13.当训练完成后,得到的两个子智能体可以根据当前对应子场景的环境状态决定对应子场景下无人潜航器应该执行的动作,以实现动态避障或接近目的地。
14.在一个可能的示例中,所述多目标强化学习架构的训练过程为:
15.从无人潜航器航迹的样本数据中确实主场景的环境状态、无人潜航器动作以及奖励函数,作为主场景的训练样本;主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;主场景的奖励函数根据以最短路径接近并到达目的地,且避免与障碍物发生碰撞的情况来设置;
16.将主场景的训练样本输入到基于集成学习的多目标强化学习架构,以根据主场景下的环境状态对所述两个子智能体给出的策略进行选择,以训练得到主智能体;在无人潜航器每一个状态,结合主场景的奖励函数确定主智能体分别选择两个子智能体的策略能得到的期望奖励,从而得到两个子智能体的策略在当前状态下的权重,分别体现了该状态下避障和前往目的地的重要程度;最终主智能体输出对两个子智能体的选择,无人潜航器的动作由被选择的子智能体在此状态下给出的策略决定;其中,无人潜航器的每一个状态指无人潜航器每一个时刻的位置。
17.在一个可能的示例中,所述基于集成学习的多目标强化学习架构在具有优先经验回放机制的双深度q网络模型的基础上将前馈神经网络结构设置为全连接层网络。
18.在一个可能的示例中,主场景的奖励函数r
t1
设置为:
19.20.其中,dist为无人潜航器t时刻时与目的地之间的距离;pre_dist为无人潜航器t-1时刻时与目的地之间的距离,obs_dist表示t时刻无人潜航器与多个动态障碍物的最小距离;y
t
为无人潜航器t时刻的横纵坐标,y
i,t
为第i个动态障碍物在t时刻的横纵坐标,k表示动态障碍物的总数;
21.第一子场景的奖励函数r
t2
设置为:
[0022][0023]
第二子场景的奖励函数r
t3
设置为:
[0024][0025]
其中,target_collided在无人潜航器抵达目的地时为真。
[0026]
第二方面,本发明提供了一种面向复杂动态环境的水下无人潜航器航迹生成系统,包括:
[0027]
场景确定单元,用于确定水下无人潜航器航迹规划的主场景、第一子场景以及第二子场景;所述主场景包括:无人潜航器和多个动态障碍物;第一子场景不考虑无人潜航器航迹的目的地,以在不发生碰撞的情况下穿越障碍物区域为目标;第二子场景以不断接近并到达航迹目的地为目标;
[0028]
环境状态确定单元,用于确实上述三个场景的环境状态;所述主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;其中;所述运动状态包括当前时刻位置和当前时刻的前n个时刻下的位置,所述状态为当前时刻位置,n为大于0的整数;
[0029]
子场景动作预测单元,用于将两个子场景的环境状态输入到训练好的具有优先经验回放机制的双深度q网络模型,预测下一时刻两个子场景的无人潜航器动作;所述双深度q网络模型采用两个子场景下的环境状态、无人潜航器动作以及奖励函数的训练样本进行训练;
[0030]
航迹规划单元,用于参考所述主场景的环境状态,通过训练好的基于集成学习的多目标强化学习架构对预测的下一时刻两个子场景的无人潜航器动作进行选择,以在障碍物对无人潜航器有碰撞威胁时重点考虑避障、其余情况下以最快速度前往目的地为目标,从中选择最优的动作,实现对无人潜航器航迹的规划;所述多目标强化学习架构采用主场景下的境状态、无人潜航器动作以及奖励函数的训练样本进行训练。
[0031]
在一个可能的示例中,该系统还包括:
[0032]
子智能体训练单元,用于从无人潜航器航迹的样本数据中确实两个子场景的环境状态、无人潜航器动作以及奖励函数,作为两个子场景的训练样本;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;无人潜航器动作为无人潜航器运动方向;第一子场
景的奖励函数根据以尽快穿越障碍物区域,且避免与障碍物发生碰撞的情况来设置,第二子场景的奖励函数根据以最短路径接近并到达目的地的情况设置;将两个子场景的训练样本输入到具有优先经验回放机制的双深度q网络模型,将两个子场景下的环境状态作为模型输入,无人潜航器的动作作为模型输出,结合两个子场景的奖励函数确定以实际动作值函数与估计动作值函数之间的偏差作为损失函数,在两个子场景中训练得到分别侧重于动态障碍物规避和目的地到达的两个子智能体;其中,当训练完成后,得到的两个子智能体可以根据当前对应子场景的环境状态决定对应子场景下无人潜航器应该执行的动作,以实现动态避障或接近目的地。
[0033]
在一个可能的示例中,该系统还包括:
[0034]
主智能体训练单元,用于从无人潜航器航迹的样本数据中确实主场景的环境状态、无人潜航器动作以及奖励函数,作为主场景的训练样本;主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;主场景的奖励函数根据以最短路径接近并到达目的地,且避免与障碍物发生碰撞的情况来设置,以及将主场景的训练样本输入到基于集成学习的多目标强化学习架构,以根据主场景下的环境状态对所述两个子智能体给出的策略进行选择,以训练得到主智能体;在无人潜航器每一个状态,结合主场景的奖励函数确定主智能体分别选择两个子智能体的策略能得到的期望奖励,从而得到两个子智能体的策略在当前状态下的权重,分别体现了该状态下避障和前往目的地的重要程度;最终主智能体输出对两个子智能体的选择,无人潜航器的动作由被选择的子智能体在此状态下给出的策略决定;其中,无人潜航器的每一个状态指无人潜航器每一个时刻的位置。
[0035]
第三方面,本发明提供了一种面向复杂动态环境的水下无人潜航器航迹生成系统,包括:至少一个处理器和存储器;
[0036]
所述至少一个处理器和存储器之间通过数据总线连接,所述存储器存储能被所述至少一个处理器执行的指令,所述指令在被所述处理器执行后,用于实现如上述第一方面提供的方法。
[0037]
第四方面,本发明提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述第一方面提供的方法。
[0038]
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0039]
本发明提出了一种面向复杂动态环境的水下无人潜航器航迹生成方法及系统,其中,具有优先经验回放机制的双深度q网络模型被用于训练不同场景下的动作决策智能体,与传统航迹规划方法相比有更高的成功率和更短的规划路径长度。
[0040]
本发明提出了一种面向复杂动态环境的水下无人潜航器航迹生成方法及系统,构建的多目标强化学习策略集成框架用于对子场景策略的集成。其中,所构建的策略集成框架可以考虑当前环境下无人潜航器对动态避障和目的地到达两个目标的优先级,做出最有利于无人潜航器前进的选择,进一步提升了航迹规划的成功率和稳定性。
附图说明
[0041]
图1为本发明实施例提供的面向复杂动态环境的水下无人潜航器航迹生成方法流
程图;
[0042]
图2为本发明实施例提供的一种面向复杂动态海洋环境的水下无人潜航器航迹生成方法的体系结构图;
[0043]
图3为本发明实施例中搭建的场景示意图;其中,(a)为路径规划主场景的示意图,(b)为动态避障子场景的示意图,(c)为目的地到达子场景的示意图;
[0044]
图4为本发明实施例提供的动作空间划分示意图;
[0045]
图5中(a)为本发明实施例提供的具有优先经验回放机制的双深度q网络模型结构图,图5中(b)为价值网络结构示意图;
[0046]
图6中(a)为本发明实施例提供的基于集成学习的多目标强化学习架构示意图,图6中(b)为多目标强化学习架构的神经网络结构示意图;
[0047]
图7为本发明实施例提供的动态避障子场景下随机选取的某次实验结果图。
[0048]
图8为本发明实施例提供的目的地到达子场景下随机选取的某次实验结果图。
[0049]
图9为本发明实施例提供的航迹规划主场景下随机选取的某次实验结果图;
[0050]
图10为本发明实施例提供的面向复杂动态环境的水下无人潜航器航迹生成系统架构图。
具体实施方式
[0051]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0053]
本发明公开了一种面向复杂动态海洋环境的水下无人潜航器航迹生成方法及系统,所述方法包括:结合实际应用场景搭建航迹规划主场景和动态避障、目的地到达子场景;设置不同场景下无人潜航器的观察空间、动作空间和强化学习方法的参数;将无人潜航器每次执行决策时采取的动作、发生的环境状态转移、获得的奖励作为一组样本储存到容量固定的记忆池中,用于网络模型训练的随机采样;搭建具有优先经验回放机制的双深度q网络模型,在子场景中训练具有特定决策能力的智能体;得到两个子场景中的智能体以后,搭建基于集成学习的多目标强化学习架构。设置一个独立的主智能体在航迹规划主场景中进行训练,主智能体根据主场景的环境状态对各个子智能体在子场景对应状态下给出的策略进行选择,最终得到具有航迹规划能力的主智能体。
[0054]
图1为本发明实施例提供的面向复杂动态环境的水下无人潜航器航迹生成方法流程图,如图1所示,包括如下步骤:
[0055]
s101,确定水下无人潜航器航迹规划的主场景、第一子场景以及第二子场景;所述
主场景包括:无人潜航器和多个动态障碍物;第一子场景不考虑无人潜航器航迹的目的地,以在不发生碰撞的情况下穿越障碍物区域为目标;第二子场景以不断接近并到达航迹目的地为目标;
[0056]
s102,确实上述三个场景的环境状态;所述主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;其中;所述运动状态包括当前时刻位置和当前时刻的前n个时刻下的位置,所述状态为当前时刻位置,n为大于0的整数;
[0057]
s103,将两个子场景的环境状态输入到训练好的具有优先经验回放机制的双深度q网络模型,预测下一时刻两个子场景的无人潜航器动作;所述双深度q网络模型采用两个子场景下的环境状态、无人潜航器动作以及奖励函数的训练样本进行训练;
[0058]
s104,参考所述主场景的环境状态,通过训练好的基于集成学习的多目标强化学习架构对预测的下一时刻两个子场景的无人潜航器动作进行选择,以在障碍物对无人潜航器有碰撞威胁时重点考虑避障、其余情况下以最快速度前往目的地为目标,从中选择最优的动作,实现对无人潜航器航迹的规划;所述多目标强化学习架构采用主场景下的境状态、无人潜航器动作以及奖励函数的训练样本进行训练。
[0059]
图2所示为本发明提供的水下无人潜航器航迹规划方法的流程图,具体包括以下步骤:
[0060]
s1:为模拟无人潜航器穿越移动障碍物到达目标地点的实际应用任务,结合实际海洋环境,搭建包含无人潜航器,目的地和多个动态障碍物的航迹规划主场景。为保证所训练智能体的泛化性与实用性,场景中,动态障碍物的起点与终点、无人潜航器的起点与目的地位置均为一定范围内的随机值。主场景被设置为以[0m,0m]为中心,边长为18m的正方形区域,动态障碍物的半径大小为0.5m,最大速度为1m/s,数量为3个。三个动态障碍物的起点坐标分别在以[0m,6m],[5m,5m],[-5m,5m]为中心的正方形区域内随机选取,障碍物的目的地坐标分别在以[0m,-6m],[-5m,-5m],[5m,-5m]为中心的正方形区域内随机选取,每个正方形区域的大小均为4m2。
[0061]
其中,主场景就是模拟有动态障碍物的海洋环境,子场景就是去除部分因素后的海洋环境,分别用于训练避障能力强和接近目的地强能力强的子智能体。为了更加贴合实际场景,并减少不必要的碰撞,三个障碍物在运动过程中均采用a*全局路径规划算法与orca动态避障算法。将无人潜航器设置为半径大小为0.5m,最大速度为1m/s的小球,其初始横坐标在[-2m,2m]区间内随机选取,初始纵坐标为-8m。目的地设置为长度为5m,宽度为1m的矩形范围,初始横坐标在[-5m,5m]范围内随机选取,初始纵坐标为7m。
[0062]
为了着重训练无人潜航器躲避动态海洋中动态障碍物的能力,在航迹规划主场景的基础上,通过增大无人潜航器初始条件的范围着重考虑动态避障目标,建动态避障子场景。此时智能体无需考虑目标接近问题,仅以避免碰撞,穿越障碍物区域为最终目标。将无人潜航器与动态障碍物相撞作为避障失败的标志,以无人潜航器纵坐标大于所有障碍物的纵坐标作为避障成功的标志。该场景的范围大小与主场景的相同,动态障碍物与无人潜航器的初始条件设置与主场景一致。
[0063]
为了着重训练无人潜航器规划抵达目标地点最优路径的能力,在航迹规划主场景
的基础上,通过排除动态障碍物对接近目的地的最优策略造成的困难构建目的地到达子场景,使得智能体唯一的训练目标变为接近并到达目的地。与动态避障子场景类似,该子场景在主场景的基础上增大了无人潜航器以及目标初始条件的范围。该子场景的范围大小与主场景的相同,目的地随机选取的范围也与主场景保持一致,无人潜航器初始横纵坐标分别在[-6m,6m],[-8m,4m]区间内随机选取。
[0064]
具体的,如附图3所示,其中图3中(a)为路径规划主场景的示意图,图3中(b)为动态避障子场景的示意图,图中(c)为目的地到达子场景的示意图。
[0065]
s2:设置不同场景下无人潜航器的观测空间及动作空间,作为双深度q网络模型模型的输入和输出。设置不同场景下强化学习方法的参数,包括环境状态、无人潜航器动作以及奖励等;
[0066]
状态s
t
:在航迹规划主场景中,无人潜航器的状态s
self
包括其于t-2,t-1,t时刻的位置,定义为:
[0067]sself
=(p
t-2
,p
t-1
,p
t
)
[0068]
p
t
=(x
t
,y
t
)
[0069]
其中,x
t
,y
t
分别为无人潜航器t时刻的横纵坐标。环境中第i个动态障碍物的运动状态s
obsi
也包括其于t-2,t-1,t时刻的位置,定义为:
[0070]sobsi
=(p
i,t-2
,p
i,t-1
,p
i,t
)
[0071]
p
i,t
=(x
i,t
,y
i,t
)
[0072]
其中x
i,t
,y
i,t
分别为第i个动态障碍物在t时刻的横纵坐标。s
tgt
为目的地的状态,由目的地在t时刻的横坐标表示:
[0073]stgt
=(x
tgt
,y
tgt
)
[0074]
其中,x
tgt
,y
tgt
分别为目的地在当前时刻的横纵坐标。
[0075]
环境状态为主场景中无人潜航器、障碍物与目的地状态的并集,即为:
[0076]st
=(s
self
,s
obs1
,s
obs2
,s
obs3
,s
tgt
)
[0077]
动态避障子场景与目的地到达子场景中分别去除了目的地与动态障碍物部分的状态,其余状态与主场景中设置相同。主场景、动态避障子场景与目的地到达子场景的状态空间维度分别为9,8,3,动作空间维度都为5。
[0078]
其中,状态空间维度取决于环境状态的维度,主场景中,环境状态为s
t
=(x
target
,x
self
,y
self
,x
obstacle1
,y
obstacle1
,x
obstacle2
,y
obstacle2
,x
obstacle3
,y
obstacle3
),因此状态空间维度为9。
[0079]
动态避障子场景中环境状态为:
[0080]st
=(x
self
,y
self
,x
obstacle1
,y
obstacle1
,x
obstacle2
,y
obstacle2
,x
obstacle3
,y
obstacle3
),因此状态空间维度为8。
[0081]
三个场景中动作空间都为附图4所示,共有五个方向,因此维度为5。
[0082]
动作a
t
:为了降低强化学习算法的训练负担,在结合实际应用需求的基础上,对动作空间进行了简化。为最大程度节省能源,水下无人潜航器的运动速率相较于行人、汽车等其它智能体较少出现迅速改变的情况,因此本发明中将其设置为定值1m/s。在运动方向上,则将无人潜航器前方方向均匀划分,为其提供5个动作选择,如附图4所示,主场景及两个子场景中的动作空间设置方法相同。
[0083]
可以理解的是,动作选择的划分也可按照实际需求划分更加多的种类或更多的角度,本发明仅以均分为5个动作为示例进行举例说明,并不做对本发明实施例的任何限定。
[0084]
奖励r
t1
:航迹规划场景下,奖励函数的设置主要考虑两点,一是以最短路径接近并到达目的地,二是过程中避免碰撞。经重复实验,最优奖励函数设置为:
[0085][0086]
其中,dist为无人潜航器t时刻时与目的地之间的距离;pre_dist为无人潜航器t-1时刻时与目的地之间的距离,obs_dist表示t时刻无人潜航器与动态障碍物的距离。
[0087]
动态避障场景下,奖励函数的设置主要考虑两点:一是尽快穿越障碍物区域,二是通过过程中避免碰撞。经重复实验,最优奖励函数设置为:
[0088][0089]
目标接近场景下,奖励函数的设置仅需考虑一点,即以最短路径接近并到达目标。经重复实验,最优奖励函数设置为:
[0090][0091]
其中,target_collided在无人潜航器抵达目的地时为真。
[0092]
s3:将无人潜航器每次执行决策时采取的动作、发生的环境状态转移、获得的奖励作为一组样本储存到容量固定的记忆池中,用于网络模型训练的随机采样。首先初始化记忆池d,记忆池可容纳的数据量为n。利用随机权值θ初始化状态-动作值函数网络的权值,目标网络的参数θ-=θ。根据当前状态s
t
选择需要执行的动作a
t
,可以让无人潜航器行动起来去探索环境。
[0093]
本发明中动作选择策略采用ε贪心策略,以概率形式选择动作。执行动作后,由于环境状态会发生转移,转移到下一状态s
t 1
,并通过环境的反馈,得到即时评价值r
t
,评价值根据任务要求人为定义而来。每次执行决策都会获得一组样本(s
t
,a
t
,r
t
,s
t 1
)。将样本存储到固定容量的记忆池d中,构建优先级数组存储每个样本的优先级与索引位。
[0094]
s4:搭建具有优先经验回放机制的双深度q网络模型,分别将两个子场景下的环境状态作为模型输入,无人潜航器的动作作为模型输出,以实际动作值函数与估计动作值函数之间的偏差作为损失函数,在两个子场景中训练得到分别侧重于动态障碍物规避和目的地到达的两个价值网络,称之为子智能体。
[0095]
搭建的双深度q网络模型结构如附图5中(a)所示,双深度q网络模型中目标值网络和当前值网络结构如附图5中(b)所示。具体的,以动态避障子场景中子智能体训练过程为例,当记忆池中存储的样本数量达到buffer_size=40000个时,开始模型的训练。首先在记
忆池中选择batch_size=256个样本(s
t
,a
t
,r
t
,s
t 1
),构成训练样本集合。对于每个样本,把状态s
t 1
作为目标值网络的输入,经过网络输出得到所有动作对应的动作值函数q(s
t 1
,a),并选取最大的动作值函数argmaxq
t
(s',a';θi)。将状态s
t
作为当前值网络的输入,计算动作a
t
的动作值函数q
t
(s,a;θ),当前环境的状态s
t
为:
[0096]st
=(x
self
,y
self
,x
obstacle1
,y
obstacle1
,x
obstacle2
,y
obstacle2
,x
obstacle3
,y
obstacle3
)
[0097]
其中,x
self
和y
self
表示无人潜航器的横、纵坐标,x
obstacle1
,y
obstacle1
,x
obstacle2
,y
obstacle2
,x
obstacle3
和y
obstacle3
分别表示三个动态障碍物的横纵坐标。最后通过下式得到待拟合的真实值q
t 1
(s,a):
[0098]qt 1
(s,a)=q
t
(s,a;θ) α(r γargmaxq
t
(s',a';θi)-q
t
(s,a;θ))
[0099]
根据神经网络误差反向传播原理,计算损失函数loss=(q
t 1
(s,a)-q
t
(s,a;θ))2并通过梯度下降法更新网络权值,此时视为一次学习过程的结束,记录学习次数加一。每次学习结束ε同时更新为ε δε,增加选择当前状态下最优动作的机会,减少随机探索的概率。当学习次数每达到某一值c时,将目标值网络的权值θ-更新为当前值网络的权值θ。最后根据输入状态s
t 1
是否为目标状态或发生碰撞的状态来判断是否停止本次训练。
[0100]
当训练完成后,得到的子智能体可以根据当前状态计算各动作的动作值函数,从而决定无人潜航器此时应该执行的动作,实现动态避障或接近目的地。
[0101]
s5:得到两个子场景中的智能体以后,搭建基于集成学习的多目标强化学习架构。集成学习的主要思想是:将多个弱学习器的学习结果通过某种方式结合起来,得到整体性能更好的结果。结合其主要思想,将每个子场景中的子智能体看作弱学习器,每个子智能体在实现特定任务时有各自的优势,通过在不同状态下选择不同的子智能体进行动作决策,可以实现对不同任务要求的侧重考虑。设置一个独立的价值网络在航迹规划主场景中进行训练并称之为主智能体,它根据主场景的环境状态对各个子智能体在子场景对应状态下给出的策略进行选择,可以做到在障碍物对无人潜航器有威胁时重点考虑避障、其余情况下以最快速度前往目的地。具体的训练过程中,将航迹规划主场景中的环境状态:
[0102]st
=(x
target
,x
self
,y
self
,x
obstacle1
,y
obstacle1
,x
obstacle2
,y
obstacle2
,x
obstacle3
,y
obstacle3
)
[0103]
作为学习架构的输入,x
target
为目的地的横坐标,其余参数与s4中描述的一致。在无人潜航器到达的每个状态,主智能体分别计算选择两个子智能体的策略能得到的期望奖励,从而得到两个子智能体的策略在当前状态下的权重,分别体现了该状态下避障和前往目的地的重要程度。最终,主智能体的输出为对两个子智能体的选择,无人潜航器的动作由被选择的子智能体在此状态下给出的决策决定。多目标强化学习架构示意图如附图6中(a)所示,其神经网络结构如附图6中(b)所示,其中策略集成在带经验回放机制的双深度q网络模型的基础上将前馈神经网络结构设置为全连接层构成的网络,网络参数如下表所示:
[0104]
网络结构输入维度输出维度fc_1932fc_23232fc_33216fc162
[0105]
模型的输入为主场景中的状态信息,输出为两个子智能体在当前环境状态下选择的权重。主智能体选择权重较大的子智能体的策略作为当前状态下应当执行的策略,并据
此做出动作决策。
[0106]
下面进一步验证本发明的实用性。
[0107]
实施例1:完整算法有效性验证
[0108]
为了验证本发明提出的水下无人潜航器航迹规划方法的有效性,本实施案例结合实际应用场景进行模型训练与性能验证。
[0109]
具体步骤如下:
[0110]
(1)场景构建
[0111]
搭建包含无人潜航器,目的地和多个动态障碍物的航迹规划主场景。为保证所训练智能体的泛化性与实用性,场景中,动态障碍物的起点与终点、无人潜航器的起点与目的地位置均为一定范围内的随机值。在航迹规划主场景的基础上,通过增大无人潜航器初始条件的范围着重考虑动态避障目标,构建动态避障子场景,仅以避免碰撞,穿越障碍物区域为最终目标;通过排除动态障碍物对接近目的地的最优策略造成的困难构建目的地到达子场景,使得智能体唯一的训练目标变为接近并到达目的地,并在主场景的基础上增大了无人潜航器以及目标初始条件的范围。
[0112]
附图3为所构建的航迹规划主场景与两个子场景的示意图。
[0113]
(2)模型的构建与训练
[0114]
设置不同场景下无人潜航器的观测空间及动作空间,作为决策网络模型的输入和输出。设置不同场景下强化学习方法的参数,包括环境状态、无人潜航器动作以及奖励等。在强化学习算法的训练过程中,将学习率设置为0.0005,batch_size设置为为256,折扣因子设置为为0.99,最大学习片段设置为为3000步。航迹规划主场景、动态避障子场景和目的地到达子场景下各智能体的价值网络分别设置为[9,32,32,16,5]、[8,64,64,32,5]、[3,32,32,16,5]的全连接网络。
[0115]
搭建具有优先经验回放机制的双深度q网络模型,将两个子场景下的环境状态作为模型输入,无人潜航器的动作作为模型输出,以实际动作值函数与估计动作值函数之间的偏差作为损失函数,在两个子场景中训练得到分别侧重于动态障碍物规避和目的地到达的两个子智能体。附图7为动态避障子场景下随机选取的某次实验结果,附图8为目的地到达子场景下随机选取的某次实验结果。
[0116]
(3)策略集成
[0117]
搭建基于集成学习的多目标强化学习架构。设置一个独立的主智能体在航迹规划主场景中进行训练,主智能体根据主场景的环境状态对各个子智能体在子场景对应状态下给出的策略进行选择,最终得到具有航迹规划能力的主智能体。附图9为航迹规划主场景下随机选取的某次实验结果。
[0118]
两种对比方法被用于本成果的有效性,包括a*路径规划算法和人工势场法。取100次随机实验统计结果对比结果下表所示:
[0119]
[0120][0121]
实验结果表明本发明所提方法进一步提升了动态避障成功率,同时有效降低了路径长度,在整个路径规划任务中具有最高的成功率。
[0122]
本发明利用构建的多目标强化学习架构,判断不同环境状态无人潜航器对障碍物规避和前往目的地两个策略的重要性,并在当前状态执行该策略。该框架可以提升航迹规划的成功率,更加安全高效地完成航迹规划任务。本发明根据强化学习方法、深度神经网络与集成学习的特点,实现了复杂动态海洋环境下水下无人潜航器的实时航迹规划,有效地解决了航迹规划过程中的快速性和稳定性问题。本发明所提出的方法是基于强化学习、深度学习和集成学习的思想,以所搭建的动态海洋模拟环境中无人潜航器的航迹规划模拟为实验例证,在实际应用过程中,可推广到水面无人艇,水下机器人等无人装备,具有良好的工程实用性。
[0123]
本发明另一方面提供了一种水下无人潜航器航迹规划系统,如图10所示,包括:
[0124]
场景确定单元1010,用于确定水下无人潜航器航迹规划的主场景、第一子场景以及第二子场景;所述主场景包括:无人潜航器和多个动态障碍物;第一子场景不考虑无人潜航器航迹的目的地,以在不发生碰撞的情况下穿越障碍物区域为目标;第二子场景以不断接近并到达航迹目的地为目标;
[0125]
环境状态确定单元1020,用于确实上述三个场景的环境状态;所述主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;其中;所述运动状态包括当前时刻位置和当前时刻的前n个时刻下的位置,所述状态为当前时刻位置,n为大于0的整数;
[0126]
子场景动作预测单元1030,用于将两个子场景的环境状态输入到训练好的具有优先经验回放机制的双深度q网络模型,预测下一时刻两个子场景的无人潜航器动作;所述双深度q网络模型采用两个子场景下的环境状态、无人潜航器动作以及奖励函数的训练样本进行训练;
[0127]
航迹规划单元1040,用于参考所述主场景的环境状态,通过训练好的基于集成学习的多目标强化学习架构对预测的下一时刻两个子场景的无人潜航器动作进行选择,以在障碍物对无人潜航器有碰撞威胁时重点考虑避障、其余情况下以最快速度前往目的地为目标,从中选择最优的动作,实现对无人潜航器航迹的规划;所述多目标强化学习架构采用主场景下的境状态、无人潜航器动作以及奖励函数的训练样本进行训练。
[0128]
子智能体训练单元1050,用于从无人潜航器航迹的样本数据中确实两个子场景的环境状态、无人潜航器动作以及奖励函数,作为两个子场景的训练样本;第一子场景的环境状态包括:无人潜航器的运动状态和各个动态障碍物的运动状态;第二子场景的环境状态包括:无人潜航器的运动状态和目的地状态;无人潜航器动作为无人潜航器运动方向;第一子场景的奖励函数根据以尽快穿越障碍物区域,且避免与障碍物发生碰撞的情况来设置,第二子场景的奖励函数根据以最短路径接近并到达目的地的情况设置;将两个子场景的训练样本输入到具有优先经验回放机制的双深度q网络模型,将两个子场景下的环境状态作为模型输入,无人潜航器的动作作为模型输出,结合两个子场景的奖励函数确定以实际动
作值函数与估计动作值函数之间的偏差作为损失函数,在两个子场景中训练得到分别侧重于动态障碍物规避和目的地到达的两个子智能体;其中,当训练完成后,得到的两个子智能体可以根据当前对应子场景的环境状态决定对应子场景下无人潜航器应该执行的动作,以实现动态避障或接近目的地。
[0129]
主智能体训练单元1060,用于从无人潜航器航迹的样本数据中确实主场景的环境状态、无人潜航器动作以及奖励函数,作为主场景的训练样本;主场景的环境状态包括:无人潜航器的运动状态、各个动态障碍物的运动状态以及所述目的地的状态;主场景的奖励函数根据以最短路径接近并到达目的地,且避免与障碍物发生碰撞的情况来设置,以及将主场景的训练样本输入到基于集成学习的多目标强化学习架构,以根据主场景下的环境状态对所述两个子智能体给出的策略进行选择,以训练得到主智能体;在无人潜航器每一个状态,结合主场景的奖励函数确定主智能体分别选择两个子智能体的策略能得到的期望奖励,从而得到两个子智能体的策略在当前状态下的权重,分别体现了该状态下避障和前往目的地的重要程度;最终主智能体输出对两个子智能体的选择,无人潜航器的动作由被选择的子智能体在此状态下给出的策略决定;其中,无人潜航器的每一个状态指无人潜航器每一个时刻的位置。
[0130]
可以理解的是,上述各个单元的详细功能实现可参见前述方法实施例中的介绍,在此不做赘述。
[0131]
另外,本发明实施例提供了另一种水下无人潜航器航迹生成系统,其包括:存储器和处理器;存储器,用于存储计算机程序;处理器,用于当执行所述计算机程序时,实现上述实施例中的方法。
[0132]
此外,本发明还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述实施例中的方法。
[0133]
基于上述实施例中的方法,本发明实施例提供了一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。
[0134]
基于上述实施例中的方法,本发明实施例还提供了一种芯片,包括一个或多个处理器以及接口电路。可选的,芯片还可以包含总线。其中:处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字通信器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该理器也可以是任何常规的处理器等。接口电路可以用于数据、指令或者信息的发送或者接收,处理器可以利用接口电路接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路发送出去。
[0135]
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(nvram)。可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。可选的,接口电路可用于输出处理器的执行结果。
[0136]
需要说明的,处理器、接口电路各自对应的功能既可以通过硬件设计实现,也可以
通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。应理解,上述方法实施例的各步骤可以通过处理器中的硬件形式的逻辑电路或者软件形式的指令完成。
[0137]
可以理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。此外,在一些可能的实现方式中,上述实施例中的各步骤可以根据实际情况选择性执行,可以部分执行,也可以全部执行,此处不做限定。
[0138]
可以理解的是,本技术的实施例中的处理器可以是中央处理单元(cen tral processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
[0139]
本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,ram)、闪存、只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。
[0140]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0141]
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献