CN111176122A - 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法 - Google Patents

一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法 Download PDF

Info

Publication number
CN111176122A
CN111176122A CN202010087510.2A CN202010087510A CN111176122A CN 111176122 A CN111176122 A CN 111176122A CN 202010087510 A CN202010087510 A CN 202010087510A CN 111176122 A CN111176122 A CN 111176122A
Authority
CN
China
Prior art keywords
neural network
current
underwater robot
action
value
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.)
Granted
Application number
CN202010087510.2A
Other languages
English (en)
Other versions
CN111176122B (zh
Inventor
王卓
张佩
秦洪德
孙延超
邓忠超
张宇昂
景锐洁
曹禹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Engineering University
Original Assignee
Harbin Engineering University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN202010087510.2A priority Critical patent/CN111176122B/zh
Publication of CN111176122A publication Critical patent/CN111176122A/zh
Application granted granted Critical
Publication of CN111176122B publication Critical patent/CN111176122B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,它属于水下机器人控制器参数调节技术领域。本发明解决了传统Q学习方法进行控制器参数调节时的学习效率低,以及传统反步法进行控制器参数调节时存在的参数不易实时在线调整的问题。本发明利用基于双BP神经网络Q学习算法与反步法相结合的方式实现对反步法控制器参数的自主在线调节,以满足控制参数能够实时在线调整的要求。同时由于引入了双BP神经网络以及经验回放池,其强大的拟合能力使得基于双BP神经网络Q学习参数自适应反步控制方法能够大大降低训练次数,以提升学习效率,在训练较少次数的情况下达到更好的控制效果。本发明可以应用于水下机器人控制器参数的调节。

Description

一种基于双BP神经网络Q学习技术的水下机器人参数自适应 反步控制方法
技术领域
本发明属于水下机器人控制器参数调节技术领域,具体涉及一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法。
背景技术
水下机器人作为海洋资源探测和海底任务执行的重要工具和手段,其运动控制性能的好坏在很大程度上会影响任务完成的效果。目前,一些传统常规控制器以鲁棒性和可扩展性强的特点,在工业环境中得到了广泛的应用,但这些控制器通常不能得到最佳的调优,并不能达到令人满意的性能,在实际应用中,控制器的参数经过人工频繁调试后便固化在控制器中,无法适应被控过程中环境的变化,如何对控制器参数进行实时自主整定,以达到最优控制性能成为一个突出的问题。自适应控制可以通过对对象特征以及输入输出量的在线观测,按照一定的性能指标实现对控制器参数和性能的在线调节,而强化学习可以通过与环境的不断交互,积累经验和知识,在环境动态和底层未知的情况下接收强化信号,以此提高控制器的自适应能力,两者具有相通之处。
然而,传统强化学习的学习机制依赖于Q值表,只能对离散的状态和动作空间进行学习,在进行状态和动作空间划分时势必会导致Q值表过大,使得智能体在学习过程中会因无法遍历所有状态和动作空间而无法收敛,因此传统Q学习的学习效率较低。同时,在利用传统反步法进行控制器参数的调节时,存在着控制器参数不易进行实时在线调整的问题。
发明内容
本发明的目的是为解决传统Q学习方法进行控制器参数调节时的学习效率低,以及传统反步法进行控制器参数调节时存在的参数不易实时在线调整的问题,而提出了一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法。
本发明为解决上述技术问题采取的技术方案是:一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,该方法包括以下步骤:
步骤一、基于反步法分别设计水下机器人的速度控制系统和艏向控制系统,再根据设计的速度控制系统以及艏向控制系统确定速度控制系统的控制律以及艏向控制系统的控制律;
水下机器人的速度控制系统为:
Figure BDA0002382570040000021
其中,m为水下机器人的质量,
Figure BDA0002382570040000022
和Xu|u|均为无量纲水动力参数,u为水下机器人纵向速度,|u|为u的绝对值,
Figure BDA0002382570040000023
为水下机器人纵向加速度,τu为推进器纵向推力,v为水下机器人横向速度,r为水下机器人偏航角速度;
水下机器人速度控制系统的控制律为:
Figure BDA0002382570040000024
其中,ku为速度控制系统的控制律的待调节控制增益;
水下机器人的艏向控制系统为:
Figure BDA0002382570040000025
其中,
Figure BDA0002382570040000026
为实际艏向角的一阶导数,
Figure BDA0002382570040000027
为r的一阶导数,Nr
Figure BDA0002382570040000028
Nr|r|均为无量纲水动力参数,|r|为r的绝对值,τr为转艏力矩,Iz为水下机器人绕运动坐标系z轴的转动惯量;
所述运动坐标系为:以水下机器人的重心为原点O,以指向水下机器人的艏向方向为x轴正向,以指向水下机器人的右舷方向为为y轴正向,以指向水下机器人的底部方向为z轴正向,且x轴、y轴、z轴符合右手螺旋定则的坐标系;
水下机器人艏向控制系统的控制律为:
Figure BDA0002382570040000029
其中,
Figure BDA00023825700400000210
为艏向控制系统的控制律的第一个待调节控制增益,
Figure BDA00023825700400000211
为艏向控制系统的控制律的第二个待调节控制增益;
步骤二、建立由第一当前BP神经网络和第一目标BP神经网络组成的双BP神经网络模型一,其中,第一当前BP神经网络与第一目标BP神经网络的结构相同;
第一当前BP神经网络输入的状态向量为St={s1u,s2u},其中,s1u为t时刻速度的偏差,s2u为t时刻速度的偏差变化率,输出为动作值集合k′u,再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值k″u
第一目标BP神经网络输入的状态向量为:当前状态St执行最优动作at后所得到的下一时刻的状态St+1,第一目标BP神经网络根据输入的状态向量确定输出;
步骤三、第一当前BP神经网络输出的实际Q值为Qm(St,at),第一目标BP神经网络输出的目标Q值为
Figure BDA0002382570040000031
第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值为rt+1(St+1,a),利用Qm(St,at)、
Figure BDA0002382570040000032
和rt+1(St+1,a)来计算TD误差,再利用计算出的TD误差对第一当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第一当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对第一当前BP神经网络继续进行训练;
且每经过N个时刻后,第一目标BP神经网络对第一当前BP神经网络的参数进行复制,实现对第一当前BP神经网络和第一目标BP神经网络参数的更新;
步骤四、每个时刻的状态向量依次输入第一当前BP神经网络后,利用步骤二中每个时刻的状态向量对应的最优动作值,计算出在每个时刻速度控制系统的控制律的待调节控制增益ku
步骤五、建立由第二当前BP神经网络和第二目标BP神经网络组成的双BP神经网络模型二,其中,第二当前BP神经网络与第二目标BP神经网络的结构相同;
第二当前BP神经网络输入的状态向量为
Figure BDA0002382570040000033
其中,
Figure BDA0002382570040000034
为t时刻航向角的偏差,
Figure BDA0002382570040000035
为t时刻航向角的偏差变化率,
Figure BDA0002382570040000036
为t时刻水下机器人实时速度,输出为动作值集合
Figure BDA0002382570040000037
Figure BDA0002382570040000038
再利用ε贪婪策略从动作值集合
Figure BDA0002382570040000039
Figure BDA00023825700400000310
中选择出当前状态向量对应的最优动作值
Figure BDA00023825700400000311
Figure BDA00023825700400000312
第二目标BP神经网络输入的状态向量为:当前状态S′t执行最优动作a′t后所得到的下一时刻的状态S′t+1,第二目标BP神经网络根据输入的状态向量确定输出;
步骤六、第二当前BP神经网络输出的实际Q值为Qm(S′t,a′t),第二目标BP神经网络输出的目标Q值为
Figure BDA0002382570040000041
第二当前BP神经网络在当前状态S′t下选择最优动作a′t并执行后得到的奖赏值为rt+1(S′t+1,a),利用Qm(S′t,a′t)、
Figure BDA0002382570040000042
和rt+1(S′t+1,a)来计算TD误差,再利用计算出的TD误差对第二当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第二当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对第二当前BP神经网络继续进行训练;
且每经过N个时刻后,第二目标BP神经网络对第二当前BP神经网络的参数进行复制,实现对第二当前BP神经网络和第二目标BP神经网络参数的更新;
步骤七、当每个时刻的状态向量依次输入第二当前BP神经网络后,利用步骤五中每个时刻的状态向量对应的最优动作值,计算出在每个时刻艏向控制系统的控制律的待调节控制增益
Figure BDA0002382570040000043
Figure BDA0002382570040000044
本发明的有益效果是:本发明提出了一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,本发明利用基于双BP神经网络Q学习算法与反步法相结合的方式实现对反步法控制器参数的自主在线调节,以满足控制参数能够实时在线调整的要求。同时由于引入了双BP神经网络以及经验回放池,其强大的拟合能力使得基于双BP神经网络Q学习参数自适应反步的控制方法能够大大降低训练次数,以提升学习效率,在训练较少次数的情况下达到更好的控制效果。
通过利用BP神经网络的强大拟合能力对状态空间进行连续输入,以解决反步法控制器参数不易实时在线调整问题,以此提高反步法控制器在复杂环境下的适应能力,同时提高了传统Q学习的学习效率。
附图说明
图1是本发明水下机器人的速度控制器结构框图;
图中,et为误差向量;
图2是本发明水下机器人的艏向控制器结构框图;
图3是BP神经网络中输入输出形式的示意图;
图中,s为输入状态向量,Q(s,a1)、Q(s,a2)、…、Q(s,ak)为输出Q值;
图4是惯性坐标系和运动坐标系的示意图;
图中,w为垂向速度,p为横摇角速度,q为纵倾角速度;
图5是有干扰情况下,基于双BP神经网络Q学习参数自适应反步速度控制器训练后的效果对比图;
图6是有干扰情况下,基于双BP神经网络Q学习参数自适应反步艏向控制器训练后的效果对比图;
图7为速度控制器在有外界干扰情况下输出的纵向推力图;
图8是为艏向控制器在有外界干扰情况下输出的偏航力矩图;
图9是为在有外界干扰情况下,速度控制器的控制增益ku在一个控制周期内的变化曲线图;
图10为在有外界干扰情况下,艏向控制器的第一个控制增益
Figure BDA0002382570040000051
在一个控制周期内的变化曲线图;
图11为在有外界干扰情况下,艏向控制器的第二个控制增益
Figure BDA0002382570040000052
在一个控制周期内的变化曲线图;
图12为在一个控制周期内,速度控制律的偏差和随着训练次数的变化曲线图;
图13为在一个控制周期内,艏向控制律的偏差和随着训练次数的变化曲线图。
具体实施方式
具体实施方式一:本实施方式所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,所述方法具体包括以下步骤:
步骤一、基于反步法分别设计水下机器人的速度控制系统和艏向控制系统,再根据设计的速度控制系统以及艏向控制系统确定速度控制系统的控制律以及艏向控制系统的控制律;
水下机器人的速度控制系统如公式(1)所示:
Figure BDA0002382570040000053
其中,m为水下机器人的质量,
Figure BDA0002382570040000054
和Xu|u|均为无量纲水动力参数,u为水下机器人纵向速度,|u|为u的绝对值,
Figure BDA0002382570040000055
为水下机器人纵向加速度,τu为推进器纵向推力,v为水下机器人横向速度,r为水下机器人航向速度;
定义速度偏差e为:e=ud-u,ud为水下机器人纵向期望速度,并对e求导得,
Figure BDA0002382570040000061
为速度偏差变化率(在t时刻,e即为s1u
Figure BDA0002382570040000062
即为s2u),
Figure BDA0002382570040000063
为水下机器人纵向期望加速度,考虑公式(2)的Lyapunov正定函数(李雅普诺夫正定函数)V:
Figure BDA0002382570040000064
对公式(2)求导得:
Figure BDA0002382570040000065
其中,
Figure BDA0002382570040000066
为V的导数;
为了保证速度偏差能够渐进收敛至零,只需满足Lyapunov稳定性理论,即保证V正定的同时
Figure BDA0002382570040000067
负定,因此,根据式(3),对纵向推力τu进行设计,得到水下机器人速度控制器的控制律;
则水下机器人速度控制系统的控制律为:
Figure BDA0002382570040000068
其中,ku为速度控制系统的控制律的待调节控制增益;
将式(4)代入式(3),可得:
Figure BDA0002382570040000069
其中ku为速度控制器待调节的控制增益,由此可以看出,只要设计速度控制增益ku为正数,即可满足Lyapunov稳定性理论,从而保证
Figure BDA00023825700400000610
是负定的,最终保证速度控制器渐近稳定。
水下机器人的艏向控制系统如公式(5)所示:
Figure BDA00023825700400000611
其中,
Figure BDA00023825700400000612
为实际艏向角的一阶导数,
Figure BDA00023825700400000613
为r的一阶导数,Nr
Figure BDA00023825700400000614
Nr|r|均为无量纲水动力参数,|r|为r的绝对值,τr为转艏力矩,Iz为水下机器人绕运动坐标系z轴的转动惯量;
所述运动坐标系为:以水下机器人的重心为原点O,以指向水下机器人的艏向方向为x轴正向,以指向水下机器人的右舷方向为为y轴正向,以指向水下机器人的底部方向为z轴正向,且x轴、y轴、z轴符合右手螺旋定则的坐标系;
定义艏向偏差z1和中间偏差z2分别为:
Figure BDA0002382570040000071
z2=α-r,其中,
Figure BDA0002382570040000072
为期望艏向角,
Figure BDA0002382570040000073
为实际艏向角,α为中间虚拟控制量;
并对z1求导得:
Figure BDA0002382570040000074
考虑公式(6)所示的Lyapunov候选函数V1
Figure BDA0002382570040000075
对公式(6)求导得:
Figure BDA0002382570040000076
为了保证V1渐近收敛,需要保证
Figure BDA0002382570040000077
负定,因此,设计中间虚拟控制量
Figure BDA0002382570040000078
并将α代入式(7)得:
Figure BDA0002382570040000079
其中,
Figure BDA00023825700400000710
为艏向控制系统的控制律的第一个待调节控制增益;
从式(8)可以发现,只要设计控制增益
Figure BDA00023825700400000711
为正数,即可满足Lyapunov稳定性条件,从而使系统z1被镇定。
对于z2,定义Lyapunov正定函数V2如下:
Figure BDA00023825700400000712
对V2进行求导得:
Figure BDA00023825700400000713
将式(8)以及z1
Figure BDA00023825700400000714
z2
Figure BDA00023825700400000715
代入式(10)得:
Figure BDA00023825700400000716
其中,
Figure BDA00023825700400000717
Figure BDA00023825700400000718
的二阶导数,τr为转艏力矩;
要令
Figure BDA0002382570040000081
满足负定条件,则需要对偏航力矩τr进行设计,则水下机器人艏向控制系统的控制律如公式(12)所示:
Figure BDA0002382570040000082
其中,
Figure BDA0002382570040000083
为艏向控制系统的控制律的第二个待调节控制增益;
步骤二、建立由第一当前BP神经网络和第一目标BP神经网络组成的双BP神经网络模型一,其中,第一当前BP神经网络与第一目标BP神经网络的结构相同;
第一当前BP神经网络输入的状态向量为St={s1u,s2u},其中,s1u为t时刻速度的偏差,s2u为t时刻速度的偏差变化率,输出为动作值集合k′u,再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值k″u
第一目标BP神经网络输入的状态向量为:当前状态St执行最优动作at后所得到的下一时刻的状态St+1,第一目标BP神经网络根据输入的状态向量确定输出;
步骤三、第一当前BP神经网络输出的实际Q值为Qm(St,at),第一目标BP神经网络输出的目标Q值为
Figure BDA0002382570040000084
第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值为rt+1(St+1,a),利用Qm(St,at)、
Figure BDA0002382570040000085
和rt+1(St+1,a)来计算TD误差,再利用计算出的TD误差对第一当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第一当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对第一当前BP神经网络继续进行训练;
且每经过N(在本发明中取值为10)个时刻后,第一目标BP神经网络对第一当前BP神经网络的参数进行复制,实现对第一当前BP神经网络和第一目标BP神经网络参数的更新;
步骤四、每个时刻的状态向量依次输入第一当前BP神经网络后,利用步骤二中每个时刻的状态向量对应的最优动作值,计算出在每个时刻速度控制系统的控制律的待调节控制增益ku
步骤五、建立由第二当前BP神经网络和第二目标BP神经网络组成的双BP神经网络模型二,其中,第二当前BP神经网络与第二目标BP神经网络的结构相同;
第二当前BP神经网络输入的状态向量为
Figure BDA0002382570040000091
其中,
Figure BDA0002382570040000092
为t时刻航向角的偏差,
Figure BDA0002382570040000093
为t时刻航向角的偏差变化率,
Figure BDA0002382570040000094
为t时刻水下机器人实时速度,输出为动作值集合
Figure BDA0002382570040000095
Figure BDA0002382570040000096
再利用ε贪婪策略从动作值集合
Figure BDA0002382570040000097
Figure BDA0002382570040000098
中选择出当前状态向量对应的最优动作值
Figure BDA0002382570040000099
Figure BDA00023825700400000910
第二目标BP神经网络输入的状态向量为:当前状态S′t执行最优动作a′t后所得到的下一时刻的状态S′t+1,第二目标BP神经网络根据输入的状态向量确定输出;
步骤六、第二当前BP神经网络输出的实际Q值为Qm(S′t,a′t),第二目标BP神经网络输出的目标Q值为
Figure BDA00023825700400000911
第二当前BP神经网络在当前状态S′t下选择最优动作a′t并执行后得到的奖赏值为rt+1(S′t+1,a),利用Qm(S′t,a′t)、
Figure BDA00023825700400000912
和rt+1(S′t+1,a)来计算TD误差,再利用计算出的TD误差对第二当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第二当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对第二当前BP神经网络继续进行训练;
且每经过N个时刻后,第二目标BP神经网络对第二当前BP神经网络的参数进行复制,实现对第二当前BP神经网络和第二目标BP神经网络参数的更新;
步骤七、当每个时刻的状态向量依次输入第二当前BP神经网络后,利用步骤五中每个时刻的状态向量对应的最优动作值,计算出在每个时刻艏向控制系统的控制律的待调节控制增益
Figure BDA00023825700400000913
Figure BDA00023825700400000914
为了提升水下机器人运动控制的自主性与智能性,保证其控制器的参数能够实时在线进行调整,从而提高在风浪流干扰下自主水下机器人的运动控制性能,同时为了避免基于Q学习的控制器因状态空间划分过于细致导致无法收敛且收敛速度慢的问题,本发明设计了基于双BP神经网络Q学习的参数自适应反步法速度和艏向控制器,将偏差和偏差变化率进行连续输入,同时分别将速度控制器和艏向控制器的参数值作为BP神经网络Q学习系统的输出,将双BP神经网络Q学习系统与反步法控制器相结合,从而在解决传统常规控制器参数不易实时在线调整以及在复杂环境下的适应性问题的同时,降低训练次数,提高学习效率。
在基于双BP神经网络Q学习的参数自适应反步法控制器结构中,它的输入是连续的实时数据与期望值的偏差以及偏差变化率,输出则是需要调整的控制器的相应参数值。将水下机器人速度和艏向的基于双BP神经网络Q学习的参数自适应反步法控制器设计为如图1和图2所示结构:
此处的基于双BP神经网络Q学习参数自适应反步法控制器的设计中,强化学习不再是控制器的主体,控制器的主体为反步法,而基于双BP神经网络Q学习的作用是对反步法的控制参数进行相应的优化调整,利用Q学习的学习特点,在不断的试错学习中寻找到最优决策,满足对控制器的参数进行实时调整的要求,同时对偏差和偏差变化率进行连续输入。基于双BP神经网络Q学习的参数自适应反步法速度控制器的输入是连续的速度偏差和速度偏差变化率,经过双BP神经网络Q学习算法,输出的则不再是电压或纵向推力,而是速度控制器的参数k′u;同样,在基于双BP神经网络Q学习的参数自适应反步法的艏向控制器中,它的输入为连续的航向角偏差、航向角偏差变化率以及水下机器人实时速度,经过双BP神经网络Q学习算法,最终输出的是艏向控制器的两个控制参数
Figure BDA0002382570040000101
Figure BDA0002382570040000102
将BP神经网络引入强化学习控制器中意味着,在某一时刻t,控制策略不再是由查询Q值表得到,而是通过BP神经网络中的参数w进行表示,所以Q值函数不再是一个个离散的值,而是连续的值,可以这样理解,即在状态为连续输入的情况下,经过神经网络,Q值的输出也为连续的值。同时,神经网络参数的数量远小于Q值表中状态空间的数量,一个参数值的改变会影响到各个状态-动作的Q值函数。强化学习Q值表中的值代表的是在某一状态s下采取某一动作a后所得到的Q值函数,对应到BP神经网络中,设计如图3所示的输入输出形式:
由图3可知,BP神经网络的输入是状态s,通过隐层计算后,输出的是所有动作对应的Q值函数,虽然神经网络对最大Q值进行了拟合,即最大Q值的输出是连续的,但由于每个最大Q值对应着的是不同的动作,所以在最终执行最大Q值所对应的动作时,所选择的动作是离散的。可以这样理解,假设预设离散动作共有A个,则输出层有相应A个神经元,最大Q值在每次神经网络计算时只有一个,且当状态为连续输入时,最大Q值为连续输出。综上所述,仅需要对动作空间进行划分。
双BP神经网络包括当前BP神经网络和目标BP神经网络,当前BP神经网络和目标BP神经网络采用同一种输入输出形式,在当前BP神经网络结构中其输入为当前状态st,输出则是实际Q值,同时得到环境给予的即时回报值rt+1;在目标BP神经网络结构中其输入为执行动作at后所得到的下一时刻的状态st+1,经过目标神经网络输出Q值后,选取最大Q值,并与即时回报相叠加,作为当前BP神经网络的目标Q值。
具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤二中,输出为动作值集合k′u,再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值;其具体过程为:
定义需要进行划分的动作空间为k′u0,k′u0∈[-1,2],将k′u0每隔0.2平均划分成16个动作值,16个动作值组成动作值集合k′u;再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值k″u
动作值集合k′u={-1,-0.8,-0.6,-0.4,-0.2,…,1.4,1.6,1.8,2}。
基于强化学习的自适应反步速度控制器和艏向控制器,其动作选择方式为ε贪婪策略,ε∈(0,1),当ε=0时代表纯探索,当ε=1时代表纯利用,所以它的值介于0和1之间,且随着训练次数的增加,ε的值越来越趋近于1,表示训练到最后阶段,强化学习系统更加偏向于利用所学到的经验。
具体实施方式三:本实施方式与具体实施方式一不同的是:所述步骤三中,第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值为rt+1(St+1,a),rt+1(St+1,a)的表达式为:
rt+1(St+1,a)=c1·s1u 2+c2·s2u 2 (13)
其中,c1和c2均为大于零的正数。
奖惩函数有比较明确的目标,是用来评价控制器性能好坏的,通常一个控制器的优劣是以其稳定性、准确性及快速性为依据,希望其能更快更准确地到达期望值,反映至响应曲线上应具有较快的上升速度,并且具有较小的超调与振荡。c1和c2均为大于零的正数,分别表示偏差及偏差变化率对奖惩函数影响的比重大小。
值得注意的是,由于r值定义的是偏差和偏差变化率平方的函数,而本发明希望所设计的控制器的偏差尽可能小,因此本发明将Q值的迭代公式由原先的取最大值变为最小值。
具体实施方式四:本实施方式与具体实施方式一不同的是:所述步骤四中,待调节控制增益ku的计算方法为:
ku=ku0+k″u (14)
其中,ku0为速度控制系统的控制律的待调节控制增益的初始值。
将每个时刻对应的最优动作值k″u代入公式(14),即可获得各个时刻的待调节控制增益值。
具体实施方式五:本实施方式与具体实施方式一不同的是:所述步骤五中,输出为动作值集合
Figure BDA0002382570040000121
Figure BDA0002382570040000122
再利用ε贪婪策略从动作值集合
Figure BDA0002382570040000123
Figure BDA0002382570040000124
中选择出当前状态向量对应的最优动作值
Figure BDA0002382570040000125
Figure BDA0002382570040000126
其具体过程为:
定义需要进行划分的动作空间为
Figure BDA0002382570040000127
Figure BDA0002382570040000128
Figure BDA0002382570040000129
每隔0.2平均划分成16个动作值,16个动作值组成动作值集合
Figure BDA00023825700400001210
Figure BDA00023825700400001211
每隔0.1平均划分成16个动作值,16个动作值组成动作值集合
Figure BDA00023825700400001212
再利用ε贪婪策略,从动作值集合
Figure BDA00023825700400001213
中选择出当前状态向量对应的最优动作值
Figure BDA00023825700400001214
从动作值集合
Figure BDA00023825700400001215
中选择出当前状态向量对应的最优动作值
Figure BDA00023825700400001216
动作值集合
Figure BDA00023825700400001217
动作值集合
Figure BDA00023825700400001218
具体实施方式六:本实施方式与具体实施方式一不同的是:所述步骤六中,第二当前BP神经网络在当前状态S′t下选择最优动作a′t并执行后得到的奖赏值为rt+1(S′t+1,a),rt+1(S′t+1,a)的表达式为:
Figure BDA00023825700400001219
其中,c1和c2均为大于零的正数。
具体实施方式七:本实施方式与具体实施方式一不同的是:所述步骤七中,艏向控制系统的控制律的待调节控制增益
Figure BDA0002382570040000131
Figure BDA0002382570040000132
的计算方法为:
Figure BDA0002382570040000133
Figure BDA0002382570040000134
其中,
Figure BDA0002382570040000135
为待调节控制增益
Figure BDA0002382570040000136
的初始值,
Figure BDA0002382570040000137
为待调节控制增益
Figure BDA0002382570040000138
的初始值。
具体实施方式八:本实施方式与具体实施方式一不同的是:所述步骤三和步骤六中,从经验样本池中随机抽取固定数量的状态动作样本对,随机抽取的固定数量为2000个。
在经验样本池中的状态动作样本对数量未达到2000个时,就不进行抽取,将当前经验样本池中的全部状态动作样本对用于训练。
对于模型一,t时刻获得的状态动作样本对为(St,at,St+1,rt+1),其中,St为t时刻输入第一当前BP神经网络的状态向量,St+1为当前状态St执行最优动作at后所得到的下一时刻的状态,rt+1为第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值。每个时刻获得的状态动作样本对均存入经验回放池中。
在本发明中,将式(12)代入式(11)可以得到:
Figure BDA0002382570040000139
式中,
Figure BDA00023825700400001310
为艏向控制器第二个待调节的控制增益,从式(18)中可以看出,只要设计控制增益
Figure BDA00023825700400001311
Figure BDA00023825700400001312
为正数即可保证艏向控制器的稳定性。
将z1和z2代入式(18),可以得到艏向控制器的转艏力矩τr如下:
Figure BDA00023825700400001313
综上所述,只需根据式(4)和式(19)分别设计速度和艏向控制律,同时保证速度和艏向控制器的控制增益ku
Figure BDA00023825700400001314
以及
Figure BDA00023825700400001315
为正数,即能实现对AUV速度和艏向的良好控制。
对于BP神经网络参数的更新,采用梯度下降法。对于速度控制器和艏向控制器,分别建立一个BP神经网络,此网络分别作为速度控制器和艏向控制器的实际输出,即为当前BP神经网络,速度控制器的输出为16个动作所对应的Q值函数,而艏向控制器的输出为32个动作所对应的Q值,其中前16个代表艏向控制器的第一个参数值所对应的Q值函数,后16个代表的是艏向控制器的第二个参数所对应的Q值函数。此外,还需要对速度控制器和艏向控制器分别建立一个与基于实际输出的BP神经网络结构相同的进行期望输出的神经网络,即目标BP神经网络。从而在强化学习与环境的交互过程中不断得到输入输出样本对,进而对神经网络的参数进行更新。注意,此处的更新都是对最优动作所对应的Q值进行的,对于非最优动作所对应的Q值,其误差为0,即不进行更新。BP神经网络的实际输出值为Qm(st,at),期望输出值为rt+1(st+1,a)+γmaxQm-1(st+1,a′),从而得到TD误差,如式(20)所示。
Figure BDA0002382570040000141
其中,rt+1(st+1,a)为t+1时刻的回报值,Qm(st,at)为进行实际输出的BP神经网络的输出值,Qm-1(st+1,a′)为进行期望输出的BP神经网络的输出值,γ为折扣率,at为t时刻最优动作。
有了实际输出值与期望输出值的偏差后,可以根据式(34)通过梯度下降对当前BP神经网络的参数w进行更新。
对于目标BP神经网络,其参数每隔10步更新一次,取自当前BP神经网络前10步的参数值。
相关关键技术
BP神经网络:BP神经网络是一种按误差逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络模型之一。它使用梯度下降和链式规则通过反向传播不断调整网络权值和阈值,从而实现对任意非线性函数的逼近。
反步法:一种处理控制对象模型不确定性的有效的构造性控制律设计方法,通过提出虚拟控制律、逐层递增Lyapunov函数的二次型个数等方式,逐步递推出最后符合要求的控制律。
水下机器人坐标系选取:讨论水下机器人六自由度空间运动时,通常需要选取两种不同的坐标系,即惯性坐标系和运动坐标系。惯性坐标系用于描述水下机器人的位置和姿态,以E-ξηζ表示,E为原点,且ξ、η、ζ轴两两相互垂直,并符合右手螺旋定则。运动坐标系用于描述水下机器人运动信息,以O-xyz表示,O为原点,且x、y、z轴两两相互垂直,并符合右手螺旋定则。具体如图4示:
水下机器人运动学模型:水下机器人运动学方程反映的是惯性坐标系与运动坐标系两者间的线速度和角速度转换关系。水下机器人在惯性坐标系下的线速度和角速度分别如式(21)和式(22)所示:
Figure BDA0002382570040000151
Figure BDA0002382570040000152
式中,η1=[x,y,z]Τ
Figure BDA0002382570040000153
分别表示水下机器人的位置和姿态;ν1=[u,v,w]Τ,ν2=[p,q,r]Τ,分别表示水下机器人的线速度和角速度;
J12)和J22)分别表示线速度转换矩阵和角速度转换矩阵,分别如式(23)和式(24)所示:
Figure BDA0002382570040000154
Figure BDA0002382570040000155
水下机器人动力学模型:采用Fossen提出的自主水下机器人六自由度动力学模型,如下所示:
Figure BDA0002382570040000156
式中,
Figure BDA0002382570040000157
为惯性力和科氏向心力、
Figure BDA0002382570040000158
为附加质量力和附加阻尼力、D(ν)ν为阻尼力、g(η)为重浮力、τ为推进器推力。
马尔可夫决策过程(Markov Decision Process,MDP):强化学习算法的研究主要基于马尔可夫决策模型,其实质表明了系统当前所处的状态向下一时刻状态转移的概率,强化学习在下一时刻状态所得到的即时回报值仅与当前的状态和所选择的动作有关,而与历史状态和历史动作的选择无关。马尔可夫决策过程可由五元组{S,A,P,r,J}来表示,其中S为有限的环境状态空间;A为有限的系统动作空间;P(s,a,s′)∈[0,1]为状态转移概率,表示在状态s下选择动作a后使环境状态转移到状态s′的概率;r(s,a,s′):
Figure BDA0002382570040000159
为智能体从状态s执行动作a转移到状态s′后所获得的即时回报值;J为决策优化目标函数,通常J采用折扣型累积回报值来表示:
Figure BDA0002382570040000161
式中,γ∈(0,1]为折扣因子,改变γ的值可以控制智能体在学习过程中对短期收益和长期收益考虑的程度。
强化学习方法(Reinforcement Learning,RL):强化学习方法是一种与有监督学习和无监督学习相区别的在线学习算法。强化学习算法将学习过程视为一个不断进行探索与评价的过程:首先,智能体感知环境状态,并根据初始策略选择某一动作施加于环境;然后,环境对该动作作出反应,得到下一状态,并给予该动作相应评价,反馈给智能体;最后,智能体根据环境给予的评价更新策略,并不断循环,最终找到最优策略。
理论基础
水平面运动学和动力学模型
考虑到水下机器人的数学模型比较复杂,在仿真的基础上对其进行控制器性能的验证具有一定的难度,与此同时,本发明主要对基于双BP神经网络Q学习的参数自适应框架进行仿真验证,因此选取较简单的水平面运动学和动力学模型。将水下机器人六自由度动力学模型进行分解,并保留水平面三个自由度的运动学和动力学方程,具体如式(27)和式(28)所示:
Figure BDA0002382570040000162
Figure BDA0002382570040000163
其中,τu和τr分别为纵向推力和偏航力矩,由于该水下机器人具有欠驱动性,因此不具备横向推力。
基于公式(27)和(28),可以得到水下机器人速度控制系统和艏向控制系统。
Q学习算法
Q学习算法作为强化学习算法的一种,用状态-动作值函数对延迟奖励进行处理,即用Q(s,a)来对累计奖赏值进行描述,然后用一张表格记录每一个状态-动作对的Q值,这张表格即作为智能体行动的行为准则,根据当前状态st不断选取最大Q值所对应的动作即为最优策略。在训练过程中,每一个状态-动作对所对应得Q值的更新方式如式(29)所示:
Figure BDA0002382570040000171
式中,α表示学习率,学习率的大小决定了智能体的学习程度,当α趋近于0时,说明智能体不再学习;当α趋近于1时,说明智能体学习现在全部的知识,而对过去的经验全部遗忘。rt+1表示即时回报,指引这智能体不断进行学习;Qm-1(st,at)表示(st,at)所对应的Q值大小;Qm-1(st+1,a′)表示状态st+1所对应的Q值大小;γ表示折扣率,反映智能体对眼前利益和长远利益的关注程度。
使用Q值表来对学习到的经验进行记录,这一特点决定了Q学习算法值能适用于离散的任务,同时状态和动作空间不能过大,否则,智能体会因无法遍历每一个状态动作对而无法收敛,最终导致学习结果发散。
贪婪策略
在智能体学习的过程中,不仅需要考虑采取当前最大Q值所对应的动作以获得较高回报,而且要求智能体在学习过程中尽可能选择不同的动作以得到更大回报,前者为强化学习过程中的利用问题,后者为强化学习过程中的探索问题。探索对在线学习至关重要,由于强化学习一般处于变化的环境中,当前的最优策略随着环境的变化在下一时刻可能为次优或错误的策略,因此在强化学习中需要平衡探索与利用的关系。ε贪婪策略是解决探索与利用关系的一种有效方法。智能体以1-ε的概率选择目前最大Q值所对应的动作,以ε的概率随机选择其他动作执行,具体如式(30)所示:
Figure BDA0002382570040000172
式中,at+1表示下一时刻选择的动作。
马尔可夫决策过程
智能体与环境间的交互作用基于马尔可夫模型,它表示智能体得到的奖励值仅与当前的状态和动作有关,而与历史状态和动作无关。可由以下五元组来表示:
Figure BDA0002382570040000173
式中元素含义分别如下所示:
(1)S——状态空间,为系统中所有可能状态的集合,s、s′均为其中状态,是S的元素;
(2)A(s)——动作空间,为系统中s状态下所有可能动作的集合;
(3)
Figure BDA0002382570040000181
——转移概率,智能体在状态s下采取动作a后,环境转移到状态st+1的概率;
(4)
Figure BDA0002382570040000182
——即时回报,智能体在状态s下采取动作a使得环境转移到状态st+1后,所得到的奖励值;
(5)V——评价函数,长期累积回报值。
BP神经网络
1)BP神经网络模型
BP神经网络能学习和储存大量的输入输出模式映射关系,但不能对这种映射关系用某种确定的数学方程进行表达。BP神经网络的拓扑结构一般包括输入层、隐层和输出层。各层之间用权值连接,同时隐层和输出层各神经元均设置有激活函数和相应的阈值。
2)BP神经网络的学习算法
BP神经网咯主要采用梯度下降和微分链式规则对其权值wij、wki进行更新。具体训练过程可分为信号正向传播和误差反向传播。在信号的正向传播过程中,输入信号通过输入层、隐层处理,在经过输出层输出,若输出值与期望值不等,则产生误差;在误差反向传播过程中,误差被分给各个神经元,以网络误差的平方和最小为目标,对网络的权值和阈值进行调整。
BP神经网络的隐层数据计算为:
Figure BDA0002382570040000183
BP神经网络输出层数据计算为:
Figure BDA0002382570040000184
式中,f(·)为激活函数,此处隐层和输出层的激活函数均选为双曲正切函数。
BP神经网络权值更新公式如式(34)所示:
Figure BDA0002382570040000191
式中,dk和tk分别为神经网络期望输出和实际输出,η为神经网络学习率,α∈(0,1)为动量因子。
算法仿真
一、仿真参数设置
为了研究基于双BP神经网络Q学习参数自适应反步法控制器的控制效果,采用式(27)和式(28)所示的水下机器人数学模型,分别对水下机器人速度控制器和艏向控制器开展有海流干扰情况下的仿真实验。分别设置速度控制器的期望值为ud=1m/s,艏向控制器的期望值为
Figure BDA0002382570040000192
速度控制器和艏向控制器的回报函数参数设置:c1=0.7,c2=0.3。同时选取单步控制步长Ts=0.5s,仿真时间M=50s,Q学习折扣率γ=0.9,Q学习学习率α=1。速度控制器的当前BP神经网络的输入神经元为2个,输出神经元为16个;艏向控制器的当前BP神经网络输入神经元为3个,输出神经元为32个。速度和艏向控制器的目标BP神经网络采用与其各自相对应的输入输出神经元个数。BP神经网络的参数w初始化为[-1,1]的随机数,同时设置神经网络参数学习率β=0.05。且对速度和艏向进行初始化:u0=0m/s,v0=0m/s,
Figure BDA0002382570040000193
r0=0rad/s。
二、仿真结果及分析
对速度和艏向控制器分别进行了300次的循环训练,并在训练过程中分别选取第1次、第50次和第300次的训练结果进行对比,以观察学习效果。有外界干扰情况下的具体仿真结果如图5至图11所示。其中图5和图6分别为有干扰情况下基于双BP神经网络Q学习参数自适应反步速度控制器和艏向控制器训练后的效果对比图。图7和图8分别为速度控制器和艏向控制器在有外界干扰情况下输出的纵向推力和偏航力矩图。图9、图10及图11分别为在有外界干扰情况下速度控制器的控制增益ku、艏向控制器的两个控制增益
Figure BDA0002382570040000194
Figure BDA0002382570040000195
在一个控制周期内的具体变化情况。
三、仿真实验分析
从图5及图6中可以看到,无论是速度控制器还是艏向控制器,在有外界干扰情况下,基于双BP神经网络Q学习参数自适应反步法的控制效果在训练后都比训练前的控制器的控制效果好,并且随着训练次数的增加控制器的控制效果越好,这说明强化学习确实赋予了控制器学习能力,使其能够通过不断尝试最终找到最优的控制增益。
在有外界干扰情况下,从图5和图6中可以看出,基于双BP神经网络Q学习参数自适应反步控制器训练完成后相比于训练前和训练中,除了有更快的上升速度外,还有更小的超调量及更好的抗干扰能力。训练完成后的速度控制器相比于训练前,控制器的上升时间由原来的8s最终降低为6s左右,由外界干扰引起的超调量也由原来的6.5%最终降为1.2%;而艏向控制器的上升时间由原来的15s最终降为12s左右,超调量由原来的6.4%最终降为2%。从图9、图10及图11中可以看到,在控制器训练前后,速度和艏向控制器的控制增益均产生了一定的变化,这说明将强化学习与反步法控制器相结合的效果是明显的。
图12和图13反映了在训练过程中,速度和艏向控制器的偏差和(此处偏差和指的是一个控制周期内速度和艏向偏差对时间的积分)随着训练次数的变化情况,可以发现,偏差和是随着训练次数的增加不断减少的,最终均稳定在某一个定值或在某几个较小值间徘徊,此时说明强化学习的训练已经趋于稳定。在有外界干扰下,速度和艏向控制器分别在训练80次和90次左右稳定。
本发明的上述算例仅为详细地说明本发明的计算模型和计算流程,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

Claims (8)

1.一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,该方法包括以下步骤:
步骤一、基于反步法分别设计水下机器人的速度控制系统和艏向控制系统,再根据设计的速度控制系统以及艏向控制系统确定速度控制系统的控制律以及艏向控制系统的控制律;
水下机器人的速度控制系统为:
Figure FDA0002382570030000011
其中,m为水下机器人的质量,
Figure FDA0002382570030000012
和Xu|u|均为无量纲水动力参数,u为水下机器人纵向速度,|u|为u的绝对值,
Figure FDA0002382570030000013
为水下机器人纵向加速度,τu为推进器纵向推力,v为水下机器人横向速度,r为水下机器人偏航角速度;
水下机器人速度控制系统的控制律为:
Figure FDA0002382570030000014
其中,ku为速度控制系统的控制律的待调节控制增益;
水下机器人的艏向控制系统为:
Figure FDA0002382570030000015
其中,
Figure FDA0002382570030000016
为实际艏向角的一阶导数,
Figure FDA0002382570030000017
为r的一阶导数,Nr
Figure FDA0002382570030000018
Nr|r|均为无量纲水动力参数,|r|为r的绝对值,τr为转艏力矩,Iz为水下机器人绕运动坐标系z轴的转动惯量;
所述运动坐标系为:以水下机器人的重心为原点O,以指向水下机器人的艏向方向为x轴正向,以指向水下机器人的右舷方向为为y轴正向,以指向水下机器人的底部方向为z轴正向,且x轴、y轴、z轴符合右手螺旋定则的坐标系;
水下机器人艏向控制系统的控制律为:
Figure FDA0002382570030000019
其中,
Figure FDA00023825700300000110
为艏向控制系统的控制律的第一个待调节控制增益,
Figure FDA00023825700300000111
为艏向控制系统的控制律的第二个待调节控制增益;
步骤二、建立由第一当前BP神经网络和第一目标BP神经网络组成的双BP神经网络模型一,其中,第一当前BP神经网络与第一目标BP神经网络的结构相同;
第一当前BP神经网络输入的状态向量为St={s1u,s2u},其中,s1u为t时刻速度的偏差,s2u为t时刻速度的偏差变化率,输出为动作值集合k′u,再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值k″u
第一目标BP神经网络输入的状态向量为:当前状态St执行最优动作at后所得到的下一时刻的状态St+1,第一目标BP神经网络根据输入的状态向量确定输出;
步骤三、第一当前BP神经网络输出的实际Q值为Qm(St,at),第一目标BP神经网络输出的目标Q值为
Figure FDA0002382570030000021
第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值为rt+1(St+1,a),利用Qm(St,at)、
Figure FDA0002382570030000022
和rt+1(St+1,a)来计算TD误差,再利用计算出的TD误差对第一当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第一当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对每经过N个时刻后,第一目标BP神经网络对第一当前BP神经网络的参数进行复制,实现对第一当前BP神经网络和第一目标BP神经网络参数的更新;
步骤四、每个时刻的状态向量依次输入第一当前BP神经网络后,利用步骤二中每个时刻的状态向量对应的最优动作值,计算出在每个时刻速度控制系统的控制律的待调节控制增益ku
步骤五、建立由第二当前BP神经网络和第二目标BP神经网络组成的双BP神经网络模型二,其中,第二当前BP神经网络与第二目标BP神经网络的结构相同;
第二当前BP神经网络输入的状态向量为
Figure FDA0002382570030000023
其中,
Figure FDA0002382570030000024
为t时刻偏航角的偏差,
Figure FDA0002382570030000025
为t时刻偏航角的偏差变化率,
Figure FDA0002382570030000026
为t时刻水下机器人实时速度,输出为动作值集合
Figure FDA0002382570030000027
Figure FDA0002382570030000028
再利用ε贪婪策略从动作值集合
Figure FDA0002382570030000029
Figure FDA00023825700300000210
中选择出当前状态向量对应的最优动作值
Figure FDA00023825700300000211
Figure FDA00023825700300000212
第二目标BP神经网络输入的状态向量为:当前状态S′t执行最优动作a′t后所得到的下一时刻的状态S′t+1,第二目标BP神经网络根据输入的状态向量确定输出;
步骤六、第二当前BP神经网络输出的实际Q值为Qm(S′t,a′t),第二目标BP神经网络输出的目标Q值为
Figure FDA0002382570030000031
第二当前BP神经网络在当前状态S′t下选择最优动作a′t并执行后得到的奖赏值为rt+1(S′t+1,a),利用Qm(S′t,a′t)、
Figure FDA0002382570030000032
和rt+1(S′t+1,a)来计算TD误差,再利用计算出的TD误差对第二当前BP神经网络的参数进行更新;
每个时刻对应的状态动作样本对均存入经验样本池,在第二当前BP神经网络训练的空闲时间,从经验样本池中随机抽取固定数量的状态动作样本对,利用抽取的状态动作样本对对第二当前BP神经网络继续进行训练;
且每经过N个时刻后,第二目标BP神经网络对第二当前BP神经网络的参数进行复制,实现对第二当前BP神经网络和第二目标BP神经网络参数的更新;
步骤七、当每个时刻的状态向量依次输入第二当前BP神经网络后,利用步骤五中每个时刻的状态向量对应的最优动作值,计算出在每个时刻艏向控制系统的控制律的待调节控制增益
Figure FDA0002382570030000033
Figure FDA0002382570030000034
2.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤二中,输出为动作值集合k′u,再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值;其具体过程为:
定义需要进行划分的动作空间为k′u0,k′u0∈[-1,2],将k′u0每隔0.2平均划分成16个动作值,16个动作值组成动作值集合k′u;再利用ε贪婪策略从动作值集合k′u中选择出当前状态向量对应的最优动作值k″u
3.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤三中,第一当前BP神经网络在当前状态St下选择最优动作at并执行后得到的奖赏值为rt+1(St+1,a),rt+1(St+1,a)的表达式为:
rt+1(St+1,a)=c1·s1u 2+c2·s2u 2
其中,c1和c2均为大于零的正数。
4.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤四中,待调节控制增益ku的计算方法为:
ku=ku0+k″u
其中,ku0为速度控制系统的控制律的待调节控制增益的初始值。
5.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤五中,输出为动作值集合
Figure FDA0002382570030000041
Figure FDA0002382570030000042
再利用ε贪婪策略从动作值集合
Figure FDA0002382570030000043
Figure FDA0002382570030000044
中选择出当前状态向量对应的最优动作值
Figure FDA0002382570030000045
Figure FDA0002382570030000046
其具体过程为:
定义需要进行划分的动作空间为
Figure FDA0002382570030000047
Figure FDA0002382570030000048
Figure FDA0002382570030000049
Figure FDA00023825700300000410
每隔0.2平均划分成16个动作值,16个动作值组成动作值集合
Figure FDA00023825700300000411
Figure FDA00023825700300000412
每隔0.1平均划分成16个动作值,16个动作值组成动作值集合
Figure FDA00023825700300000413
再利用ε贪婪策略,从动作值集合
Figure FDA00023825700300000414
中选择出当前状态向量对应的最优动作值
Figure FDA00023825700300000415
从动作值集合
Figure FDA00023825700300000416
中选择出当前状态向量对应的最优动作值
Figure FDA00023825700300000417
6.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤六中,第二当前BP神经网络在当前状态S′t下选择最优动作a′t并执行后得到的奖赏值为rt+1(S′t+1,a),rt+1(S′t+1,a)的表达式为:
Figure FDA00023825700300000418
其中,c1和c2均为大于零的正数。
7.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤七中,艏向控制系统的控制律的待调节控制增益
Figure FDA00023825700300000419
Figure FDA00023825700300000420
的计算方法为:
Figure FDA00023825700300000421
Figure FDA00023825700300000422
其中,
Figure FDA00023825700300000423
为待调节控制增益
Figure FDA00023825700300000424
的初始值,
Figure FDA00023825700300000425
为待调节控制增益
Figure FDA00023825700300000426
的初始值。
8.根据权利要求1所述的一种基于双BP神经网络Q学习技术的水下机器人参数自适应反步控制方法,其特征在于,所述步骤三和步骤六中,从经验样本池中随机抽取固定数量的状态动作样本对,随机抽取的固定数量为2000个。
CN202010087510.2A 2020-02-11 2020-02-11 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法 Active CN111176122B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010087510.2A CN111176122B (zh) 2020-02-11 2020-02-11 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010087510.2A CN111176122B (zh) 2020-02-11 2020-02-11 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法

Publications (2)

Publication Number Publication Date
CN111176122A true CN111176122A (zh) 2020-05-19
CN111176122B CN111176122B (zh) 2022-05-13

Family

ID=70649498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010087510.2A Active CN111176122B (zh) 2020-02-11 2020-02-11 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法

Country Status (1)

Country Link
CN (1) CN111176122B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708378A (zh) * 2020-06-22 2020-09-25 哈尔滨工程大学 一种基于强化学习的导弹纵向姿态控制算法
CN112462792A (zh) * 2020-12-09 2021-03-09 哈尔滨工程大学 一种基于Actor-Critic算法的水下机器人运动控制方法
CN112904726A (zh) * 2021-01-20 2021-06-04 哈尔滨工业大学 一种基于误差重构权重更新的神经网络反步控制方法
CN113478486A (zh) * 2021-07-12 2021-10-08 上海微电机研究所(中国电子科技集团公司第二十一研究所) 基于深度强化学习的机器人运动参数自适应控制方法和系统
CN114326405A (zh) * 2021-12-30 2022-04-12 哈尔滨工业大学 一种基于误差训练的神经网络反步控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932267A (zh) * 2015-06-04 2015-09-23 曲阜师范大学 一种采用资格迹的神经网络学习控制方法
CN107038477A (zh) * 2016-08-10 2017-08-11 哈尔滨工业大学深圳研究生院 一种非完备信息下的神经网络与q学习结合的估值方法
CN109726866A (zh) * 2018-12-27 2019-05-07 浙江农林大学 基于q学习神经网络的无人船路径规划方法
CN109901403A (zh) * 2019-04-08 2019-06-18 哈尔滨工程大学 一种自主水下机器人神经网络s面控制方法
US20190228573A1 (en) * 2018-01-25 2019-07-25 General Electric Company Automated and adaptive three-dimensional robotic site surveying

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104932267A (zh) * 2015-06-04 2015-09-23 曲阜师范大学 一种采用资格迹的神经网络学习控制方法
CN107038477A (zh) * 2016-08-10 2017-08-11 哈尔滨工业大学深圳研究生院 一种非完备信息下的神经网络与q学习结合的估值方法
US20190228573A1 (en) * 2018-01-25 2019-07-25 General Electric Company Automated and adaptive three-dimensional robotic site surveying
CN109726866A (zh) * 2018-12-27 2019-05-07 浙江农林大学 基于q学习神经网络的无人船路径规划方法
CN109901403A (zh) * 2019-04-08 2019-06-18 哈尔滨工程大学 一种自主水下机器人神经网络s面控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHI-CHAO WANG.ETC: "An Improved Reinforcement Q-Learning Method with BP Neural Networks In Robot", 《 2011 FOURTH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND DESIGN》 *
穆志纯 等: "利用双BP算法提高BP网络的泛化能力", 《模式识别与人工智能》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111708378A (zh) * 2020-06-22 2020-09-25 哈尔滨工程大学 一种基于强化学习的导弹纵向姿态控制算法
CN111708378B (zh) * 2020-06-22 2023-01-03 哈尔滨工程大学 一种基于强化学习的导弹纵向姿态控制算法
CN112462792A (zh) * 2020-12-09 2021-03-09 哈尔滨工程大学 一种基于Actor-Critic算法的水下机器人运动控制方法
CN112904726A (zh) * 2021-01-20 2021-06-04 哈尔滨工业大学 一种基于误差重构权重更新的神经网络反步控制方法
CN113478486A (zh) * 2021-07-12 2021-10-08 上海微电机研究所(中国电子科技集团公司第二十一研究所) 基于深度强化学习的机器人运动参数自适应控制方法和系统
CN113478486B (zh) * 2021-07-12 2022-05-17 上海微电机研究所(中国电子科技集团公司第二十一研究所) 基于深度强化学习的机器人运动参数自适应控制方法和系统
CN114326405A (zh) * 2021-12-30 2022-04-12 哈尔滨工业大学 一种基于误差训练的神经网络反步控制方法
CN114326405B (zh) * 2021-12-30 2023-04-07 哈尔滨工业大学 一种基于误差训练的神经网络反步控制方法

Also Published As

Publication number Publication date
CN111176122B (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN111176122B (zh) 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法
CN108803321B (zh) 基于深度强化学习的自主水下航行器轨迹跟踪控制方法
CN109901403B (zh) 一种自主水下机器人神经网络s面控制方法
CN112462792B (zh) 一种基于Actor-Critic算法的水下机器人运动控制方法
CN111290270B (zh) 一种基于Q-learning参数自适应技术的水下机器人反步速度和艏向控制方法
Cervantes et al. Takagi–Sugeno dynamic neuro-fuzzy controller of uncertain nonlinear systems
CN111240345B (zh) 基于双bp网络增强学习框架的水下机器人轨迹跟踪方法
CN111966118B (zh) 一种rov推力分配与基于强化学习的运动控制方法
CN110850719B (zh) 一种基于强化学习的空间非合作目标参数自整定追踪方法
CN111240344B (zh) 基于强化学习技术的自主水下机器人无模型控制方法
Zhang et al. AUV path tracking with real-time obstacle avoidance via reinforcement learning under adaptive constraints
CN112947505B (zh) 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法
Meng et al. Intelligent control algorithm for ship dynamic positioning
CN109901622B (zh) 一种基于机理模型的自主水下机器人预测s面控制方法
CN111273677A (zh) 一种基于强化学习技术的自主水下机器人速度和艏向控制方法
CN117452827B (zh) 一种欠驱动无人艇轨迹跟踪控制方法
CN109946972A (zh) 基于在线学习模型技术的水下机器人预测控制系统及方法
Zhang et al. An intelligent unmanned control method for redunant moving agent
Zhang et al. AUV 3D docking control using deep reinforcement learning
Dong et al. Gliding motion optimization for a biomimetic gliding robotic fish
CN110703792B (zh) 基于增强学习的水下机器人姿态控制方法
Wang et al. Course tracking control for smart ships based on a deep deterministic policy gradient-based algorithm
Wu et al. Speed and heading control of an unmanned surface vehicle using deep reinforcement learning
CN113050666B (zh) 水下自主航行器深度和纵向解耦控制方法及系统
CN117784619B (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