首页 / 专利库 / 风能 / 风力发电场 / 风力发电机组 / 偏航 / 基于强化学习的波动鳍推进水下作业机器人追踪控制方法

基于强化学习波动鳍推进下作业机器人追踪控制方法

阅读:620发布:2020-05-08

专利汇可以提供基于强化学习波动鳍推进下作业机器人追踪控制方法专利检索,专利查询,专利分析的服务。并且本 发明 属于 水 下作业 机器人 自主控制领域,具体涉及一种基于 强化学习 的 波动 鳍推进水下作业机器人追踪控制方法、系统、装置,旨在解决Actor网络在训练过程中收敛性和 稳定性 较差,导致目标追踪 精度 较低的问题。本系统方法包括获取t时刻水下作业机器人的系统状态信息及待 跟踪 目标在水下作业机器人随体 坐标系 下的 位姿 信息,构建 马 尔科夫决策过程的状态信息st;基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动 频率 at;基于at对水下作业机器人的波动鳍进行控制,令t=t+1,进行循环。本发明通过PID 控制器 监督Actor网络训练,提升了网络的稳定性和收敛性,提高了目标追踪的精度。,下面是基于强化学习波动鳍推进下作业机器人追踪控制方法专利的具体信息内容。

1.一种基于强化学习波动鳍推进下作业机器人追踪控制方法,其特征在于,该方法包括以下步骤:
步骤S100,获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建尔科夫决策过程的状态信息st;
步骤S200,基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
步骤S300,基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转步骤S100;
其中,所述Actor-Critic强化学习模型包括Actor网络和Critic网络,其通过离线训练得到,训练方法为:
步骤A100,获取预设的训练数据集中t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
步骤A200,获取t时刻的监督训练概率、随机监督概率,若所述监督训练概率大于所述随机监督概率,则基于st,通过PID控制器获取波动鳍的波动频率at,否则基于st,通过Actor网络获取波动鳍的波动频率at;
步骤A300,基于st和at,分别通过Actor-Critic强化学习模型中的Critic网络和预设的奖励函数获取状态-动作评价值Q*(st,at)、奖励值rt;
步骤A400,基于Q*(st,at),通过确定性策略梯度算法更新所述Actor网络的参数;并基于Q*(st,at)、rt,更新所述Critic网络的参数;
步骤A500,令t=t+1,循环执行步骤A100-步骤A400,直至t大于预设的训练次数,得到训练好的Actor网络。
2.根据权利要求1所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,所述Actor网络包括四个卷积层;第一个卷积层和第二个卷积层的神经元个数为200,激活函数为Relu6函数,第三个卷积层的神经元个数为10,激活函数为Relu函数,第四个卷积层神经元个数为2,激活函数为tanh函数。
3.根据权利要求1所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,所述Critic网络包含五个卷积层,第一、二、三个卷积层的神经元个数为200,激活函数为Relu6函数,第四个卷积层的神经元个数为10,激活函数为Relu函数,第五个卷积层神经元个数为1,激活函数为线性激活函数。
4.根据权利要求3所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,步骤A200中“获取t时刻的监督训练概率、随机监督概率”,其方法为:
PROt=PRO0*0.999t
PROr=max(rand(1),0.01)
其中,PROt为t时刻的监督训练概率,PROr为随机监督概率,PRO0为预设的初始监督训练概率。
5.根据权利要求1所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,步骤A200中“通过PID控制器获取波动鳍的波动频率at”,其方法为:所述波动鳍的波动频率包括左波动鳍波动频率、右波动鳍波动频率;所述左波动鳍波动频率、所述右波动鳍波动频率,其计算方法为:
f1=ρr1fr1+ρr2fx1
f2=ρx1fr2+ρx2fx2
fr2=-fr1
fx2=fx1
其中,f1、f2为左、右波动鳍最终的波动频率,fr1、fr2为左、右波动鳍偏航旋转的波动频率,fx1、fx2为左、右波动鳍前进的波动频率,ρr1、ρr2、ρx1、ρx2为左、右波动鳍用于旋转和前进波动频率的权重系数,Pi,Ii,Di,i∈{r,x}为PID参数,Δψ为相对方位误差, 为相对方位误差微分,Δx为相对位置的横向误差, 为相对位置的横向误差微分。
6.根据权利要求1所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,步骤A200中“通过Actor网络获取波动鳍的波动频率at”,其方法为:所述波动频率at为叠加了随机噪声的波动频率,该波动频率满足以下公式的叠加原则:
ct=max(c0*0.999t,0.01)
其中,c0为预设的初始噪声标准差,ct为t时刻噪声标准差,μ(t)是以at为均值、以ct为标准差的随机高斯噪声, 为噪声变量。
7.根据权利要求1所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,其特征在于,所述预设的奖励函数为:
r=r0-ρ1||Δψ||2-ρ2||ΔPo||2-νTρ3ν
其中,r为奖励值,r0为预设的常值奖励,||Δψ||2为相对方位误差2范数,||ΔPo||2为相T
对位置误差2范数,ν为速度向量,v为正则项,ρ1、ρ2、ρ3为权重系数。
8.一种基于强化学习的波动鳍推进水下作业机器人追踪控制系统,其特征在于,该系统包括构建模、获取波动频率模块、循环模块;
所述构建模块,配置为获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
所述获取波动频率模块,配置为基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
所述循环模块,配置为基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模块。
9.一种存储装置,其中存储有多条程序,其特征在于,所述程序应用由处理器加载并执行以实现权利要求1-7任一项所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。
10.一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;其特征在于,所述程序适用于由处理器加载并执行以实现权利要求1-7任一项所述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。

说明书全文

基于强化学习波动鳍推进下作业机器人追踪控制方法

技术领域

[0001] 本发明属于水下作业机器人自主控制领域,具体涉及一种基于强化学习的波动鳍推进水下作业机器人追踪控制方法、系统、装置。

背景技术

[0002] 水下机器人的自主控制是当前研究的热点和难点。随着人类从海洋探测向海洋开发的转换,对水下作业机器人的自主控制以及自主作业提出了新的挑战。水下作业机器人的自主作业对于水下考古、水下捕捞、水下救援、水下工程等都具有重大意义。这将替代潜水员或者遥控ROV作业,实现水下长时间连续作业,提高水下作业的效率。
[0003] 通常情况下,由于水下作业机器人不规则性和水下环境的复杂性,水下作业机器人很难建立准确水动学模型,因此基于模型的机器人控制方法适应性较弱。强化学习依赖于系统的当前状态,给出将要执行的动作,然后过渡到下一个状态,是一种典型的无模型控制方法,对于复杂的水下环境和未知扰动具有较强的适应性。但强化学习的训练是基于数据的经验学习,成功的经验对于训练至关重要。在强化学习初始训练阶段,由于输出效果不佳,且探索成功控制行为具有一定的偶然性,造成据库中成功的经验不足,从而导致强化学习模型中的Actor网络收敛速度慢,学习效率低,直接影响到后续追踪控制的精度

发明内容

[0004] 为了解决现有技术中的上述问题,即为了解决现有基于强化学习的追踪控制方法由于强化学习模型中的Actor网络在训练过程中收敛性和稳定性较差,导致目标追踪精度较低的问题,本发明第一方面,提出了一种基于强化学习的波动鳍推进水下作业机器人追踪控制方法,该方法包括:
[0005] 步骤S100,获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建尔科夫决策过程的状态信息st;
[0006] 步骤S200,基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
[0007] 步骤S300,基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模
[0008] 其中,所述Actor-Critic强化学习模型包括Actor网络和Critic网络,其通过离线训练得到,训练方法为:
[0009] 步骤A100,获取训练数据集;并基于所述训练数据集中t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
[0010] 步骤A200,获取t时刻的监督训练概率、随机监督概率,若所述监督训练概率大于所述随机监督概率,则基于st,通过PID控制器获取波动鳍的波动频率at,否则基于st,通过Actor网络获取波动鳍的波动频率at;
[0011] 步骤A300,基于st和at,分别通过Actor-Critic强化学习模型中的Critic网络和预设的奖励函数获取状态-动作评价值Q*(st,at)、奖励值rt;
[0012] 步骤A400,基于Q*(st,at),通过确定性策略梯度算法更新所述Actor网络的参数;并基于Q*(st,at)、rt,更新所述Critic网络的参数;
[0013] 步骤A500,令t=t+1,循环执行步骤A100-步骤A400,直至t大于预设的训练次数,得到训练好的Actor网络。
[0014] 在一些优选的实施方式中,所述Actor网络包括四个卷积层;第一个卷积层和第二个卷积层的神经元个数为200,激活函数为Relu6函数,第三个卷积层的神经元个数为10,激活函数为Relu函数,第四个卷积层神经元个数为2,激活函数为tanh函数。
[0015] 在一些优选的实施方式中,所述Critic网络包含五个卷积层,第一、二、三个卷积层的神经元个数为200,激活函数为Relu6函数,第四个卷积层的神经元个数为10,激活函数为Relu函数,第五个卷积层神经元个数为1,激活函数为线性激活函数。
[0016] 在一些优选的实施方式中,步骤A200中“获取t时刻的监督训练概率、随机监督概率”,其方法为,:
[0017] PROt=PRO0*0.999t
[0018] PROr=max(rand(1),0.01)
[0019] 其中,PROt为t时刻的监督训练概率,PROr为随机监督概率,PRO0为预设的初始监督训练概率。
[0020] 在一些优选的实施方式中,步骤A200中“通过PID控制器获取波动鳍的波动频率at”,其方法为:所述波动鳍的波动频率包括左波动鳍波动频率、右波动鳍波动频率;所述左波动鳍波动频率、所述右波动鳍波动频率,其计算方法为:
[0021] f1=ρr1fr1+ρr2fx1
[0022] f2=ρx1fr2+ρx2fx2
[0023] fr2=-fr1
[0024]
[0025] fx2=fx1
[0026]
[0027] 其中,f1、f2为左、右波动鳍最终的波动频率,fr1、fr2为左、右波动鳍偏航旋转的波动频率,fx1、fx2为左、右波动鳍前进的波动频率,ρr1、ρr2、ρx1、ρx2为左、右波动鳍用于旋转和前进波动频率的权重系数,Pi,Ii,Di,i∈{r,x}为PID参数,Δψ为相对方位误差, 为相对方位误差微分,Δx为相对位置的横向误差, 为相对位置的横向误差微分。
[0028] 在一些优选的实施方式中,步骤A200中“通过Actor网络获取波动鳍的波动频率at”,其方法为:所述波动频率at为叠加了随机噪声的波动频率,该波动频率满足以下公式的叠加原则:
[0029]
[0030] ct=max(c0*0.999t,0.01)
[0031] 其中,c0为预设的初始噪声标准差,ct为t时刻噪声标准差,μ(t)是以at为均值、以ct为标准差的随机高斯噪声, 为噪声变量。
[0032] 在一些优选的实施方式中,所述预设的奖励函数为:
[0033] r=r0-ρ1||Δψ||2-ρ2||ΔPo||2-νTρ3ν
[0034] 其中,r为奖励值,r0为预设的常值奖励,||Δψ||2为相对方位误差2范数,||ΔPo||2为相对位置误差2范数,νT为速度向量,v为正则项,ρ1、ρ2、ρ3为权重系数。
[0035] 本发明的第二方面,提出了一种基于强化学习的波动鳍推进水下作业机器人追踪控制系统,该系统包括获取模块、获取波动频率模块、循环模块;
[0036] 所述构建模块,配置为获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
[0037] 所述获取波动频率模块,配置为基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
[0038] 所述循环模块,配置为基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模块。
[0039] 本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序应用由处理器加载并执行以实现上述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。
[0040] 本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适用于执行各条程序;存储装置,适用于存储多条程序;所述程序适用于由处理器加载并执行以实现上述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。
[0041] 本发明的有益效果:
[0042] 本发明通过PID控制器监督Actor网络训练,提升了强化学习模型的稳定性和收敛性,提高了目标追踪的精度。本发明在强化学习的初始阶段,通过PID控制器生成波动鳍的波动频率,生成大量控制经验,实现对Actor网络进行有效的监督,后期通过Actor网络生成波动鳍的波动频率。根据Critic网络对大量的控制经验进行有效的评价,再通过确定性策略梯度算法对Actor网络进行更新,加速了强化学习模型的收敛性,提升了强化学习模型的稳定性。
[0043] 同时本发明结合几种不同的策略对Actor网络进行训练,提升强化学习模型的泛化能力,提高了目标追踪的精度。附图说明
[0044] 通过阅读参照以下附图所做的对非限制性实施例所做的详细描述,本申请的其他特征、目的和优点将会变得更明显。
[0045] 图1是本发明一种实施例的基于强化学习的波动鳍推进水下作业机器人追踪控制方法的流程示意图;
[0046] 图2是本发明一种实施例的Actor-Critic强化学习模型的训练方法的流程示意图;
[0047] 图3是本发明一种实施例的基于强化学习的波动鳍推进水下作业机器人追踪控制系统的框架示意图;
[0048] 图4是本发明一种实施例的波动鳍推进水下作业机器人目标追踪控制的示例图;
[0049] 图5是本发明一种实施例的基于PID控制器的Actor-Critic网络更新的示例图;
[0050] 图6是本发明一种实施例的Actor网络和Critic网络结构图的示例图;
[0051] 图7是本发明一种实施例的不同训练策略对比的示例图;
[0052] 图8是本发明一种实施例的对移动目标稳定追踪的示例图。

具体实施方式

[0053] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0055] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0056] 本发明的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,如图1和图2所示,包括以下步骤:
[0057] 步骤S100,获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
[0058] 步骤S200,基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
[0059] 步骤S300,基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模块;
[0060] 其中,所述Actor-Critic强化学习模型包括Actor网络和Critic网络,其通过离线训练得到,训练方法为:
[0061] 步骤A100,获取训练数据集;并基于所述训练数据集中t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
[0062] 步骤A200,获取t时刻的监督训练概率、随机监督概率,若所述监督训练概率大于所述随机监督概率,则基于st,通过PID控制器获取波动鳍的波动频率at,否则基于st,通过Actor网络获取波动鳍的波动频率at;
[0063] 步骤A300,基于st和at,分别通过Actor-Critic强化学习模型中的Critic网络和预*设的奖励函数获取状态-动作评价值Q(st,at)、奖励值rt;
[0064] 步骤A400,基于Q*(st,at),通过确定性策略梯度算法更新所述Actor网络的参数;并基于Q*(st,at)、rt,更新所述Critic网络的参数;
[0065] 步骤A500,令t=t+1,循环执行步骤A100-步骤A400,直至t大于预设的训练次数,得到训练好的Actor网络。
[0066] 为了更清晰地对本发明基于强化学习的波动鳍推进水下作业机器人追踪控制方法进行说明,下面结合附图对本发明方法一种实施例中各步骤进行展开详述。
[0067] 下文实施例中,先对Actor-Critic强化学习模型的训练方法进行介绍,再对采用Actor网络获取波动鳍的波动频率的基于强化学习的波动鳍推进水下作业机器人追踪控制方法进行说明。
[0068] 1、Actor-Critic强化学习模型的训练方法
[0069] 步骤A100,获取预设的训练数据集中t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st。
[0070] 由于波动鳍推进水下作业机器人在横滚方向和俯仰方向具有自稳定性,假设本体的运动自由度为4,其运动状态可定义为χ=[x,y,z,ψ]T,其中,x,y,z是水下作业机器人的三维坐标,ψ是偏航角,T表示转置,对应的速度向量为ν=[u,v,w,rz]T,其中,u表示前进速度,rz表示旋转速度,w为垂直方向的运动速度,ν为侧向移动速度。因此,水下作业机器人系统的动力学方程如公式(1)所示:
[0071]
[0072] 其中,U是系统控制量,ξ是未知的扰动,是系统状态微分。
[0073] 待跟踪目标物体通过机载双目视觉进行检测并且定位,在随体坐标系下其可见范围有限。如图4中四面体Oc1ABCD是双目视觉有效的检测范围,前舱、后舱分别为机器上的前后两个舱体,OBXBYBZB为随体坐标系,Oc1Xc1Yc1Zc1为相机坐标系,Pc为作业空间的中心位置,机器人本体控制的目标是使得目标物体能够处于视野的中心区域,A1B1C1D1-A2B2C2D2所示的作业空间之内,以便于机械臂的抓取作业。目前由于作业目标较小,无需考虑目标的姿态。故上述趋近目标物体追踪控制问题如公式(2)所示:
[0074] |g(xo,yo,zo,ψo)-g(χ)|<ε  (2)
[0075] 其中,xo,yo,zo是待跟踪目标的位置,ψo是待跟踪目标的方位,ε是预设的容错范围。
[0076] 本实施例中,本文中本体控制的目标是控制水下作业机器人稳定追踪目标物,使其相对于机器人稳定在指定的区域之内。考虑机器人在二维平面内的运动控制,则待跟踪目标在机器人随体坐标系下的位置和偏角为Po=[xo,yo,ψo]T,作业空间的中心位置为Pc=[xc,yc,ψc]T。此外状态中需要包含u,rz,g,其中,g∈{0,1}用以判别是否接近目标。机器人一般在运动过程中不需要侧移运动,因此可以定义马尔科夫决策过程的状态信息MDP如公式(3)所示:
[0077] s=[g,xo-xc,yo-yc,ψo-ψc,u,w,rz]T          (3)
[0078] 上式可简写为公式(4):
[0079]
[0080] 其中,Δx,Δy,Δψ为X轴位置差量、Y轴位置差量、偏角差量, 为位置差量,νT为速度向量。
[0081] 同时,本发明中在预设的训练数据集为了消除训练数据的相关性,需构建经验池进行经验回顾(Experience Replay),改善训练效果。水下作业机器人在当前的系统状态信息st,采取动作at,即波动鳍的波动频率,然后观测到下一时刻的状态信息st+1,同时获得当前时刻奖励值rt,用状态转移元组{st,at,st+1,rt}表示一条经验。然后从历史经验库中抽取一定数量的数据进行训练。
[0082] 步骤A200,获取t时刻的监督训练概率、随机监督概率,若所述监督训练概率大于所述随机监督概率,则基于st,通过PID控制器获取波动鳍的波动频率at,否则基于st,通过Actor网络获取波动鳍的波动频率at。
[0083] 强化学习的训练是基于数据的经验学习,成功的经验对于网络的训练至关重要。在强化学习初始训练阶段,由于评价(Critic)网络和策略(Actor)网络的输出效果不佳,且探索成功控制行为具有一定的偶然性,导致数据库中成功的经验不足,如此而引起收敛速度慢,学习效率低,甚至出现训练发散。古语:“师傅领进,修行靠个人”,在本发明构建了监督控制器来扮演师傅的角色,在强化学习的初始阶段发挥主要作用,生成大量的成功控制经验,对策略网络进行有效地监督引导,使其自身生成成功的控制经验,然后逐步过渡到自我学习阶段。在进行自我学习过程中,监督控制器以小概率对强化学习进行干涉,对策略网络生成的动作(波动鳍的波动频率)进行扰动,进一步优化策略网络,直到“青出于蓝而胜于蓝”,然后监控控制器将不再进行监督。
[0084] 本文中采用的监督控制器为基于状态观测的PID控制器,构建过程如公式(5)(6)(7)(8)(9)(10)所示:
[0085]
[0086] fr2=-fr1                                  (6)
[0087]
[0088] fx2=fx1                                    (8)
[0089] f1=ρr1fr1+ρr2fx1                             (9)
[0090] f2=ρx1fr2+ρx2fx2                            (10)
[0091] 其中,Pi,Ii,Di,i∈{r,x}是PID参数,fr1,fr2是左、右波动鳍偏航角旋转的波动频率,fx1,fx2是左、右波动鳍前进的波动频率,f1,f2为左、右波动鳍最终的波动频率,ρr1,ρr2,ρx1,ρx2为左、右波动鳍用于旋转和前进波动频率的权重系数。
[0092] 基于“师傅领进门,修行靠个人”的思想,本发明所设计的监督策略如公式(11)(12)(13)所示:
[0093] PROt=PRO0*0.999t                         (11)
[0094] PROr=max(rand(1),0.01)                      (12)
[0095]
[0096] 其中,PRO0表示预设的初始监督训练概率,PROt表示t时刻监督训练概率,随着训练步数增大而指数递减。PROr表示随机监督概率,其值大于t时刻监督训练概率PROt时,采用Actor网络输出波动鳍的波动频率,否则采用监督PID控制器输出波动鳍的波动频率。
[0097] 基于PID控制器的Actor-Critic的强化学习模型的训练过程的示意图如图5所示,即步骤A100-步骤A500,其中图5中,n(at,ε)为对at的随机噪声,z-1为时间延迟。
[0098] 强化学习的关键之一在于探索(Exploration)与利用(Exploitation)的权衡。Actor网络输出控制策略,是建立在经验数据的基础之上,只有充分的数据才会赋予Actor网络充足的泛化能力。在本发明中Actor网络输出上叠加随机噪声,由此对Actor网络进行泛化能力训练,如公式(14)(15)所示:
[0099] ct=max(c0*0.999t,0.01)                       (14)
[0100]
[0101] 其中,c0是为初始噪声标准差,ct为t时刻噪声标准差,其值随着训练步数指数递减,μ(t)以at为均值,以ct为标准差的随机高斯噪声, 为噪声变量。
[0102] 步骤A300,基于st和at,分别通过Actor-Critic强化学习模型中的Critic网络和预设的奖励函数获取状态-动作评价值Q*(st,at)、奖励值rt。
[0103] 强化学习的马尔科夫决策过程包含四个部分,分别为状态空间S、动作空间A、奖励函数S×A→R:r(s,a)以及状态转移概率分布p,在满足马尔科夫性的前提下,系统下一时刻的状态仅由当前状态和动作决定,即p(xt|xt-1,at-1),累计奖励函数定义为未来奖励折扣因子加权组合,如公式(16)所示:
[0104]
[0105] 其中,γ∈(0,1]为折扣因子,Rt是从t时刻开始的累计奖励,r(si,ai)为奖励值,i为下标,N为总的时间步数。
[0106] 在学习过程中,强化学习所训练的网络与机器人相互作用,在动作空间选择at∈A,然后系统从状态xt∈X变化到xt+1∈X,与此同时获得t时刻的奖励rt,用于评估在状态xt下采取at的优良程度,奖励函数用于指导目标是否完成,或行为是否最优等。因此控制问题的目标就是获得最优策略π*,使其获得最大奖励J*,J*的计算过程如公式(17)所示:
[0107]
[0108] 其中,P为策略空间,Eπ表示所有策略的平均期望,最终系统的控制量为u=a,J(π)为策略对应的奖励值,π为策略。
[0109] 因此上述问题的关键之处在于如何定义MDP过程的状态和单步奖励函数。定义马尔科夫决策过程的状态信息MDP如公式(3)(4),奖励函数需要综合考虑位置误差和偏角误差,而且期望机器人优先调节运动方向,然后再向目标趋近,此外还需要考虑机器人功耗问题,综合上述指标,定义奖励函数如公式(18)所示:
[0110] r=r0-ρ1||Δψ||2-ρ2||ΔPo||2-νTρ3ν               (18)
[0111] 其中,r为奖励值,r0为预设的常值奖励,当目标任务完成时为1,否则为0,||Δψ||2为相对方位误差2范数,|ΔPo||2为相对位置误差2范数,v是正则项,用来减小系统的能耗,ρ1,ρ2,ρ3为权重系数。
[0112] 在求解MDP问题中,经典的评价函数为状态-行为值函数(又称为Q函数),其定义如公式(19)所示:
[0113]
[0114] 其中,K为总的步数,k为当前步数。
[0115] 机器人从状态s开始,并且执行最优策略π*,Q*(s,a)表示获得的最大累计奖励值,因此最优值函数满足贝尔曼最优原理,如公式(20)所示:
[0116]
[0117] 其中,at=π*(st),当通过强化学习迭代训练获得最优Q*后,即可获得最优的策略,π*(s)=arg maxπQ*(s,a)。
[0118] 在本发明中,Actor网络和Critic网络结构如图6所示,Actor网络为图6(a)所示,隐藏层1和隐藏层2的神经元个数为200,采用Relu6激活函数,隐藏层3的神经元个数为10,激活函数为Relu,最后输出层神经元个数为2,采用tanh激活函数,把输出量归一化到[-1,1]之间,隐含层为卷积层。Critic网络为图6(b)所示,输入包含状态s和动作a。隐藏层0和隐藏层1的神经元个数为200。状态s和动作a分别经过卷积层0和卷积层1输出并求和进行融合,经过Relu6激活函数,然后输入到隐藏层2,其神经元个数为200,激活函数为Relu6。隐藏层3的神经元个数为10,激活函数为Relu,最后输出层神经元个数为1,采用线性激活函数,输出状态-动作评价值Q。其中图6(b)中,隐藏层0、1、2、3、4分别为第一、二、三、四、五个卷积层。
[0119] 步骤A400,基于Q*(st,at),通过确定性策略梯度算法更新所述Actor网络的参数;并基于Q*(st,at)、rt,更新所述Critic网络的参数。
[0120] 在水下作业机器人对目标物体的追踪控制中,机器人的系统状态和控制量都是连续变量,MDP的状态也是连续变量,由此MDP状态空间和动作空间也都是连续域。对连续域的强化学习问题,策略梯度方法(PG)被广泛应用,其核心思想是朝着最大化奖励函数的方向改变策略函数的参数来改善控制策略的性能,这种方法采用独立近似逼近函数,是一种随机策略方案,计算效率不高。为了解决这一问题,采用确定的状态-行为映射函数a=μθ(s),即确定性策略梯度算法DPG,其中θ是策略函数的参数。通过累计奖励函数的正梯度更新参数θ来获得累计奖励最大化,更新过程如公式(21)所示:
[0121]
[0122] 其中,αθ为加权系数, 为梯度变量。
[0123] DPG算法推导 的形式如公式(22)所示:
[0124]
[0125] 其中,M为迭代次数。
[0126] 其中,Qμ表示在策略函数μ(a|s)下的Q值函数,进一步推导可得公式(23):
[0127]
[0128] 上文中策略函数和Q值评价函数都具备很强的非线性,采用深度神经网络来进行非线性函数的拟合是一种有效的方法。在本节分别设计了Actor网络和Critic网络用来近似策略函数μθ(a|s)和评价函数QW(s,a),两个网络的参数分别用θ和W表示,对于Q值函数,其参数更新方程如公式(24)(25)所示:
[0129] δt=rt+γQW(st+1,at+1)-QW(st,at)              (24)
[0130] Wt+1=Wt+αWδt▽WQW(st,at))                 (25)
[0131] 其中,δt为奖励中间变量, 为Q对W的梯度。
[0132] 在本实施例中,Actor网络的训练是依赖于Critic网络,因此准确的评价有利于Actor网络的训练。因此在Actor网络和Critic网络的训练过程中,目标Critic网络的更新速度要快于目标Actor网络的更新,由此用更加优秀的评价来对Actor网络进行训练和更新。Actor网络和Critic网络异步更新策略如式(26)(27)所示:
[0133] θ′=τθ+(1-τ)θ′,if mod(t,FA)=0                 (26)
[0134] W′=τW+(1-τ)W′,if mod(t,FQ)=0                (27)
[0135] 其中,θ′为目标Actor网络参数,W′为目标Critic网络参数,τ为更新系数,FA,FQ分别是目标Actor网络和目标Critic网络的更新周期,通常情况下FQ<FA,mod(·,·)为取余函数。
[0136] 步骤A500,令t=t+1,循环执行步骤A100-步骤A400,直至t大于预设的训练次数,得到训练好的Actor网络。
[0137] 在本实施例中,依次选取预设的训练数据集中的数据对Actor网络进行训练。
[0138] 本发明针对经验回顾(Experience Replay)策略、基于PID控制器的Actor-Critic的强化学习模型的训练策略、Actor网络和Critic网络异步更新策略、随机噪声策略,选取五种组合方式的训练策略进行训练并进行测试,如表1所示,
[0139] 表1
[0140] 表1中√符号代表选中的策略,基于Actor-Critic的强化学习模型和表1中选取的5中不同训练策略进行网络训练,训练回合数为2000,每个回合训练步数为600,经验库的大小为10000,批处理的大小为32,Actor网络和Critic网络的学习率为0.001,权重遗忘因子γ=0.9,设定初始化目标在随体坐标系下的位置为p=[-82,220]mm,结果如图7所示,从图中可以看出,策略5训练的网络具有最高的累计奖励和最短的控制步数,结果表明本节提出的监督训练策略能够有效地改善训练效果。随机噪声的加入有益于提高模型的泛化能力,但是策略4相对于策略5性能出现轻微的降低。在模型训练的中后期,对于Actor网络,监督控制器成为一种随机噪声,因此监督控制器本身就能够提供模型足够的泛化能力,随机噪声成为影响模型精度的不确定因素。
[0141] 水下作业机器人相对于作业目标能够较高稳定性的保持相对固定位置是实现精准作业的重要前提,本发明针对运动目标进行稳定追踪和保持,以验证本章所提算法的稳定性能。作业目标通过双目视觉进行检测和定位,经过状态转化之后输入到策略网络,最后生成波动频率,控制机器人实现对目标的追踪。如图8所示,其中图中水下视角是从水下相机进行观测,陆上视角是从陆上相机进行观测,左相机和右相机分别为机载的双目左右相机。
[0142] 2、基于强化学习的波动鳍推进水下作业机器人追踪控制方法
[0143] 本发明的基于强化学习的波动鳍推进水下作业机器人追踪控制方法,包括以下步骤:
[0144] 步骤S100,获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st。
[0145] Actor-Critic强化学习模型是一种针对马尔科夫决策过程(MDP)的动态规划求解过程,因此需要将实际问题转化为马尔科夫决策过程问题,进而通过强化学习的方法进行求解。因此,在本实施例中,根据t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st。
[0146] 步骤S200,基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at。
[0147] 在本实施例中,基于构建的马尔科夫决策过程的状态信息st,通过离线训练好的Actor网络获取波动鳍的波动频率,控制水下机器人的推进跟踪。
[0148] 步骤S300,基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模块。
[0149] 在本实施例中,基于波动鳍的波动频率对水下作业机器人的波动鳍进行控制,令t=t+1,继续进行目标的跟踪。
[0150] 本发明第二实施例的一种基于强化学习的波动鳍推进水下作业机器人追踪控制系统,如图3所示,包括:构建模块100、获取波动频率模块200、循环模块300;
[0151] 所述构建模块100,配置为获取t时刻水下作业机器人的系统状态信息及待跟踪目标在所述水下作业机器人随体坐标系下的位姿信息,构建马尔科夫决策过程的状态信息st;
[0152] 所述获取波动频率模块200,配置为基于st,通过Actor-Critic强化学习模型中的Actor网络获取波动鳍的波动频率at;
[0153] 所述循环模块300,配置为基于at对水下作业机器人的波动鳍进行控制,令t=t+1,跳转构建模块。
[0154] 所述技术领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的系统的具体的工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0155] 需要说明的是,上述实施例提供的基于强化学习的波动鳍推进水下作业机器人追踪控制系统,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
[0156] 本发明第三实施例的一种存储装置,其中存储有多条程序,所述程序适用于由处理器加载并实现上述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。
[0157] 本发明第四实施例的一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的基于强化学习的波动鳍推进水下作业机器人追踪控制方法。
[0158] 所述技术领域的技术人员可以清楚的了解到,未描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实例中的对应过程,在此不再赘述。
[0159] 本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0160] 术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
[0161] 术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
[0162] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈