[发明专利]基于强化学习技术的自主水下机器人无模型控制方法有效
申请号: | 202010087508.5 | 申请日: | 2020-02-11 |
公开(公告)号: | CN111240344B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 孙延超;秦洪德;张佩;王卓;曹禹;景锐洁;张宇昂;杜雨桐 | 申请(专利权)人: | 哈尔滨工程大学 |
主分类号: | G05D1/06 | 分类号: | G05D1/06 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 时起磊 |
地址: | 150001 黑龙江*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 强化 学习 技术 自主 水下 机器人 模型 控制 方法 | ||
1.一种基于双神经网络强化学习技术的自主水下机器人无模型控制方法,其特征在于,利用基于双BP神经网络强化学习的控制器对自主水下机器人进行控制,所述控制器包括基于双BP神经网络Q学习速度控制器;
所述速度控制器包含一个当前BP神经网络和一个目标BP神经网络,利用Q学习算法,实现当前BP神经网络和目标BP神经网络对应的整体控制器的学习;
速度控制器和艏向控制器中的当前BP神经网络中均包含一个状态BP神经网络和一个动作BP神经网络;
当前BP神经网络中的状态BP神经网络的输入为速度的偏差和偏差变化率,经过Q学习算法,输出为k个纵向推力所对应的Q值,所以状态BP神经网络也称Q值网络;
当前BP神经网络中的动作BP神经网络的输入为速度的偏差和偏差变化率,经过Q学习算法,输出为k个纵向推力所对应的动作值;
目标BP神经网络包含一个状态BP神经网络,目标BP神经网络的状态BP神经网络与当前BP神经网络中的状态BP神经网络结构相同,目标BP神经网络的状态BP神经网络输入为当前状态st执行最优动作at后所得到的下一时刻的状态st+1,并且目标BP神经网络的状态BP神经网络参数总是为当前BP神经网络状态BP神经网络前10步所更新的神经网络参数;
速度控制器以Q学习的方式进行更新,从而实现自主水下机器人的速度控制;速度控制器以Q学习的方式进行更新的过程包括以下步骤:
步骤1、初始化所有BP神经网络的权值为[-1,1]的随机数,并设置α、γ、ε;α为Q学习学习率;γ为Q学习折扣率;ε为Q学习贪婪率;
步骤2、观察当前状态st;
步骤3、基于当前BP神经网络输出ak和Q(st,ak),其中k∈[1,10];
步骤4、根据ε贪婪策略选择动作at并执行动作at;
步骤5、对Q值进行拟合,得到Qm(st,at);
步骤6、观察新状态st+1和即时回报rt+1;
步骤7、基于目标BP神经网络的状态BP神经网络输出
步骤8、计算实际值与期望值的偏差;所述计算实际值与期望值的偏差过程如下:
得到TD误差后,需要根据TD误差分别计算出当前BP神经网络的k个动作和k个Q值的偏差,计算公式分别如下:
式中,k∈{1,2,...,10},ΔQ(st,at)为最优动作对应的最大Q值的偏差,即TD误差,Qm(st,at)为拟合函数进行拟合后的最大输出Q值,Qm-1(st+1,a′)为目标BP神经网络的输出值,γ为折扣率,ΔQm(st,ak)为第k个Q值的偏差,Δak(st)为第k个动作的偏差;
步骤9、更新当前BP神经网络的Q值网络参数;所述更新当前BP神经网络的Q值网络参数的过程包括以下步骤:
有了实际输出值与期望输出值的偏差后,通过梯度下降和链式规则对当前BP神经网络的参数进行更新,并且针对Q值和动作两个方面的更新,Q值和动作的损失函数分别如下:
式中,EQ(t)和Ea(t)分别表示第k个Q值和动作的损失函数;
步骤10、更新当前BP神经网络中的动作BP神经网络参数;
n步迭代后,更新目标BP神经网络Q值网络参数;
步骤11、返回步骤2,重复执行,直至满足结束条件回合结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工程大学,未经哈尔滨工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010087508.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种绿色环保型城市景观设计方法
- 下一篇:一种尼龙齿轮的加工工艺