基于深度强化学习的水下机器人轨迹控制方法及控制系统技术方案

技术编号:16101205 阅读:46 留言:0更新日期:2017-08-29 22:15
本发明专利技术公开了一种基于深度强化学习的水下机器人轨迹控制方法及控制系统,包括学习阶段和应用阶段;在学习阶段,通过仿真器模拟水下机器人的运作过程,采集仿真器所模拟的正在运作的水下机器人的数据,包括各时刻的状态和各时刻对应下一时刻的目标状态,通过这些数据针对决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络四个神经网络进行学习;在应用阶段,获取到水下机器人当前时刻的状态以及下一时刻的目标状态,然后输入至学习阶段最终学习得到的决策神经网络中,通过决策神经网络计算出水下机器人当前时刻需要的推进力。本发明专利技术可以实现水下机器人运动轨迹的精确控制。

【技术实现步骤摘要】
基于深度强化学习的水下机器人轨迹控制方法及控制系统
本专利技术涉及水下机器人控制技术,特别涉及一种基于深度强化学习的水下机器人轨迹控制方法及控制系统。
技术介绍
近年来,水下机器人在海洋探索和海洋环境保护等多个海洋科学领域得到了广泛的应用,其地位日益重要.通过对水下机器人运动轨迹的精准控制,人们可以安全地完成一些危险系数较高的任务,例如勘探海底石油和修理海底管道等.目前水下机器人在指定轨迹上完成任务仍普遍存在着手动操作的方式,手动操作对需要人投入大量的精力,劳动强度大,尤其当水流变化或者是外界干扰时,仅靠人工操作不仅操作复杂并且难以保证水下机器人的轨迹精度。实现水下机器人运动轨迹精准的自主控制将大大节省人力物力,然而,由于水下环境极其复杂,水下机器人的运动极易受到水流、流体阻力的影响,同时水下机器人的自动控制问题具有极强的非线性性质,导致水下机器人动力学模型构建难度较大,在各种水域中缺乏普适性.许多传统的控制方式诸如PID,模糊算法,滑模算法都曾被应用于水下机器人控制领域.虽然传统的控制方法可以使得水下机器人在执行轨迹跟踪任务时达到一定的精度,但仍不能满足水下作业对高精确性的要求,而本文档来自技高网...
基于深度强化学习的水下机器人轨迹控制方法及控制系统

【技术保护点】
一种基于深度强化学习的水下机器人轨迹控制方法,其特征在于,包括学习阶段和应用阶段;在所述学习阶段,通过仿真器模拟水下机器人的运作过程,并且采集仿真器所模拟的正在运作的水下机器人的数据,根据这些数据针对决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络进行学习;具体步骤如下:S1、首先建立四个神经网络,分别作为决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络,并且针对四个神经网络的神经网络参数进行初始化;其中神经网络的参数指的是神经网络中各层神经元的连接权重;同时建立一个经验数据缓冲区,并进行初始化;然后针对上述初始化后的四个神经网络,从初始时刻开始,进入步骤S2开始学...

【技术特征摘要】
1.一种基于深度强化学习的水下机器人轨迹控制方法,其特征在于,包括学习阶段和应用阶段;在所述学习阶段,通过仿真器模拟水下机器人的运作过程,并且采集仿真器所模拟的正在运作的水下机器人的数据,根据这些数据针对决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络进行学习;具体步骤如下:S1、首先建立四个神经网络,分别作为决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络,并且针对四个神经网络的神经网络参数进行初始化;其中神经网络的参数指的是神经网络中各层神经元的连接权重;同时建立一个经验数据缓冲区,并进行初始化;然后针对上述初始化后的四个神经网络,从初始时刻开始,进入步骤S2开始学习;S2、实时采集仿真器所模拟的正在运作的水下机器人在当前时刻的状态;然后根据当前时刻的状态和下一时刻的目标状态,利用当前决策神经网络计算当前时刻需要的推进力;在获取到当前时刻需要的推进力后,将当前时刻需要的推进力实施至仿真器所模拟的正在运作的水下机器人上;然后采用水下机器人的动力学模型计算出水下机器人下一时刻的状态;并且根据当前时刻需要的推进力、下一时刻的状态以及下一时刻的目标状态计算出的当前时刻的奖励信号值;S3、将步骤S2中获取到的当前时刻的状态、当前时刻的奖励信号值以及下一时刻的目标状态组成一个经验存入经验数据缓冲区;S4、判断经验数据缓冲区当前存储的数据量是否大于指定阈值,若是,则从经验数据缓冲区中随机选取出N个经验,然后执行步骤S5,否则执行步骤S6;S5、更新当前决策神经网络、当前辅助决策神经网络、当前评价神经网络和当前辅助评价神经网络的神经网络参数,具体为:S51、针对于步骤S4中选取出的N个经验中的每个经验进行以下处理:将每个经验中的某时刻状态、某时刻的下一时刻的目标状态输入至当前决策神经网络,通过当前决策神经网络输出某时刻的推进力;同时将每个经验中的某时刻状态、某时刻下一时刻的目标状态输入至当前辅助决策神经网络,通过当前辅助决策神经网络输出某时刻的推进力;然后将每个经验中的某时刻的状态和上述当前决策神经网络输出的某时刻的推进力输入至当前评价神经网络中,将当前评价神经网络的输出均作为当前评价神经网络的评价值;同时将每个经验中的某时刻状态和当前辅助决策神经网络获取输出的某时刻的推进力输入至当前辅助评价神经网络中,将当前辅助评价神经网络的输出均作为当前辅助评价神经网络的评价值;根据当前评价神经网络和当前辅助评价神经网络输出的评价值,利用评价神经网络的损失函数计算出当前评价神经网络的梯度;然后根据当前评价神经网络的梯度对当前评价神经网络的神经网络参数进行更新,得到更新后的评价神经网络,再根据更新后的评价神经网络对当前辅助评价神经网络的神经网络参数进行更新,得到更新后的辅助评价神经网络;S52、根据当前评价神经网络的评价值,利用决策神经网络的损失函数计算当前决策神经网络的梯度,然后根据当前决策神经网络的梯度对当前决策神经网络的神经网络参数进行更新,得到更新后的决策神经网络,同时根据更新后的决策神经网络的神经网络参数针对辅助决策神经网络的神经网络参数进行更新,得到更新后的辅助决策神经网络,然后进入步骤S6;所述更新后的决策神经网络和更新后的辅助决策神经网络供下一时刻使用;S6、当下一时刻到来时,即下一时刻为当前时刻时,判定该时刻是否到达时刻T;若否,则返回步骤S2;若是,则表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络均完成一次训练,进入步骤S7;S7、判断决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络当前的训练次数定值M是否超过定值m;若否,则将到来的下一时刻重设为初始时刻,然后返回步骤S2,开始决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络的下一次训练;若是,则计算决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成最近的m次训练时通过步骤S2所计算得到的奖励信号值的标准差,并且判断其是否小于第一阈值,若是,则决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络学习结束;若否,则将到来的下一时刻重设为初始时刻,然后返回步骤S2;在所述应用阶段:首先获取水下机器人当前时刻的状态以及下一时刻的目标状态,然后由上述学习阶段学习完成的决策神经网络根据水下机器人当前时刻的状态以及下一时刻的目标状态计算出当前时刻需要输出至水下机器人的推进力。2.根据权利要求1所述的基于深度强化学习的水下机器人轨迹控制方法,其特征在于,所述学习阶段还包括如下步骤:S8、在水下机器人的运行过程中实时采集各个时刻的数据,针对于步骤S7中学习完成的决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络,进行以下再学习,具体为:S81、首先初始化经验数据缓冲区;将步骤S7中学习完成的决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络分别作为初始神经网络;然后针对上述初始神经网络,从初始时刻开始,进入步骤S82开始学习;S82、判断当前时刻是否为初始时刻;若是,则采集水下机器人在当前时刻的推进力以及下一时刻的目标状态,然后进入步骤S84;若否,则进入步骤S83;S83、采集水下机器人当前时刻的状态、当前时刻的推进力以及下一时刻的目标状态;并且获取水下机器人上一时刻的推进力;根据水下机器人上一时刻的推进力、当前时刻的状态以及当前时刻的目标状态计算上一时刻的奖励信号值;然后将上一时刻的状态、上一时刻的奖励信号值以及当前时刻的目标状态组成一个经验后存储进经验数据缓冲区;S84、判断经验数据缓冲区当前存储的数据量是否大于指定阈值,若是,则从经验数据缓冲区中随机选取出N个经验,然后执行步骤S85,否则执行步骤S86;S85、更新当前决策神经网络、当前辅助决策神经网络、当前评价神经网络和当前辅助评价神经网络的神经网络参数,具体为:S851、针对于步骤S84中选取出的N个经验中的每个经验进行以下处理:将每个经验中的某时刻状态、某时刻的下一时刻的目标状态输入至当前决策神经网络,通过当前决策神经网络输出某时刻的推进力;同时将每个经验中的某时刻状态、某时刻下一时刻的目标状态输入至当前辅助决策神经网络,通过当前辅助决策神经网络输出某时刻的推进力;然后将每个经验中的某时刻的状态和上述当前决策神经网络输出的某时刻的推进力输入至当前评价神经网络中,将当前评价神经网络的输出均作为当前评价神经网络的评价值;同时将每个经验中的某时刻状态和当前辅助决策神经网络获取输出的某时刻的推进力输入至当前辅助评价神经网络中,将当前辅助评价神经网络的输出均作为当前辅助评价神经网络的评价值;根据当前评价神经网络和当前辅助评价神经网络输出的评价值,利用评价神经网络的损失函数计算出当前评价神经网络的梯度;然后根据当前评价神经网络的梯度对当前评价神经网络的神经网络参数进行更新,得到更新后的评价神经网络,再根据更新后的评价神经网络对当前辅助评价神经网络的神经网络参数进行更新,得到更新后的辅助评价神经网络;S852、根据当前评价神经网络的评价值,利用决策神经网络的损失函数计算当前决策神经网络的梯度,然后根据当前决策神经网络的梯度对当前决策神经网络的神经网络参数进行更新,得到更新后的决策神经网络,同时根据更新后的决策神经网络的神经网络参数针对辅助决策神经网络的神经网络参数进行更新,得到更新后的辅助决策神经网络,然后进入步骤S86;所述更新后的决策神经网络和更新后的辅助决策神经网络供下一时刻使用;S86、当下一时刻到来时,即下一时刻作为当前时刻时,判定该时刻是否到达时刻T;若否,则返回步骤S82;若是,则表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络均完成一次训练,进入步骤S87;S87、判断决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络从步骤S82所述的初始神经网络开始进行再学习时至当前的训练次数X是否超过定值x;若否,则将到来的下一时刻重设为初始时刻,然后返回步骤S82,开始决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络的下一次训练;若是,则计算出决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成最近的x次训练时通过步骤S83所计算得到的奖励信号值的标准差,并且判断其是否小于第一阈值,若是,则决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络学习结束;若否,则将到来的下一时刻重设为初始时刻,然后返回步骤S82。3.根据权利要求2所述的基于深度强化学习的水下机器人轨迹控制方法,其特征在于,所述步骤S51和步骤S851中,利用评价神经网络的损失函数计算出当前评价神经网络的梯度为:yi=ri+γQ'(si,μ'(si,θt')|ωt');其中Loss为评价神经网络的损失函数,Loss为:其中μ(si,θt)是指选取出的N个经验中第i个经验的某时刻的状态si和某时刻的下一时刻的目标状态输入至当前决策神经网络时通过当前决策神经网络输出的某时刻的推进力;Q(si,μ(si,θt)|ωt)是选取出的N个经验中第i个经验的某时刻的状态si以及上述当前决策神经网络输出的某时刻的推进力μ(si,θt)作为当前评价神经网络的输入时得到的当前评价神经网络的输出;θt为当前决策神经网络的神经网络参数,ωt为当前评价神经网络的神经网络参数;其中μ'(si,θt')是指选取出的N个经验中第i个经验的某时刻的状态si和某时刻的下一时刻的目标状态输入至当前辅助决策神经网络时通过当前辅助决策神经网络输出的某时刻的推进力;Q'(si,μ'(si,θt')|ωt')是选取出的N个经验中第i个经验的某时刻的状态si以及上述当前辅助决策神经网络输出的某时刻的推进力μ'(si,θt')作为当前辅助评价神经网络的输入时得到的当前辅助评价神经网络的输出;θt'为当前辅助决策神经网络的神经网络参数,ωt'为当前辅助评价神经网络的神经网络参数;ri是选取出的N个经验中第i个经验中某时刻的奖励信号值,γ是折扣系数,取值范围在0和1之间;所述步骤S51和步骤S851中根据当前评价神经网络的梯度对当前评价神经网络的神经网络参数进行更新,得到:其中ωt为当前评价神经网络的神经网络参数;ωt+1为当前评价神经网络的神经网络参数更新后的值,对应为更新后的评价神经网络的神经网络参数;α为评价神经网络的神经网络参数学习率,取值范围在0和1之间;所述步骤S51和步骤S851中根据更新后的评价神经网络对当前辅助评价神经网络的神经网络参数进行更新,得到:ω't+1=ρωt+1+(1-ρ)ω't;其中ωt'为当前辅助评价神经网络的神经网络参数;ω't+1为当前辅助评价神经网络的神经网络参数更新后的值,对应为更新后的辅助评价神经网络的神经网络参数;ρ是辅助决策神经网络和辅助评价神经网络的神经网参数的学习率,取值范围在0和1之间;所述步骤S52和步骤S852中根据当前评价神经网络的评价值,利用决策神经网络的损失函数计算当前决策神经网络的梯度为:其中J为决策神经网络的损失函数,J为:J=Q(si,μ(si,θt)|ωt);所述步骤S52和步骤S852中根据当前决策神经网络的梯度对当前决策神经网络的神经网络参数进行更新,得到:其中θt为当前决策神经网络的神经网络参数;θt+1为当前决策神经网络的神经网络参数更新后的值,对应为更新后的决策神经网络的神经网络参数;β为决策神经网络的神经网络参数学习率,取值范围在0和1之间;所述步骤S52和步骤S852根据更新后的决策神经网络的神经网络参数针对辅助决策神经网络的神经网络参数进行更新,得到:θ't+1=ρθt+1+(1-ρ)θ't;其中θ't为当前辅助决策神经网络的神经网络参数;θ't+1为当前辅助决策神经网络的神经网络参数更新后的值,对应为更新后的辅助决策神经网络的神经网络参数。4.根据权利要求2所述的基于深度强化学习的水下机器人轨迹控制方法,其特征在于,所述步骤S7中计算决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成最近的m次训练时计算得到的奖励信号值的标准差为:其中:其中表示第j次训练过程中当前时刻t的奖励信号值;表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中下一时刻t+1的状态,表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中下一时刻t+1的目标状态,其中表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中计算出的当前时刻t需要的推进力;是决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成第定值M-定值m至第m次总共最近的m次训练时计算得到的所有奖励信号值的均值;ε为第一阈值;t=1即为初始时刻;所述步骤S87中计算决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成最近的x次训练时计算得到的奖励信号值的标准差为:其中:其中表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中当前时刻t的状态,表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中当前时刻t的目标状态,其中表示决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络在第j次训练过程中采集的上一时刻t-1的推进力;表示第j次训练过程中计算出的上一时刻t-1的奖励信号值;为决策神经网络、辅助决策神经网络、评价神经网络和辅助评价神经网络完成第X-x至第X总共最近的x次训练时得到的所有奖励信号值的均值。5.一种用于实现权利要求1所述的基于深度强化学习的水下机器人轨迹控制方法的基于深度强化学习的水下机器人轨迹控制系统,其特征在于,包括仿真器、第一数据采集模块、第一奖励计算模块、第一经验数据缓冲区、第一决策模块和通讯模块;所述仿真器,用于模拟水下机器人的运作过程,用于接收决策模块发送的水下机器人当前时刻需要的推进力,并且将该推进力实施至所模拟的正在运行的水下机器人上,然后采用水下机器人的动力学模型计算出水下机器人下一时刻的状态;所述第一数据采集模块,用于学习阶段的各时刻,通过通讯模块实时采集仿真器所模拟的正在运作的水下机器人在当前时刻的状态和下一时刻的目标状态,并且传送至决策模块,同时采集仿真器采用水下机器人的动力学模型计算出的水下机器人下一时刻的状态;用于在应用阶段的各时刻,通过通讯模块实时采集水下机器人在当前时刻的状态和下一时刻的目标状态;所述第一奖励计算模块,用...

【专利技术属性】
技术研发人员:马琼雄余润笙石振宇黄晁星李腾龙张庆茂
申请(专利权)人:华南师范大学
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1