一种基于深度强化学习的水下航行器底层控制方法及系统

文档序号:30993251发布日期:2022-08-03 02:41阅读:99来源:国知局
一种基于深度强化学习的水下航行器底层控制方法及系统

1.本发明属于深度强化学习以及智能控制相关技术领域,尤其涉及一种基于深度强化学习的水下航行器底层控制方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.在海洋开发日益重要的现在,水下航行器越来越得到各个国家的重视,无论是在民用还是在军用上,都扮演着重要的角色。但由于水下航行器具有强耦合性、高度非线性等特点,在水下环境运行时又容易受到洋流等因素干扰,导致水下航行器的控制难度增大。
4.水下航行器底层控制包括对推进器控制、传感器信号处理等。经典控制技术虽然在底层控制上取得重大成就,但水下航行器复杂的操作条件和面临的恶劣水下环境对底层控制要求更高。深度强化学习具有强大的感知能力与决策能力,能自主适应恶劣的水下环境与水下航行器复杂的操作条件,能很好地实现对水下航行器的底层控制。
5.近年来,深度强化学习在水下航行器的应用上表现出优异性能,尤其是策略-评价网络架构成为当今流行算法的基础。如今近端策略优化(ppo)算法以其优异的性能以及易于实现与调试的特点被广泛应用并取得不错的效果。但由于近端策略优化(ppo)自身限制学习率的特点,可能会导致学习效率低的问题。


技术实现要素:

6.为克服上述现有技术的不足,本发明提供了一种基于深度强化学习的水下航行器底层控制方法及系统,基于改进型近端策略优化算法,采用一种策略-评价网络结构,将采集到原始传感器信息进行处理,输出推进器与舵角指令,实现高精度与自适应的水下航行器底层控制。
7.本发明的第一个方面提供一种基于深度强化学习的水下航行器底层控制方法,包括:根据水下航行器的状态信息、动作信息建立水下航行器底层控制的马尔科夫决策模型;基于所建立的水下航行器底层控制的马尔科夫决策模型,将水下航行器底层控制的系统控制目标转换为基于策略-评价网络的深度强化学习下的水下航行器底层控制目标;根据水下航行器的状态信息得到新的动作信息、动作信息所对应的即时奖励值以及观测到的新的状态信息并存入经验回收池,通过经验回收池对策略-评价网络进行迭代训练;将迭代训练后的策略-评价网络作为控制网络实现对水下航行器的底层控制。
8.进一步的,定义水下航行器底层控制系统的输入、输出、位置误差,所述输入包括传感器所测量的水下航行器的当前位置向量、当前的速度向量以及当前的加速度向量;所述输出包括推进器推力、水平舵舵角和垂直舵舵角;所述位置误差为传感器所测量的水下
航行器当前的位置信息与路径规划所给出的参考位置信息之差。
9.进一步的,建立水下航行器的底层控制的马尔科夫决策模型,包括定义状态向量、定义动作向量、定义奖励函数;所述定义状态向量包括水下航行器的当前位置向量、当前速度向量、当前加速度向量、参考位置信息以及上一时间步水下航行器底层控制系统的输出;所述定义动作向量为定义第t个时间步的动作向量为第t个时间步的水下航行器底层控制系统的输出;所述定义奖励函数根据水下航行器当前位置误差、与下一时间步的期望位置误差、水下航行器底层控制系统输出的动作、期望航向角、横倾角与横倾角速度所确定。
10.进一步的,所述基于策略-评价网络的深度强化学习下的水下航行器底层控制目标中策略网络的损失函数为:标中策略网络的损失函数为:其中,为裁剪因子,为优势函数,代表原始策略网络权重下的优势函数,策略为在状态下选择动作的概率,则代表原策略在状态下选择动作的概率,为状态向量,为系统输出。
11.进一步的,对于基于策略-评价网络的深度强化学习下的水下航行器底层控制目标的评价网络的损失函数为:其中,为评价网络权重,为评价网络的输出值,为第t个时间步计算得到的价值函数值。
12.进一步的,所述策略-评价网络包括策略网络和评价网络,所述策略网络设置为两个,所述评价网络设置为一个;所述策略网络的输入为水下航行器的状态向量,输出为水下航行器当前状态下的动作;所述评价网络的输入为水下航行器的状态向量和动作向量,输出为当前状态下的动作对应的价值。
13.进一步的,训练所述的策略-评价网络包括:
随机初始化两个策略网络的网络参数以及评价网络的参数;设置当前的时间步t = 0其所对应的状态变量分别作为两个策略网络的输入,分别得到当前时间步的输出动作与,根据与以及所定义的奖励函数分别得到奖励值与并观测到新的状态向量与,保留奖励值高的动作存入经验回收池中;计算时序差分误差,基于时序差分误差计算评价网络的损失函数,基于评价网络的损失函数的梯度来更新评价网络的网络参数;计算策略网络的损失函数,基于策略网络的损失函数的梯度来更新策略网络的网络参数,不断的迭代训练,直至达到训练次迭代结束。
14.进一步的,所述策略网络包括一个输入层、两个隐藏层和一个输出层并且各层之间均为全连接的神经网络,所述隐藏层激活函数采用relu函数,输出层采用tanh函数。
15.进一步的,所述评价网络包括一个输入层、两个隐藏层和一个输出层并且各层之间均为全连接的神经网络,所述隐藏层激活函数采用relu函数,输出层采用线性函数。
16.本发明第二个方面提出一种基于深度强化学习的水下航行器底层控制系统,包括:建立控制目标模块,其被配置为根据水下航行器的状态信息、动作信息建立水下航行器底层控制的马尔科夫决策模型;控制目标转换模块,其被配置为基于所建立的水下航行器底层控制的马尔科夫决策模型,将水下航行器底层控制的系统控制目标转换为基于策略-评价网络的深度强化学习下的水下航行器底层控制目标;训练模块,其被配置为根据水下航行器的状态信息得到新的动作信息、动作信息所对应的即时奖励值以及观测到的新的状态信息并存入经验回收池,通过经验回收池对策略-评价网络进行迭代训练;控制模块,其被配置为将迭代训练后的策略-评价网络作为控制网络实现对水下航行器底层的控制。
17.以上一个或多个技术方案存在以下有益效果:1、本发明针对的是水下航行器的底层控制,利用深度学习强大的感知能力处理水下航行器传感器信息,利用强化学习的决策能力输出推进器与舵角指令,与传统的底层控制方法相比自适应能力更强。因为是底层控制,与现有的深度强化学习控制水下航行器的方法相比更精确。
18.2、本发明的控制方法是无模型的,故不需要复杂的建模,而且可以很好地适用于强耦合性与强非线性特点的水下航行器。
19.3、本发明针对近端策略优化算法容易导致训练速度慢的特点进行优化,设置两个策略网络,选择奖励值高的动作存储在经验集中进行训练,在更新网络参数时对两个策略网络随机更新。
20.4、本发明对水下航行器的横倾角在奖励函数中进行控制设计,横倾角越小,奖励函数中这一项的奖励值越大。
21.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得
明显,或通过本发明的实践了解到。
附图说明
22.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
23.图1为本发明水下航行器控制方法的框架图;图2为本发明中策略网络结构示意图;图3是本发明中评价网络结构示意图。
具体实施方式
24.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
25.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。
26.实施例一如图1所示,本实施例公开了一种基于深度强化学习的水下航行器底层控制方法,步骤1:根据水下航行器的状态信息、动作信息建立水下航行器底层控制的马尔科夫决策模型;步骤2:基于所建立的水下航行器底层控制的马尔科夫决策模型,将水下航行器底层控制的系统控制目标转换为基于策略-评价网络的深度强化学习下的水下航行器底层控制目标;步骤3:根据水下航行器的状态信息得到新的动作信息、动作信息所对应的即时奖励值以及观测到的新的状态信息并存入经验回收池,通过经验回收池对策略-评价网络进行迭代训练;步骤4:将迭代训练后的策略-评价网络作为控制网络实现对水下航行器的底层控制。
27.在本实施例中,在所述步骤1之前,还包括定义水下航行器底层控制问题,包括四个部分:确定水下航行器系统输入、确定水下航行器系统输出、计算位置误差和建立水下航行器底层控制目标。
28.步骤0-1:确定水下航行器系统输入系统输入包括传感器信息、由指导模块如路径规划模块给出的参考位置信息、上一时间的系统输出。其中,为当前位置向量,为当前的速度向量(包括线速度与角速度),为当前的加速度向量(包括线加速度与角加速度)。
29.步骤0-2:确定水下航行器系统输出
系统输出为,其中为推进器推力、为水平舵舵角、为垂直舵舵角。推力饱和值为86n,舵角饱和值为。
30.步骤0-3:计算位置误差位置误差为传感器测量的位置信息与参考位置信息的差值,公式为:(1)步骤0-4:建立水下航行器底层控制目标目标函数为:(2)其中,为折扣因子,为奖励函数,为系统输出,为相关的函数,t表示第t个时间步,水下航行器底层控制的目标是求解出最优的系统输出,使目标函数最大化,即。
31.在所述步骤1和步骤2中:建立水下航行器底层控制问题的马尔科夫决策模型,包括定义状态向量、定义动作向量、定义奖励函数以及将步骤0-4所建立的水下航行器底层控制目标转换为基于策略-评价网络下深度强化学习的控制目标。
32.步骤1-1:定义状态向量状态向量为。
33.其中,为当前位置向量,为当前的速度向量,为当前的加速度向量,为参考位置信息,为上一时间步的系统输出。
34.步骤1-2:定义动作向量定义第t个时间步的系统输出。
35.步骤1-3:定义奖励函数定义第t个时间步的奖励函数为r,奖励函数代表在状态时采取动作所获得的奖励。根据水下航行器当前位置误差、与下一时间步的期望位置误差、输出动作、期望航向角、横倾角与横倾角速度设置奖励函数如下:
(3)其中,分别为各项的加权系数,为横倾角,为横倾角速度,与分别为与的转置。
36.在本实施例中,。
37.步骤1-4:将步骤0-4所建立的水下航行器底层控制目标转换为基于策略-评价网络的深度强化学习下的控制目标。
38.水下航行器的底层控制目标为最大化,其中:。
39.定义策略为在状态下选择动作的概率,则代表原策略在状态下选择动作的概率。深度强化学习下的控制目标则为选择最优策略,使得策略网络输出的动作使最大化,对于策略网络来说,损失函数为:为:(4)其中,为裁剪因子,为优势函数,代表原始策略网络权重下的优势函数,策略为在状态下选择动作的概率,则代表原策略在状态下选择动作的概率。
40.状态为动作时的优势函数为:(5)其中,为策略网络权重,代表策略网络权重下的优势函数,为样本估计的动作-价值函数,为状态-价值函数的近似值。
41.(6)(7)其中,代表策略网络期望,则为状态动作条件下的折扣奖励的期望,为状态条件下的折扣奖励的期望,为公式(2)中的目标函数,也是折扣奖励,为折扣因子。
42.对于深度强化学习框架中基于策略-评价网络的评价网络来说,损失函数为:(8)(9)(10)其中,为评价网络权重,为调整因子,为时序差分误差,为评价网络的输出值,为状态条件下的折扣奖励的期望,为第i时间步的即时奖励,为第t个时间步计算得到的价值函数值。
43.在所述步骤3中,基于策略-评价的深度强化学习算法是通过构建策略网络和评价网络来选择最优策略。
44.步骤3-1:策略网络的构建如图2所示,策略网络是包括一个输入层、两个隐藏层和一个输出层并且各层之间均为全连接的神经网络。输入层的输入为观察量,神经元个数为观察量的维度;隐藏层神经
元个数为512;输出层的输出为动作,神经元个数为动作的维度。隐藏层激活函数采用relu函数,输出层采用tanh函数。
45.通过构建策略网络来输出当前状态下的动作,为了使策略更加稳定,采用clip函数,限制新策略的变化幅度。此外,为了探索更加充分,采用两个策略网络产生动作,并保存奖励值高的动作。
46.步骤3-2:评价网络的构建如图3所示,评价网络是包括一个输入层、两个隐藏层和一个输出层并且各层之间均为全连接的神经网络。输入层的输入为观察量,神经元个数为观察量的维度;隐藏层神经元个数为512,动作值作为第一个隐藏层的输入;输出层的输出当前时间步下动作的价值为,神经元个数为的维度。隐藏层激活函数采用relu函数,输出层采用线性函数。
47.通过构建评价网络来输出当前动作对应的价值。
48.步骤3-3:确定目标策略根据所构建的策略-评价网络,将时间步t学习到的动作作为系统输出。
49.求解水下航行器的目标策略,即选择最优策略,使得策略网络输出的动作使最大化,具体步骤包括:步骤4-1:参数设置策略网络学习率为,评价网络学习率为,裁剪因子为,折扣因子为,调整因子为。最大迭代次数为,每次迭代最大次数为u=10,经验集大小为d=1024,经验回放抽取的训练集大小为b=128。
50.步骤4-2:初始化策略-评价网络参数随机初始化策略-评价网络参数,构建经验集,并初始化为空。
51.步骤4-3:迭代开始,对策略-评价网络进行训练,初始化迭代次数episode = 1。
52.步骤4-4:设置当前时间步t=0,随机初始化水下航行器的状态变量,令当前时间步的状态变量。
53.步骤4-5:根据两个策略网络得到当前时间步的输出动作与。
54.步骤4-6:水下航行器在当前状态下执行动作与,根据步骤2-3中的奖励函数计算公式分别得到即时奖励与,并观测到新的状态向量与。
55.比较与,若,令
;若,令,将收集的经验样本存入经验集中,。
56.如果经验集的样本数量已经达到最大容量,则先删除最先加入的一个样本,再将新的经验样本存入经验集中;否则直接将经验样本存入经验集中。
57.步骤4-7:从经验集中随机选取b个经验样本,根据公式(10)计算时序差分误差,。
58.步骤4-8:根据步骤4-7中计算得到的时序差分误差计算:,。
59.步骤4-9:直接复制更新策略网络参数,此时更新后的策略网络参数为步骤4-10计算时的。
60.步骤4-10:从经验集中随机采样b条数据,计算,用随机更新两个策略网络参数;计算,用的梯度值更新评价网络参数,,若次数的迭代次数小于u,则重复本步骤;否则,进行下一步。
61.步骤4-11:若此时到达最大迭代次数m,则得到训练完成的策略网络参数,跳转至步骤4-12。否则直接复制更新策略网络参数,清空经验集,令episode=episode+1并跳转至步骤4-4。
62.步骤4-12:迭代结束,将学习到的策略-评价网络作为控制网络,实现对水下航行器的底层控制。
63.实施例二本实施例的目的是提供一种基于深度强化学习的水下航行器底层控制系统,包括:建立控制目标模块,其被配置为根据水下航行器的状态信息、动作信息建立水下航行器底层控制的马尔科夫决策模型;控制目标转换模块,其被配置为基于所建立的水下航行器底层控制的马尔科夫决策模型,将水下航行器底层控制的系统控制目标转换为基于策略-评价网络的深度强化学习下的水下航行器底层控制目标;训练模块,其被配置为根据水下航行器的状态信息得到新的动作信息、动作信息所对应的即时奖励值以及观测到的新的状态信息并存入经验回收池,通过经验回收池对策略-评价网络进行迭代训练;
控制模块,其被配置为将迭代训练后的策略-评价网络作为控制网络实现对水下航行器底层的控制。
64.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1