CN114721409B - 一种基于强化学习的水下航行器对接控制方法 - Google Patents

一种基于强化学习的水下航行器对接控制方法 Download PDF

Info

Publication number
CN114721409B
CN114721409B CN202210638552.XA CN202210638552A CN114721409B CN 114721409 B CN114721409 B CN 114721409B CN 202210638552 A CN202210638552 A CN 202210638552A CN 114721409 B CN114721409 B CN 114721409B
Authority
CN
China
Prior art keywords
underwater vehicle
aircraft
network
docking
coordinate system
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.)
Active
Application number
CN202210638552.XA
Other languages
English (en)
Other versions
CN114721409A (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.)
Shandong University
Original Assignee
Shandong 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 Shandong University filed Critical Shandong University
Priority to CN202210638552.XA priority Critical patent/CN114721409B/zh
Publication of CN114721409A publication Critical patent/CN114721409A/zh
Application granted granted Critical
Publication of CN114721409B publication Critical patent/CN114721409B/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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

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)

Abstract

本发明涉及一种基于强化学习的水下航行器对接控制方法,属于海洋控制实验技术领域,本发明基于深度强化学习中的PPO算法框架,引入新旧策略更新的可靠边界,提升智能体学习的稳定性。同时,采用自适应回滚裁剪机制,根据收集到成功完成任务经验的情况自适应地调节回滚力度,从而调节新旧策略更新的上下限,从而鼓励智能体在训练初期进行探索,在训练后期稳定收敛。在仿真训练方面,本发明构建了考虑海流、海浪干扰的对接训练环境,使用此训练环境进行智能体的学习,大大提升了水下航行器的抗干扰能力。

Description

一种基于强化学习的水下航行器对接控制方法
技术领域
本发明涉及一种基于强化学习的水下航行器对接控制方法,属于海洋控制实验技术领域。
背景技术
水下航行器作为特殊的海洋调查设备,已经被大量应用于海底地形测绘、海洋资源勘探、沉船古迹调查、油气管道维护、生命科学监测等诸多海洋工程领域,是人类探索海洋、利用海洋过程中不可或缺的手段。然而,由于要保证水下航行器自身的灵活性并还要携带相应设备,其自身携带的有限能源限制了其长期巡航的能力,定期补充能源是不可避免的。为了避免水下航行器依赖水面舰艇进行能源补充,使其具有全自动的长期运行能力,诸如中国专利文件CN201120224621.X等设计了自主水下航行器对接站作为其能量补充的必要装置。而真实的海洋环境中存在复杂的海流干扰和波浪干扰,发明一种水下航行器抗干扰、高鲁棒性的智能对接控制算法是十分必要的。
成功的对接控制需要航行器在波浪或海流的干扰下,按照智能的策略高成功率地引导、导航和控制自身进入对接站,整个过程如图1所示。但是,到目前为止,对于水下航行器智能对接控制仍然有很多困难点。传统的例如比例积分微分(PID)控制器等线性控制器,对于水下航行器这类具有复杂非线性动力学特性的系统,难以取得良好的控制性能。即便使用现有的非线性控制器,在实际的任务环境中水下航行器动态模型及任务环境模型都难以精确获取,所以也难以获得良好的控制效果。此外,复杂多变的洋流及存在于海面的海浪都会对水下航行器的对接过程带来干扰。所以需要一种可以不依赖于模型且能够进行自学习的智能控制算法来解决上述问题。
机器学习技术近些年的快速发展给水下航行器智能化控制带来更多可能。深度强化学习(DeepReinforcement Learning, DRL)作为一种可以解决无模型马尔可夫决策过程(Markov decision process, MDP)问题的算法框架,能够构建一个与海底任务环境不断交互的水下航行器智能体。基于DRL原理的控制器可以在无环境模型的情况下通过获取来自任务环境反馈的惩罚或奖励,最大化累积折损奖励来最终寻找到完成任务目标的最优策略,如图2所示。
然而,现有深度强化学习的算法存在着一些显著的缺陷,基于Q-学习的算法不适用于诸如水下航习器这类有着连续动作空间的控制对象。传统基于策略梯度的算法不能有效利用从环境中采集的数据,导致收敛速度过慢。在这些深度强化学习算法中,PPO(Proximal Policy Optimization,近端策略优化)算法很好地平衡了数据的利用和环境的探索,非常适合处理高维状态及动作空间中的控制问题。PPO在更新中使用的新旧策略概率之比作为更新裁剪的参考,这实际上不能很好地保持在预先给定的裁剪范围内,这将导致不适当的策略更新幅度,而回滚裁剪机制有助于提高学习能力。而其提出的回滚裁剪机制引入了新的超参数来调节回滚力度,此影响策略更新的超参数依然要凭借人工经验进行设定,这是很不具备普适性的。于是在本发明中,我们提出了一种基于训练进度的自适应回滚裁剪机制,在不设置新的超参数的前提下改进了PPO的策略更新,并基于此机制设计了基于深度强化学习算法的水下航行器对接控制方法。
发明内容
针对现有技术的不足,为了解决水下航行器对接控制问题,本发明基于深度强化学习中的PPO算法框架,提出一种基于自适应可靠边界回滚裁剪强化学习的水下航行器对接控制方法。本方法特点主要在于:1.引入新旧策略更新的可靠边界,提升智能体学习的稳定性。2. 采用自适应回滚裁剪机制,根据收集到成功完成任务经验的情况自适应地调节回滚力度,从而调节新旧策略更新的上下限,从而鼓励智能体在训练初期进行探索,在训练后期稳定收敛。
在仿真训练方面,本发明构建了考虑海流、海浪干扰的对接训练环境,使用此训练环境进行智能体的学习,大大提升了水下航行器的抗干扰能力。
本发明的技术方案如下:
一种基于自适应裁剪强化学习技术的水下航行器对接控制方法,包括步骤如下:
步骤1、定义任务环境及模型
1-1、构建水下航行器所在的任务环境及水下航行器动力学模型;
任务环境包括固定在地理原点的
Figure 936550DEST_PATH_IMAGE001
坐标系、设置了三维地图尺寸的三维区 域、三维锥体对接站区域;
水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;
通过在仿真中基于牛顿-欧拉运动方程推导,对水下航行器进行六自由度的动力 学建模,包括,在
Figure 709816DEST_PATH_IMAGE002
坐标系下对水下航行器坐标
Figure 614187DEST_PATH_IMAGE003
及姿态角
Figure 134030DEST_PATH_IMAGE004
进行描 述,使用固定在水下航行器上随水下航行器运动的、以其重心为原点
Figure 73036DEST_PATH_IMAGE005
Figure 23062DEST_PATH_IMAGE006
坐标系, 描述水下航行器的线速度
Figure 821253DEST_PATH_IMAGE007
及角速度
Figure 144787DEST_PATH_IMAGE008
,以完整描述水下航行器的运动 状态;其中,
Figure 735038DEST_PATH_IMAGE009
为固定坐标系
Figure 873543DEST_PATH_IMAGE010
下的三维坐标值;
Figure 752506DEST_PATH_IMAGE011
为固定坐标系
Figure 614152DEST_PATH_IMAGE012
绕三个坐标轴旋转的姿态角角度:艏向角
Figure 262171DEST_PATH_IMAGE013
、横滚角
Figure 819579DEST_PATH_IMAGE014
以及俯仰角
Figure 185838DEST_PATH_IMAGE015
Figure 788857DEST_PATH_IMAGE016
为 水下航行器在
Figure 556962DEST_PATH_IMAGE017
坐标系下沿三个坐标轴运动的线速度值,
Figure 13833DEST_PATH_IMAGE018
Figure 664126DEST_PATH_IMAGE019
坐标 系下绕三个坐标轴旋转的角速度,如图3所示;根据构建好的水下航行器动力学模型,已知
Figure 70836DEST_PATH_IMAGE020
时刻水下航行器的运动状态,由水下航行器艉部推进器输出力的大小及艉部水平舵、艉 部垂直舵的舵角偏转值,经四阶龙格库塔法解算微分方程可以得到
Figure 490185DEST_PATH_IMAGE021
时刻的运动状态;
四阶龙格库塔法解算微分方程示例说明如下:
Figure 389396DEST_PATH_IMAGE022
Figure 199089DEST_PATH_IMAGE023
Figure 206228DEST_PATH_IMAGE024
Figure 683345DEST_PATH_IMAGE025
Figure 13177DEST_PATH_IMAGE026
Figure 310166DEST_PATH_IMAGE027
其中,
Figure 527521DEST_PATH_IMAGE028
为定义的微分时间间隔;
Figure 124724DEST_PATH_IMAGE029
为航行器在
Figure 97228DEST_PATH_IMAGE030
时刻的速度向量,
Figure 946760DEST_PATH_IMAGE031
为下 一时刻的速度向量,
Figure 30123DEST_PATH_IMAGE032
为航行器的动力学方程;
Figure 622778DEST_PATH_IMAGE033
Figure 828500DEST_PATH_IMAGE034
Figure 97152DEST_PATH_IMAGE035
Figure 921889DEST_PATH_IMAGE036
表示微分方程在 该点处的一阶导数,即斜率。
为了使用基于强化学习的控制算法,所构建的任务环境需要定义明确任务环境给与水下航行器智能体的奖励函数以及水下航行器对任务环境观察量。
为了几何化地描述水下航行器的对接控制问题,将三维运动投影到穿过锥体对接 站中心轴的平面上,在这个投影平面上,原本三维的锥体对接站的入口形成入口三角形区 域PAB,优选的,以过中轴线的截面三角入口三角形区域PAB为正三角形,边长AB设定为1.2 米;
Figure 228105DEST_PATH_IMAGE037
是入口AB的半径;成功对接的基本要求是:当航行器头部到达AB时,
Figure 542412DEST_PATH_IMAGE038
小于
Figure 897694DEST_PATH_IMAGE039
; 由于锥形入口具有辅助导向作用,因此要求
Figure 260542DEST_PATH_IMAGE040
小于
Figure 686845DEST_PATH_IMAGE041
;考虑安全裕度,成功对接的最终 约束写为:
Figure 172053DEST_PATH_IMAGE042
(1-1)
Figure 683805DEST_PATH_IMAGE043
(1-2)
其中,
Figure 729907DEST_PATH_IMAGE044
Figure 745136DEST_PATH_IMAGE045
分别为半径安全裕度与角度安全裕度;
Figure 73349DEST_PATH_IMAGE046
为航行器头部与对接 站中心轴的垂直距离,
Figure 541240DEST_PATH_IMAGE047
为航行器中轴线与对接站中心轴的夹角;
Figure 107875DEST_PATH_IMAGE048
为三角形的
Figure 774348DEST_PATH_IMAGE049
1-2、定义奖励函数
根据航行器对接控制任务的设定,构建如下奖励分量:
首先,根据水下航行器接近目标的行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到对接站终点距离的减小值,具体如式(1-3)至式(1-6):
Figure 601359DEST_PATH_IMAGE050
(1-3)
Figure 822125DEST_PATH_IMAGE051
(1-4)
Figure 330467DEST_PATH_IMAGE052
(1-5)
Figure 317358DEST_PATH_IMAGE053
(1-6)
其中,
Figure 315270DEST_PATH_IMAGE054
Figure 820070DEST_PATH_IMAGE055
表示水下航行器接近对接站终点及对接站中轴线的步进奖励,
Figure 600944DEST_PATH_IMAGE056
表示上一时刻水下航行器与终点的距离,
Figure 448202DEST_PATH_IMAGE057
表示当前时刻水下航行器与终点 的距离,
Figure 85857DEST_PATH_IMAGE058
表示上一时刻水下航行器与中轴线的距离,
Figure 812373DEST_PATH_IMAGE059
表示当前时刻水下航 行器与中轴线的距离;
Figure 396938DEST_PATH_IMAGE060
Figure 892510DEST_PATH_IMAGE061
均是带容差的惩罚函数,
Figure 904329DEST_PATH_IMAGE062
是权重,
Figure 584053DEST_PATH_IMAGE063
是容差,
Figure 237888DEST_PATH_IMAGE064
Figure 322388DEST_PATH_IMAGE065
是一个小于1的正常数,用于调整惩罚项;
Figure 770687DEST_PATH_IMAGE066
是航行器重心 到对接站坐标距离的
Figure 471795DEST_PATH_IMAGE067
次幂,设定此量来为智能体提供惩罚信息,
Figure 135514DEST_PATH_IMAGE068
是航行器重心到 对接站中轴线距离的
Figure 340099DEST_PATH_IMAGE069
次幂,设定此量来为智能体提供惩罚信息;
入口三角形区域PAB沿对接站中心轴向外延伸形成外部圆锥体区域,当水下航行 器到达外部圆锥体区域时,改变奖励分量的权重,并设置奖励分量
Figure 756037DEST_PATH_IMAGE070
,以帮助航行器调整到 所需的姿态。
Figure 554228DEST_PATH_IMAGE071
(1-7)
其中,
Figure 408921DEST_PATH_IMAGE072
是权重,且满足
Figure 668345DEST_PATH_IMAGE073
Figure 458447DEST_PATH_IMAGE074
为前一时刻航行器姿态角与目标 姿态角的差值;
Figure 868568DEST_PATH_IMAGE075
为当前时刻航行器姿态角与目标姿态角的差值;
综合起来,奖励函数被设定为:
Figure 933476DEST_PATH_IMAGE076
(1-8)。
1-3、定义状态空间S
在本发明所构建的水下航行器仿真环境中,状态空间由水下航行器对环境的几个 观察分量构成,即状态空间可相应定义为
Figure 988020DEST_PATH_IMAGE077
,n为观察分量的 数量,其中包括:如图4所示,在每个时刻,以航行器重心到对接站的距离
Figure 73656DEST_PATH_IMAGE078
、航行器重心 到对接站中心轴的距离
Figure 318212DEST_PATH_IMAGE079
、航行器和最终期望姿态之间的角度
Figure 514707DEST_PATH_IMAGE080
,以及到终点P的导 航角
Figure 954915DEST_PATH_IMAGE081
作为观测值;最终,确定构成航行器智能体对环境的观察的形式为:
Figure 945874DEST_PATH_IMAGE082
(1-9)
其中,
Figure 205954DEST_PATH_IMAGE083
是水下航行器艉部推进器的推力大小、
Figure 507989DEST_PATH_IMAGE084
为艉部水平舵的偏转角度,
Figure 537125DEST_PATH_IMAGE085
为艉部垂直舵的偏转角度;
各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure 698985DEST_PATH_IMAGE086
(1-10)
通过最大最小值归一化处理将水下航行器对环境的观察值放缩到
Figure 446361DEST_PATH_IMAGE087
的范围 内;以防止不同指数量级的数值对后续神经网络梯度反向传播的影响。
1-4、定义动作空间
本发明所提出的水下航行器智能控制算法可以使用于各类型水下航行器,在后续 的举例仿真中,使用了一个运动在三维空间下、具有六个自由度,有三个执行机构的欠驱动 水下航行器。水下航行器的三个执行机构分别为艉部推进器、艉部水平舵以及艉部垂直舵; 本发明所提出的控制算法通过建立从水下航行器的各观察量到控制推进器输出力的大小、 两组舵面的偏转角度的非线性映射,实现了对水下航行器端到端的控制。同时,定义本发明 中举例仿真所使用的水下航行器的动作空间为
Figure 984659DEST_PATH_IMAGE088
其中,F为推进器输出力的 大小,
Figure 868301DEST_PATH_IMAGE089
为水平舵以及垂直舵的偏转角度。
1-5、海浪干扰
如果水下航行器在近水面进行对接,则有必要考虑海洋表面存在的波浪扰动。参考《Review of marine current speed and power coefficient—mathematical models》(Ćalasan, Martin, 等人于2015 4th Mediterranean Conference on EmbeddedComputing (MECO). IEEE会议上发表)中的波谱理论,我们构建了一个随机海浪模型,海浪波谱如下所示:
Figure 469571DEST_PATH_IMAGE090
(1-11)
Figure 235402DEST_PATH_IMAGE091
(1-12)
其中,g为重力加速度;U为航行器速度向量;
Figure 515074DEST_PATH_IMAGE092
为子谐波波长的倒数;
Figure 518802DEST_PATH_IMAGE093
是有效 波高(significant wave height,船舶工程领域专业术语,指按一定规则统计的实际波高 值,此处取最大的1/3部分波高的平均值),
Figure 22464DEST_PATH_IMAGE094
是海浪子谐波角频率;此外,
Figure 475924DEST_PATH_IMAGE095
是航行器遇 到波浪的遭遇角频率,
Figure 356024DEST_PATH_IMAGE096
是遭遇角;设定航行器尺寸相比海浪波长较小,参考莫里森方程, 考虑到滚转恢复力矩的存在和对接控制中的主要扰动,可以通过沿航行器长度积分获得波 浪力和力矩如下所示:
Figure 10996DEST_PATH_IMAGE097
(1-13)
Figure 154401DEST_PATH_IMAGE098
(1-14)
Figure 894824DEST_PATH_IMAGE099
(1-15)
其中,
Figure 784807DEST_PATH_IMAGE100
是水下航行器的直径,
Figure 231969DEST_PATH_IMAGE101
是阻力系数,
Figure 343014DEST_PATH_IMAGE102
是附加质量系数,
Figure 570733DEST_PATH_IMAGE103
是海水密 度,
Figure 995898DEST_PATH_IMAGE104
是海浪在动系下的横移速度、即y方向速度,
Figure 359883DEST_PATH_IMAGE105
是航行器在动系下的横移速度、即y 方向速度,
Figure 606276DEST_PATH_IMAGE106
是海浪在动系下的横移加速度、即y方向加速度,
Figure 852449DEST_PATH_IMAGE107
是航行器在动系下的横 移加速度、即y方向加速度,
Figure 284568DEST_PATH_IMAGE108
是海浪引起的横向干扰力,
Figure 971901DEST_PATH_IMAGE109
是海浪引起的垂向干扰 力,
Figure 159169DEST_PATH_IMAGE110
是海浪引起的纵倾干扰力矩,
Figure 319671DEST_PATH_IMAGE111
是海浪在动系下的升沉速度、即z方向速度,
Figure 821059DEST_PATH_IMAGE112
是航行器在动系下的升沉速度、即z方向速度,
Figure 487533DEST_PATH_IMAGE113
是海浪在动系下的升沉加速度、即z方 向加速度,
Figure 986647DEST_PATH_IMAGE114
是航行器在动系下的升沉加速度、即z方向加速度,海浪子谐波的速度和加速 度可以通过叠加次谐波速度得到;
Figure 738571DEST_PATH_IMAGE115
(1-16)
Figure 715755DEST_PATH_IMAGE116
(1-17)
Figure 239664DEST_PATH_IMAGE117
(1-18)
Figure 909680DEST_PATH_IMAGE118
(1-19)
其中,
Figure 148901DEST_PATH_IMAGE119
是次谐波振幅,
Figure 929775DEST_PATH_IMAGE120
是次谐波波数,
Figure 570841DEST_PATH_IMAGE121
是谐波波数 与深度坐标的乘积,
Figure 408828DEST_PATH_IMAGE122
是每个子谐波的随机相移(0<
Figure 807448DEST_PATH_IMAGE123
Figure 516647DEST_PATH_IMAGE124
),
Figure 887586DEST_PATH_IMAGE125
是子谐波的序号,
Figure 758458DEST_PATH_IMAGE126
是子谐波的周期,
Figure 178463DEST_PATH_IMAGE127
是海浪的主传播方向,t为仿真进行的时间,在仿真训练中,将上面计 算得到的海浪干扰力及干扰力矩叠加进水下航行器的动力学方程,得到受干扰的动力学模 型。
1-6、海流干扰
我们在整个深度范围内,在水平面上构建一个包含两个分量的流场
Figure 566719DEST_PATH_IMAGE128
,包 括非定常均匀流
Figure 916798DEST_PATH_IMAGE129
和稳定循环流
Figure 896255DEST_PATH_IMAGE130
。在地理坐标系下,水平面上两个分量产生的 流速简化为
Figure 472730DEST_PATH_IMAGE131
,具体描述如下:
Figure 523731DEST_PATH_IMAGE132
(1-20)
Figure 335174DEST_PATH_IMAGE133
(1-21)
Figure 79008DEST_PATH_IMAGE134
(1-22)
其中,
Figure 877200DEST_PATH_IMAGE135
是地理坐标系中表示的当前流的大小,
Figure 466313DEST_PATH_IMAGE136
是当前相对于北方的方向; 将电流向量从地理坐标系转换为体坐标系,从而将电流力整合到运动方程中,以体坐标系 表示
Figure 666350DEST_PATH_IMAGE137
(1-23)
Figure 253189DEST_PATH_IMAGE138
(1-24)
其中,
Figure 400661DEST_PATH_IMAGE139
是从体坐标系到地理坐标系的旋转矩阵,为了简化计算,在每个时间 步,直接将当前速度叠加在航行器的线速度上。
步骤2、定义基于深度强化学习的对接控制算法
2-1、基本近端策略优化方法:
对于深度强化学习方法中的近端策略优化方法来说,策略网络
Figure 934411DEST_PATH_IMAGE140
输入为
Figure 113588DEST_PATH_IMAGE141
,输出为
Figure 809012DEST_PATH_IMAGE142
,即一个由状态到动作的映射关系,其策略网络
Figure 706430DEST_PATH_IMAGE143
的目标函数
Figure 775361DEST_PATH_IMAGE144
Figure 543466DEST_PATH_IMAGE146
(2-1)
其中,
Figure 675370DEST_PATH_IMAGE147
为裁剪因子(优选的,
Figure 794504DEST_PATH_IMAGE147
为小于1的正数,一般取0.1~0.2),
Figure 670057DEST_PATH_IMAGE148
为优势函 数,
Figure 826756DEST_PATH_IMAGE149
为一轮训练(一个episode内)t时刻智能体状态,
Figure 660720DEST_PATH_IMAGE150
为t时刻智能体所执行的动作,
Figure 735992DEST_PATH_IMAGE151
则为基于旧的策略函数计算得到的t时刻的优势函数值,t时刻的优势函数 为:
Figure 946393DEST_PATH_IMAGE152
(2-2)
其中,
Figure 830036DEST_PATH_IMAGE153
为值网络的网络权重参数,
Figure 162797DEST_PATH_IMAGE154
为一个样本序列
Figure 152398DEST_PATH_IMAGE155
中某一个动 作点之后总的折扣奖励,
Figure 228807DEST_PATH_IMAGE156
为折扣因子,一般取0.90~0.99,
Figure 966956DEST_PATH_IMAGE157
为值网络输出的状态- 价值函数的近似值;
Figure 736198DEST_PATH_IMAGE158
(2-3)
状态价值函数的目标函数
Figure 989325DEST_PATH_IMAGE159
为:
Figure 744791DEST_PATH_IMAGE160
(2-4)
Figure 730589DEST_PATH_IMAGE161
(2-5)
Figure 546098DEST_PATH_IMAGE162
(2-6)
Figure 348838DEST_PATH_IMAGE163
(2-7)
其中,
Figure 907995DEST_PATH_IMAGE164
为值网络权重,
Figure 745370DEST_PATH_IMAGE165
为调整因子,
Figure 728851DEST_PATH_IMAGE166
为时序差分误差,
Figure 170285DEST_PATH_IMAGE167
是第i个时间 步的状态的值网络输出值,
Figure 989859DEST_PATH_IMAGE168
是第i个时间步的状态的环境奖励值;
改进后的近端策略优化方法:
针对基本目标函数
Figure 885003DEST_PATH_IMAGE169
中的
Figure 307894DEST_PATH_IMAGE170
函数,该函数原本 功能是将新旧策略网络之比
Figure 88156DEST_PATH_IMAGE171
控制在
Figure 317012DEST_PATH_IMAGE172
的范围内,以防 止策略网络更新过大导致不稳定。
但实际上,这种简单粗暴的裁剪机制会导致不适当的策略更新,这种以新旧网络输出之比作为约束参考的方法也并不能很好地保持在预先给定的裁剪范围内。
针对此,本发明,使用新的约束参考
Figure 4345DEST_PATH_IMAGE173
,来约束新旧网络的更新,并使用基于训练 进程的参考量
Figure 722771DEST_PATH_IMAGE174
(即航行器智能体在最近经历的100次训练中成功的次数),作为回滚机制 的调节因子,自适应地调整回滚裁剪力度;
Figure 862765DEST_PATH_IMAGE175
(2-8)
Figure 626803DEST_PATH_IMAGE176
(2-9)
其中,
Figure 558856DEST_PATH_IMAGE177
为自适应的回滚因子,
Figure 57971DEST_PATH_IMAGE174
为航行器智能体在最近经历的100次训练中 成功的次数,通过自适应可靠边界回滚裁剪机制计算得到
Figure 809895DEST_PATH_IMAGE178
则改进后的目标函数
Figure 649062DEST_PATH_IMAGE179
为:
Figure 638884DEST_PATH_IMAGE181
(2- 10)
其中,
Figure 574479DEST_PATH_IMAGE182
如上公式(2-9)所示。
2-2、定义算法流程
整个自适应可靠边界回滚裁剪近端策略优化算法(ARAB-PPO)流程包括步骤如下:
输入:初始化策略网络参数
Figure 282541DEST_PATH_IMAGE183
,初始化值网络参数
Figure 594573DEST_PATH_IMAGE184
(1)循环开始,遍历k = 0, 1, 2 , …进行以下步骤:
(2)使用策略网络
Figure 232710DEST_PATH_IMAGE185
Figure 808047DEST_PATH_IMAGE186
为更新策略网络的次序,收集若干条 完整的训练轨迹
Figure 534564DEST_PATH_IMAGE155
存入
Figure 119129DEST_PATH_IMAGE187
Figure 614701DEST_PATH_IMAGE188
为收集到的训练轨迹次序;
(3)根据公式(2-2)基于当前值网络
Figure 626520DEST_PATH_IMAGE189
计算优势函数的估计值
Figure 500320DEST_PATH_IMAGE190
(4)通过策略网络的梯度下降,最大化目标函数
Figure 75527DEST_PATH_IMAGE191
来更新ARAB-PPO网络参 数,得到新的网络参数
Figure 894448DEST_PATH_IMAGE192
Figure 670642DEST_PATH_IMAGE194
(2-11)
(5)通过梯度下降法,基于均方根误差来拟合值网络:
Figure 250047DEST_PATH_IMAGE195
(2-12)
(6)结束循环;
优选的,步骤2-2中,策略网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9(对应公式(1-9)),输出层神经元设定为3(对应动作空间维度),中间层设定为128个神经元;值网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9(对应公式(1-9)),输出层神经元设定为1,中间层设定为128个神经元。
步骤3、进行对接训练
3-1、初始化任务环境及水下航行器动力学模型;
3-2、根据设定好的海浪参数,根据式(1-11)至式(1-19)计算海浪产生的干扰力及干扰力矩;
3-3、根据设定好的海流参数及具体形式,根据式(1-20)至式(1-24)计算得到体坐标系下的海流速度在两个方向上的速度分量;
3-4、根据步骤2-2中所述初始化策略网络参数及值网络参数;
3-5、策略网络
Figure 301049DEST_PATH_IMAGE196
根据t时刻获得的如公式(1-9)所示的观察量
Figure 974475DEST_PATH_IMAGE197
,输出动 作
Figure 328096DEST_PATH_IMAGE198
3-6、根据公式(1-8)计算环境给予航行器智能体的单步环境奖励,并根据公式(1- 1)、(1-2)判断航行器是否满足对接控制约束,并记录航行器智能体在最近经历的100次训 练中训练成功次数
Figure 250922DEST_PATH_IMAGE199
若不满足,且t小于等于设定的单轮最大步数,则重复步骤3-6;
若满足,且t小于等于设定的单轮最大步数,则进行3-7;
若不满足,且t大于设定的单轮最大步数,则进行3-7;
3-7、将得到的完整训练轨迹
Figure 243630DEST_PATH_IMAGE200
,其中
Figure 568301DEST_PATH_IMAGE201
表示第 0个时间步的航行器状态;
Figure 420719DEST_PATH_IMAGE202
表示第0时刻航行器智能体执行的动作;
Figure 971786DEST_PATH_IMAGE203
表示0时刻航行器 智能体在执行动作后获得的奖励值;后续以此类推,存入
Figure 833432DEST_PATH_IMAGE204
3-8、设定更新频率,判断是否满足更新频率:
当满足更新频率时,进行步骤2-2中的步骤(3),基于当前值网络
Figure 281118DEST_PATH_IMAGE205
计算优势函数 的估计值
Figure 570017DEST_PATH_IMAGE206
并继续执行3-9;
当不满足更新频率时,重复步骤3-6;
3-9、根据公式(2-10),根据
Figure 670697DEST_PATH_IMAGE207
使用本发明提出的自适应可靠边界回滚机制,计算策 略网络的目标函数
Figure 336034DEST_PATH_IMAGE208
3-10、对目标函数求取梯度,并根据步骤2-2中的步骤(4)更新策略网络参数;
3-11、根据步骤2-2中的步骤(5)更新值网络参数;
3-12、重复3-6,直到达到设定的收敛目标。
本发明的有益效果在于:
本发明提出了基于深度强化学习的水下航行器对接控制算法,航行器智能体在考虑海流、海浪的干扰环境下训练后能够高鲁棒性地完成对接操作。
具体来说,本发明使用了自适应可靠边界回滚裁剪近端策略优化算法,通过采用自适应的回滚裁剪机制,在训练初期促进智能体进行对环境的探索,并在成功达到任务目标后快速收敛,促进了训练后期的学习稳定性。最终提升了水下航行器在训练过程中的自学习能力,促进其高鲁棒性的完成对接任务。
附图说明
图1为水下航行器对接控制过程示意图;
图2为基于深度强化学习的水下航行器对接控制示意图;
图3为水下航行器坐标系定义示意图;
图4为对接控制几何化描述示意图;
图5a为自适应可靠边界回滚裁剪的运作效果示意图,为当
Figure 835630DEST_PATH_IMAGE209
大于边界
Figure 967534DEST_PATH_IMAGE210
的 裁剪方式;
图5b为自适应可靠边界回滚裁剪的运作效果示意图,为当
Figure 352248DEST_PATH_IMAGE211
小于边界
Figure 821275DEST_PATH_IMAGE212
的 裁剪方式;
图6为考虑海浪海流干扰的经过训练后的一次对接过程;
图7为本发明所提出的方法相对比与原始PPO算法的训练奖励曲线图;横坐标表示航行器智能体训练轮回(一个episode)的轮数,即训练了多少轮(episodes number),纵坐标表示该轮所获得的总奖励值;
图8为实施例1中设定的海浪参数产生的海浪波形图,该图表示航行器智能体在一个训练轮回(一个episode)中所遭遇的浪高,横坐标表示一个训练轮回中的时间步,纵坐标表示海浪高度。
具体实施方式
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
实施例1:
一种基于强化学习的水下航行器对接控制方法,包括步骤如下:
步骤1、定义任务环境及模型
1-1、构建水下航行器所在的任务环境及水下航行器动力学模型;
任务环境包括固定在地理原点的
Figure 181237DEST_PATH_IMAGE213
坐标系、设置了三维地图尺寸的三维区 域、三维锥体对接站区域;
水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;
通过在仿真中基于牛顿-欧拉运动方程推导,对一个长度为2.38米、直径为0.32 米、重量为167千克的流线型水下航行器进行六自由度的动力学建模,包括,在
Figure 811938DEST_PATH_IMAGE214
坐标 系下对水下航行器坐标
Figure 559314DEST_PATH_IMAGE215
及姿态角
Figure 300874DEST_PATH_IMAGE216
进行描述,使用固定在水下航行器上 随水下航行器运动的、以其重心为原点
Figure 777992DEST_PATH_IMAGE217
Figure 842244DEST_PATH_IMAGE218
坐标系,描述水下航行器的线速度
Figure 201550DEST_PATH_IMAGE219
及角速度
Figure 746801DEST_PATH_IMAGE008
,以完整描述水下航行器的运动状态;其中,
Figure 484950DEST_PATH_IMAGE220
为固定坐 标系
Figure 522701DEST_PATH_IMAGE221
下的三维坐标值;
Figure 306986DEST_PATH_IMAGE222
为固定坐标系
Figure 62452DEST_PATH_IMAGE223
绕三个坐标轴旋转的姿 态角角度:艏向角
Figure 310900DEST_PATH_IMAGE013
、横滚角
Figure 188726DEST_PATH_IMAGE224
以及俯仰角
Figure 152919DEST_PATH_IMAGE015
Figure 474528DEST_PATH_IMAGE225
为水下航行器在
Figure 617628DEST_PATH_IMAGE226
坐标系下沿 三个坐标轴运动的线速度值,
Figure 994251DEST_PATH_IMAGE018
Figure 490479DEST_PATH_IMAGE227
坐标系下绕三个坐标轴旋转的角速度,如 图3所示;根据构建好的水下航行器动力学模型,已知
Figure 853327DEST_PATH_IMAGE020
时刻水下航行器的运动状态,由水 下航行器艉部推进器输出力的大小及艉部水平舵、艉部垂直舵的舵角偏转值,经四阶龙格 库塔法解算微分方程可以得到
Figure 14050DEST_PATH_IMAGE021
时刻的运动状态;
四阶龙格库塔法解算微分方程示例说明如下:
Figure 295996DEST_PATH_IMAGE022
Figure 542169DEST_PATH_IMAGE023
Figure 705779DEST_PATH_IMAGE024
Figure 986587DEST_PATH_IMAGE025
Figure 642697DEST_PATH_IMAGE026
Figure 376166DEST_PATH_IMAGE027
其中,
Figure 208381DEST_PATH_IMAGE028
为定义的微分时间间隔;
Figure 78117DEST_PATH_IMAGE029
为航行器在
Figure 170706DEST_PATH_IMAGE030
时刻的速度向量,
Figure 391472DEST_PATH_IMAGE031
为下 一时刻的速度向量,
Figure 899814DEST_PATH_IMAGE032
为航行器的动力学方程;
Figure 644564DEST_PATH_IMAGE033
Figure 908055DEST_PATH_IMAGE034
Figure 412855DEST_PATH_IMAGE035
Figure 52783DEST_PATH_IMAGE036
表示微分方程在 该点处的一阶导数,即斜率。
为了使用基于强化学习的控制算法,所构建的任务环境需要定义明确任务环境给与水下航行器智能体的奖励函数以及水下航行器对任务环境观察量。
为了几何化地描述水下航行器的对接控制问题,将三维运动投影到穿过锥体对接 站中心轴的平面上,如图4所示,在这个投影平面上,原本三维的锥体对接站的入口形成入 口三角形区域PAB,P点为对接站,以过中轴线的截面三角入口三角形区域PAB为正三角形, 边长AB设定为1.2米;
Figure 634462DEST_PATH_IMAGE228
是入口AB的半径;成功对接的基本要求是:当航行器头部到达AB时,
Figure 68854DEST_PATH_IMAGE229
小于
Figure 264212DEST_PATH_IMAGE230
;由于锥形入口具有辅助导向作用,因此要求
Figure 442253DEST_PATH_IMAGE231
小于
Figure 403737DEST_PATH_IMAGE232
;考虑安全裕度,成 功对接的最终约束写为:
Figure 681135DEST_PATH_IMAGE233
(1-1)
Figure 98209DEST_PATH_IMAGE234
(1-2)
其中,
Figure 814362DEST_PATH_IMAGE235
Figure 901791DEST_PATH_IMAGE236
分别为半径安全裕度与角度安全裕度;
Figure 943565DEST_PATH_IMAGE237
为航行器头部与对接 站中心轴的垂直距离,
Figure 379094DEST_PATH_IMAGE238
为航行器中轴线与对接站中心轴的夹角;
Figure 633358DEST_PATH_IMAGE239
为三角形的
Figure 244468DEST_PATH_IMAGE049
1-2、定义奖励函数
根据航行器对接控制任务的设定,构建如下奖励分量:
首先,根据水下航行器接近目标的行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到对接站终点距离的减小值,具体如式(1-3)至式(1-6):
Figure 923056DEST_PATH_IMAGE240
(1-3)
Figure 111460DEST_PATH_IMAGE241
(1-4)
Figure 169415DEST_PATH_IMAGE242
(1-5)
Figure 635031DEST_PATH_IMAGE243
(1-6)
其中,
Figure 490379DEST_PATH_IMAGE244
Figure 166080DEST_PATH_IMAGE245
表示水下航行器接近对接站终点及对接站中轴线的步进奖励,
Figure 762147DEST_PATH_IMAGE246
表示上一时刻水下航行器与终点的距离,
Figure 82270DEST_PATH_IMAGE247
表示当前时刻水下航行器与终点的 距离,
Figure 371168DEST_PATH_IMAGE248
表示上一时刻水下航行器与中轴线的距离,
Figure 734498DEST_PATH_IMAGE249
表示当前时刻水下航行器 与中轴线的距离;
Figure 930993DEST_PATH_IMAGE250
Figure 433519DEST_PATH_IMAGE251
均是带容差的惩罚函数,
Figure 565423DEST_PATH_IMAGE252
是权重,
Figure 888537DEST_PATH_IMAGE253
是容差,
Figure 498510DEST_PATH_IMAGE254
Figure 914929DEST_PATH_IMAGE255
是一个小于1的正常数,用于调整惩罚项;
Figure 952155DEST_PATH_IMAGE256
是航行器重 心到对接站坐标距离的
Figure 558586DEST_PATH_IMAGE257
次幂,设定此量来为智能体提供惩罚信息,
Figure 237829DEST_PATH_IMAGE258
是航行器重心 到对接站中轴线距离的
Figure 246105DEST_PATH_IMAGE259
次幂,设定此量来为智能体提供惩罚信息。
入口三角形区域PAB沿对接站中心轴向外延伸形成外部圆锥体区域,外部圆锥体 区域自定义范围大小,将对接站的坐标设定为(100,50,0.5),锥体开口的方向为
Figure 50637DEST_PATH_IMAGE260
坐标减 小的方向,外部圆锥体区域为(90,50,0.5)到(100,50,0.5)的圆锥体区域,当水下航行器到 达外部圆锥体区域时(图4中阴影区域),改变奖励分量的权重,并设置奖励分量
Figure 613206DEST_PATH_IMAGE261
,以帮助 航行器调整到所需的姿态。
Figure 158457DEST_PATH_IMAGE262
(1-7)
其中,
Figure 755660DEST_PATH_IMAGE072
是权重,且满足
Figure 686355DEST_PATH_IMAGE073
Figure 470640DEST_PATH_IMAGE263
为前一时刻航行器姿态角与目标 姿态角的差值;
Figure 616320DEST_PATH_IMAGE264
为当前时刻航行器姿态角与目标姿态角的差值;
综合起来,奖励函数被设定为:
Figure 536871DEST_PATH_IMAGE265
(1-8)
本发明所提出的方法相对比与原始PPO算法的训练奖励曲线如图7所示。
1-3、定义状态空间S
在本发明所构建的水下航行器仿真环境中,状态空间由水下航行器对环境的几个 观察分量构成,即状态空间可相应定义为
Figure 617960DEST_PATH_IMAGE266
,n为观察分量的 数量,其中包括:如图4所示,在每个时刻,以航行器重心到对接站的距离
Figure 892471DEST_PATH_IMAGE267
、航行器重心到 对接站中心轴的距离
Figure 841841DEST_PATH_IMAGE268
、航行器和最终期望姿态之间的角度
Figure 882478DEST_PATH_IMAGE269
,以及到终点P的导航 角
Figure 196785DEST_PATH_IMAGE081
作为观测值;最终,确定构成航行器智能体对环境的观察的形式为:
Figure 884556DEST_PATH_IMAGE270
(1-9)
其中,
Figure 309721DEST_PATH_IMAGE271
是水下航行器艉部推进器的推力大小、
Figure 532761DEST_PATH_IMAGE272
为艉部水平舵的偏转角度,
Figure 752390DEST_PATH_IMAGE273
为艉部垂直舵的偏转角度;
各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure 936247DEST_PATH_IMAGE274
(1-10)
通过最大最小值归一化处理将水下航行器对环境的观察值放缩到
Figure 168032DEST_PATH_IMAGE275
的范围 内;以防止不同指数量级的数值对后续神经网络梯度反向传播的影响。
1-4、定义动作空间
本发明所提出的水下航行器智能控制算法可以使用于各类型水下航行器,在后续 的举例仿真中,使用了一个运动在三维空间下、具有六个自由度,有三个执行机构的欠驱动 水下航行器。水下航行器的三个执行机构分别为艉部推进器、艉部水平舵以及艉部垂直舵; 本发明所提出的控制算法通过建立从水下航行器的各观察量到控制推进器输出力的大小、 两组舵面的偏转角度的非线性映射,实现了对水下航行器端到端的控制。同时,定义本发明 中举例仿真所使用的水下航行器的动作空间为
Figure 979999DEST_PATH_IMAGE276
其中,F为推进器输出力的 大小,
Figure 308213DEST_PATH_IMAGE277
为水平舵以及垂直舵的偏转角度。
1-5、海浪干扰
如果水下航行器在近水面进行对接,则有必要考虑海洋表面存在的波浪扰动。参考《Review of marine current speed and power coefficient—mathematical models》(Ćalasan, Martin, 等人于2015 4th Mediterranean Conference on EmbeddedComputing (MECO). IEEE会议上发表)中的波谱理论,我们构建了一个随机海浪模型,海浪波谱如下所示:
Figure 776103DEST_PATH_IMAGE090
(1-11)
Figure 891475DEST_PATH_IMAGE091
(1-12)
其中,g为重力加速度;U为航行器速度向量;
Figure 26790DEST_PATH_IMAGE092
为子谐波波长的倒数;
Figure 853800DEST_PATH_IMAGE093
是有效 波高(significant wave height,船舶工程领域专业术语,指按一定规则统计的实际波高 值,此处取最大的1/3部分波高的平均值),
Figure 746670DEST_PATH_IMAGE094
是海浪子谐波角频率;此外,
Figure 114066DEST_PATH_IMAGE095
是航行器遇 到波浪的遭遇角频率,
Figure 841238DEST_PATH_IMAGE278
是遭遇角;设定航行器尺寸相比海浪波长较小,参考莫里森方 程,考虑到滚转恢复力矩的存在和对接控制中的主要扰动,可以通过沿航行器长度积分获 得波浪力和力矩如下所示:
Figure 104730DEST_PATH_IMAGE279
(1-13)
Figure 484895DEST_PATH_IMAGE280
(1-14)
Figure 593666DEST_PATH_IMAGE281
(1-15)
其中,
Figure 497381DEST_PATH_IMAGE282
是水下航行器的直径,
Figure 666194DEST_PATH_IMAGE283
是阻力系数,
Figure 533656DEST_PATH_IMAGE102
是附加质量系数,
Figure 446117DEST_PATH_IMAGE284
是海水密 度,
Figure 207269DEST_PATH_IMAGE285
是海浪在动系下的横移速度、即y方向速度,
Figure 815492DEST_PATH_IMAGE286
是航行器在动系下的横移速度、即y 方向速度,
Figure 966988DEST_PATH_IMAGE287
是海浪在动系下的横移加速度、即y方向加速度,
Figure 620823DEST_PATH_IMAGE288
是航行器在动系下的横 移加速度、即y方向加速度,
Figure 970902DEST_PATH_IMAGE289
是海浪引起的横向干扰力,
Figure 478588DEST_PATH_IMAGE290
是海浪引起的垂向干扰 力,
Figure 55063DEST_PATH_IMAGE291
是海浪引起的纵倾干扰力矩,
Figure 106064DEST_PATH_IMAGE292
是海浪在动系下的升沉速度、即z方向速度,
Figure 451595DEST_PATH_IMAGE293
是航行器在动系下的升沉速度、即z方向速度,
Figure 195429DEST_PATH_IMAGE294
是海浪在动系下的升沉加速度、即z 方向加速度,
Figure 256270DEST_PATH_IMAGE295
是航行器在动系下的升沉加速度、即z方向加速度,海浪子谐波的速度和加 速度可以通过叠加次谐波速度得到;
Figure 582734DEST_PATH_IMAGE115
(1-16)
Figure 782771DEST_PATH_IMAGE116
(1-17)
Figure 166348DEST_PATH_IMAGE117
(1-18)
Figure 779732DEST_PATH_IMAGE118
(1-19)
其中,
Figure 458623DEST_PATH_IMAGE296
是次谐波振幅,
Figure 841062DEST_PATH_IMAGE120
是次谐波波数,
Figure 395541DEST_PATH_IMAGE297
是谐波波数与深 度坐标的乘积,
Figure 496221DEST_PATH_IMAGE122
是每个子谐波的随机相移(0<
Figure 833661DEST_PATH_IMAGE123
Figure 339116DEST_PATH_IMAGE124
),
Figure 595654DEST_PATH_IMAGE125
是子谐波的序号,
Figure 183630DEST_PATH_IMAGE126
是子 谐波的周期,
Figure 387079DEST_PATH_IMAGE127
是海浪的主传播方向,t为仿真进行的时间,在仿真训练中,将上面计算得 到的海浪干扰力及干扰力矩叠加进水下航行器的动力学方程,得到受干扰的动力学模型。
1-6、海流干扰
我们在整个深度范围内,在水平面上构建一个包含两个分量的流场
Figure 6760DEST_PATH_IMAGE298
,包 括非定常均匀流
Figure 43986DEST_PATH_IMAGE299
和稳定循环流
Figure 181575DEST_PATH_IMAGE300
。在地理坐标系下,水平面上两个分量产生的 流速可简化为
Figure 188715DEST_PATH_IMAGE301
,具体描述如下:
Figure 403183DEST_PATH_IMAGE302
(1-20)
Figure 876889DEST_PATH_IMAGE303
(1-21)
Figure 236195DEST_PATH_IMAGE134
(1-22)
其中,
Figure 187971DEST_PATH_IMAGE135
是地理坐标系中表示的当前流的大小,
Figure 316333DEST_PATH_IMAGE304
是当前相对于北方的方 向;将电流向量从地理坐标系转换为体坐标系,从而将电流力整合到运动方程中,以体坐标 系表示
Figure 20328DEST_PATH_IMAGE305
(1-23)
Figure 476717DEST_PATH_IMAGE306
(1-24)
其中,
Figure 356817DEST_PATH_IMAGE307
是从体坐标系到地理坐标系的旋转矩阵,为了简化计算,在每个时间步, 直接将当前速度叠加在航行器的线速度上。
步骤2、定义基于深度强化学习的对接控制算法
2-1、基本近端策略优化方法:
对于深度强化学习方法中的近端策略优化方法来说,策略网络
Figure 215052DEST_PATH_IMAGE308
输入为
Figure 155195DEST_PATH_IMAGE309
, 输出为
Figure 364459DEST_PATH_IMAGE310
,即一个由状态到动作的映射关系,其策略网络
Figure 785601DEST_PATH_IMAGE311
的目标函数
Figure 498342DEST_PATH_IMAGE312
Figure 609386DEST_PATH_IMAGE313
(2-1)
其中,
Figure 368264DEST_PATH_IMAGE147
为裁剪因子(优选的,
Figure 465533DEST_PATH_IMAGE147
为小于1的正数,一般取0.1~0.2),
Figure 375325DEST_PATH_IMAGE314
为优势函数,
Figure 391691DEST_PATH_IMAGE315
为一轮训练(一个episode内)t时刻智能体状态,
Figure 700182DEST_PATH_IMAGE316
为t时刻智能体所执行的动作,
Figure 929038DEST_PATH_IMAGE317
则为基于旧的策略函数计算得到的t时刻的优势函数值,t时刻的优势函数为:
Figure 947197DEST_PATH_IMAGE318
(2-2)
其中,
Figure 868885DEST_PATH_IMAGE319
为值网络的网络权重参数,
Figure 602355DEST_PATH_IMAGE154
为一个样本序列
Figure 900481DEST_PATH_IMAGE155
中某一个动 作点之后总的折扣奖励,
Figure 32867DEST_PATH_IMAGE156
为折扣因子,一般取0.90~0.99,
Figure 125456DEST_PATH_IMAGE320
为值网络输出的状态-价 值函数的近似值;
Figure 346222DEST_PATH_IMAGE158
(2-3)
状态价值函数的目标函数
Figure 916881DEST_PATH_IMAGE321
为:
Figure 581736DEST_PATH_IMAGE322
(2-4)
Figure 845227DEST_PATH_IMAGE323
(2-5)
Figure 553289DEST_PATH_IMAGE162
(2-6)
Figure 724376DEST_PATH_IMAGE163
(2-7)
其中,
Figure 831354DEST_PATH_IMAGE164
为值网络权重,
Figure 167DEST_PATH_IMAGE324
为调整因子,
Figure 195525DEST_PATH_IMAGE325
为时序差分误差,
Figure 45669DEST_PATH_IMAGE326
是第i个时间 步的状态的值网络输出值,
Figure 10083DEST_PATH_IMAGE327
是第i个时间步的状态的环境奖励值;
改进后的近端策略优化方法:
针对基本目标函数
Figure 618307DEST_PATH_IMAGE169
中的
Figure 566540DEST_PATH_IMAGE328
函数,该函数原本 功能是将新旧策略网络之比
Figure 282692DEST_PATH_IMAGE329
控制在
Figure 508137DEST_PATH_IMAGE330
的范围内,以防止策 略网络更新过大导致不稳定。
但实际上,这种简单粗暴的裁剪机制会导致不适当的策略更新,这种以新旧网络输出之比作为约束参考的方法也并不能很好地保持在预先给定的裁剪范围内。
针对此,本发明,使用新的约束参考
Figure 835998DEST_PATH_IMAGE173
,来约束新旧网络的更新,并使用基于训练 进程的参考量
Figure 412473DEST_PATH_IMAGE174
(即航行器智能体在最近经历的100次训练中训练成功次数),作为回滚机 制的调节因子,自适应地调整回滚裁剪力度;
Figure 463475DEST_PATH_IMAGE331
(2-8)
Figure 543426DEST_PATH_IMAGE332
(2-9)
其中,
Figure 287260DEST_PATH_IMAGE333
为自适应的回滚因子,
Figure 351031DEST_PATH_IMAGE334
为航行器智能体在最近经历的100次训练中的 任务成功次数,通过自适应可靠边界回滚裁剪机制计算得到
Figure 943074DEST_PATH_IMAGE335
;可由图5a图5b中的实线 行描述(点断线为原clip函数
Figure 471007DEST_PATH_IMAGE336
值变化);
其含义为,当目标函数
Figure 261109DEST_PATH_IMAGE337
Figure 405651DEST_PATH_IMAGE338
函数在超出裁剪上下边界时 的值变化,原始的
Figure 204980DEST_PATH_IMAGE339
是对
Figure 381227DEST_PATH_IMAGE340
的粗暴裁剪,即图5a图5b中的点断线变化,而本发 明使用自适应裁剪,使该函数的变化为图中实线所示。图5a表示当
Figure 404547DEST_PATH_IMAGE341
大于边界
Figure 177331DEST_PATH_IMAGE342
的裁 剪方式,图5b表示当
Figure 869431DEST_PATH_IMAGE343
小于边界
Figure 969629DEST_PATH_IMAGE344
的裁剪方式。
箭头表示超出范围的回滚裁剪函数会按照训练近期的成功率进行上旋转或者下旋转,当成功率高时,则上旋转接近原始的裁剪函数,当成功率低时,则下旋转。其目的是放大或缩小策略更新的变化范围,以使其在训练效果不好时扩大搜索空间,训练效果好时减少策略变化,减小搜索空间。
则改进后的目标函数
Figure 695008DEST_PATH_IMAGE345
为:
Figure 20335DEST_PATH_IMAGE346
(2-10)
其中,
Figure 489362DEST_PATH_IMAGE347
如上公式(2-9)所示。
2-2、定义算法流程
整个自适应可靠边界回滚裁剪近端策略优化算法(ARAB-PPO)流程包括步骤如下:
输入:初始化策略网络参数
Figure 784077DEST_PATH_IMAGE348
,初始化值网络参数
Figure 149199DEST_PATH_IMAGE349
(1)循环开始,遍历k = 0, 1, 2 , …进行以下步骤:
(2)使用策略网络
Figure 283859DEST_PATH_IMAGE350
Figure 25419DEST_PATH_IMAGE351
为更新策略网络的次序,收集若干条 完整的训练轨迹
Figure 502536DEST_PATH_IMAGE155
存入
Figure 304139DEST_PATH_IMAGE352
Figure 869637DEST_PATH_IMAGE353
为收集到的训练轨迹次序;
(3)根据公式(2-2)基于当前值网络
Figure 680467DEST_PATH_IMAGE354
计算优势函数的估计值
Figure 684195DEST_PATH_IMAGE355
(4)通过策略网络的梯度下降,最大化目标函数
Figure 922279DEST_PATH_IMAGE356
来更新ARAB-PPO网络参 数,得到新的网络参数
Figure 706564DEST_PATH_IMAGE357
Figure 52576DEST_PATH_IMAGE358
(2-11)
(5)通过梯度下降法,基于均方根误差来拟合值网络:
Figure 504286DEST_PATH_IMAGE359
(2-12)
(6)结束循环;
步骤2-2中,策略网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9(对应公式(1-9)),输出层神经元设定为3(对应动作空间维度),中间层设定为128个神经元;值网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9(对应公式(1-9)),输出层神经元设定为1,中间层设定为128个神经元。
步骤3、进行对接训练
3-1、初始化任务环境及水下航行器动力学模型;
使用python语言在vscode集成编译环境下编写水下航行器仿真环境任务环境,所 构建的模拟水池地图的地理坐标系
Figure 710008DEST_PATH_IMAGE360
如图3所示,三维水池的尺寸设定为100米*100 米*50米。
基于Khalil H, 哈里尔, Khalil等人在《非线性系统(第三版)》(电子工业出版 社,2005))中对牛顿-欧拉运动方程的推导,对一个长度为2.38米、直径为0.32米、重量为 167千克的流线型水下航行器进行六自由度的动力学建模。其中,在
Figure 981590DEST_PATH_IMAGE361
坐标系下对 水下航行器坐标
Figure 871573DEST_PATH_IMAGE362
及姿态角
Figure 177789DEST_PATH_IMAGE363
进行描述,使用固定在水下航行器上随水下 航行器运动的、以其重心为原点
Figure 588302DEST_PATH_IMAGE364
Figure 284863DEST_PATH_IMAGE365
坐标系,描述水下航行器的线速度
Figure 710028DEST_PATH_IMAGE366
及角速度
Figure 667489DEST_PATH_IMAGE008
,以完整描述水下航行器的运动状态,如图3所示。
将对接站的坐标设定为(100,50,0.5),锥体开口的方向为
Figure 149767DEST_PATH_IMAGE367
坐标减小的方向。外部 圆锥体区域为(90,50,0.5)到(100,50,0.5)的圆锥体区域。
航行器三坐标起点被定义为
Figure 68044DEST_PATH_IMAGE368
,均为均匀随机分布。一 个训练过程(episode)设定最大步数为1000,单步时间为0.1s。当成功完成对接或超过最大 时间步限制时,触发终止条件。
3-2、根据设定好的海浪参数,选择1000个(0.01,5)rad/s范围内的次谐波进行叠加,有效波高为0.88m,产生的海浪波形如图8所示。根据式(1-11)至式(1-19)计算海浪产生的干扰力及干扰力矩;
3-3、根据设定好的海流参数及具体形式,选择均匀随机分布的
Figure 562480DEST_PATH_IMAGE369
作 为均匀流,选择
Figure 843288DEST_PATH_IMAGE370
作为非均匀流,其中
Figure 767907DEST_PATH_IMAGE371
,根据式(1-20)至式 (1-24)计算得到体坐标系下的海流速度在两个方向上的速度分量;
3-4、根据步骤2-2中所述初始化策略网络参数及值网络参数;
3-5、策略网络
Figure 501376DEST_PATH_IMAGE372
根据t时刻获得的如公式(1-9)所示的观察量
Figure 268344DEST_PATH_IMAGE373
,输出动 作
Figure 200397DEST_PATH_IMAGE374
3-6、根据公式(1-8)计算环境给予航行器智能体的单步环境奖励,并根据公式(1- 1)、(1-2)判断航行器是否满足对接控制约束,并记录航行器智能体在最近经历的100次训 练中训练成功次数
Figure 290057DEST_PATH_IMAGE174
若不满足,且t小于等于设定的单轮最大步数,则重复步骤3-6;
若满足,且t小于等于设定的单轮最大步数,则进行3-7;
若不满足,且t大于设定的单轮最大步数,则进行3-7;
3-7、将得到的完整训练轨迹
Figure 245243DEST_PATH_IMAGE375
,其中
Figure 81481DEST_PATH_IMAGE376
表示 第0个时间步的航行器状态;
Figure 8986DEST_PATH_IMAGE377
表示第0时刻航行器智能体执行的动作;
Figure 6898DEST_PATH_IMAGE378
表示0时刻航行 器智能体在执行动作后获得的奖励值;后续以此类推,存入
Figure 249048DEST_PATH_IMAGE379
3-8、设定更新频率,判断是否满足更新频率:频率设定为4,即每得到4次完整的训练轨迹,才进行以下更新;
当满足更新频率时,进行步骤2-2中的步骤(3),基于当前值网络
Figure 888977DEST_PATH_IMAGE205
计算优势函数 的估计值
Figure 998884DEST_PATH_IMAGE380
并继续执行3-9;
当不满足更新频率时,重复步骤3-6;
3-9、根据公式(2-10),根据
Figure 167697DEST_PATH_IMAGE174
使用本发明提出的自适应可靠边界回滚机制,计算 策略网络的目标函数
Figure 94546DEST_PATH_IMAGE381
;其中
Figure 272587DEST_PATH_IMAGE382
设定为0.2,折扣因子
Figure 909104DEST_PATH_IMAGE383
设定为0.9。
3-10、对目标函数求取梯度(即某一函数在该点处的方向导数沿着该方向取得最 大值,此处即对网络参数求导,即
Figure 248819DEST_PATH_IMAGE384
),并根据步骤2-2中的步骤(4)更 新策略网络参数;
3-11、根据步骤2-2中的步骤(5)更新值网络参数;
3-12、重复3-6,直到达到设定的收敛目标。收敛目标定义为,
Figure 731140DEST_PATH_IMAGE174
大于等于90。经过 训练后的一次对接过程如图6所示。

Claims (10)

1.一种基于强化学习的水下航行器对接控制方法,其特征在于,包括步骤如下:
步骤1、定义任务环境及模型
1-1、构建水下航行器所在的任务环境及水下航行器动力学模型;
任务环境包括固定在地理原点的
Figure 813891DEST_PATH_IMAGE001
坐标系、设置了三维地图尺寸的三维区域、三维锥体对接站区域;
水下航行器包括三个执行机构,分别为艉部推进器、艉部水平舵以及艉部垂直舵;
将三维运动投影到穿过锥体对接站中心轴的平面上,锥体对接站的入口形成入口三角形区域PAB,入口三角形区域PAB沿对接站中心轴向外延伸形成外部圆锥体区域,
Figure 421590DEST_PATH_IMAGE002
是入口AB的半径;设定成功对接的要求是:当航行器头部到达AB时,
Figure 208280DEST_PATH_IMAGE003
小于
Figure 192417DEST_PATH_IMAGE002
Figure 115373DEST_PATH_IMAGE004
小于
Figure 893973DEST_PATH_IMAGE005
;成功对接的最终约束为:
Figure 433539DEST_PATH_IMAGE006
(1-1)
Figure 955787DEST_PATH_IMAGE007
(1-2)
其中,
Figure 279057DEST_PATH_IMAGE008
Figure 228559DEST_PATH_IMAGE009
分别为半径安全裕度与角度安全裕度;
Figure 255421DEST_PATH_IMAGE010
为航行器头部与对接站中心轴的垂直距离,
Figure 315781DEST_PATH_IMAGE011
为航行器中轴线与对接站中心轴的夹角;
Figure 478909DEST_PATH_IMAGE012
为三角形的
Figure 864891DEST_PATH_IMAGE013
1-2、定义奖励函数
根据航行器对接控制任务的设定,构建如下奖励分量:水下航行器接近对接站终点的步进奖励
Figure 113469DEST_PATH_IMAGE014
、水下航行器接近对接站中轴线的步进奖励
Figure 977520DEST_PATH_IMAGE015
、带容差的惩罚函数
Figure 995155DEST_PATH_IMAGE016
Figure 286459DEST_PATH_IMAGE017
、水下航行器到达外部圆锥体区域时的奖励分量
Figure 756754DEST_PATH_IMAGE018
奖励函数设定为:
Figure 424496DEST_PATH_IMAGE019
(1-8)
Figure 827796DEST_PATH_IMAGE020
是权重;
1-3、定义状态空间S,
Figure 290001DEST_PATH_IMAGE021
,n为观察分量的数量,
Figure 247593DEST_PATH_IMAGE022
(1-9)
其中,
Figure 450516DEST_PATH_IMAGE023
为航行器重心到对接站的距离、
Figure 442743DEST_PATH_IMAGE024
为航行器重心到对接站中心轴的距离、
Figure 341429DEST_PATH_IMAGE025
为航行器和最终期望姿态之间的角度、
Figure 786317DEST_PATH_IMAGE026
为航行器到终点P的导航角、
Figure 795861DEST_PATH_IMAGE027
为俯仰角、
Figure 908174DEST_PATH_IMAGE028
是水下航行器艉部推进器的推力大小、
Figure 712182DEST_PATH_IMAGE029
为艉部水平舵的偏转角度、
Figure 644366DEST_PATH_IMAGE030
为艉部垂直舵的偏转角度;
Figure 192022DEST_PATH_IMAGE031
为航行器相对于固定坐标系
Figure 158841DEST_PATH_IMAGE001
的姿态角角度,即艏向角
Figure 399329DEST_PATH_IMAGE032
1-4、定义动作空间
Figure 818809DEST_PATH_IMAGE033
,其中,F为推进器输出力的大小,
Figure 170156DEST_PATH_IMAGE034
为水平舵以及垂直舵的偏转角度;
1-5、根据海浪干扰,构建一个随机海浪模型;
1-6、根据海流干扰,在水平面上构建一个包含两个分量的流场;
步骤2、定义基于深度强化学习的对接控制算法
2-1、定义目标函数:策略网络
Figure 991481DEST_PATH_IMAGE035
输入为
Figure 402871DEST_PATH_IMAGE036
,输出为
Figure 309647DEST_PATH_IMAGE037
,即一个由状态到动作的映射关系,其策略网络
Figure 936456DEST_PATH_IMAGE035
的目标函数
Figure 143447DEST_PATH_IMAGE038
为:
Figure 460159DEST_PATH_IMAGE039
(2-8)
Figure 854231DEST_PATH_IMAGE040
(2-9)
Figure 281801DEST_PATH_IMAGE041
(2-10)
Figure 812140DEST_PATH_IMAGE042
为裁剪因子,
Figure 565332DEST_PATH_IMAGE043
为优势函数,
Figure 446700DEST_PATH_IMAGE044
为一轮训练t时刻智能体状态,
Figure 943541DEST_PATH_IMAGE045
为t时刻智能体所执行的动作,
Figure 593965DEST_PATH_IMAGE046
则为计算得到的t时刻的优势函数值,
Figure 252479DEST_PATH_IMAGE047
为自适应的回滚因子,
Figure 355565DEST_PATH_IMAGE048
为训练阶段近100轮的任务成功次数,通过自适应可靠边界回滚裁剪机制计算得到
Figure 656096DEST_PATH_IMAGE049
2-2、定义算法流程:
输入:初始化策略网络参数
Figure 426606DEST_PATH_IMAGE050
,初始化值网络参数
Figure 987513DEST_PATH_IMAGE051
(1)循环开始,遍历k = 0, 1, 2 , …进行以下步骤:
(2)使用策略网络
Figure 843473DEST_PATH_IMAGE052
Figure 682116DEST_PATH_IMAGE053
为更新策略网络的次序,收集若干条完整的训练轨迹
Figure 41553DEST_PATH_IMAGE054
存入
Figure 41870DEST_PATH_IMAGE055
Figure 119548DEST_PATH_IMAGE056
为收集到的训练轨迹次序;
(3)基于当前值网络
Figure 761882DEST_PATH_IMAGE057
计算优势函数的估计值
Figure 241405DEST_PATH_IMAGE058
(4)通过策略网络的梯度下降,最大化目标函数
Figure 412623DEST_PATH_IMAGE059
来更新ARAB-PPO网络参数,得到新的网络参数
Figure 977597DEST_PATH_IMAGE060
Figure 158042DEST_PATH_IMAGE061
(2-11)
其中,
Figure 492072DEST_PATH_IMAGE062
是一个求取参数
Figure 99770DEST_PATH_IMAGE063
的函数,即
Figure 417619DEST_PATH_IMAGE064
是使得
Figure 136177DEST_PATH_IMAGE065
取得最大值所对应的变量点
Figure 315923DEST_PATH_IMAGE063
Figure 94524DEST_PATH_IMAGE063
的集合,
Figure 899669DEST_PATH_IMAGE063
表示策略网络的网络参数,
Figure 421917DEST_PATH_IMAGE055
Figure 730538DEST_PATH_IMAGE056
,表示存储若干条完整的训练轨迹的集合,对用计算机内存中的一部分缓存空间,
Figure 680040DEST_PATH_IMAGE066
表示用于网络更新的轨迹的长度,即该条轨迹的总时间步数;
(5)通过梯度下降法,基于均方根误差来拟合值网络:
Figure 441322DEST_PATH_IMAGE067
(2-12)
Figure 767262DEST_PATH_IMAGE068
是是一个求取参数
Figure 930390DEST_PATH_IMAGE069
的函数,即
Figure 785213DEST_PATH_IMAGE070
是使得
Figure 564950DEST_PATH_IMAGE071
取得最小值所对应的变量点
Figure 429001DEST_PATH_IMAGE069
Figure 181056DEST_PATH_IMAGE069
的集合,
Figure 737940DEST_PATH_IMAGE069
表示值网络的网络参数;
Figure 473815DEST_PATH_IMAGE066
表示用于网络更新的轨迹的长度,即该条轨迹的总时间步数,
Figure 141556DEST_PATH_IMAGE072
表示对值函数的估计值,
Figure 10768DEST_PATH_IMAGE073
表示第i个时间步的状态的值网络输出值;
(6)结束循环;
步骤3、进行对接训练
3-1、初始化任务环境及水下航行器动力学模型;
3-2、根据设定好的海浪参数,计算海浪产生的干扰力及干扰力矩;
3-3、根据设定好的海流参数及具体形式,计算得到体坐标系下的海流速度在两个方向上的速度分量;
3-4、根据步骤2-2中所述初始化策略网络参数及值网络参数;
3-5、策略网络
Figure 472973DEST_PATH_IMAGE074
根据t时刻获得的观察量
Figure 961723DEST_PATH_IMAGE075
,输出动作
Figure 901997DEST_PATH_IMAGE076
3-6、根据公式(1-8)计算环境给予航行器智能体的单步环境奖励,并根据公式(1-1)、(1-2)判断航行器是否满足对接控制约束,并记录近100轮训练成功次数
Figure 894224DEST_PATH_IMAGE077
若不满足,且t小于等于设定的单轮最大步数,则重复步骤3-6;
若满足,且t小于等于设定的单轮最大步数,则进行3-7;
若不满足,且t大于设定的单轮最大步数,则进行3-7;
3-7、将得到的完整训练轨迹
Figure 527331DEST_PATH_IMAGE078
,其中
Figure 237798DEST_PATH_IMAGE079
表示第0个时间步的航行器状态;
Figure 247342DEST_PATH_IMAGE080
表示第0时刻航行器智能体执行的动作;
Figure 94075DEST_PATH_IMAGE081
表示0时刻航行器智能体在执行动作后获得的奖励值;后续以此类推,存入
Figure 163663DEST_PATH_IMAGE082
3-8、设定更新频率,判断是否满足更新频率:
当满足更新频率时,进行步骤2-2中的步骤(3),基于当前值网络
Figure 95846DEST_PATH_IMAGE083
计算优势函数的估计值
Figure 909082DEST_PATH_IMAGE084
并继续执行3-9;
当不满足更新频率时,重复步骤3-6;
3-9、根据公式(2-10),根据
Figure 875901DEST_PATH_IMAGE085
,使用提出的自适应可靠边界回滚机制,计算策略网络的目标函数
Figure 850810DEST_PATH_IMAGE086
3-10、对目标函数求取梯度,并根据步骤2-2中的步骤(4)更新策略网络参数;
3-11、根据步骤2-2中的步骤(5)更新值网络参数;
3-12、重复3-6,直到达到设定的收敛目标。
2.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-1中,对水下航行器进行六自由度的动力学建模,包括,在
Figure 535869DEST_PATH_IMAGE087
坐标系下对水下航行器坐标
Figure 887216DEST_PATH_IMAGE088
及姿态角
Figure 711471DEST_PATH_IMAGE089
进行描述,使用固定在水下航行器上随水下航行器运动的、以其重心为原点
Figure 122861DEST_PATH_IMAGE090
Figure 29637DEST_PATH_IMAGE091
坐标系,描述水下航行器的线速度
Figure 919096DEST_PATH_IMAGE092
及角速度
Figure 860507DEST_PATH_IMAGE093
;其中,
Figure 177219DEST_PATH_IMAGE094
为固定坐标系
Figure 305712DEST_PATH_IMAGE087
下的三维坐标值;
Figure 264441DEST_PATH_IMAGE095
为固定坐标系
Figure 60358DEST_PATH_IMAGE087
绕三个坐标轴旋转的姿态角角度:艏向角
Figure 547971DEST_PATH_IMAGE032
、横滚角
Figure 429340DEST_PATH_IMAGE096
以及俯仰角
Figure 660601DEST_PATH_IMAGE097
Figure 311025DEST_PATH_IMAGE098
为水下航行器在
Figure 235119DEST_PATH_IMAGE099
坐标系下沿三个坐标轴运动的线速度值,
Figure 603783DEST_PATH_IMAGE100
Figure 904315DEST_PATH_IMAGE099
坐标系下绕三个坐标轴旋转的角速度;根据构建好的水下航行器动力学模型,已知
Figure 140736DEST_PATH_IMAGE101
时刻水下航行器的运动状态,由水下航行器艉部推进器输出力的大小及艉部水平舵、艉部垂直舵的舵角偏转值,经四阶龙格库塔法解算微分方程可以得到
Figure 235731DEST_PATH_IMAGE102
时刻的运动状态。
3.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-2中,构建奖励分量如下:
首先,根据水下航行器接近目标的行为进行奖励,设定该奖励分量为每一个仿真时间步长水下航行器到对接站终点距离的减小值,具体如式(1-3)至式(1-6):
Figure 91692DEST_PATH_IMAGE103
(1-3)
Figure 664756DEST_PATH_IMAGE104
(1-4)
Figure 289772DEST_PATH_IMAGE105
(1-5)
Figure 290089DEST_PATH_IMAGE106
(1-6)
其中,
Figure 633346DEST_PATH_IMAGE014
Figure 275680DEST_PATH_IMAGE015
表示水下航行器接近对接站终点及对接站中轴线的步进奖励,
Figure 489623DEST_PATH_IMAGE107
表示上一时刻水下航行器与终点的距离,
Figure 192000DEST_PATH_IMAGE108
表示当前时刻水下航行器与终点的距离,
Figure 491394DEST_PATH_IMAGE109
表示上一时刻水下航行器与中轴线的距离,
Figure 406261DEST_PATH_IMAGE110
表示当前时刻水下航行器与中轴线的距离;
Figure 5869DEST_PATH_IMAGE016
Figure 613568DEST_PATH_IMAGE017
均是带容差的惩罚函数,
Figure 665838DEST_PATH_IMAGE111
是权重,
Figure 399044DEST_PATH_IMAGE112
是容差,
Figure 853159DEST_PATH_IMAGE113
Figure 631759DEST_PATH_IMAGE114
是一个小于1的正常数,用于调整惩罚项;
Figure 905745DEST_PATH_IMAGE115
是航行器重心到对接站坐标距离的
Figure 693573DEST_PATH_IMAGE116
次幂,设定此量来为智能体提供惩罚信息,
Figure 2194DEST_PATH_IMAGE117
是航行器重心到对接站中轴线距离的
Figure 686117DEST_PATH_IMAGE118
次幂,设定此量来为智能体提供惩罚信息;
当水下航行器到达外部圆锥体区域时,改变奖励分量的权重,并设置奖励分量
Figure 447399DEST_PATH_IMAGE018
Figure 773338DEST_PATH_IMAGE119
(1-7)
其中,
Figure 405308DEST_PATH_IMAGE120
是权重,且满足
Figure 525711DEST_PATH_IMAGE121
Figure 39869DEST_PATH_IMAGE122
为前一时刻航行器姿态角与目标姿态角的差值;
Figure 903919DEST_PATH_IMAGE123
为当前时刻航行器姿态角与目标姿态角的差值;
综合起来,奖励函数被设定为:
Figure 655975DEST_PATH_IMAGE019
(1-8)。
4.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-3中,各个观察分量被加载到神经网络之前均进行了最大最小值归一化处理,具体的计算方式为:
Figure 475508DEST_PATH_IMAGE124
(1-10)
通过最大最小值归一化处理将水下航行器对环境的观察值放缩到
Figure 211382DEST_PATH_IMAGE125
的范围内。
5.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-5中,构建一个随机海浪模型,海浪波谱如下所示:
Figure 613545DEST_PATH_IMAGE126
(1-11)
Figure 751265DEST_PATH_IMAGE127
(1-12)
其中g为重力加速度;U为航行器速度向量;
Figure 479050DEST_PATH_IMAGE128
为子谐波波长的倒数;
Figure 436642DEST_PATH_IMAGE129
是有效波高,
Figure 908074DEST_PATH_IMAGE130
是海浪子谐波角频率;此外,
Figure 900301DEST_PATH_IMAGE131
是航行器遇到波浪的遭遇角频率,
Figure 533408DEST_PATH_IMAGE132
是遭遇角;设定航行器尺寸相比海浪波长较小,通过沿航行器长度积分获得波浪力和力矩如下所示:
Figure 712716DEST_PATH_IMAGE133
(1-13)
Figure 722260DEST_PATH_IMAGE134
(1-14)
Figure 568994DEST_PATH_IMAGE135
(1-15)
其中,
Figure 638581DEST_PATH_IMAGE136
是水下航行器的直径,
Figure 305186DEST_PATH_IMAGE137
是阻力系数,
Figure 118421DEST_PATH_IMAGE138
是附加质量系数,
Figure 88170DEST_PATH_IMAGE139
是海水密度,
Figure 63079DEST_PATH_IMAGE140
是海浪在动系下的横移速度、即y方向速度,
Figure 748138DEST_PATH_IMAGE141
是航行器在动系下的横移速度、即y方向速度,
Figure 99485DEST_PATH_IMAGE142
是海浪在动系下的横移加速度、即y方向加速度,
Figure 920810DEST_PATH_IMAGE143
是航行器在动系下的横移加速度、即y方向加速度,
Figure 66621DEST_PATH_IMAGE144
是海浪引起的横向干扰力,
Figure 973397DEST_PATH_IMAGE145
是海浪引起的垂向干扰力,
Figure 128435DEST_PATH_IMAGE146
是海浪引起的纵倾干扰力矩,
Figure 804267DEST_PATH_IMAGE147
是海浪在动系下的升沉速度、即z方向速度,
Figure 386558DEST_PATH_IMAGE148
是航行器在动系下的升沉速度、即z方向速度,
Figure 780630DEST_PATH_IMAGE149
是海浪在动系下的升沉加速度、即z方向加速度,
Figure 473780DEST_PATH_IMAGE150
是航行器在动系下的升沉加速度、即z方向加速度,海浪子谐波的速度和加速度可以通过叠加次谐波速度得到;
Figure 269697DEST_PATH_IMAGE151
(1-16)
Figure 22890DEST_PATH_IMAGE152
(1-17)
Figure 638679DEST_PATH_IMAGE153
(1-18)
Figure 135519DEST_PATH_IMAGE154
(1-19)
其中,
Figure 783014DEST_PATH_IMAGE155
是次谐波振幅,
Figure 707107DEST_PATH_IMAGE156
是次谐波波数,
Figure 810193DEST_PATH_IMAGE157
是谐波波数与深度坐标的乘积,
Figure 845145DEST_PATH_IMAGE158
是每个子谐波的随机相移,0<
Figure 350075DEST_PATH_IMAGE158
<2𝜋,
Figure 445070DEST_PATH_IMAGE159
是子谐波的序号,
Figure 35452DEST_PATH_IMAGE160
是子谐波的周期,
Figure 874095DEST_PATH_IMAGE161
是海浪的主传播方向,t为仿真进行的时间,在仿真训练中,将上面计算得到的海浪干扰力及干扰力矩叠加进水下航行器的动力学方程,得到受干扰的动力学模型。
6.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-6中,在水平面上构建一个包含两个分量的流场
Figure 499111DEST_PATH_IMAGE162
,包括非定常均匀流
Figure 765007DEST_PATH_IMAGE163
和稳定循环流
Figure 577106DEST_PATH_IMAGE164
,在地理坐标系下,水平面上两个分量产生的流速简化为
Figure 219440DEST_PATH_IMAGE165
,具体描述如下:
Figure 698962DEST_PATH_IMAGE166
(1-20)
Figure 64654DEST_PATH_IMAGE167
(1-21)
Figure 895207DEST_PATH_IMAGE168
(1-22)
其中,
Figure 75652DEST_PATH_IMAGE169
是地理坐标系中表示的当前流的大小,
Figure 675261DEST_PATH_IMAGE170
是当前相对于北方的方向;将水流向量从地理坐标系转换为体坐标系,从而将水流力整合到运动方程中,以体坐标系表示
Figure 423905DEST_PATH_IMAGE171
(1-23)
Figure 210596DEST_PATH_IMAGE172
(1-24)
其中,
Figure 460311DEST_PATH_IMAGE173
是从体坐标系到地理坐标系的旋转矩阵,在每个时间步,直接将当前速度叠加在航行器的线速度上;
Figure 648847DEST_PATH_IMAGE174
表示地理坐标系下的东方向的流速分量,
Figure 630710DEST_PATH_IMAGE175
表示地理坐标系下的北方向的流速分量。
7.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤2-1中,
Figure 904696DEST_PATH_IMAGE046
为计算得到的t时刻的优势函数值,t时刻的优势函数为:
Figure 426944DEST_PATH_IMAGE176
(2-2)
其中,
Figure 735566DEST_PATH_IMAGE177
为值网络的网络权重参数,
Figure 354242DEST_PATH_IMAGE178
为一个样本序列
Figure 646683DEST_PATH_IMAGE054
中某一个动作点之后总的折扣奖励,
Figure 441463DEST_PATH_IMAGE179
为折扣因子,取0.90~0.99,
Figure DEST_PATH_IMAGE180
为值网络输出的状态-价值函数的近似值, 为值网络权重;
Figure 339012DEST_PATH_IMAGE181
(2-3)。
8.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤1-1中,入口三角形区域PAB为正三角形,边长AB设定为1.2米。
9.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤2-1中,
Figure DEST_PATH_IMAGE182
取0.1~0.2。
10.根据权利要求1所述的基于强化学习的水下航行器对接控制方法,其特征在于,步骤2-2中,策略网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9,输出层神经元设定为3,中间层设定为128个神经元;值网络定义为含有三层全连接层的神经网络,输入层神经元数设定为9,输出层神经元设定为1,中间层设定为128个神经元。
CN202210638552.XA 2022-06-08 2022-06-08 一种基于强化学习的水下航行器对接控制方法 Active CN114721409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210638552.XA CN114721409B (zh) 2022-06-08 2022-06-08 一种基于强化学习的水下航行器对接控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210638552.XA CN114721409B (zh) 2022-06-08 2022-06-08 一种基于强化学习的水下航行器对接控制方法

Publications (2)

Publication Number Publication Date
CN114721409A CN114721409A (zh) 2022-07-08
CN114721409B true CN114721409B (zh) 2022-09-20

Family

ID=82233088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210638552.XA Active CN114721409B (zh) 2022-06-08 2022-06-08 一种基于强化学习的水下航行器对接控制方法

Country Status (1)

Country Link
CN (1) CN114721409B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116405111B (zh) * 2023-06-09 2023-08-15 山东科技大学 一种基于深度强化学习的海上无人机辅助光数据收集方法
CN117590867B (zh) * 2024-01-18 2024-03-26 吉林大学 基于深度强化学习的水下自主航行器接驳控制方法和系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392279B (zh) * 2014-11-19 2018-02-13 天津大学 一种多智能体结构的微电网优化运行方法
WO2018053187A1 (en) * 2016-09-15 2018-03-22 Google Inc. Deep reinforcement learning for robotic manipulation
CN111694365B (zh) * 2020-07-01 2021-04-20 武汉理工大学 一种基于深度强化学习的无人船艇编队路径跟踪方法
CN111880535B (zh) * 2020-07-23 2022-07-15 上海交通大学 一种基于强化学习的无人艇混合感知自主避障方法及系统
CN111829527B (zh) * 2020-07-23 2021-07-20 中国石油大学(华东) 一种基于深度强化学习且顾及海洋环境要素的无人船路径规划方法
CN112034711B (zh) * 2020-08-31 2022-06-03 东南大学 一种基于深度强化学习的无人艇抗海浪干扰控制方法
CN112698646B (zh) * 2020-12-05 2022-09-13 西北工业大学 一种基于强化学习的航行器路径规划方法
CN113010963B (zh) * 2021-03-04 2022-04-29 山东大学 基于深度强化学习的变质量水下航行器避障方法及系统
CN112861442B (zh) * 2021-03-10 2021-12-03 中国人民解放军国防科技大学 基于深度强化学习的多机协同空战规划方法及系统
CN113541192A (zh) * 2021-07-27 2021-10-22 重庆大学 基于深度强化学习的海上风电场无功-电压协调控制方法
CN113900445A (zh) * 2021-10-13 2022-01-07 厦门渊亭信息科技有限公司 基于多智能体强化学习的无人机协同控制训练方法及系统
CN114089762B (zh) * 2021-11-22 2024-06-21 江苏科技大学 一种基于强化学习的水空两栖无人航行器路径规划方法

Also Published As

Publication number Publication date
CN114721409A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
CN114721409B (zh) 一种基于强化学习的水下航行器对接控制方法
CN107168312B (zh) 一种补偿uuv运动学和动力学干扰的空间轨迹跟踪控制方法
CN110806756B (zh) 基于ddpg的无人机自主引导控制方法
CN109976349B (zh) 一种含约束无人船的路径跟踪制导与控制结构的设计方法
CN113033119B (zh) 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法
Bhatta Nonlinear stability and control of gliding vehicles
CN106444806A (zh) 基于生物速度调节的欠驱动auv三维轨迹跟踪控制方法
CN114253296B (zh) 高超声速飞行器机载轨迹规划方法、装置、飞行器及介质
Zhang et al. AUV path tracking with real-time obstacle avoidance via reinforcement learning under adaptive constraints
CN106708068A (zh) 仿生波动鳍推进水下航行器路径跟踪控制方法
Shen et al. Model predictive control for an AUV with dynamic path planning
CN113821035A (zh) 无人船轨迹追踪控制方法和装置
CN114879671A (zh) 一种基于强化学习mpc的无人艇轨迹跟踪控制方法
Amendola et al. Navigation in restricted channels under environmental conditions: Fast-time simulation by asynchronous deep reinforcement learning
Zhang et al. A hybrid path planning algorithm considering AUV dynamic constraints based on improved A* algorithm and APF algorithm
Song et al. Surface path tracking method of autonomous surface underwater vehicle based on deep reinforcement learning
Yuan et al. Deep reinforcement learning-based controller for dynamic positioning of an unmanned surface vehicle
Dong et al. Gliding motion optimization for a biomimetic gliding robotic fish
CN114943168B (zh) 一种水上浮桥组合方法及系统
CN115903820A (zh) 多无人艇追逃博弈控制方法
Zhang et al. A new hybrid path planning method for the sailboat architecture wave glider in the wind field environment
Li et al. Prioritized experience replay based reinforcement learning for adaptive tracking control of autonomous underwater vehicle
Cobb Economic iterative learning control with application to tethered energy systems
Ma et al. Trajectory tracking of an underwater glider in current based on deep reinforcement learning
Liu et al. Robust event-triggered formation control for underactuated ships under the practice constraint

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