CN111273677A - 一种基于强化学习技术的自主水下机器人速度和艏向控制方法 - Google Patents

一种基于强化学习技术的自主水下机器人速度和艏向控制方法 Download PDF

Info

Publication number
CN111273677A
CN111273677A CN202010087517.4A CN202010087517A CN111273677A CN 111273677 A CN111273677 A CN 111273677A CN 202010087517 A CN202010087517 A CN 202010087517A CN 111273677 A CN111273677 A CN 111273677A
Authority
CN
China
Prior art keywords
speed
heading
controller
deviation
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
CN202010087517.4A
Other languages
English (en)
Other versions
CN111273677B (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 CN202010087517.4A priority Critical patent/CN111273677B/zh
Publication of CN111273677A publication Critical patent/CN111273677A/zh
Application granted granted Critical
Publication of CN111273677B publication Critical patent/CN111273677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/04Control of altitude or depth
    • G05D1/06Rate of change of altitude or depth
    • G05D1/0692Rate of change of altitude or depth specially adapted for under-water vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

一种基于强化学习技术的自主水下机器人速度和艏向控制方法,属于机器人控制技术领域。为了解决现有的水下机器人的控制方法依赖于控制对象模型精度的问题,以及不依赖模型的控制方法控制精度不高的问题。本发明设计了基于Q学习的速度和艏向控制器,将偏差和偏差变化率作为Q学习控制器的输入,将纵向推力和偏航力矩作为Q学习控制器的输出,使得Q学习控制器完全替代传统常规的控制器,从而达到水下机器人自主学习和自主决策的目标。主要用于水下机器人速度和艏向的控制。

Description

一种基于强化学习技术的自主水下机器人速度和艏向控制 方法
技术领域
本发明涉及水下机器人速度和艏向控制方法。属于机器人控制技术领域。
背景技术
自主水下机器人作为无人智能海洋航行器的一种,在海洋资源探测和维护海洋权益中起到了重要作用,其运动控制性能的好坏在很大程度上会影响任务完成的效果。目前,随着自主水下机器人的应用日益广泛,人们对其运动性能提出了更高的要求,自主水下机器人的运动控制方法正向着高精度与智能化方向不断发展。传统的水下机器人控制策略研究主要是基于水下机器人数学模型,以此来进行控制器设计,这里的数学模型指的是由水下机器人动力学与运动学方程所构成的模型。这些研究通常假定水下机器人的运动服从一系列的运动学与动力学物理方程,方程中的物理学参数需要通过大量的水下实验进行测定,从而在模型已知的条件下设计精准的控制策略;另外,模型的不精确性也会对控制器的控制性能产生较大的影响,这就需要对模型的不精确性进行补偿,导致控制律复杂,并且在水下机器人实际作业中,复杂多变的海洋环境,也对其控制系统提出了极大的挑战。
随着机器学习的不断发展,水下机器人的智能控制问题引起了越来越多的学者们的兴趣与重视。强化学习作为典型的机器学习方法,能够使机器如人类学习一般,在不断的重复性工作中累积经验,在以后遇到同样或者类似情况下能够自主作出最优决策。对于自主水下机器人的运动控制而言,基于强化学习的控制器是一种不基于模型的控制方法,不需要精确的水动力系数,仅通过与环境的不断交互,便可以实现自主学习和自主决策,从而最终实现对自主水下机器人的运动控制,但是目前的基于强化学习的控制器的控制效果有待于进一步提高。
发明内容
本发明是为了解决现有的水下机器人的控制方法依赖于控制对象模型精度的问题,以及不依赖模型的控制方法控制精度不高的问题。
一种基于强化学习技术的自主水下机器人速度和艏向控制方法,包括以下步骤:
利用Q学习网络建立速度控制器和艏向控制器;
基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;
基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;
结合Q学习的特点,对状态和动作进行划分;
基于Q学习的速度和艏向控制器奖惩函数形式如下:
Figure RE-GDA0002457921530000021
其中,σ表示下一时刻的偏差向量,对于速度控制器
Figure RE-GDA0002457921530000022
对于艏向控制器
Figure RE-GDA0002457921530000023
eu为速度偏差值,
Figure RE-GDA0002457921530000024
为速度偏差变化率,
Figure RE-GDA0002457921530000025
为艏向偏差值,
Figure RE-GDA0002457921530000026
为艏向偏差变化率;Λ为二阶对角矩阵,代表的是σ的各个分量对奖惩函数的影响因子;a为奖励函数的量级控制参数,对奖励函数的量级进行控制;奖励函数中的第二项中,对于速度控制器 ut=τu,对于艏向控制器ut=τr
Figure RE-GDA0002457921530000027
为ut前10步的平均值;c1和c2均为大于零的正数,分别表示第一项和第二项对奖惩函数的影响因子;
基于Q学习的速度控制器和艏向控制器,其动作选择方式为ε贪婪策略;对速度控制器和艏向控制器学习更新,从而实现自主水下机器人速度和艏向控制。
有益效果:
本发明不依赖于控制对象的运动学模型和动力学模型,仅通过与环境的不断交互便可实现对水下机器人在复杂环境下的有效控制。
本发明提出的控制方法不需要导师信号等先验知识,仅通过与环境的不断交互,便可对水下机器人速度和艏向进行控制;对于学习速度问题,可以在仿真环境中进行大量的离线训练,将出现的每一个状态值尽可能地涵盖,而后将其投入实际使用,便可以对水下机器人进行实时控制,并且在实际控制中仍具备根据环境的变化不断进行自适应调整的能力。
本发明的控制精度较高,通过仿真实验可以发现,本发明的控制器在训练大概2500次之后,速度控制器便达到了稳定;艏向控制器并没有出现锯齿形的波动,且在训练大概2300 次之后,艏向控制器便达到了稳定。
附图说明
图1为基于Q学习的速度控制器结构;
图2为基于Q学习的艏向控制器结构;
图3a为强化学习速度控制器;
图3b为强化学习艏向控制器;
图3c为强化学习速度控制器纵向推力仿真效果;
图3d为强化学习艏向控制器偏航力矩仿真效果;
图3e为强化学习速度控制器偏差和仿真效果;
图3f为强化学习艏向控制器偏差和仿真效果。
具体实施方式
具体实施方式一:
为了提升水下机器人运动控制的自主性与智能性,赋予其一定的自主学习能力,并且为了避免传统控制器对精确的水动力模型的依赖,同时为了提高在风浪流干扰下自主水下机器人的运动控制性能,本发明设计了基于Q学习的速度和艏向控制器,将偏差和偏差变化率作为Q学习控制器的输入,将纵向推力和偏航力矩作为Q学习控制器的输出,使得Q学习控制器完全替代传统常规的控制器,从而达到水下机器人自主学习和自主决策的目标。
在说明本实施方式之前,首先对实施方式中的参数进行一下说明:MRB——惯性力矩阵;CRB——科氏向心力矩阵;MA——附加质量力矩阵;CA——附加阻尼力矩阵;D——阻尼力矩阵;g——重浮力;τ——推进器推力;
Figure RE-GDA0002457921530000031
——自主水下机器人在惯性坐标系下的六自由度位置和姿态;ν=[u v w p q r]Τ——自主水下机器人在随体坐标系下的六自由度线速度和角速度;R——线速度转换矩阵,为正交阵; T——角速度转换矩阵,为正交阵;Su={s1u,s2u}——基于强化学习的速度控制器的输入向量;s1u——速度的实际值与期望值的偏差;s2u——速度的实际值与期望值的偏差变化率;
Figure RE-GDA0002457921530000032
——基于强化学习的艏向控制器的输入向量;
Figure RE-GDA0002457921530000033
——艏向角的实际值与期望值的偏差;
Figure RE-GDA0002457921530000034
——艏向角的实际值与期望值的偏差变化率;
Figure RE-GDA0002457921530000035
——自主水下机器人的实时速度;
Figure RE-GDA0002457921530000036
——艏向角的期望值;ud——速度的期望值;eu——速度偏差值;
Figure RE-GDA0002457921530000037
——速度偏差变化率;
Figure RE-GDA0002457921530000038
——艏向偏差值;
Figure RE-GDA0002457921530000039
——艏向偏差变化率;at——基于强化学习控制器的最优输出动作;r——强化学习控制器的即时回报值;α——学习率;γ——折扣率;ε——贪婪率。
本实施方式所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,包括以下步骤:
利用Q学习网络建立速度控制器和艏向控制器;基于Q学习的速度控制器和艏向控制器的结构分别如图1和图2所示所示;
基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;
同样,在基于Q学习艏向控制器中,因为考虑到艏向的偏转与水下机器人的实时速度具有一定的关系,所以基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;
无论是速度控制器还是艏向控制器,Q学习都是控制器结构的主体部分,完全替代了传统常规的控制器。
在对上述基于Q学习的速度控制器和艏向控制器进行结构设计后,结合Q学习的特点,对Q学习的状态和动作进行划分,状态和动作划分的好坏,对基于Q学习的控制器的性能好坏有很大影响;
考虑到Q学习算法是基于Q值表进行,无法对连续状态变量进行处理,所以必须对状态空间进行合理的离散划分,并选择合适的新论域;
对于速度控制器,输入的状态向量为Su={s1u,s2u},s1u、s2u分别为eu
Figure RE-GDA0002457921530000041
对应的转换值;eu∈[-2,2]为速度的偏差,
Figure RE-GDA0002457921530000042
为速度的偏差变化率;在区间[-2,2]对速度的偏差每隔0.1平均划分成41个状态值,即[-2,-1.9,...,1.9,2],[-2,-1.9,...,1.9,2]对应的新论域设置为[1,2,...,40,41],s1u为eu对应的新论域中的值,即转换值;同时在区间[-1,1]对速度的偏差变化率每隔0.05平均划分成41个状态,即[-1,-0.95,...,0.95,1],[-1,-0.95,...,0.95,1] 对应的新论域设置为[1,2,...,40,41],s2u
Figure RE-GDA0002457921530000043
对应的新论域中的值,即转换值;速度控制器的输出量是纵向推力,定义推力的区间为[-800,800],对于纵向推力,也将其每隔40平均划分成41个状态,同样将[-800,800]对应的新论域设置为[1,2,...,40,41]。综上,便对速度控制器建立了41×41×41的Q值表。
对于艏向控制器,输入的状态向量为
Figure RE-GDA0002457921530000044
Figure RE-GDA0002457921530000045
分别为
Figure RE-GDA0002457921530000046
对应的转换值;
Figure RE-GDA0002457921530000047
为偏航角的偏差,
Figure RE-GDA0002457921530000048
为偏航角的偏差变化率;将[-π,π]表示为 [-3.14,3.14]并近似为[-3,3],在区间[-3,3]对偏航角的偏差每隔0.15平均划分成41个状态值,即[-3,-2.85,...,2.85,3],[-3,-2.85,...,2.85,3]对应的新论域为[1,2,...,40,41],
Figure RE-GDA0002457921530000049
Figure RE-GDA00024579215300000410
对应的新论域中的值,即转换值;同时在区间[-1,1]对偏航角的偏差变化率每隔0.05平均划分成41个状态,即[-1,-0.95,...,0.95,1],[-1,-0.95,...,0.95,1]对应的新论域为[1,2,...,40,41],
Figure RE-GDA00024579215300000411
Figure RE-GDA00024579215300000412
对应的新论域中的值,即转换值;
Figure RE-GDA00024579215300000413
为纵向速度u对应的新论域中的值,与速度控制器不一样的地方在于,艏向控制器还需要对实时速度
Figure RE-GDA00024579215300000414
进行划分,将纵向速度区间 [-2,2]每隔0.1对实时速度平均划分成41个状态,即得到新论域[1,2,...,40,41];艏向控制器的输出量是偏航力矩,定义偏航力矩的区间为[-2000,2000],将其每隔100平均划分成 41个状态,[-2000,2000]对应的新论域为[1,2,...,40,41]。综上,对艏向控制器便建立了 41×41×41×41的Q值表。
对于每个状态之间的数值,将其进行四舍五入,归入到定义好的新论域中。若状态值不在区间范围内,则将其对应到新论域中的1或41。
所述新论域的划分过程如下:
以速度控制器为例,将速度偏差及偏差变化率的实际取值范围称为基本论域,分别用 [-e,e]和
Figure RE-GDA0002457921530000051
表示,论域变换公式在MATLAB中可具体表示为以下形式:
Figure RE-GDA0002457921530000052
针对速度控制器,ei表示为速度偏差,即ei为eu,e表示速度偏差最大值,n表示新论域,round(·)表示四舍五入运算;
针对艏向控制器,将每个状态之间的数值进行四舍五入,归入到定义好的新论域的过程与速度控制器相同;此时,ei表示艏向偏差值,即ei
Figure RE-GDA0002457921530000053
e表示艏向偏差值最大值。
基于Q学习的速度和艏向控制器奖惩函数设计:
奖惩函数是环境对当前水下机器人控制系统控制性能好坏的一种定量评价,控制系统通过这种定量评价的不断指引,从而不断提高控制性能,所以奖惩函数的设计具有重要作用。在水下机器人控制器的设计中,奖惩函数应该需要反映偏差及偏差变化率对控制性能的影响,与此同时,为了尽量减少因强化学习学习机制所导致的控制信号的突然变化,本发明将奖赏函数定义为如式(2)所示形式:
Figure RE-GDA0002457921530000054
其中,奖励函数中的第一项计算的是受控变量与其期望值之间的平方误差,σ表示下一时刻的偏差向量,对于速度控制器
Figure RE-GDA0002457921530000055
对于艏向控制器
Figure RE-GDA0002457921530000056
eu为速度偏差值,
Figure RE-GDA0002457921530000057
为速度偏差变化率,
Figure RE-GDA0002457921530000058
为艏向偏差值,
Figure RE-GDA0002457921530000059
为艏向偏差变化率;Λ为二阶对角矩阵,代表的是σ的各个分量对奖惩函数的影响因子;a为奖励函数的量级控制参数,a可以对奖励函数的量级进行控制,从而避免了学习过程中的数值不稳定性,观察式(2)可以发现,当 a减小时,奖励函数的区间越小;奖励函数中的第二项通过计算当前控制信号与其前10步的平均控制信号的范数来对推进器的突然变化作出相应惩罚,对于速度控制器ut=τu,对于艏向控制器ut=τr;c1和c2均为大于零的正数,分别表示第一项和第二项对奖惩函数的影响因子。
动作选择机制:
基于Q学习的速度控制器和艏向控制器,其动作选择方式为ε贪婪策略,ε∈(0,1),传统的强化学习中使用的贪婪策略ε的值通常为一固定的常值。本发明利用模拟退火思想,采用一种随机概率ε随步数增加不断衰减的ε贪婪策略,当ε的值越来越趋近于0,表示训练到最后阶段,强化学习系统更加偏向于利用所学到的经验;具体动作选择机制如下:
Figure RE-GDA0002457921530000061
ε=ε0·e(μ-step)ξ (4)
其中,Qm-1(st+1,a′)表示状态st+1、动作a′对应的Q函数值;ε0为初始值,μ为衰减因子,ξ是控制ε∈(0,1)区间内的控制因子,step表示控制回合数。
例如上一个控制回合是100步,那么在这一个控制回合中100*上述概率的值就是选择随机动作的步数。
基于Q学习的速度和艏向控制器学习更新过程:
对上述划分好状态和动作的Q值表进行初始化,将表格中的Q值全部初始化为0,并且设置初始速度和初始艏向角,通过状态转换得到初始的状态st,然后经过ε贪婪策略选择动作at,达到下一个状态st+1,并且得到环境给出的即时回报rt+1,根据这些信息,对Q 值表进行更新,具体更新公式如下:
Figure RE-GDA0002457921530000062
其中,α为学习率,γ为折扣率。
实施例
实际上本发明可以适用于任何形式的自主水下机器人,即可以用于任何建模对应的自主水下机器人。由于本发明内容需要在仿真环境下进行模拟,以此来验证速度和艏向控制器的控制效果,所以需要对自主水下机器人进行数学建模来进行仿真实验。
水下机器人坐标系:采用惯性坐标系和随体坐标系两种右手坐标系。惯性坐标系固联于大地上,用来描述自主水下机器人的位置和姿态,以E-ξηζ表示,E为原点,通常选取为海平面上一固定点,规定Eζ轴指向地心为正向;Eξ轴、Eη轴与Eζ轴两两垂直且符合右手螺旋定则。随体坐标系固联于水下机器人上,以O-xyz表示,O为原点,通常选取为水下机器人的重心,Ox轴、Oy轴与Oz轴两两垂直,同样符合右手螺旋定则。
水下机器人运动学方程:自主水下机器人运动学方程反映的是惯性坐标系与随体坐标系两者之间的转换关系,如式(6)至式(8)所示:
Figure RE-GDA0002457921530000071
Figure RE-GDA0002457921530000072
Figure RE-GDA0002457921530000073
式中,
Figure RE-GDA0002457921530000074
表示自主水下机器人的位置和姿态;
ν=[u v w p q r]Τ,表示自主水下机器人的线速度和角速度;
R和T分别表示线速度转换矩阵和角速度转换矩阵,且均为正交阵。
水下机器人动力学方程:采用的水下机器人六自由度动力学模型,如式(9)所示:
Figure RE-GDA0002457921530000075
其中,
Figure RE-GDA0002457921530000076
为惯性力和科氏向心力、
Figure RE-GDA0002457921530000077
为附加质量力和附加阻尼力、 D(ν)ν为阻尼力、g(η)为重浮力、τ为推进器推力。
水下机器人的数学模型比较复杂,在仿真的基础上对其进行控制器性能的验证具有一定的难度,并且,与水下机器人相关的一些水动力参数不一定都能精确地得到,所以需要基于水下机器人具体的特点,对其运动学和动力学模型进行一定的简化。考虑到本发明是基于水下机器人水平面运动来进行强化学习控制算法的研究,所以将六自由度运动模型简化为水平面运动模型。简化基于哈尔滨工程大学水下机器人技术重点实验室研制的某型AUV的以下几个特点:
(1)该型号水下机器人的重心与随体坐标系的原点重合,且重心与浮心在同一条垂线上,重力与浮力平衡;
(2)该型号水下机器人的前后、左右基本上具备对称结构,考虑将模型进一步简化,假设上下面也近似为对称面,因此可以得到:
Ixy=Ixz=Iyz=0
且依据对称面性质,非对称元素的值远小于对称元素的值,因而附加质量矩阵中的非对焦元素可以忽略不计。
(3)该型号水下机器人在水平面内采用舵桨联合控制,其执行机构包括一组垂直舵和一个纵向推进器,缺少侧向推进器,因此具有欠驱动性,其水平面执行机构产生的力如下:
τ=[τu 0 τr]
综上所述,简化后的水下机器人水平面运动学模型和动力学模型分别如下:
Figure RE-GDA0002457921530000081
Figure RE-GDA0002457921530000082
针对上述模型,利用实施方式所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法分别对水下机器人速度控制器和艏向控制器开展相应的仿真实验。
仿真参数设置:
速度控制器的期望值为ud=1m/s,艏向控制器的期望值为
Figure RE-GDA0002457921530000083
速度控制器和艏向控制器的回报函数及ε贪婪策略相关参数设置如下:c1=10,c2=0.01,Λ=diag([0.8,0.2]),ε0=0.4,μ=750,step=3000,ξ=1500。同时选取单步控制步长 Ts=0.5s,单个控制周期仿真时间M=50s,折扣率γ=0.9,学习率α=0.9。且对速度和艏向进行初始化:u0=0m/s,v0=0m/s,
Figure RE-GDA0002457921530000084
r0=0rad/s。
仿真结果及分析:仿真结果如图3a至图3f所示:
通过仿真实验,得到了训练好后的基于强化学习的速度控制器和艏向控制器,分别如图3a和图3b所示,从图3a和图3b中可以发现,速度控制器和艏向控制器在训练后均达到了一定的控制效果,并且从图3e中可以发现在训练大概2500次之后,速度控制器便达到了稳定,但状态空间和动作空间的离散划分导致了速度控制器会在达到期望值前一小段时间出现锯齿形波动。
图3b为基于强化学习的艏向控制器的仿真效果,与基于强化学习的速度控制器不同,艏向控制器并没有出现锯齿形的波动,这是因为,艏向角的变化是对角速度的积分,因而不会像速度控制器那般受推力的影响大,同时,通过图3f可以发现在训练大概2300次之后,艏向控制器便达到了稳定。
与现有技术方案的比较:
本发明旨在提升水下机器人运动控制的自主性与智能性,利用基于强化学习技术的控制器直接替代传统意义上的控制器,从而赋予水下机器人自主学习的能力。本发明设计的控制器,本质上是属于不基于模型的控制器,传统的不基于模型的控制方法有PID、S面以及神经网络等控制方法。以下简单介绍PID控制和神经网络控制这两种方案,并将它们与本发明算法进行比较。
1.PID控制方法
PID控制是一种线性控制,其控制简单、易于实现、不需要精确的数学模型,是目前工业控制领域应用最多最成熟的控制方法。Silvia M.Zanoli等人利用PID实现了水下机器人的深度控制和定点控制的仿真和试验,取得了很好的控制性能。实际应用中,日本KDD 实验室的“AQUA”航行器和法国的“Super Safir”ROV的基础运动控制等都采用了PID方法。虽然PID控制比较简单实用,并且应用广泛,但毕竟水下机器人的运动是高度非线性、时变和强耦合的,因此该方法并不能完美地对水下机器人的复杂的水下运动进行控制,需要对PID控制器的参数在不同环境下进行不断调整以适应水下机器人这一非线性系统。而本发明提出的方法不需要人为参与,仅仅通过与环境的不断交互便可实现对水下机器人在复杂环境下的有效控制。
2.神经网络控制方法
神经网络控制是从结构上对人脑进行模拟,通过利用生物神经系统的分布式存储、并行处理、自适应学习等现象进行模仿的一种控制方法。神经网络基本应用模式一般是将神经网络作为模型或控制器加入控制回路中,通过学习实现对非线性系统的控制。美国密苏里大学的S.Jagannathan和美国德州大学阿灵顿分校的O.Kuljaca等人采用F.L.Lewis研究的应用于机械手控制的基于径向基神经网络直接自适应控制用于解决水下机器人的控制问题,通过该控制方法的在线自学习能力逼近水下机器人在静坐标系下的动力学模型,并基于Lyapunov稳定理论验证了控制系统的稳定性。哈尔滨工程大学的张铭钧教授提出一种基于PD神经滑模的自适应区域跟踪控制方法,并将其用于解决自主式水下机器人的区域跟踪控制问题。该方法可以使神经网络权值、径向基函数中心值及方差进行在线自适应调整,通过仿真实验和水池实验验证了该方法的有效性。但神经网络在实际应用中有一定的局限,其自适应和自调整过程时需要大量时间,并且在自适应过程中需要大量的导师信号才能收敛。而本发明提出的控制方法不需要导师信号等先验知识,仅通过与环境的不断交互,便可对水下机器人速度和艏向进行控制;对于学习速度问题,可以在仿真环境中进行大量的离线训练,将出现的每一个状态值尽可能地涵盖,而后将其投入实际使用,便可以对水下机器人进行实时控制,并且在实际控制中仍具备根据环境的变化不断进行自适应调整的能力。
需要注意的是,具体实施方式仅仅是对本发明技术方案的解释和说明,不能以此限定权利保护范围。凡根据本发明权利要求书和说明书所做的仅仅是局部改变的,仍应落入本发明的保护范围内。

Claims (5)

1.一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,包括以下步骤:
利用Q学习网络建立速度控制器和艏向控制器;
基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;
基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;
结合Q学习的特点,对状态和动作进行划分;
基于Q学习的速度和艏向控制器奖惩函数形式如下:
Figure FDA0002382566590000011
其中,σ表示下一时刻的偏差向量,对于速度控制器
Figure FDA0002382566590000012
对于艏向控制器
Figure FDA0002382566590000013
eu为速度偏差值,
Figure FDA0002382566590000014
为速度偏差变化率,
Figure FDA0002382566590000015
为艏向偏差值,
Figure FDA0002382566590000016
为艏向偏差变化率;Λ为二阶对角矩阵,代表的是σ的各个分量对奖惩函数的影响因子;a为奖励函数的量级控制参数,对奖励函数的量级进行控制;奖励函数中的第二项中,对于速度控制器ut=τu,对于艏向控制器ut=τr
Figure FDA0002382566590000017
为ut前10步的平均值;c1和c2均为大于零的正数,分别表示第一项和第二项对奖惩函数的影响因子;
基于Q学习的速度控制器和艏向控制器,其动作选择方式为ε贪婪策略;对速度控制器和艏向控制器学习更新,从而实现自主水下机器人速度和艏向控制。
2.根据权利要求1所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,所述结合Q学习的特点对状态和动作进行划分的过程包括以下步骤:
对于速度控制器,输入的状态向量为Su={s1u,s2u},s1u、s2u分别为eu
Figure FDA0002382566590000018
对应的转换值;eu∈[-2,2]为速度的偏差,
Figure FDA0002382566590000019
为速度的偏差变化率;在区间[-2,2]对速度的偏差每隔0.1平均划分成41个状态值,即[-2,-1.9,...,1.9,2],[-2,-1.9,...,1.9,2]对应的新论域设置为[1,2,...,40,41],s1u为eu对应的新论域中的值,即转换值;同时在区间[-1,1]对速度的偏差变化率每隔0.05平均划分成41个状态,即[-1,-0.95,...,0.95,1],[-1,-0.95,...,0.95,1]对应的新论域设置为[1,2,...,40,41],s2u
Figure FDA00023825665900000110
对应的新论域中的值,即转换值;速度控制器的输出量是纵向推力,定义推力的区间为[-800,800],对于纵向推力,也将其每隔40平均划分成41个状态,同样将[-800,800]对应的新论域设置为[1,2,...,40,41];综上,便对速度控制器建立了41×41×41的Q值表;
对于艏向控制器,输入的状态向量为
Figure FDA0002382566590000021
Figure FDA0002382566590000022
分别为
Figure FDA0002382566590000023
对应的转换值;
Figure FDA0002382566590000024
为偏航角的偏差,
Figure FDA0002382566590000025
为偏航角的偏差变化率;将[-π,π]表示[-3,3],在区间[-3,3]对偏航角的偏差每隔0.15平均划分成41个状态值,即[-3,-2.85,...,2.85,3],[-3,-2.85,...,2.85,3]对应的新论域为[1,2,...,40,41],
Figure FDA0002382566590000026
Figure FDA0002382566590000027
对应的新论域中的值,即转换值;同时在区间[-1,1]对偏航角的偏差变化率每隔0.05平均划分成41个状态,即[-1,-0.95,...,0.95,1],[-1,-0.95,...,0.95,1]对应的新论域为[1,2,...,40,41],
Figure FDA0002382566590000028
Figure FDA0002382566590000029
对应的新论域中的值,即转换值;
Figure FDA00023825665900000210
为纵向速度u对应的新论域中的值,与速度控制器不一样的地方在于,艏向控制器还需要对实时速度
Figure FDA00023825665900000211
进行划分,将纵向速度区间[-2,2]每隔0.1对实时速度平均划分成41个状态,即得到新论域[1,2,...,40,41];艏向控制器的输出量是偏航力矩,定义偏航力矩的区间为[-2000,2000],将其每隔100平均划分成41个状态,[-2000,2000]对应的新论域为[1,2,...,40,41];综上,对艏向控制器便建立了41×41×41×41的Q值表;
对于每个状态之间的数值,将其进行四舍五入,归入到定义好的新论域中;若状态值不在区间范围内,则将其对应到新论域中的1或41。
3.根据权利要求2所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,所述新论域的划分过程如下:
针对速度控制器,将速度偏差及偏差变化率的实际取值范围称为基本论域,分别用[-e,e]和
Figure FDA00023825665900000212
表示,论域变换公式在MATLAB中可具体表示为以下形式:
Figure FDA00023825665900000213
针对速度控制器,ei表示为速度偏差,即ei为eu,e表示速度偏差最大值,n表示新论域,round(·)表示四舍五入运算;
针对艏向控制器,将每个状态之间的数值进行四舍五入,归入到定义好的新论域的过程与速度控制器相同;此时,ei表示艏向偏差值,即ei
Figure FDA00023825665900000214
e表示艏向偏差值最大值。
4.根据权利要求1、2或3所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,所述基于Q学习的速度控制器和艏向控制器,其动作选择方式为ε贪婪策略的过程如下:
采用随机概率ε随步数增加不断衰减的ε贪婪策略,当ε的值越来越趋近于0,表示训练到最后阶段强化学习系统更加偏向于利用所学到的经验;具体动作选择机制如下:
Figure FDA0002382566590000031
ε=ε0·e(μ-step)/ξ
其中,Qm-1(st+1,a′)表示状态st+1、动作a′对应的Q函数值;ε0为初始值,μ为衰减因子,ξ是控制ε∈(0,1)区间内的控制因子,step表示控制回合数。
5.根据权利要求4所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,对速度控制器和艏向控制器学习更新的过程包括以下步骤:
对上述划分好状态和动作的Q值表进行初始化,将表格中的Q值全部初始化为0,并且设置初始速度和初始艏向角,通过状态转换得到初始的状态st,然后经过ε贪婪策略选择动作at,达到下一个状态st+1,并且得到环境给出的即时回报rt+1,根据这些信息,对Q值表进行更新,具体更新公式如下:
Figure FDA0002382566590000032
其中,α为学习率,γ为折扣率。
CN202010087517.4A 2020-02-11 2020-02-11 基于强化学习技术的自主水下机器人速度和艏向控制方法 Active CN111273677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010087517.4A CN111273677B (zh) 2020-02-11 2020-02-11 基于强化学习技术的自主水下机器人速度和艏向控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010087517.4A CN111273677B (zh) 2020-02-11 2020-02-11 基于强化学习技术的自主水下机器人速度和艏向控制方法

Publications (2)

Publication Number Publication Date
CN111273677A true CN111273677A (zh) 2020-06-12
CN111273677B CN111273677B (zh) 2023-05-12

Family

ID=71000283

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010087517.4A Active CN111273677B (zh) 2020-02-11 2020-02-11 基于强化学习技术的自主水下机器人速度和艏向控制方法

Country Status (1)

Country Link
CN (1) CN111273677B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112318508A (zh) * 2020-08-14 2021-02-05 大连海事大学 一种水下机器人-机械手系统受海流扰动强弱评估方法
CN112947505A (zh) * 2021-03-22 2021-06-11 哈尔滨工程大学 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法
CN112947421A (zh) * 2021-01-28 2021-06-11 西北工业大学 一种基于强化学习的auv自主避障方法
CN115946112A (zh) * 2022-12-08 2023-04-11 哈尔滨工业大学(深圳) 一种预测控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006320997A (ja) * 2005-05-18 2006-11-30 Nippon Telegr & Teleph Corp <Ntt> ロボット行動選択装置及びロボット行動選択方法
JP2010092247A (ja) * 2008-10-07 2010-04-22 Internatl Business Mach Corp <Ibm> 制御器、制御方法及び制御プログラム
JP2014206795A (ja) * 2013-04-11 2014-10-30 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
CN109739090A (zh) * 2019-01-15 2019-05-10 哈尔滨工程大学 一种自主式水下机器人神经网络强化学习控制方法
CN109828463A (zh) * 2019-02-18 2019-05-31 哈尔滨工程大学 一种海流干扰自适应波浪滑翔器艏向控制方法
CN110333739A (zh) * 2019-08-21 2019-10-15 哈尔滨工程大学 一种基于强化学习的auv行为规划及动作控制方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006320997A (ja) * 2005-05-18 2006-11-30 Nippon Telegr & Teleph Corp <Ntt> ロボット行動選択装置及びロボット行動選択方法
JP2010092247A (ja) * 2008-10-07 2010-04-22 Internatl Business Mach Corp <Ibm> 制御器、制御方法及び制御プログラム
JP2014206795A (ja) * 2013-04-11 2014-10-30 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
CN109739090A (zh) * 2019-01-15 2019-05-10 哈尔滨工程大学 一种自主式水下机器人神经网络强化学习控制方法
CN109828463A (zh) * 2019-02-18 2019-05-31 哈尔滨工程大学 一种海流干扰自适应波浪滑翔器艏向控制方法
CN110333739A (zh) * 2019-08-21 2019-10-15 哈尔滨工程大学 一种基于强化学习的auv行为规划及动作控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张卫武;林龙信;: "基于增强学习控制器的仿生水下机器人姿态镇定研究" *
张磊;庞永杰;李晔;孙玉山;: "舵桨联合操纵的自主式水下机器人运动控制" *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112318508A (zh) * 2020-08-14 2021-02-05 大连海事大学 一种水下机器人-机械手系统受海流扰动强弱评估方法
CN112947421A (zh) * 2021-01-28 2021-06-11 西北工业大学 一种基于强化学习的auv自主避障方法
CN112947505A (zh) * 2021-03-22 2021-06-11 哈尔滨工程大学 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法
CN112947505B (zh) * 2021-03-22 2022-11-25 哈尔滨工程大学 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法
CN115946112A (zh) * 2022-12-08 2023-04-11 哈尔滨工业大学(深圳) 一种预测控制方法
CN115946112B (zh) * 2022-12-08 2024-09-06 哈尔滨工业大学(深圳) 一种预测控制方法

Also Published As

Publication number Publication date
CN111273677B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
CN111273677A (zh) 一种基于强化学习技术的自主水下机器人速度和艏向控制方法
CN111290270B (zh) 一种基于Q-learning参数自适应技术的水下机器人反步速度和艏向控制方法
Wang et al. Neural adaptive command filtered control for cooperative path following of multiple underactuated autonomous underwater vehicles along one path
Gao et al. Sliding mode adaptive neural network control for hybrid visual servoing of underwater vehicles
CN111650948B (zh) 一种可底栖式auv的水平面轨迹快速跟踪控制方法
Liu et al. Adaptive NN-DSC control design for path following of underactuated surface vessels with input saturation
CN111240345B (zh) 基于双bp网络增强学习框架的水下机器人轨迹跟踪方法
CN112462792B (zh) 一种基于Actor-Critic算法的水下机器人运动控制方法
Lin Adaptive critic autopilot design of bank-to-turn missiles using fuzzy basis function networks
CN111240344B (zh) 基于强化学习技术的自主水下机器人无模型控制方法
Zhang et al. AUV path tracking with real-time obstacle avoidance via reinforcement learning under adaptive constraints
Zhang et al. Reaction-wheel-based roll stabilization for a robotic fish using neural network sliding mode control
CN112947505B (zh) 一种基于强化学习算法与未知干扰观测器的多auv编队分布式控制方法
CN111176122B (zh) 一种基于双bp神经网络q学习技术的水下机器人参数自适应反步控制方法
CN108255060A (zh) 基于极限学习机的船舶动力定位自抗扰控制方法
Zhang et al. Tracking fault-tolerant control based on model predictive control for human occupied vehicle in three-dimensional underwater workspace
CN116088311A (zh) 基于自适应神经网络扩张状态观测器的无人直升机二阶不确定滑模控制方法
CN117850424A (zh) 一种考虑输入饱和的多usv事件触发误差约束控制方法
Wang et al. Dob-net: Actively rejecting unknown excessive time-varying disturbances
Boncal A study of model based maneuvering controls for autonomous underwater vehicles
Sola et al. Evaluation of a deep-reinforcement-learning-based controller for the control of an autonomous underwater vehicle
CN113050420B (zh) 基于s面控制和td3的auv路径跟踪方法及系统
Yu Saturated backstepping control for boat with disturbance estimator
Kim et al. Direct adaptive control of underwater vehicles using neural networks
CN114089633A (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