CN112034711B - 一种基于深度强化学习的无人艇抗海浪干扰控制方法 - Google Patents
一种基于深度强化学习的无人艇抗海浪干扰控制方法 Download PDFInfo
- Publication number
- CN112034711B CN112034711B CN202010895943.0A CN202010895943A CN112034711B CN 112034711 B CN112034711 B CN 112034711B CN 202010895943 A CN202010895943 A CN 202010895943A CN 112034711 B CN112034711 B CN 112034711B
- Authority
- CN
- China
- Prior art keywords
- unmanned ship
- controller
- network
- unmanned
- evaluator
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/042—Adaptive 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本专利公开了一种基于深度强化学习的无人艇抗海浪干扰控制方法。本发明采用的技术方案是使用深度强化学习算法构建无人艇的控制器,利用深度神经网络将无人艇的运动状态和海浪特性映射到无人艇的推进器和方向舵的控制量,使用深度强化学习算法,根据历史实验数据对深度神经网络进行训练。首先在仿真环境中基于无人艇的简化模型和海浪干扰模型对控制器进行初步训练,然后在实际海域中进行实体无人艇的实验和训练,使控制器依据真实的无人艇和海浪动态特性进行在线学习,最终得到效果良好的无人艇抗海浪干扰控制器。
Description
技术领域
本发明属于无人艇控制领域,涉及一种基于深度强化学习的无人艇抗海浪干扰控制方法。
背景技术
无人艇是一种能够按照操纵人员的遥控指令或者预定的导航程序在水面进行巡航并完成巡逻、勘探等任务的小型水面舰艇。在实际应用中,无人艇可以代替载人船只只进入复杂危险的海域进行作业,可以有效降低水上作业人员的危险性和工作强度。无人艇可以配备先进的控制系统、传感系统和通信系统,进而在配备先进的控制系统、传感系统和通信系统的无人艇可以在海洋资源勘探、水文地理勘查、海岸线巡逻、港口管理、海难搜救等民用领域发挥巨大的作用。在军事领域,无人艇也可以搭载武器系统、军用雷达等装备,代替常规军用舰艇在交战海域执行侦察、排雷、巡逻、打击等军事用途,可以在海上战争中减少人员伤亡。
对无人艇进行稳定高效的控制是其完成各类任务的基础,但是无人艇的动力学模型具有非线性、欠驱动等复杂特性,另外,无人艇在海上航行时还会受到波浪的持续干扰,因此在控制上具有较大难度。现有的无人艇控制方法大都是基于无人艇数学模型的控制方法,但是由于无人艇体结构和驱动系统的复杂性,无人艇体与水的粘滞和摩擦关系的复杂性,难以建立无人艇的精确模型,一般使用粗略的模型加以替代,并在此数学模型的基础上设计控制器。在海浪干扰问题的处理上,现有的无人艇控制方法大都笼统地将其假设为满足特定形式的干扰项,并使用干扰观测器基于无人艇数学模型进行估计和补偿。由于使用这种方法建立的无人艇数学模型精度较差,同时也没有对海浪干扰进行针对性处理,基于此得到的控制器在实际中难以达到理论上的效果。
发明内容
针对现有的控制方法的不足之处,本发明提供一种基于深度强化学习的无人艇抗海浪干扰控制方法,解决现有常用的控制方法中使用简化的数学模型不能精确描述无人艇运动特性和海浪干扰特性的引起的控制性能不良的问题,
利用深度神经网络将无人艇的运动状态和海浪特性映射到无人艇的推进器和方向舵的控制量,使用深度强化学习算法,根据历史实验数据对深度神经网络进行训练,最终得到满足控制需求的控制器。训练过程分为两个阶段,仿真训练阶段和实体训练阶段。仿真训练阶段在仿真环境中基于无人艇的简化模型和海浪干扰模型使用深度强化学习算法对控制器进行训练,得到能够在仿真环境中得到良好控制效果的控制器。实体训练阶段基于仿真训练阶段得到的控制器,在真实的实验环境中继续使用深度强化学习算法对控制器进行进一步训练,使控制器依据无人艇和海浪的真实动态进行改进,最终取得能够在真实环境中取得良好控制效果的控制器;
本专利提供一种基于深度强化学习的无人艇抗海浪干扰控制方法,包括如下步骤:
步骤S1,构建无人艇水面运动仿真环境,该仿真环境包括无人艇的三自由度运动模型和海浪干扰模型,无人艇的三自由度运动模型表示为:
其中η=[x,y,ψ]T,x,y表示无人艇的位置坐标,ψ表示无人艇的航向角,对应表示无人艇在惯性坐标系下的速度和转向率,v=[u,v,r]T表示无人艇在艇体坐标系下的速度和转向率,为其对应的一阶导数,J(η)是惯性坐标系到艇体坐标系的坐标转换矩阵,表示为:
模型中τ=[Fu,0,τr]T表示无人艇的控制量,其中Fu表示螺旋桨提供的推力,τr表示船舵产生的转向力矩,模型中M为无人艇的正定对称惯量矩阵;C(v)矩阵描述了无人艇运动中的向心力和科里奥利力的影响,并且是v的函数;D(v)矩阵是阻尼矩阵,表示了水对无人艇的阻尼特性,同样是v的函数,模型中τd=[FXW,FYW,τNW]表示海浪对无人艇的干扰力和干扰力矩,其中FXW表示海浪在X轴方向的干扰力,FYW表示海浪在Y轴方向的干扰力,τNw表示海浪在航向角上的干扰力矩,海浪干扰模型具体建立为:
其中,Ls为无人艇长度,Bs为无人艇宽度,模型中:
其中,ρ=1025Kg/m3是海水的密度,g=9.81m/s2是重力加速度,k=2π/λw是海浪的波数,λw是海浪的波长,ωe=2πfW是无人艇遭遇浪角频率,χ是无人艇遭遇浪向角,hw是浪高,t表示时间,将无人艇初始状态量,海浪状态参数,无人艇控制量输入该模型,就可以解出无人艇下一时刻的状态量;
步骤S2,构建奖励函数、无人艇控制器和评价器,分别表示为控制器I和评价器I;
步骤S3,在仿真环境中进行实验并保存实验数据,在仿真环境中执行多轮仿真控制实验;
步骤S4,使用双深度延迟确定性策略梯度算法对评价器I和控制器I进行训练,更新其内部参数;
步骤S5,测试训练得到的控制器I的性能指标,并对历次训练得到的控制器I的性能指标的变化趋势进行评估,判断控制器I性能指标是否收敛,若控制效果指标没有收敛则返回步骤S3继续进行仿真实验和训练,若指标趋于收敛,则将当前的控制器I另存为控制器II,将当前的评价器I另存为评价器II;
步骤S6,在实际环境中使用控制器II进行无人艇控制实验并保存实验数据;
步骤S7,使用双深度延迟确定性策略梯度算法对评价器II和控制器II进行训练,更新其内部参数;
步骤S8,测试训练得到的控制器II的性能指标,并对控制器II性能指标的变化趋势进行评估,若控制效果指标没有收敛则返回步骤S6继续进行实际实验和训练,指标趋于收敛则将控制器II另存为控制器III;
步骤S9,根据具体任务需求,使用控制器III对无人艇进行控制。
作为本发明进一步改进,步骤S2具体步骤如下,包括步骤S2-1到步骤S2-3;
步骤S2-1,构建奖励函数,奖励函数设计为无人艇当前位置与目标位置(xd,yd)之间的距离,表示为:
步骤S2-2,构建无人艇控制器,无人艇控制器使用神经网络表示,又称为控制器网络,该网络包含一个输入层、两个隐含层和一个输出层,其中输入层为系统状态第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点,前两层之间的激活函数采用ReLU函数,输出层为无人艇控制量a=[Fu,τr],激活函数采用tanh函数,控制器网络整体表示为:a=Aμ(s)其中μ表示该网络的所有连接权值参数,权值参数μ的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化;
步骤S2-3,构建无人艇评价器,无人艇评价器使用神经网络表示,又称为评价器网络,评价器网络为带目标网络的双网络结构,总共包括四个结构完全相同的神经网络,分别为:主评价器网络1、主评价器网络2、目标网络1、目标网络2,四个网络的结构包含一个输入层、两个隐含层和一个输出层,其中输入层为系统状态和控制量第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点,前两层之间的激活函数采用ReLU函数,输出层的激活函数为Linear函数,输出表示为状态-动作值,主评价器网络1表示为其中w1表示该网络的权值参数,其对应的目标网络1表示为其中w′1表示网络的权值参数;主评价器网络2表示为其中w2表示该网络的权值参数,其对应的目标网络2表示为其中w′2表示网络的权值参数,权值参数w1和w2的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化,权值参数w′1和w′2的初始值与随机初始化之后w1和w2对应相等。
作为本发明进一步改进,步骤S3在仿真环境中执行多轮仿真控制实验,其中每一轮实验的具体步骤包括步骤S3-1到步骤S3-5;
步骤S3-1,在合理范围内随机初始化无人艇的初始位置和姿态η=[x,y,ψ]、目标位置[xd,yd]、海浪特征量;
步骤S3-4,保存一步仿真的实验数据,使用后一步的系统状态计算奖励函数值r,然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到仿真训练数据存储器中,其中下标k表示该组数据在仿真训练数据存储器中的顺序号;
步骤S3-5,判断无人艇是否抵达目标位置或者仿真时间超过最大时长,最大时长设置为300秒,如果无人艇未抵达目标位置,并且仿真时间未超过最大时长,则返回步骤S3-2,进行下一个时间步的控制迭代,如果无人艇抵达了目标位置或者仿真时间超过了最大时长则结束本轮实验,进入下一步骤S4。
作为本发明进一步改进,步骤S4更新其内部参数,具体步骤包括步骤S4-1到步骤S4-4;
步骤S4-1,从仿真训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号;
步骤S4-3,更新目标网络的权值参数,根据如下公式对目标网络1、2的权值参数w′1和w′2进行更新:
w′1←σw1+(1-σ)w′1
w′2←σw2+(1-σ)w′2
其中σ=0.002为参数更新速率;
步骤S4-4,更新控制器网络的权值参数,根据如下公式使用批量式梯度上升法对控制器网络Aμ(s)的权值参数μ进行更新:
作为本发明进一步改进,步骤S5具体方法为,在仿真环境中,使用训练得到的控制器I完成一组从特定位置出发,顺序经过多个导航点的航行任务。以完成该航行任务的时间作为性能指标。若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛。若控制器I的性能指标未收敛,则返回步骤S3,进行下一轮的仿真控制实验和训练。若控制器I的性能指标收敛,则将控制器I另存为控制器II,将评价器I另存为评价器II,然后进入实体训练阶段。
作为本发明进一步改进,步骤S6实验的具体步骤包括步骤S6-1到S6-5;
步骤S6-1,通过人工遥控将无人艇置于特定海域的初始位置,在合理范围内确定无人艇的目标位置[xd,yd];
步骤S6-5,保存一步实体实验数据,使用后一步的系统状态计算奖励函数值r,然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到实体训练数据存储器中,其中下标k表示该组数据在实体训练数据存储器中的顺序号;
步骤S6-6,判断无人艇是否抵达目标位置或者时间超过最大时长,最大时长设置为300秒,如果无人艇未抵达目标位置,并且时间未超过最大时长,则返回步骤S6-2,进行下一个时间步的控制迭代,如果无人艇抵达了目标位置或者时间超过了最大时长则结束本轮实验,进入下一步骤S7。
作为本发明进一步改进,步骤S7训练并更新其内部参数具体步骤包括步骤S7-1到步骤S7-4;
步骤S7-1,从实体训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号。
步骤S7-2到步骤S7-4与步骤S4-2到步骤S4-4对应完全相同。
作为本发明进一步改进,步骤S8测试训练得到的控制器II的性能指标,并对控制器II性能指标的变化趋势进行评估具体方法为,在实验海域中,使用控制器II完成一组从特定位置出发,顺序经过多个导航点的航行任务,以完成该航行任务的时间作为性能指标。若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛,若控制器II的性能指标未收敛,则返回步骤S6进行下一轮的实体控制实验和训练,若控制器II的性能指标收敛,则将控制器II另存为控制器III,得到最终所需的无人艇控制器。
作为本发明进一步改进,步骤S9根据具体任务需求,使用控制器III对无人艇进行控制具体步骤包括步骤S9-1到S9-4;
步骤S9-1,根据任务需求确定无人艇的当前目标位置[xd,yd];
步骤S9-4,反复执行步骤S9-1到步骤S9-3直到完成任务需求。本发明采用的技术方案是使用深度强化学习算法构建无人艇的控制器,利用深度神经网络将无人艇的运动状态和海浪特性映射到无人艇的推进器和方向舵的控制量,使用深度强化学习算法,根据历史实验数据对深度神经网络进行训练,最终得到满足控制需求的控制器。训练过程分为两个阶段,仿真训练阶段和实体训练阶段。仿真训练阶段在仿真环境中基于无人艇的简化模型和海浪干扰模型使用深度强化学习算法对控制器进行训练,得到能够在仿真环境中得到良好控制效果的控制器。实体训练阶段基于仿真训练阶段得到的控制器,在真实的实验环境中继续使用深度强化学习算法对控制器进行进一步训练,使控制器依据无人艇和海浪的真实动态进行改进,最终取得能够在真实环境中取得良好控制效果的控制器
本发明有益效果如下:
本发明所述基于深度强化学习的无人艇抗海浪干扰控制方法,使用深度强化学习的算法,根据无人艇在海浪干扰下的仿真实验数据和实体实验数据构建控制器。与现有技术相比,具有如下优势:1)本发明可以在无人艇和海浪干扰模型不准确的情况下实现无人艇高效的位置跟踪控制;2)本发明可以控制无人艇在航行中自动抵抗海浪干扰。
附图说明
图1是本发明的总体执行步骤示意图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述:
本发明采用的技术方案是使用深度强化学习算法构建无人艇的控制器,利用深度神经网络将无人艇的运动状态和海浪特性映射到无人艇的推进器和方向舵的控制量,使用深度强化学习算法,根据历史实验数据对深度神经网络进行训练,最终得到满足控制需求的控制器。
具体流程参阅图1所示,下面结合具体实施例对本发明作出详细说明:
本发明执行步骤的第一阶段是仿真训练阶段,包括如下步骤:
步骤S1,构建无人艇水面运动仿真环境。该仿真环境主要包括无人艇的三自由度运动模型和海浪干扰模型。无人艇的三自由度运动模型表示为:
其中η=[x,y,ψ]T,x,y表示无人艇的位置坐标,ψ表示无人艇的航向角,对应表示无人艇在惯性坐标系下的速度和转向率。v=[u,v,r]T表示无人艇在艇体坐标系下的速度和转向率,为其对应的一阶导数。J(η)是惯性坐标系到艇体坐标系的坐标转换矩阵,表示为:
模型中τ=[Fu,0,τr]T表示无人艇的控制量,其中Fu表示螺旋桨提供的推力,τr表示船舵产生的转向力矩。模型中M为无人艇的正定对称惯量矩阵;C(v)矩阵描述了无人艇运动中的向心力和科里奥利力的影响,并且是v的函数;D(v)矩阵是阻尼矩阵,表示了水对无人艇的阻尼特性,同样是v的函数。模型中τd=[FXW,FYW,τNW]表示海浪对无人艇的干扰力和干扰力矩,其中FXW表示海浪在X轴方向的干扰力,FYW表示海浪在Y轴方向的干扰力,τNW表示海浪在航向角上的干扰力矩。海浪干扰模型具体建立为:
其中,Ls为无人艇长度,Bs为无人艇宽度。模型中:
其中,ρ=1025Kg/m3是海水的密度,g=9.81m/s2是重力加速度,k=2π/λw是海浪的波数,λW是海浪的波长,ωe=2πfW是无人艇遭遇浪角频率,χ是无人艇遭遇浪向角,hW是浪高,t表示时间。将无人艇初始状态量,海浪状态参数,无人艇控制量输入该模型,就可以解出无人艇下一时刻的状态量。
步骤S1中所述无人艇水面运动仿真环境主要包括无人艇的三自由度运动模型和海浪干扰模型。其中无人艇三自由度运动模型基于被控无人艇的基本动态特性建立,是一个简化的模型,主要反映了在海浪干扰下,无人艇螺旋桨提供的推力和船舵提供的转向力矩到无人艇在X轴、Y轴方向移动和绕Z轴旋转的动态响应情况。无人艇运动模型的输入为海浪干扰量(包括:X轴干扰力、Y轴干扰力、Z轴干扰力矩)和无人艇控制量(包括:推力控制量、船舵控制量),输出为无人艇状态量(包括:X、Y轴位置、X、Y轴速度、航向角、转向率)。海浪干扰模型描述了具有一定物理特性的海浪对无人艇的作用力和力矩,海浪干扰模型的输入为海浪特征量(包括:海浪波长、浪高、波数、无人艇遭遇浪向角、无人艇遭遇浪角频率),输出为海浪干扰量。
步骤S2,构建奖励函数、无人艇控制器和评价器。其具体步骤包括步骤S2-1到步骤S2-3。
其中步骤S2中所述深度强化学习奖励函数设计为无人艇当前位置与目标位置之间的距离;
步骤S2-1,构建奖励函数。奖励函数设计为无人艇当前位置与目标位置(xd,yd)之间的距离,表示为:
步骤S2-2,构建无人艇控制器。无人艇控制器使用神经网络表示,又称为控制器网络,该网络包含一个输入层、两个隐含层和一个输出层。其中输入层为系统状态第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点。前两层之间的激活函数采用ReLU函数。输出层为无人艇控制量a=[Fu,τr],激活函数采用tanh函数。控制器网络整体表示为:a=Aμ(s)其中μ表示该网络的所有连接权值参数。权值参数μ的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化。
其中所述控制器使用深度神经网络表示,又称为控制器网络,该网络包含一个输入层、两个隐含层和一个输出层。其输入层包括无人艇状态量、目标位置、海浪特征量。其输出层包括无人艇控制量。控制器网络的初始连接权值为随机值。
步骤S2-3,构建无人艇评价器。无人艇评价器使用神经网络表示,又称为评价器网络。评价器网络为带目标网络的双网络结构,总共包括四个结构完全相同的神经网络,分别为:主评价器网络1、主评价器网络2、目标网络1、目标网络2。四个网络的结构包含一个输入层、两个隐含层和一个输出层,其中输入层为系统状态和控制量第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点。前两层之间的激活函数采用ReLU函数。输出层的激活函数为Linear函数,输出表示为状态-动作值。主评价器网络1表示为其中w1表示该网络的权值参数,其对应的目标网络1表示为其中w′1表示网络的权值参数;主评价器网络2表示为其中w2表示该网络的权值参数,其对应的目标网络2表示为其中w′2表示网络的权值参数。权值参数w1和w2的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化。权值参数w′1和w′2的初始值与随机初始化之后w1和w2对应相等。
其中所述评价器使用深度神经网络表示,又称为评价器网络,该网络包含一个输入层、两个隐含层和一个输无人艇的推力控制量和船舵控制量出层。其输入层包括无人艇状态量、目标位置、海浪特征量、无人艇控制量。其输出为对当前输入状态和控制量的评价值。评价器网络的初始连接权值为随机值。
步骤S3,在仿真环境中进行实验并保存实验数据。在仿真环境中执行多轮仿真控制实验。其中每一轮实验的具体步骤包括步骤S3-1到步骤S3-5。
步骤S3-1,在合理范围内随机初始化无人艇的初始位置和姿态η=[x,y,ψ]、目标位置[xd,ud]、海浪特征量。
步骤S3-4,保存一步仿真的实验数据。使用后一步的系统状态计算奖励函数值r。然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到仿真训练数据存储器中,其中下标k表示该组数据在仿真训练数据存储器中的顺序号。
步骤S3-5,判断无人艇是否抵达目标位置或者仿真时间超过最大时长,最大时长设置为300秒。如果无人艇未抵达目标位置,并且仿真时间未超过最大时长,则返回步骤S3-2,进行下一个时间步的控制迭代。如果无人艇抵达了目标位置或者仿真时间超过了最大时长则结束本轮实验,进入下一步骤S4。
步骤S3中需要执行多轮仿真控制实验,每轮实验中无人艇的初始位置、目标位置、海浪参数均为合理范围内的随机值。实验中使用控制器I对无人艇进行控制,并且记录个时刻的无人艇状态量、目标位置、海浪特征量、无人艇控制量。每轮仿真实验具有确定的最大时长。当无人艇最终抵达目标位置或者时间达到最大时长时,结束本轮仿真实验。每一轮实验结束后进行后续的训练和评价步骤。
步骤S4,使用双深度延迟确定性策略梯度算法(Twin Delayed DeepDeterministic Policy Gradient)对评价器I和控制器I进行训练,更新其内部参数,具体步骤包括步骤S4-1到步骤S4-4。
步骤S4-1,从仿真训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号。
步骤S4-3,更新目标网络的权值参数。根据如下公式对目标网络1、2的权值参数w′1和w′2进行更新:
w′1←σw1+(1-σ)w′1
w′2←σw2+(1-σ)w′2
其中σ=0.002为参数更新速率。
步骤S4-4,更新控制器网络的权值参数。根据如下公式使用批量式梯度上升法对控制器网络Aμ(s)的权值参数μ进行更新:
步骤S4中所使用的深度强化学习算法具体为双深度延迟确定性策略梯度算法(Twin Delayed Deep Deterministic Policy Gradient)。首先将保存的实验数据转换为经验数据并随机抽取部分经验数据,然后根据这部分经验数据使用梯度下降方法训练评价器网络,再根据评价器网络计算控制器网络的梯度,然后使用梯度上升方法训练控制器网络。
步骤S5,测试和评估控制器I的性能指标并判断控制器I性能指标是否收敛。其具体方法为,在仿真环境中,使用训练得到的控制器I完成一组从特定位置出发,顺序经过多个导航点的航行任务。以完成该航行任务的时间作为性能指标。若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛。若控制器I的性能指标未收敛,则返回步骤S3,进行下一轮的仿真控制实验和训练。若控制器I的性能指标收敛,则将控制器I另存为控制器II,将评价器I另存为评价器II,然后进入实体训练阶段。
步骤S5中获得控制器性能指标的具体方法为:在仿真环境中,使用训练得到的控制器完成一组从特定位置出发,顺序经过多个导航点的航行任务,在这个过程中海浪特征量按照一定规律进行变化。使用完成该航行任务的时间作为性能指标。若连续多轮训练得到的控制器在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定控制器性能指标趋于收敛,可以保存评价器网络和控制器网络,进入实体训练阶段。
步骤S6,在实际环境中使用控制器II进行无人艇控制实验并保存实验数据。实验的具体步骤包括步骤S6-1到S6-5。
步骤S6-1,通过人工遥控将无人艇置于特定海域的初始位置,在合理范围内确定无人艇的目标位置[xd,yd]。
步骤S6-5,保存一步实体实验数据。使用后一步的系统状态计算奖励函数值r。然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到实体训练数据存储器中,其中下标k表示该组数据在实体训练数据存储器中的顺序号。
步骤S6-6,判断无人艇是否抵达目标位置或者时间超过最大时长,最大时长设置为300秒。如果无人艇未抵达目标位置,并且时间未超过最大时长,则返回步骤S6-2,进行下一个时间步的控制迭代。如果无人艇抵达了目标位置或者时间超过了最大时长则结束本轮实验,进入下一步骤S7。
步骤S6中无人艇控制实验在特定实验海域中进行,可以在不同的海况下进行多次实验。无人艇的状态量使用船载导航设备实时测量获得,海浪特征量通过船载视觉仪器和惯性仪器对海浪进行实时测量获得。每轮实验的目标位置在特定实验海域中随机选取。实验中使用控制器II对无人艇进行控制,并且记录个时刻的无人艇状态量、目标位置、海浪特征量、无人艇控制量。当无人艇抵达海域中的目标位置时,结束本轮实验并进行后续的训练和评价步骤。
步骤S7,使用双深度延迟确定性策略梯度算法(Twin Delayed DeepDeterministic Policy Gradient)对评价器II和控制器II进行训练,更新其内部参数。具体步骤包括步骤S7-1到步骤S7-4。
步骤S7-1,从实体训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号。
步骤S7-2到步骤S7-4与步骤S4-2到步骤S4-4对应完全相同。
步骤S7所述对控制器II和评价器II所执行的训练和参数更新方法与步骤S4所述方法相同。
步骤S8,测试和评估控制器II的性能指标并判断控制器II性能指标是否收敛。其具体方法为,在实验海域中,使用控制器II完成一组从特定位置出发,顺序经过多个导航点的航行任务。以完成该航行任务的时间作为性能指标。若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛。若控制器II的性能指标未收敛,则返回步骤S6进行下一轮的实体控制实验和训练。若控制器II的性能指标收敛,则将控制器II另存为控制器III,得到最终所需的无人艇控制器。
步骤S8所述评估方法为,在实际海域中,使用训练得到的控制器II和控制器I分别完成一组从特定位置出发,顺序经过多个导航点的航行任务,使用两个控制器完成相同航行任务所耗时间之差作为性能指标。性能指标是否收敛的判别标准的方法与步骤S5所述方法相同。
步骤S9,根据具体任务需求,使用控制器III对无人艇进行控制。其具体步骤包括步骤S9-1到S9-4。
步骤S9-1,根据任务需求确定无人艇的当前目标位置[xd,yd]。
步骤S9-4,反复执行步骤S9-1到步骤S9-3直到完成任务需求。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作任何其他形式的限制,而依据本发明的技术实质所作的任何修改或等同变化,仍属于本发明所要求保护的范围。
Claims (9)
1.一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于,包括如下步骤:
步骤S1,构建无人艇水面运动仿真环境,该仿真环境包括无人艇的三自由度运动模型和海浪干扰模型,无人艇的三自由度运动模型表示为:
其中η=[x,y,ψ]T,x,y表示无人艇的位置坐标,ψ表示无人艇的航向角,对应表示无人艇在惯性坐标系下的x轴方向和y轴方向速度和转向率,v=[u,v,r]T表示无人艇在艇体坐标系下的x轴方向和y轴方向的速度和转向率,为其对应的一阶导数,J(η)是惯性坐标系到艇体坐标系的坐标转换矩阵,表示为:
模型中τ=[Fu,0,τr]T表示无人艇的控制量,其中Fu表示螺旋桨提供的推力,τr表示船舵产生的转向力矩,模型中M为无人艇的正定对称惯量矩阵;C(v)矩阵描述了无人艇运动中的向心力和科里奥利力的影响,并且是v的函数;D(v)矩阵是阻尼矩阵,表示了水对无人艇的阻尼特性,同样是v的函数,模型中τd=[FXW,FYW,τNW]表示海浪对无人艇的干扰力和干扰力矩,其中FXW表示海浪在X轴方向的干扰力,FYW表示海浪在Y轴方向的干扰力,τNW表示海浪在航向角上的干扰力矩,海浪干扰模型具体建立为:
其中,Ls为无人艇长度,Bs为无人艇宽度,模型中:
其中,ρ=1025Kg/m3是海水的密度,g=9.81m/s2是重力加速度,k=2π/λw是海浪的波数,λW是海浪的波长,ωe=2πfW是无人艇遭遇浪角频率,χ是无人艇遭遇浪向角,hW是浪高,t表示时间,将无人艇初始状态量,海浪状态参数,无人艇控制量输入该模型,就可以解出无人艇下一时刻的状态量;
步骤S2,构建奖励函数、无人艇控制器和评价器,分别表示为控制器I和评价器I;
步骤S3,在仿真环境中进行实验并保存实验数据,在仿真环境中执行多轮仿真控制实验;
步骤S4,使用双深度延迟确定性策略梯度算法对评价器I和控制器I进行训练,更新其内部参数;
步骤S5,测试训练得到的控制器I的性能指标,并对历次训练得到的控制器I的性能指标的变化趋势进行评估,判断控制器I性能指标是否收敛,若控制效果指标没有收敛则返回步骤S3继续进行仿真实验和训练,若指标趋于收敛,则将当前的控制器I另存为控制器II,将当前的评价器I另存为评价器II;
步骤S6,在实际环境中使用控制器II进行无人艇控制实验并保存实验数据;
步骤S7,使用双深度延迟确定性策略梯度算法对评价器II和控制器II进行训练,更新其内部参数;
步骤S8,测试训练得到的控制器II的性能指标,并对控制器II性能指标的变化趋势进行评估,若控制效果指标没有收敛则返回步骤S6继续进行实际实验和训练,指标趋于收敛则将控制器II另存为控制器III;
步骤S9,根据具体任务需求,使用控制器III对无人艇进行控制。
2.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S2具体步骤如下,包括步骤S2-1到步骤S2-3;
步骤S2-1,构建奖励函数,奖励函数设计为无人艇当前位置与目标位置(xd,yd)之间的距离,表示为:
步骤S2-2,构建无人艇控制器,无人艇控制器使用神经网络表示,又称为控制器网络,该网络包含一个输入层、两个隐含层和一个输出层,其中输入层为系统状态第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点,前两层之间的激活函数采用ReLU函数,输出层为无人艇控制量a=[Fu,τr],激活函数采用tanh函数,控制器网络整体表示为:a=Aμ(s)其中μ表示该网络的所有连接权值参数,权值参数μ的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化;
步骤S2-3,构建无人艇评价器,无人艇评价器使用神经网络表示,又称为评价器网络,评价器网络为带目标网络的双网络结构,总共包括四个结构完全相同的神经网络,分别为:主评价器网络1、主评价器网络2、目标网络1、目标网络2,四个网络的结构包含一个输入层、两个隐含层和一个输出层,其中输入层为系统状态和控制量第一个隐含层包括400个隐节点,第二个隐含层包括300个隐节点,前两层之间的激活函数采用ReLU函数,输出层的激活函数为Linear函数,输出表示为状态-动作值,主评价器网络1表示为其中w1表示该网络的权值参数,其对应的目标网络1表示为其中w′1表示网络的权值参数;主评价器网络2表示为其中w2表示该网络的权值参数,其对应的目标网络2表示为其中w′2表示网络的权值参数,权值参数w1和w2的初始值为随机值,可以使用均值为0,方差为0.01的高斯分布随机数进行初始化,权值参数w′1和w′2的初始值与随机初始化之后w1和w2对应相等。
3.根据权利要求2中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S3在仿真环境中执行多轮仿真控制实验,其中每一轮实验的具体步骤包括步骤S3-1到步骤S3-5;
步骤S3-1,在合理范围内随机初始化无人艇的初始位置和姿态η=[x,y,ψ]、目标位置[xd,yd]、海浪特征量;
步骤S3-4,保存一步仿真的实验数据,使用后一步的系统状态计算奖励函数值r,然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到仿真训练数据存储器中,其中下标k表示该组数据在仿真训练数据存储器中的顺序号;
步骤S3-5,判断无人艇是否抵达目标位置或者仿真时间超过最大时长,最大时长设置为300秒,如果无人艇未抵达目标位置,并且仿真时间未超过最大时长,则返回步骤S3-2,进行下一个时间步的控制迭代,如果无人艇抵达了目标位置或者仿真时间超过了最大时长则结束本轮实验,进入下一步骤S4。
4.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S4更新其内部参数,具体步骤包括步骤S4-1到步骤S4-4;
步骤S4-1,从仿真训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号;
步骤S4-3,更新目标网络的权值参数,根据如下公式对目标网络1、2的权值参数w′1和w′2进行更新:
w′1←σw1+(1-σ)w′1
w′2←σw2+(1-σ)w′2
其中σ=0.002为参数更新速率;
步骤S4-4,更新控制器网络的权值参数,根据如下公式使用批量式梯度上升法对控制器网络Aμ(s)的权值参数μ进行更新:
5.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S5具体方法为,在仿真环境中,使用训练得到的控制器I完成一组从特定位置出发,顺序经过多个导航点的航行任务,以完成该航行任务的时间作为性能指标,若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛,若控制器I的性能指标未收敛,则返回步骤S3,进行下一轮的仿真控制实验和训练,若控制器I的性能指标收敛,则将控制器I另存为控制器II,将评价器I另存为评价器II,然后进入实体训练阶段。
6.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S6实验的具体步骤包括步骤S6-1到S6-5;
步骤S6-1,通过人工遥控将无人艇置于特定海域的初始位置,在合理范围内确定无人艇的目标位置[xd,yd];
步骤S6-5,保存一步实体实验数据,使用后一步的系统状态计算奖励函数值r,然后将前一步的系统状态s、后一步的系统状态s′、无人艇控制量a、奖励函数值r,合并为一组数据,表示为ek=(s,a,r,s′)k,并将其保存到实体训练数据存储器中,其中下标k表示该组数据在实体训练数据存储器中的顺序号;
步骤S6-6,判断无人艇是否抵达目标位置或者时间超过最大时长,最大时长设置为300秒,如果无人艇未抵达目标位置,并且时间未超过最大时长,则返回步骤S6-2,进行下一个时间步的控制迭代,如果无人艇抵达了目标位置或者时间超过了最大时长则结束本轮实验,进入下一步骤S7。
7.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S7训练并更新其内部参数具体步骤包括步骤S7-1到步骤S7-4;
步骤S7-1,从实体训练数据存储器中随机抽取N=128组实验数据:[e1,e2,…,eN],抽取的任意一组数据表示为ei=(si,ai,ri,s′i),其中下标i表示在抽取的N组数据中的序号;
步骤S7-2到步骤S7-4与步骤S4-2到步骤S4-4对应完全相同。
8.根据权利要求1中所述一种基于深度强化学习的无人艇抗海浪干扰控制方法,其特征在于;步骤S8测试训练得到的控制器II的性能指标,并对控制器II性能指标的变化趋势进行评估具体方法为,在实验海域中,使用控制器II完成一组从特定位置出发,顺序经过多个导航点的航行任务,以完成该航行任务的时间作为性能指标,若经过多轮训练更新得到的控制器I在相同的航行任务中所耗时间变化范围在一定阈值之内,则判定性能指标趋于收敛,若控制器II的性能指标未收敛,则返回步骤S6进行下一轮的实体控制实验和训练,若控制器II的性能指标收敛,则将控制器II另存为控制器III,得到最终所需的无人艇控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895943.0A CN112034711B (zh) | 2020-08-31 | 2020-08-31 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010895943.0A CN112034711B (zh) | 2020-08-31 | 2020-08-31 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112034711A CN112034711A (zh) | 2020-12-04 |
CN112034711B true CN112034711B (zh) | 2022-06-03 |
Family
ID=73587759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010895943.0A Active CN112034711B (zh) | 2020-08-31 | 2020-08-31 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112034711B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835368A (zh) * | 2021-01-06 | 2021-05-25 | 上海大学 | 一种多无人艇协同编队控制方法及系统 |
CN113110504B (zh) * | 2021-05-12 | 2022-11-22 | 南京云智控产业技术研究院有限公司 | 一种基于强化学习和视线法的无人艇路径跟踪方法 |
CN113721604B (zh) * | 2021-08-04 | 2024-04-12 | 哈尔滨工业大学 | 一种考虑海浪遭遇角度的水面无人艇智能航迹控制方法 |
CN113821035A (zh) * | 2021-09-22 | 2021-12-21 | 北京邮电大学 | 无人船轨迹追踪控制方法和装置 |
CN114721409B (zh) * | 2022-06-08 | 2022-09-20 | 山东大学 | 一种基于强化学习的水下航行器对接控制方法 |
CN115016496A (zh) * | 2022-06-30 | 2022-09-06 | 重庆大学 | 基于深度强化学习的水面无人艇路径跟踪方法 |
CN115079577B (zh) * | 2022-07-22 | 2022-11-11 | 浙江中控技术股份有限公司 | 基于实时控制性能评估的闭环阶跃测试方法和测试装置 |
CN115453914B (zh) * | 2022-10-19 | 2023-05-16 | 哈尔滨理工大学 | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 |
CN115790608B (zh) * | 2023-01-31 | 2023-05-30 | 天津大学 | 基于强化学习的auv路径规划算法及装置 |
CN116011350B (zh) * | 2023-03-24 | 2023-08-11 | 武汉理工大学三亚科教创新园 | 面向模块船运动特性分析的深度强化学习黑箱辨识方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122897A (zh) * | 2017-04-17 | 2017-09-01 | 武汉理工大学 | 基于深度学习算法的无人船适航性评估方法 |
CN110109355A (zh) * | 2019-04-29 | 2019-08-09 | 山东科技大学 | 一种基于强化学习的无人艇异常工况自愈控制方法 |
CN110262494A (zh) * | 2019-06-26 | 2019-09-20 | 华南理工大学 | 一种同构多无人艇系统的协同学习与编队控制方法 |
CN110362095A (zh) * | 2019-08-09 | 2019-10-22 | 大连海事大学 | 一种有限时间收敛无人船协同控制器的设计方法 |
CN110865539A (zh) * | 2019-11-18 | 2020-03-06 | 华南理工大学 | 一种随机干扰下的无人艇跟踪误差约束控制方法 |
-
2020
- 2020-08-31 CN CN202010895943.0A patent/CN112034711B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107122897A (zh) * | 2017-04-17 | 2017-09-01 | 武汉理工大学 | 基于深度学习算法的无人船适航性评估方法 |
CN110109355A (zh) * | 2019-04-29 | 2019-08-09 | 山东科技大学 | 一种基于强化学习的无人艇异常工况自愈控制方法 |
CN110262494A (zh) * | 2019-06-26 | 2019-09-20 | 华南理工大学 | 一种同构多无人艇系统的协同学习与编队控制方法 |
CN110362095A (zh) * | 2019-08-09 | 2019-10-22 | 大连海事大学 | 一种有限时间收敛无人船协同控制器的设计方法 |
CN110865539A (zh) * | 2019-11-18 | 2020-03-06 | 华南理工大学 | 一种随机干扰下的无人艇跟踪误差约束控制方法 |
Non-Patent Citations (2)
Title |
---|
《Learning to Navigate through Complex Dynamic Environment with Modular Deep Reinforcement Learning》;Yuanda Wang.etc;《IEEE Transactions on Games》;20180625;第10卷(第4期);第1-14页 * |
《Target Search Control of AUV in Underwater Environment With Deep Reinforcement Learning》;XIANG CAO.etc;《IEEE ACCESS》;20190716;第7卷;第96549-96559页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112034711A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112034711B (zh) | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 | |
CN111667513B (zh) | 一种基于ddpg迁移学习的无人机机动目标跟踪方法 | |
CN110333739B (zh) | 一种基于强化学习的auv行为规划及动作控制方法 | |
Sun et al. | Mapless motion planning system for an autonomous underwater vehicle using policy gradient-based deep reinforcement learning | |
CA3067573A1 (en) | Target tracking systems and methods for uuv | |
Statheros et al. | Autonomous ship collision avoidance navigation concepts, technologies and techniques | |
CN112180967B (zh) | 基于评判-执行架构的多无人机协同对抗决策方法 | |
CN111880535B (zh) | 一种基于强化学习的无人艇混合感知自主避障方法及系统 | |
Qu et al. | Pursuit-evasion game strategy of USV based on deep reinforcement learning in complex multi-obstacle environment | |
CN114253296B (zh) | 高超声速飞行器机载轨迹规划方法、装置、飞行器及介质 | |
CN113848974B (zh) | 一种基于深度强化学习的飞行器轨迹规划方法及系统 | |
CN111240345A (zh) | 一种基于双bp网络增强学习框架的水下机器人轨迹跟踪方法 | |
CN108334677A (zh) | 一种基于gru网络的uuv实时避碰规划方法 | |
CN113268074B (zh) | 一种基于联合优化的无人机航迹规划方法 | |
CN112947505B (zh) | 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法 | |
CN115033022A (zh) | 面向移动平台基于专家经验的ddpg无人机降落方法 | |
CN117215197B (zh) | 四旋翼飞行器在线轨迹规划方法、系统、电子设备及介质 | |
CN117313561B (zh) | 无人机智能决策模型训练方法及无人机智能决策方法 | |
CN112947438B (zh) | 基于全振荡型入侵野草优化算法的auv在线路径规划方法 | |
CN113934159A (zh) | 一种无人船可靠性测试环境模型构建方法 | |
CN115718497A (zh) | 一种多无人艇避碰决策方法 | |
CN108459614B (zh) | 一种基于cw-rnn网络的uuv实时避碰规划方法 | |
CN114609925B (zh) | 水下探索策略模型的训练方法及仿生机器鱼水下探索方法 | |
Kang et al. | Fuzzy logic based behavior fusion for multi-AUV formation keeping in uncertain ocean environment | |
CN113050420B (zh) | 基于s面控制和td3的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 |