CN107748566B - 一种基于强化学习的水下自主机器人固定深度控制方法 - Google Patents

一种基于强化学习的水下自主机器人固定深度控制方法 Download PDF

Info

Publication number
CN107748566B
CN107748566B CN201710850098.3A CN201710850098A CN107748566B CN 107748566 B CN107748566 B CN 107748566B CN 201710850098 A CN201710850098 A CN 201710850098A CN 107748566 B CN107748566 B CN 107748566B
Authority
CN
China
Prior art keywords
auv
network
control
variable
depth
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.)
Active
Application number
CN201710850098.3A
Other languages
English (en)
Other versions
CN107748566A (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.)
Tsinghua University
Original Assignee
Tsinghua 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 Tsinghua University filed Critical Tsinghua University
Priority to CN201710850098.3A priority Critical patent/CN107748566B/zh
Publication of CN107748566A publication Critical patent/CN107748566A/zh
Application granted granted Critical
Publication of CN107748566B publication Critical patent/CN107748566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/04Control of altitude or depth
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明提出一种基于强化学习的水下自主机器人固定深度控制方法,属于水下机器人控制领域。本发明首先构建水下自主机器人固定深度控制的马尔科夫决策过程模型,分别得到水下自主机器人固定深度控制的状态变量,控制变量,转移模型,一步损失函数的表达式;分别建立决策网络和评价网络;通过强化学习,使得水下自主机器人在固定深度控制训练中每前进一步不断更新决策网络和评价网络,直至收敛;得到用于固定深度控制的最终决策网络。本发明在水下自主机器人动力学模型完全未知的情况下实现对水下自主机器人的固定深度控制,有很高的实用价值。

Description

一种基于强化学习的水下自主机器人固定深度控制方法
技术领域
本发明属于水下机器人控制领域,具体涉及一种基于强化学习的水下自主机器人(AUV)固定深度控制方法。
背景技术
随着科技的发展以及陆地资源的逐渐匮乏,对海洋勘探研究的需求日益增长。水下自主机器人(AUV)作为一种自主控制的智能机器人,具有灵活、安全可靠、回收便利等优点,广泛应用于多种海洋勘探场景,比如海底测绘、羽状流追踪、矿产资源勘探等等。因此,AUV的控制问题在控制领域引起了越来越多学者们的兴趣与重视,相关的技术与研究在近几年也取得了很多进展与突破。
传统的AUV控制策略研究主要集中在基于AUV模型的控制器设计,这里AUV模型表示由AUV的动力学与运动学方程所构成的模型。这些研究通常假定AUV的运动服从一系列的运动学与动力学物理方程,方程中的物理学参数通过大量的水下实验测定,在AUV模型已知的条件下设计精准的控制策略。T.Prestero基于“REMUS”型号AUV建立了一套六自由度的运动学与动力学方程,在假定AUV倾斜角度很小的情形下,将模型线性化并设计了一个比例-积分-微分控制器来控制AUV的深度。这种倾角假设有很大的局限性,因此H.Pan和M.Xing在相同的AUV模型下提出一种间接鲁棒控制策略,该策略将原始的鲁棒控制问题转化为一个等价的最优控制问题,并采用Emerging θ-D方法求解。不同于以上的六自由度模型,J.E.Refsnes等人设计一个三自由度的流场动力学模型和一个五自由度的AUV模型,通过结合流场动力学模型更精细地刻画了海底流场对AUV的影响,并提出了一种输出反馈控制器控制AUV跟踪目标方向与倾角。
但是以上各种基于AUV模型的方法有明显的缺陷与不足,尤其是在AUV模型很难精确获得的情况下,通过一个不精准的AUV模型推导出的控制策略,其实际的应用效果可能很难达到预期的要求。而AUV控制面临复杂的海底环境,来自环境的不确定因素导致AUV模型变得更加复杂。因此,无模型的控制方法在AUV控制问题上具有很大的应用前景。
基于强化学习(Reinforcement Learning,RL)的控制方法在近几年成为无模型控制领域的主流研究方向。强化学习最早由Sutton等人提出用于解决计算机领域的人工智能AI问题,之后Frank L.Lewis等人将其引入反馈控制领域。在AUV控制问题上,基于强化学习的控制策略有着不错的应用案例。R.Cui等人结合神经网络设计了一个基于动作-评价的强化学习框架,在AUV模型部分可知的条件下学习出一种最优策略,解决了AUV轨迹跟踪的控制问题。L.Zhang等人结合视线导航准则设计了一种新的损失函数,并将AUV模型简化为一阶Nomoto模型,采用动作-评价的框架解决了AUV路径点追踪的控制问题。
然而,目前出现的基于强化学习的AUV控制方法都是在假设AUV模型部分可知的条件,或者对AUV模型做了很大的简化下实现的,而对于复杂非线性的完全未知模型,并没有很好的应用案例。另外,对于AUV的深度控制,也并没有强化学习控制方法的相关成果。
近几年来,强化学习领域取得了突破性的进展,尤其以Google的DeepMind的团队在该领域的成果最为显著,比如将强化学习与深度学习相结合的方式,设计了Alpha-Go围棋程序,在人机大战中首次击败了人类玩家。
另外,DeepMind在2014年提出了一种确定性策略梯度(Deterministic PolicyGradient,DPG)方法,该方法假定一个确定性的策略函数,并沿着最大化长期损失函数的梯度方向更新策略,从而解决了连续状态连续动作空间的马尔科夫决策问题。
但是,目前这些突破性进展并没有应用在AUV的强化学习控制方法上。
发明内容
本发明的目的是为了克服已有技术的不足之处,提出一种基于强化学习的水下自主机器人固定深度控制方法。本发明首次将确定性策略梯度方法应用到AUV的固定深度控制方法中,并针对AUV控制问题结合设计合适结构的人工神经网络。本发明不需要对AUV模型进行简化或者假设局部可知,而是在模型完全未知的情况,通过采样数据自主学习出最优控制策略,驱动AUV到达并维持在指定的目标深度。
本发明提出的一种基于强化学习的水下自主机器人固定深度控制方法,其特征在于,包括以下步骤:
1)构建水下自主机器人AUV固定深度控制的马尔科夫决策过程模型;
马尔科夫决策过程模型包括四个组成部分:状态变量,控制变量,转移模型,一步损失函数;具体步骤如下:
1-1)确定状态变量;
令z表示AUV在惯性坐标系下的深度,
Figure GDA0002270734290000021
表示惯性坐标系下AUV前进方向与X轴夹角,w表示AUV在自身坐标系下纵向的速度,q表示AUV在自身坐标系下绕V轴转动的角速度
设AUV目标深度在惯性坐标系下为zr,则AUV所处深度与目标深度之间的相对深度为z-zr
则AUV状态变量表达式为:
Figure GDA0002270734290000031
1-2)确定控制变量;
控制变量表达式为u=[τ1,τ2]T;其中,τ1表示施加在AUV纵向上的推力,τ2表示驱使AUV绕y轴转动的扭矩;
1-3)确定转移模型;
转移模型为一个时间离散的黑箱函数,表达式如下:
xt+1=f(xt,ut,Δt)
其中Δt表示转移模型中存在的t时刻不确定性的扰动;该转移模型表示在给定当前t时刻状态变量与控制变量,返回下一时刻的状态变量;
1-4)确定一步损失函数;
一步损失函数用于评价在AUV在某个时刻状态下执行控制变量的效果,表达式如下:
Figure GDA0002270734290000032
其中,k表示第k个时刻,ρ1、ρ2、ρ3、ρ4、λ1、λ2分别表示各项的权重系数;
Figure GDA0002270734290000033
Figure GDA0002270734290000034
保证AUV到达指定深度的同时前进方向与x轴一致,
Figure GDA0002270734290000035
使AUV的纵向速度与转动角速度尽可能小,λ11,k1,k-1)222,k2,k-1)2防止控制变量出现震荡的现象;
1-5)确定目标函数;AUV固定深度控制目标为使得AUV到达并维持在指定的深度,即最小化期望累计损失函数,因此马尔科夫决策过程模型的目标函数表达式如下:
Figure GDA0002270734290000036
s.t.xk+1=f(xk,uk,Δk)k=1,...,∞
其中,uk≥1表示控制变量的输入序列{u1,u2,...},Δk≥1表示扰动序列{Δ1,Δ2,...},γ表示对未来损失的权重的折现因子,0<γ<1;
2)构建评价网络与策略网络;
2-1)构建评价网络;
评价网络的输入为状态变量,输出为控制变量,函数表达式如下:
u=μ(x)
2-2)构建策略网络;
策略网络的输入为状态变量和控制变量,输出为损失量,函数表达式如下:
Figure GDA0002270734290000041
该函数表示在给定初始状态变量与初始控制变量,按照控制变量μ进行控制取得的长期损失函数;
3)采用确定性策略梯度进行水下自主机器人固定深度控制;具体步骤如下:
3-1)参数设置;
令最大迭代次数为M=500,每次迭代的最大实验步数T=1000,经验回放抽取的训练集大小N=64,目标神经网络的追踪比率τ=0.9,评价网络与策略网络的学习率分别为αω=0.01和αθ=0.001,折现因子为γ=0.99;
3-2)对评价网络和策略网络分别初始化;
令ω和θ分别表示评价网络和策略网络的权重参数,则评价网络与策略网络的参数化表达式分别为Q(x,u|ω)和μ(x|θ),两个网络的权重参数初始值均为0;将初始化后的评价网络记为当前评价网络,初始化后的策略网络记为当前策略网络;
分别复制两个网络初始权重构造两个新的网络作为目标评价网络
Figure GDA0002270734290000042
和目标策略网络
Figure GDA0002270734290000043
构建经验队列集合R并初始化为空;
3-3)迭代开始,令初始化迭代次数为m=1;
3-4)初始化时刻为t=0;随机初始化AUV的状态变量记为x0=[w0,q0,z0-zr,cos(θ0),sin(θ0)]T,并令xt=x0
3-5)使用当前策略网络μ(x|θ)生成t时刻控制变量并添加探索噪声记为ut=μ(xt|θ)+Δut;输入控制量ut与状态xt,AUV通过步骤1-3)得到的转移模型返回下一时刻状态变量xt+1,利用一步损失函数计算该步转移的损失函数ct+1
3-6)将步骤3-4)至3-5)得到的数据记为一个经验样本et=(xt,ut,ct+1,xt+1),存入经验队列R,并计算该经验样本对应的优先级PRIt,表达式如下:
Figure GDA0002270734290000044
3-7)统计经验队列中的经验样本个数为NR并判定:若NR≤N,则转到步骤3-12);若NR>N,则进入步骤3-8);
3-8)从经验队列R中随机抽取N个经验样本e1,e2,...,eN,每个样本被抽到的概率与该样本对应的的优先级PRI成正比;
3-9)按照以下公式更新评价网络权重:
Figure GDA0002270734290000051
δi=yi-Q(xi,ui|ω)
Figure GDA0002270734290000052
i=1,2,3...,N
将更新后的评价网络记为新的当前评价网络;并重新计算每个被抽取的经验样本ei的优先级:
PRIi=|δi|
3-10)采用确定性策略梯度更新策略网络权重:
Figure GDA0002270734290000053
将更新后的的策略网络记为新的当前策略网络;
3-11)按照以下公式更新目标评价网络权重与目标策略网络权重:
Figure GDA0002270734290000054
Figure GDA0002270734290000055
更新完毕后,进入步骤3-12);
3-12)令t=t+1并对t进行判定:若t<T,则重新返回步骤3-5),AUV继续下一步的深度控制;否则,进入步骤3-13);
3-13)令m=m+1并对m进行判定:若m<M,则重新返回步骤3-4),AUV随机选择一个新的初始位置开始新一次的固定深度控制;否则迭代结束,将迭代终止时的当前策略网络μ(x|θ)作为最终的策略网络,记为μ*(x|θ);将状态变量输入μ*(x|θ),该网络输出相应的控制变量实现对AUV的固定深度控制。
本发明提出的一种基于强化学习的水下自主机器人固定深度控制方法,其特点及有益效果在于:
1)本发明在AUV模型未知的条件下实现对AUV的固定深度控制。确定性策略梯度方法通过AUV行驶轨迹的采样数据,通过自主学习出使得控制目标达到最优的评价网络与策略网络,该过程中不需要AUV模型的任何假设与参数,尤其适用于AUV面对复杂海底环境时,有很高的实际应用价值。
2)本发明方法的表达能力强。本发明的方法将确定性策略梯度理论与人工神经网络相结合,设计了两个神经网络——评价网络(Evaluation Network)和策略网络(PolicyNetwork),前者用于拟合强化学习中的值函数(Q Value Function),后者在给定状态生成相应的控制策略。由于神经网络强大的表达能力,因此在AUV模型比较复杂的情况也可以学习出理想的控制策略。
3)本发明个的方法的可拓展性强。本发明的方法并不只适用于AUV的固定深度控制问题,对于AUV控制的其他更加复杂的问题,本方法很容易进行拓展,只需要重新设定状态变量、控制输入以及损失函数,调节神经网络的结构和参数即可。
4)方法的收敛性稳定。为了提高方法迭代过程的收敛性,本发明采用了两种机制:优先度经验回放,目标网络。这两种机制的引入很好地解决了采用非线性神经网络作为近似器时出现的收敛性问题。
附图说明
图1为本发明方法的整体流程框图。
图2本发明中描述AUV运动的两个参考坐标系示意图。
图3为本发明实施例中评价网络结构示意图。
图4为本发明实施例中策略网络结构示意图。
图5为本发明实施例的REMUS型号AUV每次实验的长期累积损失随着训练迭代次数的变化曲线图。
图6为本发明实施例的REMUS型号AUV各个状态在本发明得到的策略网络控制下的变化曲线图。
图7为本发明实施例的REMUS型号AUV的控制输入序列示意图。
图8为本发明实施例的Minesniper MkII型号AUV每次实验的长期累积损失随着训练迭代次数的变化曲线图。
图9为本发明实施例的MinesniperMkII型号AUV各个状态在本发明得到的策略网络控制下的变化曲线图。
图10为本发明实施例的Minesniper MkII型号AUV的控制输入序列示意图。
具体实施方式
本发明提出的一种基于强化学习的水下自主机器人固定深度控制方法,下面结合附图和具体实施例进一步详细说明如下。
本发明提出的一种基于强化学习的水下自主机器人固定深度控制方法,将确定性策略梯度方法应用到AUV的固定深度控制方法中,并针对AUV控制问题结合设计合适结构的人工神经网络。确定性策略梯度是一种处理连续动作空间的强化学习方法,它假定一个确定性的策略函数,并沿着最大化长期损失函数的梯度方向更新策略。本发明所关注的是AUV固定深度的控制问题,具体描述为如何设计控制策略驱动AUV到达并维持在指定的深度。首先,我们将该问题建模成一个马尔科夫决策过程,再由强化学习方法求解出最优策略。该方法整体流程如附图1所示,包括以下步骤:
1)构建水下自主机器人AUV固定深度控制问题的马尔科夫决策过程模型;
马尔科夫决策过程模型包括四个组成部分:状态变量,控制变量,转移模型,一步损失函数。以下将针对AUV固定深度的控制问题分别确定这四个部分,并在此基础上确定马尔科夫决策过程模型的目标函数;具体步骤如下:
1)确定状态变量
状态变量用于描述受控对象在控制过程中所处的状态,其选择对控制方法的
成功率有很大的影响。由于本发明关注AUV固定深度的控制问题,首先确定描述AUV深度变化需要的物理变量。
对AUV运动状态的描述通常同时采用两个参考系坐标:惯性坐标系——忽略地球自转等因素的地面参考系;AUV自身坐标系——以AUV轴向为坐标轴的参考系,具体参见附图2。图2描述AUV运动的两个参考坐标系,I-XYZ表示惯性坐标系,描述AUV的位置与方向;B-UVW表示AUV自身坐标系,其原点B通常选择AUV的重心或者浮力中心,用于描述AUV的速度与转动角速度。两个坐标系的变换采用旋转矩阵。由于本发明关注AUV的深度控制,只考虑在惯性坐标系中X-Z平面上AUV的运动,并且假定AUV的前进速度固定。因此涉及的物理变量包括:z表示AUV在惯性坐标系下的深度,
Figure GDA0002270734290000071
表示惯性坐标系下AUV前进方向与X轴夹角,w表示AUV在自身坐标系下纵向的速度(与前进方向垂直),q表示AUV在自身坐标系下绕V轴转动的角速度(
Figure GDA0002270734290000072
的变化率)。
在确定状态变量前,需要对上述物理变量做一些转化。首先,由于本问题要求控制AUV到达指定的深度,因此这里采用相对深度,设AUV目标深度在惯性坐标系下为zr,则AUV所处深度与目标深度之间的相对深度为z-zr,这样即使改变目标深度,通过本发明方法得到的策略同样有效;其次,由于角度变量为周期变量(0和2π表示相同的偏角),因此将
Figure GDA0002270734290000073
Figure GDA0002270734290000074
Figure GDA0002270734290000075
两个三角函数分量表示。
最终确定状态变量表达式为:
Figure GDA0002270734290000076
1-2)确定控制变量;
控制变量表达式为u=[τ1,τ2]T;其中,τ1表示施加在AUV纵向上的推力,τ2表示驱使AUV绕y轴转动的扭矩。这样选择适用于大部分的AUV模型,对于某个特定的AUV模型,其控制量也很容易转换为这里使用的控制变量。
1-3)确定转移模型;
由于本发明假定AUV模型为未知的情形,因此转移模型我们用一个时间离散的黑箱函数表示xt+1=f(xt,ut,Δt),其中Δt表示转移模型中存在的t时刻不确定性的扰动。该转移模型表示在给定当前t时刻状态与控制变量,返回下一时刻的状态。
1-4)确定一步损失函数;
一步损失函数用于评价在AUV在某个时刻状态下执行控制变量的效果,用c(xk,uk)表示;本发明设计如下的一步损失函数:
Figure GDA0002270734290000081
其中k表示第k个时刻,ρ1、ρ2、ρ3、ρ4、λ1、λ2分别表示各项的权重系数(各系数取值在[0,1]之间)。
Figure GDA0002270734290000082
保证AUV到达指定深度的同时前进方向与x轴一致,
Figure GDA0002270734290000083
使AUV的纵向速度与转动角速度尽可能小,λ11,k1,k-1)222,k2,k-1)2为了防止控制变量出现震荡的现象。
1-5)确定目标函数;
AUV固定深度控制问题的控制目标为使得AUV到达并维持在指定的深度,
即最小化期望累计损失函数,因此马尔科夫决策过程模型的目标函数表达式如下:
Figure GDA0002270734290000084
s.t.xk+1=f(xk,uk,Δk)k=1,...,∞
其中,uk≥1表示控制变量的输入序列{u1,u2,...},Δk≥1表示扰动序列{Δ1,Δ2,...},γ表示对未来损失的权重的折现因子(0<γ<1)。
目标函数用于数学化地表示控制目标,同时也是设计一步损失函数的依据。
2)构建评价网络与策略网络;
2-1)构建评价网络;
评价网络的输入为状态变量,输出为控制变量,确定性策略梯度理论假设评价网络的函数为一个确定性的函数形式;
函数表达式如下:
u=μ(x)
2-2)构建策略网络;
策略网络的输入为状态变量和控制变量,输出为损失量,函数表达式如下:
Figure GDA0002270734290000085
该函数表示在给定初始状态变量与初始控制变量,按照控制变量μ进行控制取得的长期损失函数;
本方法中这两个网络均采用前馈神经网络。
本实施例中评价网络的结构如图3所示:评价网络包含一层输入层、三层隐含层和一层输出层;每层隐含层的结点数根据经验设置,本实施例隐含层的结点数分别为(400,300,300),隐含层采用ReLu(Rectified Linear Unit)激活函数。这种激活函数相比于传统使用的sigmoid和tanh函数,能够有效地避免在大的输入激励下梯度消失的现象,因此更加适合层数大于2的神经网络;输出层包含一个结点,输出层激活函数采用线性激活函数。另外值得注意的是,评价网络的输入包括状态变量和控制变量,状态变量从输入层输入,但是控制变量在评价网络的第二层隐含层输入。
本实施例中策略网络的结构如图4所示:策略网络包含一层输入层、两层隐含层和一层输出层,隐含层的结点数根据经验设定分别为(400,300),隐含层采用ReLu激活函数;输出层包含两个结点,分别输出两个控制变量τ1和τ2,输出层激活函数采用tanh函数,将输出的控制变量限制在[-1,1]区间,再根据具体的控制变量限制范围进行放缩。
3)采用确定性策略梯度进行水下自主机器人固定深度控制;具体步骤如下:
3-1)参数设置;
令最大迭代次数为M=500,每次迭代的最大实验步数T=1000,经验回放抽取的训练集大小N=64,目标神经网络的追踪比率τ=0.9,评价网络与策略网络的学习率分别为αω=0.01和αθ=0.001,折现因子为γ=0.99;
3-2)对评价网络和策略网络分别初始化;
令ω和θ分别表示评价网络和策略网络的权重参数,则评价网络与策略网络的参数化表达式分别为Q(x,u|ω)和μ(x|θ);两个网络的权重参数初始值均为0;将初始化后的评价网络记为当前评价网络,初始化后的策略网络记为当前策略网络;
分别复制两个网络初始权重构造两个新的网络作为目标评价网络
Figure GDA0002270734290000091
和目标策略网络
Figure GDA0002270734290000092
(也就是说,迭代开始前
Figure GDA0002270734290000093
);
构建经验队列集合R并初始化为空;
3-3)迭代开始,令初始化迭代次数为m=1。
3-4)每次迭代的实验开始,初始化实验时刻为t=0;随机初始化AUV的状态记为x0=[w0,q0,z0-zr,cos(θ0),sin(θ0)]T,并令xt=x0
3-5)使用策略网络μ(x|θ)生成t时刻控制变量并添加探索噪声记为ut=μ(xt|θ)+Δut;输入控制量ut与状态xt,AUV通过步骤1-3)得到的动力学转移模型返回下一时刻状态xt+1,利用一步损失函数计算该步转移的损失函数ct+1
3-6)将步骤3-4)至3-5)得到的数据记为一个经验样本et=(xt,ut,ct+1,xt+1)存入经验队列R,计算该经验样本对应的优先级PRIt,表达式如下:
Figure GDA0002270734290000101
3-7)统计经验队列中的经验样本个数为NR并判定:若NR≤N,则转到步骤3-12);若NR>N,则进入步骤3-8);
3-8)从经验队列R中随机抽取N个经验样本e1,e2,...,eN,每个样本被抽到的概率与该样本对应的的优先级PRI成正比;
3-9)按照以下公式更新评价网络权重:
Figure GDA0002270734290000102
δi=yi-Q(xi,ui|ω)
Figure GDA0002270734290000103
i=1,2,3...,N
将更新后的评价网络记为新的当前评价网络;并重新计算每个被抽取的经验样本ei的优先级:
PRIi=|δi|
3-10)采用确定性策略梯度更新策略网络权重:
Figure GDA0002270734290000104
将更新后的的策略网络记为新的当前策略网络;
3-11)按照以下公式更新目标评价网络权重与目标策略网络权重:
Figure GDA0002270734290000105
Figure GDA0002270734290000106
更新完毕后,进入步骤3-12);
3-12)令t=t+1并对t进行判定:若t<T,则重新返回步骤3-5),AUV继续下一步的固定深度控制;否则,进入步骤3-13);
3-13)令m=m+1并对m进行判定:若m<M,则重新返回步骤3-4),AUV选择一个新的初始位置开始新一次的固定深度控制;否则迭代结束,将迭代终止时的当前策略网络μ(x|θ)(这里是策略网络而非目标策略网络,目标策略网络只在强化学习过程中辅助使用)作为最终的策略网络,记为μ*(x|θ);将状态变量输入μ*(x|θ),该网络输出相应的控制变量实现对AUV的固定深度控制。
以上技术方案本领域技术人员通过编程即可实现。
本发明的一种基于强化学习的水下自主机器人固定深度控制方法在两种AUV模型上仿真的效果分析如下:
虽然本发明假定在AUV动力学模型未知的条件下实现固定深度控制,但是为了验证方法效果,我们采用了常用的AUV动力学方程,用来模拟实际的AUV动力学过程。AUV的动力学方程如下:
Figure GDA0002270734290000111
Figure GDA0002270734290000112
Figure GDA0002270734290000113
Figure GDA0002270734290000114
上述动力学方程中,除了AUV的位置、速度变量
Figure GDA0002270734290000115
阳控制变量(τ1,τ2)T,其他的参数含义如下:(xG,yG,zG)T和(xB,yB,zB)T分别表示AUV的重心与浮力中心,
Figure GDA0002270734290000116
表示AUV在水中运动附加的重力项,Zuq,Zuw,Muq,Muw表示AUV运动过程的升力及力矩,Zww,Zqq,Mww,Mqq表示流体阻力系数,W和B表示AUV的重力和浮力。假定AUV自身坐标系与浮力中心重合,则xB=yB=zB=0;重心(xG,yG,zG)T=(0,0,0.0196)T;浮力B=306N。
(1)REMUS型号AUV;
表1为REMUS型号AUV的模型参数表。
表1 REMUS型号AUV模型参数表
Figure GDA0002270734290000117
附图5~7为本发明的方法在该型号AUV深度控制问题上的仿真结果。附图5表示方法训练过程中长期累积损失函数变化趋势,从图中可以看出,在训练迭代次数10左右本发明的方法已经接近收敛;附图6表示采用本发明方法得到的最终策略网络控制AUV时,AUV各个状态(深度z,前进方向θ,纵向速度w,转动角速度q)的变化趋势,从图中可看出所有状态均达到收敛,并且深度收敛到指定的目标深度;附图7表示控制输入的变化趋势图,可以看出两个控制量在AUV到达目标深度后均保持稳定。
(2)Minesniper MkII型号AUV
表2为Minesniper MkII型号AUV的模型参数表。
表2 Minesniper MkII型号AUV模型参数表
Figure GDA0002270734290000121
附图8~10为本发明方法在该AUV深度控制问题上的仿真结果。图8表示本发明的方法训练过程中长期累积损失函数变化趋势,从图中可以看出,在训练迭代次数10左右方法接近收敛;图9表示采用本发明的方法得到的最终策略网络控制AUV时,各个状态的变化趋势,从图中可看出所有状态均达到收敛,并且深度收敛到指定的目标深度;图10表示控制输入的变化趋势图,可以看出两个控制量在AUV到达目标深度后均保持稳定。
以上结果表明,本发明方法在两种不同AUV模型的固定深度控制问题上均取得了收敛结果,并且AUV的深度与其他状态变量均控制在预设的目标值附近,证明了本发明可以在不需要AUV模型的条件下实现固定深度控制。

Claims (1)

1.一种基于强化学习的水下自主机器人固定深度控制方法,其特征在于,包括以下步骤:
1)构建水下自主机器人AUV固定深度控制的马尔科夫决策过程模型;
马尔科夫决策过程模型包括四个组成部分:状态变量,控制变量,转移模型,一步损失函数;具体步骤如下:
1-1)确定状态变量;
令z表示AUV在惯性坐标系下的深度,
Figure FDA0002270734280000016
表示惯性坐标系下AUV前进方向与X轴夹角,w表示AUV在自身坐标系下纵向的速度,q表示AUV在自身坐标系下绕V轴转动的角速度
设AUV目标深度在惯性坐标系下为zr,则AUV所处深度与目标深度之间的相对深度为z-zr
则AUV状态变量表达式为:
Figure FDA0002270734280000011
1-2)确定控制变量;
控制变量表达式为u=[τ1,τ2]T;其中,τ1表示施加在AUV纵向上的推力,τ2表示驱使AUV绕y轴转动的扭矩;
1-3)确定转移模型;
转移模型为一个时间离散的黑箱函数,表达式如下:
xt+1=f(xt,ut,Δt)
其中Δt表示转移模型中存在的t时刻不确定性的扰动;该转移模型表示在给定当前t时刻状态变量与控制变量,返回下一时刻的状态变量;
1-4)确定一步损失函数;
一步损失函数用于评价在AUV在某个时刻状态下执行控制变量的效果,表达式如下:
Figure FDA0002270734280000012
其中,k表示第k个时刻,ρ1、ρ2、ρ3、ρ4、λ1、λ2分别表示各项的权重系数;
Figure FDA0002270734280000013
Figure FDA0002270734280000014
保证AUV到达指定深度的同时前进方向与x轴一致,
Figure FDA0002270734280000015
使AUV的纵向速度与转动角速度尽可能小,λ11,k1,k-1)222,k2,k-1)2防止控制变量出现震荡的现象;
1-5)确定目标函数;AUV固定深度控制目标为使得AUV到达并维持在指定的深度,即最小化期望累计损失函数,因此马尔科夫决策过程模型的目标函数表达式如下:
Figure FDA0002270734280000021
s.t.xk+1=f(xk,uk,Δk)k=1,...,∞
其中,uk≥1表示控制变量的输入序列{u1,u2,...},Δk≥1表示扰动序列{Δ1,Δ2,...},γ表示对未来损失的权重的折现因子,0<γ<1;
2)构建评价网络与策略网络;
2-1)构建评价网络;
评价网络的输入为状态变量,输出为控制变量,函数表达式如下:
u=μ(x)
2-2)构建策略网络;
策略网络的输入为状态变量和控制变量,输出为损失量,函数表达式如下:
Figure FDA0002270734280000022
该函数表示在给定初始状态变量与初始控制变量,按照控制变量μ进行控制取得的长期损失函数;
3)采用确定性策略梯度进行水下自主机器人固定深度控制;具体步骤如下:
3-1)参数设置;
令最大迭代次数为M=500,每次迭代的最大实验步数T=1000,经验回放抽取的训练集大小N=64,目标神经网络的追踪比率τ=0.9,评价网络与策略网络的学习率分别为αω=0.01和αθ=0.001,折现因子为γ=0.99;
3-2)对评价网络和策略网络分别初始化;
令ω和θ分别表示评价网络和策略网络的权重参数,则评价网络与策略网络的参数化表达式分别为Q(x,u|ω)和μ(x|θ),两个网络的权重参数初始值均为0;将初始化后的评价网络记为当前评价网络,初始化后的策略网络记为当前策略网络;
分别复制两个网络初始权重构造两个新的网络作为目标评价网络
Figure FDA0002270734280000023
和目标策略网络
Figure FDA0002270734280000024
构建经验队列集合R并初始化为空;
3-3)迭代开始,令初始化迭代次数为m=1;
3-4)初始化时刻为t=0;随机初始化AUV的状态变量记为x0=[w0,q0,z0-zr,cos(θ0),sin(θ0)]T,并令xt=x0
3-5)使用当前策略网络μ(x|θ)生成t时刻控制变量并添加探索噪声记为ut=μ(xt|θ)+Δut;输入控制量ut与状态xt,AUV通过步骤1-3)得到的转移模型返回下一时刻状态变量xt+1,利用一步损失函数计算该步转移的损失函数ct+1
3-6)将步骤3-4)至3-5)得到的数据记为一个经验样本et=(xt,ut,ct+1,xt+1),存入经验队列R,并计算该经验样本对应的优先级PRIt,表达式如下:
Figure FDA0002270734280000031
3-7)统计经验队列中的经验样本个数为NR并判定:若NR≤N,则转到步骤3-12);若NR>N,则进入步骤3-8);
3-8)从经验队列R中随机抽取N个经验样本e1,e2,...,eN,每个样本被抽到的概率与该样本对应的的优先级PRI成正比;
3-9)按照以下公式更新评价网络权重:
Figure FDA0002270734280000032
δi=yi-Q(xi,ui|ω)
Figure FDA0002270734280000033
将更新后的评价网络记为新的当前评价网络;并重新计算每个被抽取的经验样本ei的优先级:
PRIi=|δi|
3-10)采用确定性策略梯度更新策略网络权重:
Figure FDA0002270734280000034
将更新后的的策略网络记为新的当前策略网络;
3-11)按照以下公式更新目标评价网络权重与目标策略网络权重:
Figure FDA0002270734280000035
Figure FDA0002270734280000036
更新完毕后,进入步骤3-12);
3-12)令t=t+1并对t进行判定:若t<T,则重新返回步骤3-5),AUV继续下一步的深度控制;否则,进入步骤3-13);
3-13)令m=m+1并对m进行判定:若m<M,则重新返回步骤3-4),AUV随机选择一个新的初始位置开始新一次的固定深度控制;否则迭代结束,将迭代终止时的当前策略网络μ(x|θ)作为最终的策略网络,记为μ*(x|θ);将状态变量输入μ*(x|θ),该网络输出相应的控制变量实现对AUV的固定深度控制。
CN201710850098.3A 2017-09-20 2017-09-20 一种基于强化学习的水下自主机器人固定深度控制方法 Active CN107748566B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710850098.3A CN107748566B (zh) 2017-09-20 2017-09-20 一种基于强化学习的水下自主机器人固定深度控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710850098.3A CN107748566B (zh) 2017-09-20 2017-09-20 一种基于强化学习的水下自主机器人固定深度控制方法

Publications (2)

Publication Number Publication Date
CN107748566A CN107748566A (zh) 2018-03-02
CN107748566B true CN107748566B (zh) 2020-04-24

Family

ID=61254997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710850098.3A Active CN107748566B (zh) 2017-09-20 2017-09-20 一种基于强化学习的水下自主机器人固定深度控制方法

Country Status (1)

Country Link
CN (1) CN107748566B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446619B (zh) * 2018-03-12 2020-08-28 清华大学 基于深度强化学习的人脸关键点检测方法及装置
CN108762249B (zh) * 2018-04-26 2019-11-08 常熟理工学院 基于近似模型多步优化的清洁机器人最优路径规划方法
CN108621159B (zh) * 2018-04-28 2020-05-19 首都师范大学 一种基于深度学习的机器人动力学建模方法
CN108803313B (zh) * 2018-06-08 2022-07-12 哈尔滨工程大学 一种基于海流预测模型的路径规划方法
CN108873687B (zh) * 2018-07-11 2020-06-26 哈尔滨工程大学 一种基于深度q学习的智能水下机器人行为体系结规划方法
CN109116854B (zh) * 2018-09-16 2021-03-12 南京大学 一种基于强化学习的多组机器人协作控制方法及控制系统
CN109407682B (zh) * 2018-09-29 2021-06-15 大连海洋大学 基于图像特征深度强化学习的auv管道循管方法
CN109240091B (zh) * 2018-11-13 2020-08-11 燕山大学 一种基于强化学习的水下机器人控制方法及其进行跟踪的控制方法
CN109739090A (zh) * 2019-01-15 2019-05-10 哈尔滨工程大学 一种自主式水下机器人神经网络强化学习控制方法
CN109828467B (zh) * 2019-03-01 2021-09-07 大连海事大学 一种数据驱动的无人船强化学习控制器结构及设计方法
CN110209152B (zh) * 2019-06-14 2022-04-05 哈尔滨工程大学 智能水下机器人垂直面路径跟随的深度强化学习控制方法
CN110673615A (zh) * 2019-08-28 2020-01-10 浙江工业大学 一种自主水下无人航行器控制系统
CN110597058B (zh) * 2019-08-28 2022-06-17 浙江工业大学 一种基于增强学习的三自由度自主水下航行器控制方法
CN110806759B (zh) * 2019-11-12 2020-09-08 清华大学 一种基于深度强化学习的飞行器航线跟踪方法
CN111421538B (zh) * 2020-03-31 2022-05-20 西安交通大学 一种基于优先级经验回放的深度强化学习机器人控制方法
CN111623777B (zh) * 2020-05-12 2021-10-15 清华大学 一种基于场强信息的等值线跟踪方法
CN113799949B (zh) * 2020-06-11 2022-07-26 中国科学院沈阳自动化研究所 一种基于q学习的auv浮力调节方法
CN111966118B (zh) * 2020-08-14 2021-07-20 哈尔滨工程大学 一种rov推力分配与基于强化学习的运动控制方法
CN112462792B (zh) * 2020-12-09 2022-08-09 哈尔滨工程大学 一种基于Actor-Critic算法的水下机器人运动控制方法
CN113134834B (zh) * 2021-03-31 2022-06-03 广州大学 一种机器人的控制信号确定方法、装置及存储介质
CN114089633B (zh) * 2021-11-19 2024-04-26 江苏科技大学 一种水下机器人多电机耦合驱动控制装置及方法
CN114489038B (zh) * 2021-12-08 2024-02-27 农芯(南京)智慧农业研究院有限公司 一种基于强化学习的农林用车辆的导航控制方法
CN114839884B (zh) * 2022-07-05 2022-09-30 山东大学 一种基于深度强化学习的水下航行器底层控制方法及系统
CN114967713B (zh) * 2022-07-28 2022-11-29 山东大学 基于强化学习的水下航行器浮力离散变化下的控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464770B2 (ja) * 2004-08-31 2010-05-19 日本電信電話株式会社 対話戦略学習方法および対話戦略学習装置
JP2014179064A (ja) * 2013-02-15 2014-09-25 Denso It Laboratory Inc 制御方策決定装置、制御方策決定方法、制御方策決定プログラム、及び制御システム
CN106094516A (zh) * 2016-06-08 2016-11-09 南京大学 一种基于深度强化学习的机器人自适应抓取方法
CN107102644A (zh) * 2017-06-22 2017-08-29 华南师范大学 基于深度强化学习的水下机器人轨迹控制方法及控制系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464770B2 (ja) * 2004-08-31 2010-05-19 日本電信電話株式会社 対話戦略学習方法および対話戦略学習装置
JP2014179064A (ja) * 2013-02-15 2014-09-25 Denso It Laboratory Inc 制御方策決定装置、制御方策決定方法、制御方策決定プログラム、及び制御システム
CN106094516A (zh) * 2016-06-08 2016-11-09 南京大学 一种基于深度强化学习的机器人自适应抓取方法
CN107102644A (zh) * 2017-06-22 2017-08-29 华南师范大学 基于深度强化学习的水下机器人轨迹控制方法及控制系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Application of Single Neuron Model to Motion Planning and Control of Under-actuated Robot by MDP Frame Work;Hiroshi Kawano;《Proceedings 2005 IEEE International Symposium on Computational Intelligence in Robotics and Automation》;20050630;全文 *
Depth Control of Model-Free AUVs via Reinforcement Learning;Hui Wu 等;《IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS: SYSTEMS》;20180118;全文 *
Neural-network-based deterministic policy gradient for depth control of AUVs;Hui Wu 等;《IEEE》;20180101;全文 *
自治水下机器人避碰算法及其仿真研究;刘和祥 等;《计算机仿真》;20071231(第12期);全文 *

Also Published As

Publication number Publication date
CN107748566A (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
CN107748566B (zh) 一种基于强化学习的水下自主机器人固定深度控制方法
CN108803321B (zh) 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
Martinsen et al. Straight-path following for underactuated marine vessels using deep reinforcement learning
CN110806759B (zh) 一种基于深度强化学习的飞行器航线跟踪方法
Su et al. Attitude control of underwater glider combined reinforcement learning with active disturbance rejection control
CN110209152B (zh) 智能水下机器人垂直面路径跟随的深度强化学习控制方法
CN110597058B (zh) 一种基于增强学习的三自由度自主水下航行器控制方法
CN109901403A (zh) 一种自主水下机器人神经网络s面控制方法
CN111240345B (zh) 基于双bp网络增强学习框架的水下机器人轨迹跟踪方法
CN112286218B (zh) 基于深度确定性策略梯度的飞行器大迎角摇滚抑制方法
CN114253296B (zh) 高超声速飞行器机载轨迹规划方法、装置、飞行器及介质
Sivaraj et al. Data driven control based on Deep Q-Network algorithm for heading control and path following of a ship in calm water and waves
CN114115262B (zh) 基于方位角信息的多auv执行器饱和协同编队控制系统和方法
CN113238567B (zh) 一种基于扩展状态观测器的底栖式auv弱抖振积分滑模点镇定控制方法
CN112859889B (zh) 基于自适应动态规划的自主式水下机器人控制方法和系统
Fang et al. Autonomous underwater vehicle formation control and obstacle avoidance using multi-agent generative adversarial imitation learning
CN113821035A (zh) 无人船轨迹追踪控制方法和装置
CN108267952A (zh) 一种水下机器人自适应有限时间控制方法
CN114995468A (zh) 一种基于贝叶斯深度强化学习的水下机器人智能控制方法
CN113110512B (zh) 一种减弱未知干扰与抖振影响的可底栖式auv自适应轨迹跟踪控制方法
Jagannathan et al. One-layer neural-network controller with preprocessed inputs for autonomous underwater vehicles
CN116126000A (zh) 基于环境最优艏向的水下机器人悬停强化学习控制方法
Havenstrøm et al. Proportional integral derivative controller assisted reinforcement learning for path following by autonomous underwater vehicles
CN110703792B (zh) 基于增强学习的水下机器人姿态控制方法
Lionel Underwater robots part II: Existing solutions and open issues

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