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

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

A speed and heading control method of autonomous underwater vehicle based on Reinforcement Learning Technology

【技术实现步骤摘要】
一种基于强化学习技术的自主水下机器人速度和艏向控制方法
本专利技术涉及水下机器人速度和艏向控制方法。属于机器人控制

技术介绍
自主水下机器人作为无人智能海洋航行器的一种,在海洋资源探测和维护海洋权益中起到了重要作用,其运动控制性能的好坏在很大程度上会影响任务完成的效果。目前,随着自主水下机器人的应用日益广泛,人们对其运动性能提出了更高的要求,自主水下机器人的运动控制方法正向着高精度与智能化方向不断发展。传统的水下机器人控制策略研究主要是基于水下机器人数学模型,以此来进行控制器设计,这里的数学模型指的是由水下机器人动力学与运动学方程所构成的模型。这些研究通常假定水下机器人的运动服从一系列的运动学与动力学物理方程,方程中的物理学参数需要通过大量的水下实验进行测定,从而在模型已知的条件下设计精准的控制策略;另外,模型的不精确性也会对控制器的控制性能产生较大的影响,这就需要对模型的不精确性进行补偿,导致控制律复杂,并且在水下机器人实际作业中,复杂多变的海洋环境,也对其控制系统提出了极大的挑战。随着机器学习的不断发展,水下机器人的智能控制问题引起了越来越多的学者们的兴趣与重视。强化学习作为典型的机器学习方法,能够使机器如人类学习一般,在不断的重复性工作中累积经验,在以后遇到同样或者类似情况下能够自主作出最优决策。对于自主水下机器人的运动控制而言,基于强化学习的控制器是一种不基于模型的控制方法,不需要精确的水动力系数,仅通过与环境的不断交互,便可以实现自主学习和自主决策,从而最终实现对自主水下机器人的运动控制,但是目前的基于强化学习的控制器的控制效果有待于进一步提高。
技术实现思路
本专利技术是为了解决现有的水下机器人的控制方法依赖于控制对象模型精度的问题,以及不依赖模型的控制方法控制精度不高的问题。一种基于强化学习技术的自主水下机器人速度和艏向控制方法,包括以下步骤:利用Q学习网络建立速度控制器和艏向控制器;基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;结合Q学习的特点,对状态和动作进行划分;基于Q学习的速度和艏向控制器奖惩函数形式如下:其中,σ表示下一时刻的偏差向量,对于速度控制器对于艏向控制器eu为速度偏差值,为速度偏差变化率,为艏向偏差值,为艏向偏差变化率;Λ为二阶对角矩阵,代表的是σ的各个分量对奖惩函数的影响因子;a为奖励函数的量级控制参数,对奖励函数的量级进行控制;奖励函数中的第二项中,对于速度控制器ut=τu,对于艏向控制器ut=τr;为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——重浮力;τ——推进器推力;——自主水下机器人在惯性坐标系下的六自由度位置和姿态;ν=[uvwpqr]Τ——自主水下机器人在随体坐标系下的六自由度线速度和角速度;R——线速度转换矩阵,为正交阵;T——角速度转换矩阵,为正交阵;Su={s1u,s2u}——基于强化学习的速度控制器的输入向量;s1u——速度的实际值与期望值的偏差;s2u——速度的实际值与期望值的偏差变化率;——基于强化学习的艏向控制器的输入向量;——艏向角的实际值与期望值的偏差;——艏向角的实际值与期望值的偏差变化率;——自主水下机器人的实时速度;——艏向角的期望值;ud——速度的期望值;eu——速度偏差值;——速度偏差变化率;——艏向偏差值;——艏向偏差变化率;at——基于强化学习控制器的最优输出动作;r——强化学习控制器的即时回报值;α——学习率;γ——折扣率;ε——贪婪率。本实施方式所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,包括以下步骤:利用Q学习网络建立速度控制器和艏向控制器;基于Q学习的速度控制器和艏向控制器的结构分别如图1和图2所示所示;基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;同样,在基于Q学习艏向控制器中,因为考虑到艏向的偏转与水下机器人的实时速度具有一定的关系,所以基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;无论是速度控制器还是艏向控制器,Q学习都是控制器结构的主体部分,完全替代了传统常规的控制器。在对上述基于Q学习的速度控制器和艏向控制器进行结构设计后,结合Q学习的特点,对Q学习的状态和动作进行划分,状态和动作划分的好坏,对基于Q学习的控制器的性能好坏有很大影响;考虑到Q学习算法是基于Q值表进行,无法对连续状态变量进行处理,所以必本文档来自技高网
...

【技术保护点】
1.一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,包括以下步骤:/n利用Q学习网络建立速度控制器和艏向控制器;/n基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;/n基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;/n结合Q学习的特点,对状态和动作进行划分;/n基于Q学习的速度和艏向控制器奖惩函数形式如下:/n

【技术特征摘要】
1.一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,包括以下步骤:
利用Q学习网络建立速度控制器和艏向控制器;
基于Q学习的速度控制器的输入是速度的偏差和速度的偏差变化率,经过Q学习算法,输出是纵向推力;
基于Q学习的艏向控制器的输入为艏向角的偏差、艏向角的偏差变化率以及水下机器人的实时速度,经过Q学习算法,最终输出的是水下机器人偏转所需要的偏航力矩;
结合Q学习的特点,对状态和动作进行划分;
基于Q学习的速度和艏向控制器奖惩函数形式如下:



其中,σ表示下一时刻的偏差向量,对于速度控制器对于艏向控制器eu为速度偏差值,为速度偏差变化率,为艏向偏差值,为艏向偏差变化率;Λ为二阶对角矩阵,代表的是σ的各个分量对奖惩函数的影响因子;a为奖励函数的量级控制参数,对奖励函数的量级进行控制;奖励函数中的第二项中,对于速度控制器ut=τu,对于艏向控制器ut=τr;为ut前10步的平均值;c1和c2均为大于零的正数,分别表示第一项和第二项对奖惩函数的影响因子;
基于Q学习的速度控制器和艏向控制器,其动作选择方式为ε贪婪策略;对速度控制器和艏向控制器学习更新,从而实现自主水下机器人速度和艏向控制。


2.根据权利要求1所述的一种基于强化学习技术的自主水下机器人速度和艏向控制方法,其特征在于,所述结合Q学习的特点对状态和动作进行划分的过程包括以下步骤:
对于速度控制器,输入的状态向量为Su={s1u,s2u},s1u、s2u分别为eu、对应的转换值;eu∈[-2,2]为速度的偏差,为速度的偏差变化率;在区间[-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为对应的新论域中的值,即转换值;速度控制器的输出量是纵向推力,定义推力的区间为[-800,800],对于纵向推力,也将其每隔40平均划分成41个状态,同样将[-800,800]对应的新论域设置为[1,2,...,40,41];综上,便对速度控制器建立了41×41×41的Q值表;
对于艏向控制器,输入的状态向量为分别为对应的转换值;为偏航角的偏差,为偏航角的偏差变化率;将[-π,π]表示[-3,3],在区间[-3,3]对偏航角的偏差每隔0.15平均划分成41个状态值,即[-3,-2.85,...,2.85,3],[-3,-2.85,...,2.85,3]对应的新论域为[1,2,...,40,41],为对应的新论域中的值,即转换值;同时在区间[...

【专利技术属性】
技术研发人员:秦洪德孙延超张佩王卓万磊景锐洁张宇昂曹禹
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙;23

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

1