CN113033119A - 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法 - Google Patents

一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法 Download PDF

Info

Publication number
CN113033119A
CN113033119A CN202110262597.7A CN202110262597A CN113033119A CN 113033119 A CN113033119 A CN 113033119A CN 202110262597 A CN202110262597 A CN 202110262597A CN 113033119 A CN113033119 A CN 113033119A
Authority
CN
China
Prior art keywords
underwater vehicle
network
critic
target
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110262597.7A
Other languages
English (en)
Other versions
CN113033119B (zh
Inventor
李沂滨
张天泽
缪旭弘
魏征
尤岳
周广礼
贾磊
庄英豪
宋艳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN202110262597.7A priority Critical patent/CN113033119B/zh
Publication of CN113033119A publication Critical patent/CN113033119A/zh
Application granted granted Critical
Publication of CN113033119B publication Critical patent/CN113033119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63GOFFENSIVE OR DEFENSIVE ARRANGEMENTS ON VESSELS; MINE-LAYING; MINE-SWEEPING; SUBMARINES; AIRCRAFT CARRIERS
    • B63G8/00Underwater vessels, e.g. submarines; Equipment specially adapted therefor
    • B63G8/14Control of attitude or depth
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63GOFFENSIVE OR DEFENSIVE ARRANGEMENTS ON VESSELS; MINE-LAYING; MINE-SWEEPING; SUBMARINES; AIRCRAFT CARRIERS
    • B63G8/00Underwater vessels, e.g. submarines; Equipment specially adapted therefor
    • B63G8/14Control of attitude or depth
    • B63G8/18Control of attitude or depth by hydrofoils
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/28Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Algebra (AREA)
  • Fluid Mechanics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,属于海洋控制实验技术领域,基于深度强化学习中的DDPG算法框架,在水下航行器智能体训练过程中既使用先前得到的专家数据,又使用智能体与任务环境交互得到的交互数据,两者混合采集,大大提升了算法收敛速度。同时,本发明利用两组彼此独立的评论家网络,通过取两者分别输出Q(s,a)的最小值得到演员网络的损失函数,有效降低了强化学习算法中存在的过偏估计。

Description

一种基于双评论家强化学习技术的水下航行器目标区域上浮 控制方法
技术领域
本发明涉及一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,属于海洋控制实验技术领域。
背景技术
水下航行器作为关键的海洋装备,广泛的被应用于海洋的地形测绘、资源勘探、考古调查、管道维护、生物监测等诸多科研及工程领域,是人类探索海洋的重要手段。然而,海底环境复杂多变,水下航行器工作在这样的环境中,当遭遇故障或强干扰时,若不能及时、安全、智能地上浮至母船所在区域,势必会导致经济损失及重要数据遗失。因此,为了增强水下航行器在海底复杂环境下的适应能力、提升水下航行器智能决策可靠性,开展针对水下航行器目标区域智能上浮控制算法的研究是十分必要的。
然而实现水下航行器智能化控制仍然有很多困难点。传统的例如比例积分微分(PID)控制器等线性控制器,对于水下航行器这类具有复杂非线性动力学特性的系统,难以取得良好的控制性能。即便使用现有的非线性控制器,在实际的任务环境中水下航行器动态模型及任务环境模型都难以精确获取,所以也难以获得良好的控制效果(Hui Wu etal.,“Depth Control of Model-Free AUVs via Reinforcement Learning”,IEEETransactions on Systems,Man,and Cybernetics:Systems,Vol.49,pp.2499-2510,Dec.2019)。此外,复杂多变的洋流、悬浮于水中或海面的障碍物都会对水下航行器的目标区域上浮控制带来干扰。所以需要一种可以不依赖于模型且能够进行自学习的智能控制算法来解决上述问题。
机器学习技术近些年的快速发展给水下航行器智能化控制带来更多可能。强化学习(Reinforcement Learning,RL)作为一种可以解决无模型马尔可夫决策过程(Markovdecision process,MDP)问题的算法框架,能够构建一个与海底任务环境不断交互的水下航行器智能体,在无任务环境模型的情况下通过获取来自任务环境反馈的惩罚或奖励,最大化累积奖励来最终寻找到完成任务的最优策略,如图1所示。
然而,现有基于传统RL进行水下航行器控制的研究及发明存在着一些显著的缺陷:首先,基于传统强化学习如Q-learning等算法,需要构建一张尺寸巨大的Q值表以存储高纬度的动作空间、状态空间中存在的Q(s,a)值,而随着智能体在高维度的动作、状态空间中的不断训练,Q值表内的Q值个数会爆炸式增长,使得该方法有很大局限性。而后,随着谷歌Deepmind团队提出的将深度学习与传统Q-learning技术结合而诞生的深度强化学习算法DRL(Deep reinforcement learning)算法,该算法中Q值表被神经网络代替而成为DQN(Deep Q Net)(V.Mnih et al.,“Human-level control through deep reinforcementlearning,”Nature,vol.518,pp.529-533,2015.),但DQN算法只适用于离散动作空间,制约其应用于水下航行器智能化控制;DDPG(Deep Deterministic Policy Gradient)(Lillicrap T P,Hunt J J,Pritzel A,et al.Continuous control with deepreinforcement learning[J].Computer ence,2015,8(6):A187.)是一种适用于连续动作空间的控制算法,但其中的评论家网络输出的Q(s,a)来自于动作-价值函数的期望,导致其存在过高估计的弊端。并且,以上RL方法并未考虑容易获取且性能可靠的专家数据,导致算法在训练收敛速度过慢,且在训练初期存在很大随机性。
发明内容
为了解决水下航行器目标区域上浮智能化控制问题,并且针对以上背景及现存方法的诸多难点和不足,本发明基于深度强化学习中的DDPG算法框架,提出一种基于双评论家网络强化学习技术的水下航行器目标区域智能上浮控制方法。该方法的主要特征在于:1.在水下航行器智能体训练过程中既使用先前得到的专家数据,又使用智能体与任务环境交互得到的交互数据,两者混合采集,大大提升了算法收敛速度。2.利用两组彼此独立的评论家网络,通过取两者分别输出Q(a,a)的最小值得到演员网络的损失函数,有效降低了强化学习算法中存在的过偏估计。
本发明的技术方案如下:
一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,包括步骤如下:
1、定义任务环境及模型
1-1、构建水下航行器所在的目标区域任务环境及水下航行器动力学模型;
任务环境包括固定在地理原点的E-ξηζ坐标系、设置了三维地图尺寸的三维区域、上浮成功区域;
水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;
通过在仿真中基于牛顿-欧拉运动方程推导,对一个长度为2.38米、直径为0.32米、重量为167千克的流线型水下航行器进行六自由度的动力学建模,包括,在E-ξηζ坐标系下对水下航行器坐标{ξ,η,ζ}及姿态角
Figure BDA0002970611690000021
进行描述,使用固定在水下航行器上随水下航行器运动的、以其重心为原点O的O-xyz坐标系,描述水下航行器的线速度{u,v,w}及角速度{p,q,r},以完整描述水下航行器的运动状态;其中,ξ,η,ζ为固定坐标系E-ξηζ下的三维坐标值;
Figure BDA0002970611690000031
为固定坐标系E-ξηζ绕三个坐标轴旋转的姿态角角度:艏向角ψ、横滚角
Figure BDA0002970611690000032
以及俯仰角θ,u,v,w为水下航行器AUV在O-xyz坐标系下沿三个坐标轴运动的线速度值,p,q,r为O-xyz坐标系下绕三个坐标轴旋转的角速度;根据构建好的水下航行器动力学模型,已知t时刻水下航行器的运动状态,由水下航行器艉部推进器输出力的大小及艉部水平舵、艉部垂直舵的舵角偏转值,经四阶龙格库塔法解算微分方程可以得到t+1时刻的运动状态;
优选的,四阶龙格库塔法解算微分方程简单示例说明如下:
h=0.1s%定义的时间微分
k1=f(u);%u为水下航行器的当前时刻状态向量,f(u)为水下航行器的动力学方程
k2=f(u+0.5*h*k1);
k3=f(u+0.5*h*k2);
k4=f(u+h*k3);
其中,k1,k2,k3,k4表示的是输出变量的一阶倒数,即在一点处的微分,斜率;
u=u+(h/6)*(k1+2*k2+2*k3+k4);%得到新一时刻的系统状态向量。
为了使用基于强化学习的控制算法,所构建的任务环境需要定义明确任务环境给与水下航行器智能体的奖励函数以及水下航行器对任务环境观察量。以实现如图4所示的控制流程。
1-2、定义奖励函数
根据仿真环境中上浮至指定区域的任务设定,对水下航行器智能体构建如下奖励分量:
首先,根据水下航行器上浮行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到水面的距离的减小值;并且针对过大奖励可能会对算法中的神经网络产生不稳定的训练效果的问题,本发明在此奖励分量的设定中进行了裁剪,将该值限定在[-2,2]的范围内,具体如式(1):
rtrans=clip[(dold-dnew),-2,2] (1)
其中,dold表示水下航行器上一时刻水下航行器与水面的距离,dnew表示水下航行器当前时刻水下航行器与水面的距离,rtrans为转移奖励函数;
其次,根据水下航行器要到达目标区域进行奖励,设定该奖励分量根据水下航行器重心在任意时刻所在水平面内的投影点到所在到指定区域中心在该水平面的投影点的距离设定;并且针对过大奖励或惩罚项可能会对神经网络梯度反向传播过程产生不稳定的训练效果的问题,本发明在此奖励分量的设定中进行了裁剪,将该值限定在[-2,2]的范围内,具体如式(2):
Figure BDA0002970611690000033
其中,β为上浮成功区域(如图3中所示的上浮成功区域)半径的γ次方,rarea表示上浮至指定区域的奖励函数分量,
Figure BDA0002970611690000041
表示某时刻距离指定区域中心的距离的γ次方,优选的,在本发明中设定β=3.5、γ=0.3;
第三,考虑水下航行器可能的故障状态下智能上浮的能源限制,设置时间惩罚项为:rtime=1.5,且当一个episode所使用的仿真步长超出500个时,任务环境反馈done=True,即任务结束;
最后,对任务环境进行了地图范围的限制,当水下航行器碰到地图边界时,给予一个较大的惩罚:
Figure BDA0002970611690000042
综合起来,奖励函数被设定为:
r=α1*rtrans2*rarea3*rtime+rmap (4)
其中α1、α2、α3用于协调为各奖励分量所占的权重;
1-3、定义状态空间S
在本发明所构建的水下航行器仿真环境中,状态空间由水下航行器对环境的几个观察分量构成,即状态空间可相应定义为S={obs1,obs2,..,obsn},n为观察分量的数量,其中包括:每个时刻水下航行器与水面的距离、水下航行器重心所在水平面内投影点到所在到上浮成功区域中心在该水平面投影点的距离、水下航行器的艏向角与俯仰角、水下航行器艉部推进器输出力的大小、水下航行器艉部水平舵舵角与垂直舵舵角的大小,以及水下航行器上的四个声呐对周围障碍物的探测反馈(在本发明举例的仿真中,声呐对周围海底环境的探测半径为5米,可以感知地图边界等障碍物);
另外,优选的,各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure BDA0002970611690000043
通过最大最小值归一化处理将水下航行器对环境的观察值放缩到[0,1]的范围内,以防止不同指数量级的数值对后续神经网络梯度反向传播的影响。
1-4、定义动作空间
本发明所提出的水下航行器智能控制算法可以使用于各类型水下航行器,在后续的举例仿真中,使用了一个运动在三维空间下、具有六个自由度,有三个执行机构的欠驱动水下航行器。水下航行器的三个执行机构分别为艉部推进器、艉部水平舵以及艉部垂直舵;本发明所提出的控制算法通过建立从水下航行器的各观察量到控制推进器输出力的大小、两组舵面的偏转角度的非线性映射,实现了对水下航行器端到端的控制。同时,定义本发明中举例仿真所使用的水下航行器的动作空间为A={F,Dθ,Dψ}其中,F为推进器输出力的大小,Dθ,Dψ为水平舵以及垂直舵的偏转角度;
2、上浮控制算法训练
(1)、网络参数初始化阶段:
(1-1)、设定神经网络包括评估网络和目标网络,评估网络中包括演员网络和评论家网络1、评论家网络2,目标网络中包括演员网络和评论家网络1、评论家网络2;随机初始化各网络参数:
评估演员网络参数θπ、目标演员网络参数θπ′;评估评论家网络1参数
Figure BDA0002970611690000051
目标评论家网络1参数
Figure BDA0002970611690000052
评估评论家网络2参数
Figure BDA0002970611690000053
目标评论家网络2参数
Figure BDA0002970611690000054
评估演员网络的输出值为π(s|θπ),目标演员网络的输出为π′(s|θπ′),评估评论家网络1输出为
Figure BDA0002970611690000055
目标评论家网络1的输出为
Figure BDA0002970611690000056
评估评论家网络2输出为
Figure BDA0002970611690000057
目标评论家网络2的输出为
Figure BDA0002970611690000058
优选的,演员网络及评论家网络均包括输入层、隐藏层、输出层,其隐藏层均为128个神经元,其中所有网络的输入层、隐藏层的激活函数使用relu函数,输出层使用了tanh函数。
(1-2)、初始化训练过程相关超参数:目标网络软替代更新频率参数τ;交互经验缓存空间尺寸M;专家经验缓存空间尺寸D;每个时间步从M与D两个经验回放缓存空间采样得到的转移过程总数为batch,奖励折损率γ;
优选的,步骤(1-2)中,初始化训练过程相关超参数:目标网络软替代更新频率参数τ=5*10-3;交互经验回放缓存空间尺寸M=104;专家经验回放缓存空间尺寸D=103;每个时间步从M与D两个经验回放缓存空间采样得到的转移过程总数为batch=128,奖励折损率γ=0.99。
(2)预训练阶段:
(2-1)、将若干条控制水下航行器成功、快速地上浮到目标区域的episode作为专家数据加载到专家经验回放缓存空间中永久存储(在下一阶段的智能体正式训练过程中,水下航行器与任务环境实际交互产生的转移过程存放到交互经验缓存M中,会随着更多交互数据的采集而被更替);其中,各episode中单步转移过程以(st-1,at,rt,st,done)的形式存储;其中st-1为上一时刻状态、at为当前时刻采取的动作、rt为当前时刻获得的奖励值、st为当前时刻状态、done为当时刻是否触发任务终止条件的标志位;
优选的,步骤(2-1)中,将10条控制水下航行器成功、快速地上浮到目标区域的episode作为专家数据加载到专家经验回放缓存空间中永久存储。
(2-2)、经验回放缓存中的单步转移过程(无论来自专家数据还是来自后续与任务环境的实际交互)在网络学习过程中被采样的概率正比于其优先级pi,被采样的概率计算方式为:
Figure BDA0002970611690000061
其中,ρ为调节优先级影响大小的指数因子,优选的,所举例的仿真中设置此值为0.3,这样设置原因是经过大量实验效果较好;k为经验回放缓存中已有的转移过程的数目;而pi的计算方式为:
Figure BDA0002970611690000062
其中,λ3为调节贡献度的权重值,优选的,仿真中设置为1.0;Q(si,aiQ)为评估评论家网络对某第i个状态-动作对的输出值;
Figure BDA0002970611690000067
为对a求取梯度;δi为此时刻的单步转移过程与上一时刻单步转移过程的时序误差值:
δi=r+γmaxa′Q(s′,a′|θQ′)-Q(s,a|θ′) (8)
∈为一个较小的正常数,增加来自示范数据的转移过程被采样的概率,以确保采样过程具有一定随机性,优选的,举例的仿真实验中设置此值为0.1。
r为前文的奖励函数值;γ为奖励折损因子,优选的,举例的仿真中设置该值为0.99;Q(s′,a′|θQ′)为目标评论家网络根据下一时刻状态-动作对(s′,a′)的输出值;Q(s,a|θ′)为目标评论家网络根据当前时刻状态-动作对(s,a)的输出值;maxa′为取最大值数学符号,符号中有a′为该Q值最大即意味着动作值a的价值最大。
(2-3)、开始预训练:在这个阶段网络只使用专家经验回放缓存中存储的转移过程进行网络的更新,并不与任务环境进行交互,设定预训练的步数npre,优选的,预训练的步数npre=1000;在学习过程中,评估评论家的两个网络及评估演员网络的损失函数被设计为:
Figure BDA0002970611690000063
Figure BDA0002970611690000064
Figure BDA0002970611690000065
为经由两个评论家网络计算得到的单步转移过程loss函数,
Figure BDA0002970611690000066
为梯度算子,即对评估演员网络的网络参数求取梯度,式(9)中计算评论家网络的第一项L1Q)为单步转移过程的损失函数,其具体的计算方式为:
Figure BDA0002970611690000071
Figure BDA0002970611690000072
Figure BDA0002970611690000073
式(12)、(13)中表明了本发明中双评论家网络的运算方式,所构建的两组评论家网络彼此网络参数不共享,且更新方式也彼此独立,其中,r为前文的奖励函数值;γ为奖励折损因子,优选的,举例的仿真中设置该值为0.99,
Figure BDA0002970611690000074
代表1号目标评论家网络根据目标演员网络的输出而做出的输出,
Figure BDA0002970611690000075
代表2号目标评论家网络根据目标演员网络的输出而做出的输出,π′(s′|θπ′)即为目标演员网络根据下一时刻状态s′做出的输出;
Figure BDA0002970611690000076
分别为1、2号评估评论家网络根据智能体在当前时刻状态-动作对(s,a)的输出;而在获取演员网络所需的Q(s,a)值时,通过取两评论家网络输出值中的最小值作为用于式(10)中J(θπ)的Q值,从而实现降低对Q值的过高估计;
另外,式(10)中也包含了多步转移过程(即同一个episode中不相邻的时间步之间的转移过程)之间的信息LnQ);计算n步转移过程
Figure BDA0002970611690000077
(优选的,本发明举例仿真中的n=3)损失函数的计算方式为:
Figure BDA0002970611690000078
λ1、λ2为调节单步、n步转移过程影响损失函数的比重,
Figure BDA0002970611690000079
为对评估演员网络输出取梯度运算,并与两个评估评论家网络输出的最小值做乘积,其中Q(s′n-1,π′(s′|θπ′)|θQ′)及Q(s,π(s)|θQ)的计算如(12)(13)所示;损失函数中的
Figure BDA00029706116900000710
Figure BDA00029706116900000711
为网络的L2正则化项,用以防止神经网络在梯度反向传播中的过拟合现象。
最后,每个时间步对所有目标网络采取软更新,其计算方式为:
θπ′=τθπ′+(1-τ)θπ′ (15)
Figure BDA00029706116900000712
其中,θπ′为目标演员网络参数,
Figure BDA00029706116900000713
为目标评论家网络参数,τ为软更新因子,优选的,仿真实验中设置为5*10-3
(3)正式训练阶段:
(3-1)、预训练完成后,本发明提出的算法开始实际控制水下航行器与仿真任务环境交互;为了防止算法过拟合,且使水下航行器智能体尽量对状态空间进行探索,每次训练过程的开始时,水下航行器起点被设置为上浮成功区域(水面2米)以下、远离上浮成功区域的任意一点,并且水下航行器的初始艏向角必也是随机的;
(3-2)、水下航行器将当前通过观测得到的状态空间S的一条向量加载到评估演员网络,得到网络的输出后与动作选择噪声叠加后得到选择的动作at=π(st-1,θπ)+nt,其中nt为加入的高斯噪声,at即为水下航行器推进器输出力的大小及艉部垂直舵角、水平舵舵角的角度值;仿真任务环境根据水下航行器此时的实际状态反馈给水下航行器单步奖励值rt;算法将与任务环境交互产生的单步转移过程(st-1,at,rt,st)存放在交互经验回放缓存M中;
(3-3)、每个时间步后,按照公式(6)计算得到的采样概率随机从水下航行器交互经验回放缓存M与专家经验回放缓存D中采样,并将得到的batch条混合数据,依照与步骤(2-3)的方式进行各网络的参数更新;
(3-4)、通过(3-2)、(3-3)不断迭代训练,直至达到预设的仿真步数;优选的,本发明的举例仿真中设定总仿真步数为2*105步,通过查看每个episode的奖励收敛情况及水下航行器完成环境任务的成功次数判断算法的控制性能。
针对现有基于DDPG强化学习技术的控制算法中存在过偏估计问题。尽管现有基于DDPG的控制算法在大多数控制任务中都展现出良好的性能,但是其对于算法中的超参数调节、智能体奖励函数的设定等因素依然过于敏感,使算法调优变得尤为困难,也导致获取最佳控制策略的难度加大。究其原因是评论家网络在输出Q函数时是把累计折损奖励的期望值作为学习目标,这会导致对Q函数的过高估计,从而造成了学习过程中的偏差。针对此,本发明提出的双评论家网络强化学习算法。该方法使用了两个彼此独立更新的评论家网络,并对两者输出的Q函数值取最小值,演员网络根据此Q值计算损失函数并进行更新。应用此方法,有效防止了对Q函数的过估计,使智能体训练过程更加稳定、自学习更加准确,
针对现有基于结合专家数据的DDPG强化学习算法训练初期智能体表现不稳定且收敛速度慢的问题。为了使智能体在学习过程中尽量遍历整个状态空间,通常在学习与探索之间进行权衡,这导致智能体在训练过程早期产生不稳定的表现。针对此,本发明提出了结合专家数据库的进行网络更新的方法,如图2所示。该方法在智能体正式开始训练之前先加载收集到的专家数据(一批完整的、使水下航行器上浮至目标区域且不与障碍物发生碰撞的转移过程)对智能体进行预训练。并且在后续的正式训练过程中的每次网络更新,都使用了专家数据、交互数据混合后的数据。应用此方法,水下航行器智能体的训练过程可以快速收敛且保持控制性能稳定。
本发明的有益效果在于:
本发明使用了6个神经网络,彼此两个评论家独立更新,使用两者输出的最小值进行损失函数的计算可以有效避免强化学习方法中的过估计问题。利用本发明的方法,通过记录水下航行器重心在正式训练阶段各个时刻的三维坐标,得到的其目标区域上浮轨迹如图7所示。由这些轨迹表明本发明提出的水下航行器智能控制算法使水下航行器智能体具备智能学习能力,通过不断训练实现越来越好的控制效果。通过训练过程中各episode得到的累计奖励,可以发现本发明提出的基于专家数据的双评论家深度强化学习技术的水下航行器目标区域智能上浮控制方法具有明显较快的收敛性,以及收敛后的稳定性,如图8所示。
附图说明
图1为基于强化学习技术的水下航行器控制算法示意;
图2为结合专家数据库的强化学习控制方法;
图3为水下航行器相关坐标系及运动状态信息示意;
图4为基于DRL的水下航行器智能化控制;
图5为演员网络及评论家网络结构;
图6为智能体内部结构及训练方式示意;
图7-1为水下航行器利用专家数据训练在第200轮上浮任务训练中产生的自主上浮轨迹图;
图7-2为水下航行器利用专家数据训练在第500轮上浮任务训练中产生的自主上浮轨迹图;
图7-3为水下航行器利用专家数据训练在第800轮上浮任务训练中产生的自主上浮轨迹图;
图8为奖励曲线,其中横轴为仿真的轮数(AUV从起点出发到任务结束算作一轮),纵轴为该轮获得的总奖励函数值。
具体实施方式
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
实施例1:
一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,本发明的实施过程分为任务环境构建阶段和上浮策略训练阶段两个部分,包括步骤如下:
1、定义任务环境及模型:
1-1、构建水下航行器所在的目标区域任务环境及水下航行器动力学模型;
使用python语言在vscode集成编译环境下编写水下航行器仿真环境任务环境,所构建的模拟水池地图的地理坐标系E-ξηζ如图3所示,三维水池的尺寸设定为50米*50米*50米,目标区域上浮成功区域为以水面中心为圆点、10米为半径、2米水深范围的圆柱形区域。
基于牛顿-欧拉运动方程推导(Khalil H,哈里尔,Khalil,et al.非线性系统(第三版)[M].电子工业出版社,2005),对一个长度为2.38米、直径为0.32米、重量为167千克的流线型水下航行器进行六自由度的动力学建模。其中,在E-ξηζ坐标系下对水下航行器坐标{ξ,η,ζ}及姿态角
Figure BDA0002970611690000101
进行描述,使用固定在水下航行器上随水下航行器运动的、以其重心为原点O的O-xyz坐标系描述水下航行器的线速度{u,v,w}及角速度{p,q,r},以完整描述水下航行器的运动状态,如图3所示。其中,ξ,η,ζ为固定坐标系E-ξηζ下的三维坐标值;
Figure BDA0002970611690000102
为固定坐标系E-ξηζ绕三个坐标轴旋转的姿态角角度:艏向角ψ、横滚角
Figure BDA0002970611690000103
以及俯仰角θ,u,v,w为水下航行器AUV在O-xyz坐标系下沿三个坐标轴运动的线速度值,p,q,r为O-xyz坐标系下绕三个坐标轴旋转的角速度;根据构建好的水下航行器动力学模型,已知t时刻水下航行器的运动状态,由水下航行器艉部推进器输出力的大小及艉部水平舵、艉部垂直舵的舵角偏转值,经四阶龙格库塔法解算微分方程可以得到t+1时刻的运动状态;
四阶龙格库塔法解算微分方程简单示例说明如下:
h=0.1s%定义的时间微分
k1=f(u);%u为水下航行器的当前时刻状态向量,f(u)为水下航行器的动力学方程
k2=f(u+0.5*h*k1);
k3=f(u+0.5*h*k2);
k4=f(u+h*k3);
其中,k1,k2,k3,k4表示的是输出变量的一阶倒数,即在一点处的微分,斜率;
u=u+(h/6)*(k1+2*k2+2*k3+k4);%得到新一时刻的系统状态向量。
为了使用基于强化学习的控制算法,所构建的任务环境需要定义明确任务环境给与水下航行器智能体的奖励函数以及水下航行器对任务环境观察量。
1-2、定义奖励函数
奖励函数r的具体组成。根据仿真环境中上浮至指定区域的任务设定,对水下航行器智能体构建如下奖励分量:
首先,根据水下航行器上浮行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到水面的距离的减小值;并且针对过大奖励可能会对算法中的神经网络产生不稳定的训练效果的问题,本发明在此奖励分量的设定中进行了裁剪,将该值限定在[-2,2]的范围内,具体如式(1):
rtrans=clip[(dold-dnew),-2,2] (1)
其中,dold表示水下航行器上一时刻水下航行器与水面的距离,dnew表示水下航行器当前时刻水下航行器与水面的距离,rtrans为转移奖励函数;
其次,根据水下航行器要到达目标区域进行奖励,设定该奖励分量根据水下航行器重心在任意时刻所在水平面内的投影点到所在到指定区域中心在该水平面的投影点的距离设定;并且针对过大奖励或惩罚项可能会对神经网络梯度反向传播过程产生不稳定的训练效果的问题,本发明在此奖励分量的设定中进行了裁剪,将该值限定在[-2,2]的范围内,具体如式(2):
Figure BDA0002970611690000111
其中,β为上浮成功区域(如图3中所示的上浮成功区域)半径的γ次方,rarea表示上浮至指定区域的奖励函数分量,
Figure BDA0002970611690000112
表示某时刻距离指定区域中心的距离的γ次方,在本发明中设定β=3.5、γ=0.3;
第三,考虑水下航行器可能的故障状态下智能上浮的能源限制,设置时间惩罚项为:rtime=1.5,且当一个episode所使用的仿真步长超出500个时,任务环境反馈done=True,即任务结束;
最后,对任务环境进行了地图范围的限制,当水下航行器碰到地图边界时,给予一个较大的惩罚:
Figure BDA0002970611690000113
综合起来,奖励函数被设定为:
r=α1*rtrans2*rarea3*rtime+rmap (4)
其中α1、α2、α3用于协调为各奖励分量所占的权重。
1-3、定义状态空间S
状态空间S的具体组成。在本实施例中,状态空间由水下航行器对环境的几个观察分量构成,状态空间可相应定义为S={obs1,obs2,..,obsn},n为观察分量的数量,水下航行器对任务环境的观察量的各分量被设定为:每个时刻水下航行器与水面的距离;水下航行器重心所在水平面内投影点到所在到上浮成功区域中心在该水平面投影点的距离、水下航行器的艏向角与俯仰角、水下航行器艉部推进器输出力的大小、水下航行器艉部水平舵舵角与垂直舵舵角的大小,以及水下航行器上的四个声呐对周围障碍物的测距反馈。另外,各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure BDA0002970611690000121
通过最大最小值归一化处理将水下航行器对环境的观察值放缩到[0,1]的范围内,以防止不同指数量级的数值对后续神经网络梯度反向传播的影响。
1-4、定义动作空间
动作空间A的定义。本实施例子中设定水下航行器的三个执行机构为艉部推进器、艉部水平舵以及艉部垂直舵,通过控制推进器输出力的大小、两组舵面的偏转角度来对水下航行器的运动进行控制,因此定义动作空间为A={F,Dθ,Dψ},其中,F为推进器输出力的大小,Dθ,Dψ为水平舵以及垂直舵的偏转角度。
2、进行上浮策略训练,具体步骤如下:
(1)、网络参数初始化阶段:
(1-1)、设定神经网络包括评估网络和目标网络,评估网络中包括演员网络和评论家网络1、评论家网络2,目标网络中包括演员网络和评论家网络1、评论家网络2;随机初始化各网络参数:
评估演员网络参数θπ、目标演员网络参数θπ′;评估评论家网络1参数
Figure BDA0002970611690000122
目标评论家网络1参数
Figure BDA0002970611690000123
评估评论家网络2参数
Figure BDA0002970611690000124
目标评论家网络2参数
Figure BDA0002970611690000125
评估演员网络的输出值为π(s|θπ),目标演员网络的输出为π′(s|θπ′),评估评论家网络1输出为
Figure BDA0002970611690000126
目标评论家网络1的输出为
Figure BDA0002970611690000127
评估评论家网络2输出为
Figure BDA0002970611690000128
目标评论家网络2的输出为
Figure BDA0002970611690000129
演员网络及评论家网络的网络结构如图5所示,均包括输入层、隐藏层、输出层,其隐藏层均为128个神经元,其中所有网络的输入层、隐藏层的激活函数使用relu函数,输出层使用了tanh函数。
(1-2)、初始化训练过程相关超参数:目标网络软替代更新频率参数τ=5*10-3;交互经验回放缓存空间尺寸M=104;专家经验回放缓存空间尺寸D=103;每个时间步从M与D两个经验回放缓存空间采样得到的转移过程总数为batch=128,奖励折损率γ=0.99。
(2)、预训练阶段:
(2-1)、将10条控制水下航行器中成功、快速地上浮到目标区域的episode作为专家数据加载到专家经验回放缓存空间中永久存储(在下一阶段的智能体正式训练过程中,水下航行器与任务环境实际交互产生的转移过程存放到交互经验缓存M中,会随着更多交互数据的采集而被更替)。其中,各episode中单步转移过程以(st-1,at,rt,st,done)的形式存储;其中st-1为上一时刻状态、at为当前时刻采取的动作、rt为当前时刻获得的奖励值、st为当前时刻状态、done为当时刻是否触发任务终止条件的标志位。
(2-2)、经验回放缓存中的单步转移过程(无论来自专家数据还是来自后续与任务环境的实际交互)在接下来训练中被采样的概率正比于其优先级pi。每个时间步,根据此权重随机地从专家数据库和交换经验回放缓存采集转移过程用于网络的更新。被采样的概率计算方式为:
Figure BDA0002970611690000131
其中,ρ为调节优先级影响大小的指数因子,所举例的仿真中设置此值为0.3,这样设置原因是经过大量实验效果较好;k为经验回放缓存中已有的转移过程的数目;而pi的计算方式为:
Figure BDA0002970611690000132
其中,λ3为调节贡献度的权重值,仿真中设置为1.0;Q(si,aiQ)为评估评论家网络对某第i个状态-动作对的输出值;
Figure BDA0002970611690000133
为对a求取梯度;δi为此时刻的单步转移过程与上一时刻单步转移过程的时序误差值:
δi=r+γmaxa′Q(s′,a′|θQ′)-Q(s,a|θ′) (8)
∈为一个较小的正常数,增加来自示范数据的转移过程被采样的概率,以确保采样过程具有一定随机性,举例的仿真实验中设置此值为0.1。
r为前文的奖励函数值;γ为奖励折损因子,举例的仿真中设置该值为0.99;Q(s′,a′|θQ′)为目标评论家网络根据下一时刻状态-动作对(s′,a′)的输出值;Q(s,a|θ′)为目标评论家网络根据当前时刻状态-动作对(s,a)的输出值;maxa′为取最大值数学符号,符号中有a′为该Q值最大即意味着动作值a的价值最大;本发明中,评论家网络均有两个,以“评估xx网络”与“目标xx网络”的命名方式为强化学习学界较为通用的命名方式,本案中使用了两个评论家网络,此处是泛指,对两个评论家网络均适用。
(2-3)、开始预训练:在这个阶段网络只使用专家经验回放缓存中存储的转移过程进行网络的更新,并不与任务环境进行交互,预训练的步数npre=1000。
评估评论家的两个网络及评估演员网络的损失函数被设计为:
Figure BDA0002970611690000141
Figure BDA0002970611690000142
Figure BDA0002970611690000143
为经由两个评论家网络计算得到的单步转移过程(即时间步t-1到时间步t的转移)loss函数,
Figure BDA0002970611690000144
为梯度算子,即对评估演员网络的网络参数求取梯度,式(9)中计算评论家网络的第一项L1Q)为单步转移过程(相邻两个时间步之间的转移过程)的损失函数,其具体的计算方式为:
Figure BDA0002970611690000145
Figure BDA0002970611690000146
Figure BDA0002970611690000147
式(12)、(13)中表明了本发明中双评论家网络的运算方式,所构建的两组评论家网络彼此网络参数不共享,且更新方式也彼此独立,其中,r为前文的奖励函数值;γ为奖励折损因子,本实施例中设置该值为0.99,
Figure BDA0002970611690000148
代表1号目标评论家网络根据目标演员网络的输出而做出的输出,
Figure BDA0002970611690000149
代表2号目标评论家网络根据目标演员网络的输出而做出的输出,π′(s′|θπ′)即为目标演员网络根据下一时刻状态s′做出的输出;
Figure BDA00029706116900001410
分别为1、2号评估评论家网络根据智能体在当前时刻状态-动作对(s,a)的输出;而在获取演员网络所需的Q(s,a)值时,通过取两评论家网络输出值中的最小值作为用于式(10)中J(θπ)的Q值,从而实现降低对Q值的过高估计;
另外,式(10)中也包含了多步转移过程(即同一个episode中不相邻的时间步之间的转移过程)之间的信息LnQ);计算n步转移过程
Figure BDA00029706116900001411
(本实施例举例仿真中的n=3)损失函数的计算方式为:
Figure BDA00029706116900001412
λ1、λ2为调节单步、n步转移过程影响损失函数的比重,
Figure BDA00029706116900001413
为对评估演员网络输出取梯度运算,并与两个评估评论家网络输出的最小值做乘积,其中Q(s′n-1,π′(s′|θπ′)|θQ′)及Q(s,π(s)|θQ)的计算如(12)(13)所示;损失函数中的
Figure BDA00029706116900001414
Figure BDA00029706116900001415
为网络的L2正则化项,用以防止神经网络在梯度反向传播中的过拟合现象。
最后,每个时间步对所有目标网络采取软更新,其计算方式为:
θπ′=τθπ′+(1-τ)θπ′ (15)
Figure BDA0002970611690000151
其中,θπ′为目标演员网络参数,
Figure BDA0002970611690000152
为目标评论家网络参数,τ为软更新因子,仿真实验中设置为5*10-3
评估评论家网络及评估演员网络使用式(9)、(10)中设计的loss函数进行网络参数更新。对目标演员网络、目标评论家网络的更新方式为采用式(15)、(16)中的软更新方式。
本实施例如式(12)、(13)中所表明的双评论家网络的运算方式,两个评估评论家网络独立运作,我们根据两个网络输出值的最小值,来得到评估演员网络更新所需的loss函数式(10)。
(3)正式训练阶段:
(3-1)、预训练完成后,本发明提出的算法开始实际控制水下航行器与仿真任务环境交互。为了防止算法过拟合,且使水下航行器智能体尽量对状态空间进行探索,每次训练过程的开始时,水下航行器起点被设置为水面2米以下、远离上浮成功区域的任意一点,并且水下航行器的初始艏向角必也是随机的。
(3-2)、水下航行器将观测得到的状态空间S的一条向量输入到评估演员网络,并根据网络的输出及噪声得到动作at=π(st-1,θπ)+nt,其中nt为加入的高斯噪声。at即为水下航行器推进器输出力的大小及艉部垂直舵角、水平舵舵角的角度值。仿真任务环境根据水下航行器此时的实际状态反馈给水下航行器单步奖励值rt。算法将与任务环境交互产生的单步转移过程(st-1,at,rt,st)存放在交互经验回放缓存M中。
(3-3)、每个时间步后,按照公式(6)计算得到的采样概率随机从水下航行器交互经验回放缓存M与专家经验回放缓存D中采样,并将得到的batch条混合数据,依照与步骤(2-3)的方式进行各网络的参数更新。
(3-4)、通过以上(3-2)、(3-3)的不断迭代训练,直至达到预设的仿真步数。本实施例中设定总仿真步数为2*105步。通过查看每个episode的奖励收敛情况及水下航行器完成环境任务的成功次数判断算法的控制性能。
由图7-1至图7-3可知随着智能体训练,水下航行器的上浮轨迹越来越规则,体现出所做的无用动作越来越少,行动效率越来越高。由图8可知,智能体存在一定探索率,导致曲线有波动,但是均完成了目标区域上浮任务。
以上所述仅是对本发明的较佳实施方式而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施方式所做的任何简单修改,等同变化与修饰,均属于本发明技术方案的范围内。

Claims (10)

1.一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,包括步骤如下:
1、定义任务环境及模型
1-1、构建水下航行器所在的目标区域任务环境及水下航行器动力学模型;
任务环境包括固定在地理原点的E-ξηζ坐标系、设置了三维地图尺寸的三维区域、上浮成功区域;
水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;
通过在仿真中基于牛顿-欧拉运动方程推导,对水下航行器进行六自由度的动力学建模,包括,在E-ξηζ坐标系下对水下航行器坐标{ξ,η,ζ}及姿态角
Figure FDA0002970611680000011
进行描述,使用固定在水下航行器上随水下航行器运动的、以其重心为原点O的O-xyz坐标系,描述水下航行器的线速度{u,v,w}及角速度{p,q,r};其中,ζ,η,ζ为固定坐标系E-ξηζ下的三维坐标值;ψ,
Figure FDA0002970611680000012
θ为固定坐标系E-ξηζ绕三个坐标轴旋转的姿态角角度:艏向角ψ、横滚角
Figure FDA0002970611680000013
以及俯仰角θ,u,v,w为水下航行器AUV在O-xyz坐标系下沿三个坐标轴运动的线速度值,p,q,r为O-xyz坐标系下绕三个坐标轴旋转的角速度;根据构建好的水下航行器动力学模型,已知t时刻水下航行器的运动状态,由水下航行器艉部推进器输出力的大小及艉部水平舵、艉部垂直舵的舵角偏转值,经四阶龙格库塔法解算微分方程得到t+1时刻的运动状态;
1-2、定义奖励函数
对水下航行器智能体构建如下奖励分量:
首先,根据水下航行器上浮行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到水面的距离的减小值;并且将该值限定在[-2,2]的范围内,具体如式(1):
rtrans=clip[(dold-dnew),-2,2] (1)
其中,dold表示水下航行器上一时刻水下航行器与水面的距离,dnew表示水下航行器当前时刻水下航行器与水面的距离,rtrans为转移奖励函数;
其次,根据水下航行器要到达目标区域进行奖励,设定该奖励分量根据水下航行器重心在任意时刻所在水平面内的投影点到所在到指定区域中心在该水平面的投影点的距离设定;并且将该值限定在[-2,2]的范围内,具体如式(2):
Figure FDA0002970611680000014
其中,β为上浮成功区域半径的γ次方,rarea表示上浮至指定区域的奖励函数分量,
Figure FDA0002970611680000015
表示某时刻距离指定区域中心的距离的γ次方;
第三,设置时间惩罚项为:rtime=1.5,且当一个episode所使用的仿真步长超出500个时,任务环境反馈done=True,即任务结束;
最后,对任务环境进行了地图范围的限制,当水下航行器碰到地图边界时,给予一个较大的惩罚:
Figure FDA0002970611680000021
综合起来,奖励函数被设定为:
r=α1*rtrans2*rarea3*rtime+rmap (4)
其中α1、α2、α3用于协调为各奖励分量所占的权重;
1-3、定义状态空间S
在本发明所构建的水下航行器仿真环境中,状态空间由水下航行器对环境的几个观察分量构成,即状态空间可相应定义为S={obs1,obs2,...,obsn},n为观察分量的数量,其中包括:每个时刻水下航行器与水面的距离、水下航行器重心所在水平面内投影点到所在到上浮成功区域中心在该水平面投影点的距离、水下航行器的艏向角与俯仰角、水下航行器艉部推进器输出力的大小、水下航行器艉部水平舵舵角与垂直舵舵角的大小,以及水下航行器上的四个声呐对周围障碍物的探测反馈;
1-4、定义动作空间
水下航行器的三个执行机构分别为艉部推进器、艉部水平舵以及艉部垂直舵;本发明所提出的控制算法通过建立从水下航行器的各观察量到控制推进器输出力的大小、两组舵面的偏转角度的非线性映射,定义动作空间为A={F,Dθ,Dψ}其中,F为推进器输出力的大小,Dθ,Dψ为水平舵以及垂直舵的偏转角度;
2、上浮控制算法训练
(1)、网络参数初始化阶段:
(1-1)、设定神经网络包括评估网络和目标网络,评估网络中包括演员网络和评论家网络1、评论家网络2,目标网络中包括演员网络和评论家网络1、评论家网络2;随机初始化各网络参数:
评估演员网络参数θπ、目标演员网络参数θπ′;评估评论家网络1参数
Figure FDA0002970611680000022
目标评论家网络1参数
Figure FDA0002970611680000031
评估评论家网络2参数
Figure FDA0002970611680000032
目标评论家网络2参数
Figure FDA0002970611680000033
评估演员网络的输出值为π(s|θπ),目标演员网络的输出为π′(s|θπ′),评估评论家网络1输出为
Figure FDA0002970611680000034
目标评论家网络1的输出为
Figure FDA0002970611680000035
评估评论家网络2输出为
Figure FDA0002970611680000036
目标评论家网络2的输出为
Figure FDA0002970611680000037
(1-2)、初始化训练过程相关超参数:目标网络软替代更新频率参数τ;交互经验缓存空间尺寸M;专家经验缓存空间尺寸D;每个时间步从M与D两个经验回放缓存空间采样得到的转移过程总数为batch,奖励折损率γ;
(2)预训练阶段:
(2-1)、将若干条控制水下航行器成功上浮到目标区域的episode作为专家数据加载到专家经验回放缓存空间中永久存储;其中,各episode中单步转移过程以(st-1,at,rt,st,done)的形式存储;其中st-1为上一时刻状态、at为当前时刻采取的动作、rt为当前时刻获得的奖励值、st为当前时刻状态、done为当时刻是否触发任务终止条件的标志位;
(2-2)、经验回放缓存中的单步转移过程在网络学习过程中被采样的概率正比于其优先级pi,被采样的概率计算方式为:
Figure FDA0002970611680000038
其中,ρ为调节优先级影响大小的指数因子;k为经验回放缓存中已有的转移过程的数目;而pi的计算方式为:
Figure FDA0002970611680000039
其中,λ3为调节贡献度的权重值;Q(si,aiQ)为评估评论家网络对某第i个状态-动作对的输出值;
Figure FDA00029706116800000310
为对a求取梯度;δi为此时刻的单步转移过程与上一时刻单步转移过程的时序误差值:
δi=r+γmaxa′Q(s′,a′|θQ′)-Q(s,a|θ′) (8)
∈为一个正常数,r为前文的奖励函数值;γ为奖励折损因子;Q(s′,a′|θQ′)为目标评论家网络根据下一时刻状态-动作对(s′,a′)的输出值;Q(s,a|θ′)为目标评论家网络根据当前时刻状态-动作对(s,a)的输出值;
(2-3)、开始预训练:在这个阶段网络只使用专家经验回放缓存中存储的转移过程进行网络的更新,并不与任务环境进行交互,设定预训练的步数npre;在学习过程中,评估评论家的两个网络及评估演员网络的损失函数被设计为:
Figure FDA0002970611680000041
Figure FDA0002970611680000042
Figure FDA0002970611680000043
为经由两个评论家网络计算得到的单步转移过程loss函数,
Figure FDA0002970611680000044
为梯度算子,即对评估演员网络的网络参数求取梯度,式(9)中计算评论家网络的第一项L1Q)为单步转移过程的损失函数,其具体的计算方式为:
Figure FDA0002970611680000045
Figure FDA0002970611680000046
Figure FDA0002970611680000047
式(12)、(13)中表明了本发明中双评论家网络的运算方式,所构建的两组评论家网络彼此网络参数不共享,且更新方式也彼此独立,其中,r为前文的奖励函数值;γ为奖励折损因子,
Figure FDA0002970611680000048
代表1号目标评论家网络根据目标演员网络的输出而做出的输出,
Figure FDA0002970611680000049
代表2号目标评论家网络根据目标演员网络的输出而做出的输出,π′(s′|θπ′)即为目标演员网络根据下一时刻状态s′做出的输出;
Figure FDA00029706116800000410
分别为1、2号评估评论家网络根据智能体在当前时刻状态-动作对(s,a)的输出;而在获取演员网络所需的Q(s,a)值时,通过取两评论家网络输出值中的最小值作为用于式(10)中J(θπ)的Q值;
另外,式(10)中也包含了多步转移过程之间的信息LnQ);计算n步转移过程
Figure FDA00029706116800000411
损失函数的计算方式为:
Figure FDA00029706116800000412
λ1、λ2为调节单步、n步转移过程影响损失函数的比重,
Figure FDA00029706116800000413
为对评估演员网络输出取梯度运算,并与两个评估评论家网络输出的最小值做乘积,其中Q(s′n-1,π′(s′|θπ′)|θQ′)及Q(s,π(s)|θQ)的计算如(12)(13)所示;损失函数中的
Figure FDA00029706116800000414
Figure FDA00029706116800000415
为网络的L2正则化项;
最后,每个时间步对所有目标网络采取软更新,其计算方式为:
θπ′=τθπ′+(1-τ)θπ′ (15)
Figure FDA00029706116800000416
其中,θπ′为目标演员网络参数,
Figure FDA0002970611680000051
为目标评论家网络参数,τ为软更新因子;
(3)正式训练阶段:
(3-1)、预训练完成后,开始实际控制水下航行器与仿真任务环境交互;每次训练过程的开始时,水下航行器起点被设置为上浮成功区域以下、远离上浮成功区域的任意一点,并且水下航行器的初始艏向角ψ也是随机的;
(3-2)、水下航行器将当前通过观测得到的状态空间S的一条向量加载到评估演员网络,得到网络的输出后与动作选择噪声叠加后得到选择的动作at=π(st-1,θπ)+nt,其中nt为加入的高斯噪声,at即为水下航行器推进器输出力的大小及艉部垂直舵角、水平舵舵角的角度值;仿真任务环境根据水下航行器此时的实际状态反馈给水下航行器单步奖励值rt;算法将与任务环境交互产生的单步转移过程(st-1,at,rt,st)存放在交互经验回放缓存M中;
(3-3)、每个时间步后,按照公式(6)计算得到的采样概率随机从水下航行器交互经验回放缓存M与专家经验回放缓存D中采样,并将得到的batch条混合数据,依照与步骤(2-3)的方式进行各网络的参数更新;
(3-4)、通过(3-2)、(3-3)不断迭代训练,直至达到预设的仿真步数;通过查看每个episode的奖励收敛情况及水下航行器完成环境任务的成功次数判断算法的控制性能。
2.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,四阶龙格库塔法解算微分方程示例说明如下:
h=0.1s%定义的时间微分
k1=f(u);%u为水下航行器的当前时刻状态向量,f(u)为水下航行器的动力学方程
k2=f(u+0.5*h*k1);
k3=f(u+0.5*h*k2);
k4=f(u+h*k3);
其中,k1,k2,k3,k4表示的是输出变量的一阶倒数,即在一点处的微分,斜率;
u=u+(h/6)*(k1+2*k2+2*k3+k4);%得到新一时刻的系统状态向量。
3.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤1-2中,设定β=3.5、γ=0.3。
4.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤1-3中,各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure FDA0002970611680000061
5.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(1-1)中,演员网络及评论家网络均包括输入层、隐藏层、输出层,其隐藏层均为128个神经元,其中所有网络的输入层、隐藏层的激活函数使用relu函数,输出层使用了tanh函数。
6.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(1-2)中,初始化训练过程相关超参数:目标网络软替代更新频率参数τ=5*10-3;交互经验回放缓存空间尺寸M=104;专家经验回放缓存空间尺寸D=103;每个时间步从M与D两个经验回放缓存空间采样得到的转移过程总数为batch=128,奖励折损率γ=0.99。
7.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(2-1)中,将10条控制水下航行器成功上浮到目标区域的episode作为专家数据加载到专家经验回放缓存空间中永久存储。
8.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(2-2)中,ρ为0.3,λ3为1.0;∈为0.1,γ为0.99。
9.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(2-3)中,预训练的步数npre=1000;τ为5*10-3
10.根据权利要求1所述的基于双评论家强化学习技术的水下航行器目标区域上浮控制方法,其特征在于,步骤2的步骤(3-4)中,设定总仿真步数为2*105步。
CN202110262597.7A 2021-03-11 2021-03-11 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法 Active CN113033119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110262597.7A CN113033119B (zh) 2021-03-11 2021-03-11 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110262597.7A CN113033119B (zh) 2021-03-11 2021-03-11 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法

Publications (2)

Publication Number Publication Date
CN113033119A true CN113033119A (zh) 2021-06-25
CN113033119B CN113033119B (zh) 2022-03-25

Family

ID=76469397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110262597.7A Active CN113033119B (zh) 2021-03-11 2021-03-11 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法

Country Status (1)

Country Link
CN (1) CN113033119B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113524186A (zh) * 2021-07-19 2021-10-22 山东大学 基于演示示例的深度强化学习双臂机器人控制方法及系统
CN113655778A (zh) * 2021-08-16 2021-11-16 江苏科技大学 一种基于时频能量的水下推进器故障诊断系统及诊断方法
CN113843802A (zh) * 2021-10-18 2021-12-28 南京理工大学 一种基于深度强化学习td3算法的机械臂运动控制方法
CN114741886A (zh) * 2022-04-18 2022-07-12 中国人民解放军军事科学院战略评估咨询中心 一种基于贡献度评价的无人机集群多任务训练方法及系统
CN114770523A (zh) * 2022-05-31 2022-07-22 苏州大学 一种基于离线环境交互的机器人控制方法
CN114967713A (zh) * 2022-07-28 2022-08-30 山东大学 基于强化学习的水下航行器浮力离散变化下的控制方法
CN115809609A (zh) * 2023-02-06 2023-03-17 吉林大学 一种多水下自主航行器目标搜索方法及其系统
WO2023126939A1 (en) * 2021-12-30 2023-07-06 Elta Systems Ltd. Autonomous ascent of an underwater vehicle
CN116405111A (zh) * 2023-06-09 2023-07-07 山东科技大学 一种基于深度强化学习的海上无人机辅助光数据收集方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150346726A1 (en) * 2014-06-02 2015-12-03 California Institute Of Technology Controllable buoys and networked buoy systems
CN105346695A (zh) * 2015-11-20 2016-02-24 浙江大学 一种四旋翼微型水下航行器
CN109733415A (zh) * 2019-01-08 2019-05-10 同济大学 一种基于深度强化学习的拟人化自动驾驶跟驰模型
CN111352419A (zh) * 2020-02-25 2020-06-30 山东大学 基于时序差分更新经验回放缓存的路径规划方法及系统
CN112241176A (zh) * 2020-10-16 2021-01-19 哈尔滨工程大学 一种水下自主航行器在大尺度连续性障碍物环境中路径规划避障控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150346726A1 (en) * 2014-06-02 2015-12-03 California Institute Of Technology Controllable buoys and networked buoy systems
CN105346695A (zh) * 2015-11-20 2016-02-24 浙江大学 一种四旋翼微型水下航行器
CN109733415A (zh) * 2019-01-08 2019-05-10 同济大学 一种基于深度强化学习的拟人化自动驾驶跟驰模型
CN111352419A (zh) * 2020-02-25 2020-06-30 山东大学 基于时序差分更新经验回放缓存的路径规划方法及系统
CN112241176A (zh) * 2020-10-16 2021-01-19 哈尔滨工程大学 一种水下自主航行器在大尺度连续性障碍物环境中路径规划避障控制方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113524186A (zh) * 2021-07-19 2021-10-22 山东大学 基于演示示例的深度强化学习双臂机器人控制方法及系统
CN113524186B (zh) * 2021-07-19 2023-11-03 山东大学 基于演示示例的深度强化学习双臂机器人控制方法及系统
CN113655778A (zh) * 2021-08-16 2021-11-16 江苏科技大学 一种基于时频能量的水下推进器故障诊断系统及诊断方法
CN113655778B (zh) * 2021-08-16 2024-03-26 江苏科技大学 一种基于时频能量的水下推进器故障诊断系统及诊断方法
CN113843802A (zh) * 2021-10-18 2021-12-28 南京理工大学 一种基于深度强化学习td3算法的机械臂运动控制方法
CN113843802B (zh) * 2021-10-18 2023-09-05 南京理工大学 一种基于深度强化学习td3算法的机械臂运动控制方法
WO2023126939A1 (en) * 2021-12-30 2023-07-06 Elta Systems Ltd. Autonomous ascent of an underwater vehicle
CN114741886A (zh) * 2022-04-18 2022-07-12 中国人民解放军军事科学院战略评估咨询中心 一种基于贡献度评价的无人机集群多任务训练方法及系统
CN114741886B (zh) * 2022-04-18 2022-11-22 中国人民解放军军事科学院战略评估咨询中心 一种基于贡献度评价的无人机集群多任务训练方法及系统
CN114770523A (zh) * 2022-05-31 2022-07-22 苏州大学 一种基于离线环境交互的机器人控制方法
CN114770523B (zh) * 2022-05-31 2023-09-15 苏州大学 一种基于离线环境交互的机器人控制方法
CN114967713B (zh) * 2022-07-28 2022-11-29 山东大学 基于强化学习的水下航行器浮力离散变化下的控制方法
CN114967713A (zh) * 2022-07-28 2022-08-30 山东大学 基于强化学习的水下航行器浮力离散变化下的控制方法
CN115809609A (zh) * 2023-02-06 2023-03-17 吉林大学 一种多水下自主航行器目标搜索方法及其系统
CN116405111A (zh) * 2023-06-09 2023-07-07 山东科技大学 一种基于深度强化学习的海上无人机辅助光数据收集方法
CN116405111B (zh) * 2023-06-09 2023-08-15 山东科技大学 一种基于深度强化学习的海上无人机辅助光数据收集方法

Also Published As

Publication number Publication date
CN113033119B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN113033119B (zh) 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法
CN108803321B (zh) 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
US11914376B2 (en) USV formation path-following method based on deep reinforcement learning
CN114625151B (zh) 一种基于强化学习的水下机器人避障路径规划方法
CN113033118B (zh) 一种基于示范数据强化学习技术的水下航行器自主上浮控制方法
CN109740741B (zh) 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法
CN109407682B (zh) 基于图像特征深度强化学习的auv管道循管方法
Zhang et al. AUV path tracking with real-time obstacle avoidance via reinforcement learning under adaptive constraints
CN108983605B (zh) 一种基于深度强化学习进行流体导向的刚体控制的方法
JP2007317165A (ja) 自律移動ロボットの動作計画方法、自律移動ロボットの動作計画方法を利用した自律移動ロボットの制御方法、自律移動ロボットの動作計画装置、自律移動ロボットの動作計画プログラム及びその記録媒体、自律移動ロボットの制御プログラム
CN110906935A (zh) 一种无人艇路径规划方法
CN114721409B (zh) 一种基于强化学习的水下航行器对接控制方法
Zhang et al. Intelligent vector field histogram based collision avoidance method for auv
CN113064422B (zh) 基于双神经网络强化学习的自主水下航行器路径规划方法
Huang et al. 3D search path planning for the blended-wing-body underwater glider
CN113419424A (zh) 减少过估计的模型化强化学习机器人控制方法及系统
CN114609925B (zh) 水下探索策略模型的训练方法及仿生机器鱼水下探索方法
CN113050420B (zh) 基于s面控制和td3的auv路径跟踪方法及系统
CN115826621B (zh) 一种基于深度强化学习的无人机运动规划方法及系统
CN112947421B (zh) 一种基于强化学习的auv自主避障方法
Chong et al. Heuristic dynamic path planning algorithm based on SALSTM-DDPG
US20240189994A1 (en) Real-world robot control using transformer neural networks
Liu et al. High-Level Path Planning of Unmanned Sailboat for Sailing Championship and Innovative Education
CN118034331A (zh) 基于状态记忆强化学习的无人机自主导航决策方法
CN116909150A (zh) 一种基于ppo算法的auv智能控制系统及控制方法与应用

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant