CN115453914B - 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 - Google Patents
一种考虑海浪干扰的无人艇回收分布式决策仿真系统 Download PDFInfo
- Publication number
- CN115453914B CN115453914B CN202211277205.5A CN202211277205A CN115453914B CN 115453914 B CN115453914 B CN 115453914B CN 202211277205 A CN202211277205 A CN 202211277205A CN 115453914 B CN115453914 B CN 115453914B
- Authority
- CN
- China
- Prior art keywords
- unmanned ship
- environment
- training
- neural network
- ship
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 34
- 238000011084 recovery Methods 0.000 title claims abstract description 20
- 230000006854 communication Effects 0.000 claims abstract description 50
- 238000012549 training Methods 0.000 claims abstract description 50
- 238000013528 artificial neural network Methods 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 230000000694 effects Effects 0.000 claims abstract description 12
- 230000007246 mechanism Effects 0.000 claims abstract description 12
- 230000002787 reinforcement Effects 0.000 claims abstract description 7
- 230000006386 memory function Effects 0.000 claims abstract description 4
- 238000003032 molecular docking Methods 0.000 claims description 51
- 230000009471 action Effects 0.000 claims description 47
- 230000006870 function Effects 0.000 claims description 24
- 230000007613 environmental effect Effects 0.000 claims description 12
- 210000001503 joint Anatomy 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 6
- 238000003062 neural network model Methods 0.000 claims description 4
- 238000005728 strengthening Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000001186 cumulative effect Effects 0.000 claims 1
- 230000010399 physical interaction Effects 0.000 abstract description 4
- 230000010485 coping Effects 0.000 abstract description 2
- 230000005012 migration Effects 0.000 abstract description 2
- 238000013508 migration Methods 0.000 abstract description 2
- 239000003795 chemical substances by application Substances 0.000 description 22
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000000875 corresponding effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000012530 fluid Substances 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本发明公开了一种考虑海浪干扰的无人艇回收分布式决策仿真系统,完成海洋作业中母船对无人艇的自动回收任务。首先,搭建无人艇回收任务所需的仿真环境;基于DuelingNetwork算法设计决策模块,并针对应用场景优化神经网络结构,使决策模块具有短时记忆功能;实现分布式通信机制,将决策模块置于服务器端,环境模块置于客户端;最后,启动服务器与客户端程序,控制无人艇抽象的智能体完成回收任务。该系统针对实际复杂海况,设计模拟物理交互的仿真环境;采用深度强化学习算法,使得AI控制器应对复杂场景时,具有更强的鲁棒性,且让模型具有迁移学习能力;分布式通信机制将训练与控制独立运行,便于实现离线训练,同时可以实现远程控制效果。
Description
(一)技术领域
本发明属于人工智能与海洋工程技术领域,特别涉及一种考虑海浪干扰的无人艇回收分布式决策仿真系统。
(二)背景技术
海面无人艇作为海洋环境设备的一员,是一种自主式海洋航行器,能够在无人为参与控制下,独立航行并执行任务,以其高灵活性、可拓展性和强自主性等独特优势发挥着不可或缺的作用。目前,海面无人艇归航引导回收需要花费大量的人力物力,难以适应当代海洋作业的需求。首先,无人艇动力学和动力学模型参数不确定性,导致在工程应用中控制器性能差;其次,海面环境复杂,未知扰动繁多,给归航路径规划和轨迹跟踪带来了极大挑战;最后,母船的回收装置与海面无人艇之间自主对接受到诸多限制,高精度引导回收控制是亟待解决的难点。
传统的控制算法,面对复杂的海洋环境,相较于地面的自动驾驶任务,无人艇的控制为欠驱动的运动模型,常常不能得到很好的效果。论文《混合海浪作用下无人艇泊船姿态自动控制方法》中设定海浪的遭遇角为45°,90°和130°,测试3种对比控制方法的艏摇角、横摇角以及舵角的响应角度,设计特定的海浪遭遇角进行仿真实验,实验对比详尽,但在仿真实验中并未采用模拟物理交互的方式实现无人艇控制,然而真实海浪运动的情况更复杂,仅通过特定遭遇角无法还原实际海浪作用;论文《基于深度强化学习的无人艇控制研究》中采用DDPG算法,并将算法融入到传统控制模型中。虽然该论文中同样采用了强化学习算法对船体进行控制,但对于海浪的数学建模过于简单,且只考虑了横摇角对船体的影响,难以证明方案可应用于实际环境。
(三)发明内容
本发明旨在提供一种考虑海浪干扰的无人艇回收分布式决策仿真系统,提供一种虚拟环境下的无人艇决策、训练与控制方案。利用其分布式通信的特点,更易于使用迁移学习技术将该方案应用到现实场景中。为模拟复杂海况中海浪对控制器的扰动,本方案中未采用控制领域中常用的海浪模拟方法,即间接的将海浪扰动进行数学建模,并作为扰动信号加入控制器进行反馈控制;而是采用直接物理仿真的方式,在虚拟环境中基于规则生成海浪波,计算机通过计算无人艇与流体的实时物理交互,模拟海浪对船体的影响。采用强化学习算法,使智能体可观测到环境的部分信息并做出动作,实现无人艇的自主训练与决策。在复杂海况下,相比传统控制器具有更强的鲁棒性,可以更好的应对海浪干扰。
为实现上述目的,本发明采用如下技术方案:
S1、在虚幻引擎(UE4)中,搭建无人艇回收任务的仿真环境并完成对接舱体的3D建模,具体包括以下子步骤:
S11、在仿真环境中,利用多个Gerstner波的叠加,实现对于复杂海况中的海浪环境的模拟;
S12、将无人艇抽象为智能体,为无人艇设计在离散动作空间下的运动控制器,动作空间中包含左转、右转、前进、后退、左前方向行进、右前方向行进、左后方向行进、右后方向行进以及无动作,共计九种可执行动作;
S13、对与无人艇实现对接的舱体进行建模,对接舱上设置三个不共线的可观测点,作为环境中状态空间的一部分,无人艇可观测到对接舱体实时相对位姿;
S14、完成环境规则模块的搭建,包括智能体随机初始化生成位置、奖励机制设定、碰撞机制设定以及胜利和失败的判定条件设定;
具体的奖励函数设置,可由如下公式表示:
式中:α,β,γ为平衡距离变化与累计碰撞力对奖励的影响所设计的权重系数,-ε为船体损毁惩罚系数,-μ为出界惩罚系数,-η为翻船惩罚系数,φ为终局奖励系数,α,β,γ,ε,μ,η,φ均为可调超参数,是常数,dt表示本次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dt-1为上一次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dmax表示无人艇与最终目标点限制的最大距离,如果距离超出dmax则代表无人艇超出地图边界,Fc表示本轮任务中无人艇与对接舱产生过的累计碰撞力,累计碰撞力越大,产生的惩罚越大,当累计碰撞力大于设置的上限Fmax,将会判定本轮为负,给予-ε的惩罚;当无人艇行驶开出地图边界,同样判负,给予-μ的惩罚;当无人艇因为海浪或者碰撞造成船体打翻,判负并给予-η的惩罚,最终如果任务胜利,会给予φ的终局奖励;
S2、基于DuelingNetwork算法,搭建智能体决策模块,针对本应用场景,优化神经网络结构,使决策模块具有短时记忆功能,可以让智能体在该模型下能更好的预测未来状态,具体包括以下子步骤:
S21、分别记录过去四个时刻下对接舱与无人艇的相对位置,作为智能体的部分可观测的状态信息,计算每个时刻下的三个观测点与无人艇的坐标之差:
Pit(x,y,z)=Qit(x,y,z)-Wt(x,y,z)
式中:Qit(x,y,z)为对接舱可观测点的坐标,其中i表示为对接舱的第i个可观测点,t表示其为第t时刻的坐标,Wt(x,y,z)表示第t时刻的无人艇坐标,Pit(x,y,z)表示t时刻对接舱的第i个可观测点与无人艇的坐标差值;
S22、将步骤S21所得的相对位置信息进行展平处理,赋值到神经网络的节点中,作为智能体神经网络输入层的输入;
S23、利用神经网络拟合优势函数以及最优状态价值函数,网络节点的输出可评价动作的好坏,根据动作的评价可选择当前状态下最优动作;
S24、使用优先经验回放机制,建立经验池,存入的信息为每一次通信所保存的四个时刻的环境状态、执行动作、环境奖励以及状态转移后的新的环境状态,训练神经网络时根据每条经验的重要性的不同,赋予不同采样概率,依照其概率分布随机抽取经验;
S3、建立强化学习控制器与仿真环境的分布式通信系统,将控制器置于服务器端,仿真环境置于服务端,具体包括以下子步骤:
S31、将强化学习控制器置于服务器端,服务器端共包含两条线程,主线程接收来自于仿真环境四个时刻的环境信息,完成神经网络的前向传播,计算最终智能体所需执行动作的编号,并将该条经验存入经验池;线程2负责从经验池取出数据,完成神经网络的前向传播与反向传播,实现智能体的异步训练;
S32、将仿真环境置于客户端,每四分之一个通信时间,采样一次环境状态信息,并将相关信息存入状态数组,通信时接收服务器端传来的动作指令,并将状态数组传至服务器端;
具体的通信过程如下所示:
首先,服务器端主线程阻塞,等待接收客户端通信数据;线程2持续从经验池中取出数据训练神经网络,每当神经网络训练一轮结束时,线程2向主线程发送消息,如果此时主线程未接收到客户端通信数据,线程2开启下一轮训练;如果主线程已接收到客户端通信数据,线程2挂起,主线程接收数据并送入神经网络完成前向传播,计算动作评分,选择最优动作,将对应的动作编号发送至客户端,并将本轮状态信息,执行动作以及所获奖励存入经验池后,线程2唤醒,主线程阻塞,等待接收客户端的下一轮通信数据;其次,客户端接收服务器端传过来的动作编号,令无人艇每一帧都反复执行该动作直至下一次通信为止,设定每次通信间隔为0.8秒,客户端每0.2秒记录并计算一次环境状态信息,存入状态数组,在通信时将状态数组打包为结构体,传至服务器端;
S4、启动服务器与客户端,开启智能体的训练与控制,具体包括以下子步骤:
S41、启动服务器端,等待客户端连接;
S42、启动客户端,环境初始化,随机智能体生成位置;
S43、客户端向服务器发送连接请求,建立连接;
S44、开启AI控制,开启一轮任务的训练,服务器与客户端每隔0.8秒通信一次,交互数据;
S45、根据环境规则下的判定条件,判断训练是否结束,给予终局奖励或失败惩罚,开启下一轮训练并重复执行S41到S45,如果断开通信连接,执行S46;
S46、保存训练好的神经网络模型,方便应用于下次训练。
本发明具有如下的有益效果:
(1)本发明在仿真环境下对海浪波进行物理模拟,可实现实时物理交互,针对控制系统,相较传统方法中对海浪进行数学建模,并作为信号输入进控制器的方法,对于复杂海洋环境,具有更强的可验证性以及实用性;
(2)本发明采用深度强化学习算法实现无人艇的自动控制,算法根据智能体与场景交互得到经验训练模型并做出决策,有较强的鲁棒性;针对该应用场景,优化基于Dueling Network算法的神经网络结构,将过去四个时刻的状态都作为神经网络的输入,可以让智能体对未来时刻状态具有一定预测能力,无人艇应对实时变化且难以预测的海浪环境,具有更好的表现效果;
(3)本发明采用分布式的通信方法,该方法将训练过程与决策过程多线程异步执行,进而提高训练效率;通过调整通信频率,可实现实际环境中对智能体的远程控制,而无需将运算单元搭载至无人艇上;
(4)本发明将决策模块与仿真模块隔离,分别搭载至服务器端和客户端,在虚拟环境下可以得到现实场景中难以获得的经验数据,如翻船、碰撞或损毁,保存仿真模块下训练的神经网络模型,进一步投入真实场景训练,可实现对真实环境的迁移学习任务。
(四)附图说明
图1为系统整体框架图;
图2为一维Gerstner波示意图;
图3为智能体训练流程图;
图4为包含可观测点信息的对接舱三视图;
图5为可观测多个时刻信息的Dueling Network算法神经网络图;
图6为训练界面效果图。
(五)具体实施方式
为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图及试验实例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。本发明系统整体框架图如图1所示。
S1、在虚幻引擎(UE4)中,搭建无人艇回收任务的仿真环境并完成对接舱体的3D建模,具体包括以下子步骤:
S11、在仿真环境中,利用多个Gerstner波的叠加,实现对于复杂海况中的海浪环境的模拟;
波形叠加是模拟海浪波动的一种方法,可通过叠加不同周期,不同振幅以及不同方向的波形模拟出流体的波动效果。单个Gerstner波不同于正弦以及余弦波形,其波峰尖锐,波谷平缓,更接近于真实的海洋表面,为模拟真实海水表面,需要使用多个Gerstner波进行叠加,多个Gerstner波叠加后的计算公式可写为如下形式:
式中:x,y为坐标点在XZ平面的位置分量,Q为波浪的陡峭参数,如果Q为0,则产生的是通常的正弦波,D控制波浪的运动方向,A为波浪的振幅,t为不断变化的时间变量,用以产生波移动的效果,为频率,与波长有关,为相位,i表示叠加的第几个Gerstner波。
S12、将无人艇抽象为智能体,为无人艇设计在离散动作空间下的运动控制器,动作空间中包含左转、右转、前进、后退、左前方向行进、右前方向行进、左后方向行进、右后方向行进以及无动作,共计九种可执行动作;
S13、对与无人艇实现对接的舱体进行建模,对接舱上设置三个不共线的可观测点,作为环境中状态空间的一部分,无人艇可观测到对接舱体实时相对位姿;
对于刚体而言,运动状态可以分为平动和转动,如果能够确定刚体上面的三个不共线点的位置,便可以得知其实时的运动状态,因此在对接舱上需设置三个不共线的可观测点,令智能体得到对接舱的三个可观测点相对于无人艇自身的位置信息,智能体便可通过其信息还原出整个对接舱的运动状态,最终则可以利用智能体的自主学习能力完成无人艇对接回收工作。
S14、完成环境规则模块的搭建,包括智能体随机初始化生成位置、奖励机制设定、碰撞机制设定以及胜利和失败的判定条件设定;
智能体在每次的新一轮任务开始时,其出生点会随机被设置在最终回收位置附近的一定范围之内。在任务进程中,会检测无人艇与对接舱体产生的碰撞的力的大小,并且会记录下来一轮中累计产生的力的大小,当无人艇能够以最合适的角度进入对接舱时,会产生最小的碰撞力,对船体本身的损伤最小;反之,如果以错误的角度接触对接舱,不仅会让船体无法进入到对接舱体之内,同时也会因为无法进入而反复尝试,最终累计下来的碰撞力会造成对无人艇体的不可挽回的损害。所以对于可能会对无人艇造成损伤的情况,在奖励函数中对累计受力设置了一定的惩罚项。任务的胜利条件为,在不造成无人艇的大量损伤的情况下,成功进入到对接舱之内完成对接;任务的失败条件分为以下几种:分别是船体被打翻,船开出了地图边界之外以及超出了一轮所应有的训练时间。当达成失败或胜利条件时,将会重置环境相关信息,无人艇随机位置生成,进行新一轮的训练。具体的奖励函数设置,可由如下公式表示:
式中:α,β,γ为平衡距离变化与累计碰撞力对奖励的影响所设计的权重系数,-ε为船体损毁惩罚系数,-μ为出界惩罚系数,-η为翻船惩罚系数,φ为终局奖励系数,α,β,γ,ε,μ,η,φ均为可调超参数,是常数,dt表示本次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dt-1为上一次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dmax表示无人艇与最终目标点限制的最大距离,如果距离超出dmax则代表无人艇超出地图边界,Fc表示本轮任务中无人艇与对接舱产生过的累计碰撞力,累计碰撞力越大,产生的惩罚越大,当累计碰撞力大于设置的上限Fmax,将会判定本轮为负,给予-ε的惩罚;当无人艇行驶开出地图边界,同样判负,给予-μ的惩罚;当无人艇因为海浪或者碰撞造成船体打翻,判负并给予-η的惩罚,最终如果任务胜利,会给予φ的终局奖励。
S2、基于DuelingNetwork算法,搭建智能体决策模块,针对本应用场景,优化神经网络结构,使决策模块具有短时记忆功能,可以让智能体在该模型下能更好的预测未来状态,具体包括以下子步骤:
S21、分别记录过去四个时刻下对接舱与无人艇的相对位置,作为智能体的部分可观测的状态信息,计算每个时刻下的三个观测点与无人艇的坐标之差:
Pit(x,y,z)=Qit(x,y,z)-Wt(x,y,z)
式中:Qit(x,y,z)为对接舱可观测点的坐标,其中i表示为对接舱的第i个可观测点,t表示其为第t时刻的坐标,Wt(x,y,z)表示第t时刻的无人艇坐标,Pit(x,y,z)表示t时刻对接舱的第i个可观测点与无人艇的坐标差值;
S22、将步骤S21所得的相对位置信息进行展平处理,赋值到神经网络的节点中,作为智能体神经网络输入层的输入;
S23、利用神经网络拟合优势函数以及最优状态价值函数,网络节点的输出可评价动作的好坏,根据动作的评价可选择当前状态下最优动作;
Dueling Network算法为DQN(Deeping Q-Learning)算法的一种改进,在DQN中,使用Q(s,a;ω)价值网络来拟合最优动作价值函数Q*(s,a),其中s表示为当前状态,a表示为输出动作,ω为神经网络的参数,神经网络的输出动作,即能使得Q*(s,a)取最大值的动作,该过程可用如下公式表示:
a*=argmaxaQ(s,a;ω)
式中:a*表示当前的最优动作,即为智能体最终选择的动作。
DQN采用TD(Temporal Difference Learning)算法更新其价值网络,通过构建TDtarget:yt来计算损失函数,从而实现神经网络的反向传播。根据价值网络的性质,可以构建如下公式:
Q(st,at;ω)≈rt+γQ(st+1,at+1;ω)
式中:Q(st,at;ω)表示该时刻对于未来奖励总和的期望,rt为实际获得的奖励,Q(st+1,at+1;ω)为下一时刻对于未来奖励总和的期望,γ为折扣因子,其取值在0到1之间,表示未来的奖励的重要性低于当前的奖励,设置rt+γQ(st+1,at+1;ω)该项为TD target,以此可构建损失函数Lt为:
传统的DQN算法会出现高估问题,在Dueling Network算法中,对其网络结构进行了改进,使用两个神经网络A(s,a;ωA),V(s;ωV)分别拟合优势函数A*(s,a)以及最优状态价值函数V*(s),ωA为拟合优势函数的神经网络参数,ωV为拟合最优状态价值函数的神经网络参数,其中优势函数,最优状态价值函数以及最优动作价值函数三者的关系可由下述公式表示:
A*(s,a)=Q*(s,a)-V*(s)
根据优势函数,最优状态价值函数以及最优动作价值函数三者的性质,经推导,可以建立神经网络之间的关系表达式,如下所示:
Q(s,a;ωA,ωV)=V(s;ωV)+A(s,a;ωA)-maxaA(s,a;ωA)
式中:maxa A(s,a;ωA)表示神经网络A(s,a;ωA)输出的最大值。最终,可通过A(s,a;ωA),V(s;ωV)两个神经网络的运算得到Q(s,a;ωA,ωV),代替DQN算法中单一的价值网络Q(s,a;ω),并可有效减少高估问题对模型的影响。
S24、使用优先经验回放机制,建立经验池,存入的信息为每一次通信所保存的四个时刻的环境状态、执行动作、环境奖励以及状态转移后的新的环境状态,训练神经网络时根据每条经验的重要性的不同,赋予不同采样概率,依照其概率分布随机抽取经验;
训练神经网络时,从经验池取出数据,但并不是每一条经验都同等重要。在本场景下,无人艇在较远位置处时,只需应对海浪干扰朝向目标位置行进即可,这种经验在本场景下更常见,其重要性相对较低;而当无人艇已经行驶到对接舱附近,要开始进行对接工作时,其既需面对海浪干扰,也需要避免与对接舱体产生多余的碰撞,相对而言难度更大,更难训练,应设以更高的权重值。
优先经验回放机制通过判断TD error的大小,来衡量每一条经验的重要性,TDerror可由下述公式表示:
δt=Q(st,at;ωA,ωV)-rt-γQ(st+1,at+1;ωA,ωV)
式中:δt为TD error,Q(st,at;ωA,ωV)为当前时刻的神经网络的最终预测结果,rt为此时观测到的实际奖励,γ为折扣因子,Q(st+1,at+1;ωA,ωV)表示下一时刻的神经网络的最终预测结果。
每条经验的采样频率可由下式表示:
Pt=ζ·(|δt|+ρ)
式中:Pt为该条经验的采样概率,ζ为超参数,是一个正实数的,|δt|为TD error的大小,ρ为一个很小的常数,避免|δt|为0时抽样概率为0。
S3、建立强化学习控制器与仿真环境的分布式通信系统,将控制器置于服务器端,仿真环境置于服务端,具体包括以下子步骤:
S31、将强化学习控制器置于服务器端,服务器端共包含两条线程,主线程接收来自于仿真环境四个时刻的环境信息,完成神经网络的前向传播,计算最终智能体所需执行动作的编号,并将该条经验存入经验池;线程2负责从经验池取出数据,完成神经网络的前向传播与反向传播,实现智能体的异步训练;
S32、将仿真环境置于客户端,每四分之一个通信时间,采样一次环境状态信息,并将相关信息存入状态数组,通信时接收服务器端传来的动作指令,并将状态数组传至服务器端;
具体的通信过程如下所示:
首先,服务器端主线程阻塞,等待接收客户端通信数据;线程2持续从经验池中取出数据训练神经网络,每当神经网络训练一轮结束时,线程2向主线程发送消息,如果此时主线程未接收到客户端通信数据,线程2开启下一轮训练;如果主线程已接收到客户端通信数据,线程2挂起,主线程接收数据并送入神经网络完成前向传播,计算动作评分,选择最优动作,将对应的动作编号发送至客户端,并将本轮状态信息,执行动作以及所获奖励存入经验池后,线程2唤醒,主线程阻塞,等待接收客户端的下一轮通信数据;其次,客户端接收服务器端传过来的动作编号,令无人艇每一帧都反复执行该动作直至下一次通信为止,设定每次通信间隔为0.8秒,客户端每0.2秒记录并计算一次环境状态信息,存入状态数组,在通信时将状态数组打包为结构体,传至服务器端;
S4、启动服务器与客户端,开启智能体的训练与控制,具体包括以下子步骤:
S41、启动服务器端,等待客户端连接;
S42、启动客户端,环境初始化,随机智能体生成位置;
S43、客户端向服务器发送连接请求,建立连接;
S44、开启AI控制,开启一轮任务的训练,服务器与客户端每隔0.8秒通信一次,交互数据;
S45、根据环境规则下的判定条件,判断训练是否结束,给予终局奖励或失败惩罚,开启下一轮训练并重复执行S41到S45,如果断开通信连接,执行S46;
S46、保存训练好的神经网络模型,方便应用于下次训练。
结合具体实施例,对考虑海浪干扰的无人艇回收分布式决策仿真系统做进一步说明:
图1为系统整体框架图,为服务器与客户端、决策模块与环境模块通信交互的全过程。首先服务器端主线程阻塞,等待接收客户端通信数据;线程2持续从经验池中取出数据训练神经网络,每当神经网络训练一轮结束时,线程2向主线程发送信号2,如果此时主线程未接收到客户端发过来的信号1,线程2开启下一轮训练;如果主线程已接收到客户端通信数据,则线程2挂起,主线程接收数据并送入神经网络完成前向传播,计算动作评分,选择最优动作,将对应的动作编号发送至客户端,并将本轮状态信息,执行动作以及所获奖励存入经验池后,线程2唤醒,主线程阻塞,等待接收客户端的下一轮通信数据。客户端一侧在接收到服务器端传过来的动作编号后,令无人艇每一帧都反复执行该动作直至下一次通信为止,设定每次通信间隔为0.8秒,客户端每0.2秒记录并计算一次环境状态信息,存入状态数组,在通信时将状态数组打包为结构体,传至服务器端。
图2为一维Gerstner波的示意图,其波峰尖锐,相比于正弦波而言更适宜模拟海浪波的效果。在虚幻引擎中,想要模拟出海浪的效果,需要将多个不同方向,不同速度,不同幅值以及不同频率的Gerstner波叠加在一起,最后实现出复杂的,动态的,可进行物理交互的海浪效果。
图3为智能体训练流程图,展示了每一轮智能体与环境交互时的判断过程。智能体在任务开始时,其出生点会随机被设置在最终回收位置附近的一定范围之内。在任务进程中,会检测无人艇与对接舱体产生的碰撞的力的大小,并且会记录下来一轮中累计产生的力的大小,当无人艇能够以最合适的角度进入对接舱时,会产生最小的碰撞力,对船体本身的损伤最小;任务的胜利条件为,在不造成无人艇的大量损伤的情况下,成功进入到对接舱之内完成对接;任务的失败条件分为以下几种:分别是船体被打翻,船开出了地图边界之外以及超出了一轮所应有的训练时间。当达成失败或胜利条件时,将会重置环境相关信息,无人艇随机位置生成,进行新一轮的训练。智能体在每一次与环境交互过程中,都会对上述情况进行判断,以及选择不同的分支,得到不同的奖励值。
图4为包含可观测点信息的对接舱三视图,对接舱上设置三个不共线的可观测点,作为环境中状态空间的一部分,使无人艇可观测到对接舱体的实时相对位姿,智能体得到对接舱的三个可观测点相对于无人艇自身的位置信息,便可通过其信息还原出整个对接舱的运动状态,最终则可以利用智能体的自主学习能力完成无人艇对接回收工作。
图5为可观测多个时刻信息的Dueling Network算法的神经网络示意图,通信过程中,决策模块首先会获得状态矩阵s,将状态矩阵s展平为一维的特征向量,并将其传入神经网络的输入层,神经网络可同时观测到四个时刻的状态信息,构建两个神经网络A(s,a;ωA),V(s;ωV)分别拟合优势函数A*(s,a)以及最优状态价值函数V*(s),最后通过计算得出最优的动作的预测,将预测的动作编号传给环境模块中。
图6为最终的训练界面效果图,展示的是客户端部分,六张子图展示了一轮训练的全过程,无人艇随机初始化生成位置,决策模块通过神经网络的预测控制船体运动,并将采集的经验数据放入经验池,无人艇会朝向对接舱方向行进,以获取更大的奖励,当最终完成对接时,智能体获取终局奖励,结束本轮的训练过程,并开启下一轮的训练。
Claims (1)
1.一种考虑海浪干扰的无人艇回收分布式决策仿真系统,其特征在于,包括以下步骤:
S1、在虚幻引擎中,搭建无人艇回收任务的仿真环境并完成对接舱体的3D建模,具体包括以下子步骤:
S11、在仿真环境中,利用多个Gerstner波的叠加,实现复杂海况中的海浪环境的模拟;
S12、将无人艇抽象为智能体,设计无人艇在离散动作空间下的运动控制器,动作空间中包含左转、右转、前进、后退、左前方向行进、右前方向行进、左后方向行进、右后方向行进以及无动作,共计九种可执行动作;
S13、对与无人艇实现对接的舱体建模,对接舱上设置三个不共线的可观测点,作为环境中状态空间的一部分,无人艇可观测到对接舱体的实时相对位姿;
S14、完成环境规则模块的搭建,包含智能体随机初始化生成位置、奖励机制设定、碰撞机制设定以及胜利和失败的判定条件设定;
具体奖励函数设置,可由如下公式表示:
式中:α,β,γ表示平衡距离变化与累计碰撞力对奖励影响的权重系数,-ε表示船体损毁惩罚系数,-μ表示出界惩罚系数,-η表示翻船惩罚系数,φ表示终局奖励系数,α,β,γ,ε,μ,η,φ均为可调超参数,是常数,dt表示本次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dt-1表示上一次通信过程无人艇与对接舱的多个可观测点最终的平均距离大小,dmax表示无人艇与最终目标点限制的最大距离,距离超出dmax代表无人艇超出地图边界,Fc表示本轮任务中无人艇与对接舱产生过的累计碰撞力,累计碰撞力越大,产生的惩罚越大,Fmax表示累计碰撞力的上限,当Fc大于Fmax,判定本轮为负,给予-ε的惩罚;当无人艇行驶开出地图边界,同样判负,给予-μ的惩罚;当无人艇因为海浪或者碰撞造成船体打翻,判负并给予-η的惩罚,如果最终任务胜利,给予φ的终局奖励;
S2、基于DuelingNetwork算法,搭建智能体决策模块,针对本应用场景,优化神经网络结构,使决策模块具有短时记忆功能,可以让智能体在该模型下能更好的预测未来状态,具体包括以下子步骤:
S21、分别记录过去四个时刻下对接舱与无人艇的相对位置,作为智能体的部分可观测的状态信息,计算每个时刻下三个观测点与无人艇的坐标之差:
Pit(x,y,z)=Qit(x,y,z)-Wt(x,y,z)
式中:Qit(x,y,z)为对接舱可观测点的坐标,其中i表示为对接舱的第i个可观测点,t表示其为第t时刻的坐标,Wt(x,y,z)表示第t时刻的无人艇坐标,Pit(x,y,z)表示t时刻对接舱的第i个可观测点与无人艇的坐标差值;
S22、将步骤S21所得全部相对位置信息展平处理,赋值到神经网络的节点中,作为智能体神经网络输入层的输入;
S23、利用神经网络拟合优势函数和最优状态价值函数,网络节点的输出可评价动作的好坏,根据动作的评价可选择当前状态下最优动作;
S24、使用优先经验回放机制,建立经验池,存入的信息为每一次通信所保存的四个时刻的环境状态、执行动作、环境奖励以及状态转移后新的环境状态,训练神经网络时根据每条经验重要性的不同,赋予不同采样概率,并且依照概率分布随机抽取经验;
S3、建立强化学习控制器与仿真环境的分布式通信系统,将控制器置于服务器端,仿真环境置于服务端,具体包括以下子步骤:
S31、将强化学习控制器置于服务器端,服务器端共包含两条线程,主线程接收来自于仿真环境四个时刻的环境信息,完成神经网络的前向传播,计算最终智能体所需执行动作的编号,并将该条经验存入经验池;线程2负责从经验池取出数据,完成神经网络的前向传播与反向传播,实现智能体的异步训练;
S32、将仿真环境置于客户端,每四分之一个通信时间,采样一次环境状态信息,并将相关信息存入状态数组,通信时接收服务器端传来的动作指令,并将状态数组传至服务器端;
S4、启动服务器与客户端,开启智能体训练与控制,具体包括以下子步骤:
S41、启动服务器端,等待客户端连接;
S42、启动客户端,环境初始化,随机初始化智能体的生成位置;
S43、客户端向服务器发送连接请求,建立连接;
S44、开启AI控制,开启一轮任务的训练,服务器与客户端每隔0.8秒通信一次,交互数据;
S45、根据环境规则下的判定条件,判断训练是否结束,给予终局奖励或失败惩罚,开启下一轮训练并重复执行S41到S45,如果断开通信连接,执行S46;
S46、保存训练好的神经网络模型,方便应用于下次训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211277205.5A CN115453914B (zh) | 2022-10-19 | 2022-10-19 | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211277205.5A CN115453914B (zh) | 2022-10-19 | 2022-10-19 | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115453914A CN115453914A (zh) | 2022-12-09 |
CN115453914B true CN115453914B (zh) | 2023-05-16 |
Family
ID=84311696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211277205.5A Active CN115453914B (zh) | 2022-10-19 | 2022-10-19 | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115453914B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116522802B (zh) * | 2023-06-29 | 2023-09-19 | 北京天航华创科技股份有限公司 | 一种基于气象数据的无人飞艇智能飞行规划方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587594A (zh) * | 2009-06-19 | 2009-11-25 | 大连海事大学 | 航海模拟器场景中的海浪构网算法 |
JP2017007628A (ja) * | 2015-06-16 | 2017-01-12 | 田中 文藏 | 小型艇揚収装置 |
CN108810467A (zh) * | 2018-06-11 | 2018-11-13 | 上海大学 | 一种基于遥控器的无人艇布放回收控制系统及方法 |
CN110658829A (zh) * | 2019-10-30 | 2020-01-07 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
CN112034711A (zh) * | 2020-08-31 | 2020-12-04 | 东南大学 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
CN113341965A (zh) * | 2021-05-31 | 2021-09-03 | 中国舰船研究设计中心 | 无人艇艉滑道自动引导回收的目标跟踪识别装置 |
CN114077258A (zh) * | 2021-11-22 | 2022-02-22 | 江苏科技大学 | 一种基于强化学习ppo2算法的无人艇位姿控制方法 |
CN114692520A (zh) * | 2022-03-03 | 2022-07-01 | 华南理工大学 | 一种面向多场景的无人艇虚拟仿真测试平台及测试方法 |
CN115016496A (zh) * | 2022-06-30 | 2022-09-06 | 重庆大学 | 基于深度强化学习的水面无人艇路径跟踪方法 |
CN115195942A (zh) * | 2022-08-10 | 2022-10-18 | 哈尔滨理工大学 | 一种具有减摇功能的无人艇收放装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8943008B2 (en) * | 2011-09-21 | 2015-01-27 | Brain Corporation | Apparatus and methods for reinforcement learning in artificial neural networks |
CN110673600B (zh) * | 2019-10-18 | 2021-05-28 | 武汉理工大学 | 面向无人船舶的自动驾驶集成系统 |
CN111694365B (zh) * | 2020-07-01 | 2021-04-20 | 武汉理工大学 | 一种基于深度强化学习的无人船艇编队路径跟踪方法 |
-
2022
- 2022-10-19 CN CN202211277205.5A patent/CN115453914B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101587594A (zh) * | 2009-06-19 | 2009-11-25 | 大连海事大学 | 航海模拟器场景中的海浪构网算法 |
JP2017007628A (ja) * | 2015-06-16 | 2017-01-12 | 田中 文藏 | 小型艇揚収装置 |
CN108810467A (zh) * | 2018-06-11 | 2018-11-13 | 上海大学 | 一种基于遥控器的无人艇布放回收控制系统及方法 |
CN110658829A (zh) * | 2019-10-30 | 2020-01-07 | 武汉理工大学 | 一种基于深度强化学习的群无人艇智能避碰方法 |
CN112034711A (zh) * | 2020-08-31 | 2020-12-04 | 东南大学 | 一种基于深度强化学习的无人艇抗海浪干扰控制方法 |
CN113341965A (zh) * | 2021-05-31 | 2021-09-03 | 中国舰船研究设计中心 | 无人艇艉滑道自动引导回收的目标跟踪识别装置 |
CN114077258A (zh) * | 2021-11-22 | 2022-02-22 | 江苏科技大学 | 一种基于强化学习ppo2算法的无人艇位姿控制方法 |
CN114692520A (zh) * | 2022-03-03 | 2022-07-01 | 华南理工大学 | 一种面向多场景的无人艇虚拟仿真测试平台及测试方法 |
CN115016496A (zh) * | 2022-06-30 | 2022-09-06 | 重庆大学 | 基于深度强化学习的水面无人艇路径跟踪方法 |
CN115195942A (zh) * | 2022-08-10 | 2022-10-18 | 哈尔滨理工大学 | 一种具有减摇功能的无人艇收放装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115453914A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131786B (zh) | 基于多智能体强化学习的目标探测与分配方法及装置 | |
CN113033119B (zh) | 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法 | |
CN111240345B (zh) | 基于双bp网络增强学习框架的水下机器人轨迹跟踪方法 | |
CN111079936B (zh) | 基于强化学习的波动鳍推进水下作业机器人追踪控制方法 | |
CN114952828A (zh) | 一种基于深度强化学习的机械臂运动规划方法和系统 | |
Song et al. | Guidance and control of autonomous surface underwater vehicles for target tracking in ocean environment by deep reinforcement learning | |
CN115016496A (zh) | 基于深度强化学习的水面无人艇路径跟踪方法 | |
Chaffre et al. | Sim-to-real transfer with incremental environment complexity for reinforcement learning of depth-based robot navigation | |
CN109740741B (zh) | 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法 | |
CN115453914B (zh) | 一种考虑海浪干扰的无人艇回收分布式决策仿真系统 | |
CN111290270A (zh) | 一种基于Q-learning参数自适应技术的水下机器人反步速度和艏向控制方法 | |
CN117590867B (zh) | 基于深度强化学习的水下自主航行器接驳控制方法和系统 | |
Fang et al. | Autonomous underwater vehicle formation control and obstacle avoidance using multi-agent generative adversarial imitation learning | |
CN117215197B (zh) | 四旋翼飞行器在线轨迹规划方法、系统、电子设备及介质 | |
Zhang et al. | Intelligent vector field histogram based collision avoidance method for auv | |
CN117301047A (zh) | 双臂空间机器人视觉伺服协调控制方法及装置 | |
CN114840928B (zh) | 一种基于深度学习的水下航行器集群运动仿真方法 | |
CN115933712A (zh) | 基于深度强化学习的仿生鱼领导者—跟随者编队控制方法 | |
Cao et al. | A realtime Q-Learning method for unmanned surface vehicle target tracking | |
CN113050420B (zh) | 基于s面控制和td3的auv路径跟踪方法及系统 | |
Sola et al. | Evaluation of a deep-reinforcement-learning-based controller for the control of an autonomous underwater vehicle | |
CN114609925A (zh) | 水下探索策略模型的训练方法及仿生机器鱼水下探索方法 | |
Chen et al. | Imitation learning from imperfect demonstrations for AUV path tracking and obstacle avoidance | |
Zang et al. | Underwater gliders linear trajectory tracking: The experience breeding actor-critic approach | |
CN115808931B (zh) | 水下机器人运动控制方法、装置、系统、设备和存储介质 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240514 Address after: 230000 Woye Garden Commercial Building B-1017, 81 Ganquan Road, Shushan District, Hefei City, Anhui Province Patentee after: HEFEI JINGLONG ENVIRONMENTAL PROTECTION TECHNOLOGY Co.,Ltd. Country or region after: China Address before: 150080 No. 52, Xuefu Road, Nangang District, Heilongjiang, Harbin Patentee before: HARBIN University OF SCIENCE AND TECHNOLOGY Country or region before: China |