CN115618716A - 一种基于离散SAC算法的gazebo潜航器路径规划算法 - Google Patents
一种基于离散SAC算法的gazebo潜航器路径规划算法 Download PDFInfo
- Publication number
- CN115618716A CN115618716A CN202211115095.2A CN202211115095A CN115618716A CN 115618716 A CN115618716 A CN 115618716A CN 202211115095 A CN202211115095 A CN 202211115095A CN 115618716 A CN115618716 A CN 115618716A
- Authority
- CN
- China
- Prior art keywords
- network
- algorithm
- underwater vehicle
- path planning
- gazebo
- 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.)
- Pending
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 56
- 230000002787 reinforcement Effects 0.000 claims abstract description 23
- 238000005070 sampling Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000004088 simulation Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000010276 construction Methods 0.000 claims abstract 2
- 230000009471 action Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 17
- 239000000872 buffer Substances 0.000 claims description 15
- 239000003795 chemical substances by application Substances 0.000 claims description 10
- 230000033001 locomotion Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims 1
- 238000010606 normalization Methods 0.000 claims 1
- 238000007781 pre-processing Methods 0.000 claims 1
- 230000007613 environmental effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/08—Thermal analysis or thermal optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Evolutionary Computation (AREA)
- Feedback Control In General (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
Abstract
强化学习算法已经在游戏以及机器人控制领域显示出了前所未有的创造力,但是因为海洋环境的复杂与局限性,针对海洋环境的机器人控制算法仍不成熟。本发明针对潜航器在复杂有洋流情况下的路径规划任务。分别针对环境的构建和算法的调整,提出了一种适合海洋复杂环境的路径规划算法。使用强化学习在gazebo仿真环境中不断进行试错学习,最终找到一条能够完成预定任务的最优轨迹。在此过程中,分别针对单目标点的路径规划任务和多目标点的路径规划任务进行了验证。本发明可在使用较少采样数据情况下完成既定的路径规划任务,可广泛用于潜航器的自主控制。
Description
技术领域
本发明设计了一种路径规划算法,具体涉及在高仿真的海洋环境中使用离散SAC算法进行潜航器的上浮下潜控制。
背景技术
强化学习算法能够在与环境的交互中找到适应当前环境的最优策略,在给定当前状态输入的条件下得到应当采取的动作,在游戏和机器人控制领域获得了巨大的成功。但是目前的强化学习算法在海洋路径规划任务上有着不易收敛、采样效率低等缺点,限制了其发展。而采样效率低具体表现为需要与环境进行大量的交互。为了节省训练成本,本发明在gazebo 物理引擎中对潜航器进行建模,使用大量的仿真数据结合强化学习算法完成既定的路径规划任务,能够在较少经验的条件下完成既定的路径规划任务。
强化学习算法按照策略的学习方式可以分为在线策略和离线策略,其中在线策略是指更新本次策略使用的数据都是本策略采样得到的,离线策略使用既往的所有采样数据更新当前策略。相比在线策略,离线策略更新过程中对采样数据的利用更为充分,配合gazebo物理引擎,能够有效解决强化学习算法采样效率低的问题。
本发明使用的离线强化学习算法为离散SAC算法,离散SAC使用策略网络和价值网络分别学习一个最优策略和状态对应的价值函数,通过价值网络学习环境特性并指导策略网络的更新。SAC算法从soft q learning推导而来,将熵作为奖励的一部分,优化的是加入熵的累计奖励。
仿真使用的gazebo物理引擎是一种免费的机器人仿真软件,能够提供高保真度的物理模拟,配合各种海洋模拟插件,能够在仿真器中真实还原潜航器收到的浮力、重力、水的阻力等各种受力,且可以通过数据导入还原某一片海域的真实洋流,基本与现实海洋环境相吻合。在本发明中将其与ROS机器人系统相配合,实现了海洋环境的仿真与潜航器的控制。
发明内容
本发明针对路径规划问题,在gazebo仿真器中对潜航器进行建模,使用ROS机器人系统控制潜航器的运动,使用强化学习算法进行决策,在算法与环境的不断交互中积累经验数据并更新智能体。在此过程中智能体不断学习当前仿真海域的洋流等信息,利用探索过程中获得的好的轨迹改进自身的策略,最终到达目标点,完成既定的路径规划任务。技术方案如下:
第一步,对潜航器进行建模。
(1)将建好的潜航器模型定义相应的物理属性后发布到gazebo仿真器中,通过ros系统的发布订阅机制实现对潜航器模型的控制,并将控制代码抽象出python接口供强化学习算法调用。
(2)收集真实海域的洋流保存到文件中,启动环境时使用插值算法加载相应的洋流到 gazebo仿真器中,至此完成对环境的仿真。
(3)构建路径规划具体任务,定义仿真器中的出发点、目标点、模型移动速度等关键环境因素,将其定义为完整的强化学习环境。这里分别定义单目标点和多目标点的任务,在单目标点任务中,潜航器只需要达到目标点就可以获得预设的奖励,而在多目标点任务中,潜航器需要按照顺序依次通过各个目标点才能获得对应的奖励值。
第二步,设计强化学习智能体的网络结构
(1)设计能够完全表示当前状态信息的输入信息。通过发布订阅机制获取当前模型发布的全部信息,包括三维的坐标、三维的角速度、三维的线速度等信息,其中三维的坐标对于奖励函数的设计不可或缺,此外,因为本发明使用的动作类型是在原有运动方向上做出一定的偏移,因此当前的运动方向对智能体输出当前动作具有重要意义。最终设定的状态信息为三维的坐标和三维的表示运动方向的线速度。
(2)根据任务类型设计适合的动作。通常情况下,合理的动作只包括yaw和pitch的调整,而与roll维度的旋转无关。在yaw和pitch各取三个合理调整的情况下强化学习智能体就可以拥有九个动作,分别可以向前方的九个方位进行运动,与真实潜航器的运动保持一致。
(3)数据归一化。采集的数据因为海域的不同,得到的全局位置信息会在很大的范围内变化,因此在送入神经网络之前需要对数据进行处理,做归一化处理,将输入限制在合理范围内,避免影响后面各层网络的性能。
(4)网络结构设计。离散SAC算法需要使用一个策略网络和两个价值网络,其中两个价值网络分别需要有一个目标网络用于指导策略网络的更新以避免高估问题,在初始化时需要设计五个网络,两个目标网络的初始化参数与价值网络的参数相同。为了使网络能够尽快地更新以适应策略网络和价值网络的交替更新,需要在保证网络泛化性的同时尽可能地将网络的层数减小以加快网络的训练,因此设计了六层网络,每一层都是类残差结构,将输入的状态连接到之后各层的特征向量中,这种类似于残差网络的结构能够使梯度快速反向传播到第一层,能够显著加快网络的收敛。
第三步,设计数据存储缓存区与多步奖励。
(1)离散sac算法使用一个缓冲区存储过往采样过的所有的数据,在缓冲区存满之前不会丢弃任何的数据。因此为了在训练后期丢弃前期采样的噪声数据,将缓冲区的大小设计为一个可以达到的较小值。
(2)同时为了使智能体具有长期的规划能力,将采样数据中的奖励替换为多步奖励,多步奖励的计算公式如公式(1)所示。其中γ被定义为折扣因子,M表示计算当前多步奖励需要的步数。在一局游戏内计算每一步的多步奖励后将数据存入缓冲区供算法训练使用。
第四步,算法的训练与参数调节。强化学习算法的收敛性往往较为脆弱,需要仔细调节各种超参数以实现最好的效果。
(1)确定网络更新过程使用的策略网络的损失函数和价值网络的损失函数。其中策略网络的损失函数由动作的熵和价值网络输出的动作价值构成,而价值网络计算动作价值函数的均方误差。
(2)温度系数的自动控制和特定目标熵的选择。温度系数是离散sac算法中更新策略网络所特有的一个超参数,用以调节输出动作的混乱程度。使用熵自动调节可以将选择合适的温度系数的任务转化为将输出动作的熵维持为一个定值的问题,这个定值被称为目标熵,离散sac算法中输出动作的最大熵可以表示为因此目标熵可以表示为最大熵的倍数。这里给出的能够稳定使算法收敛的方案是选择一个较低的目标熵,比如0.6倍的目标熵,使得温度系数在经过长时间训练后能够保持在一个较低的数值。
(3)使用智能体在环境中进行采样。获得环境的状态后将其送入策略网络,在网络输出的动作概率组成的分布中取样,得到当前状态对应的动作,执行动作后得到一条经验数据,在一局游戏结束有计算多步奖励填充进缓冲区,直到采样得到了足够多的数据。
(4)从缓冲区中采样并更新策略网络和价值网络。使用缓冲区中的数据更新策略网络和价值网络,在更新策略网络的同时使用自动熵调节的损失函数更新温度系数。其中目标价值网络不参与网络的更新,只需每隔一段时间后从价值网络中同步参数。
(5)重复(3)(4)直到策略收敛。
附图/表说明
图1是本发明中具体实施方式中的路径规划算法具体实施流程
图2是本发明中具体实施方式中的策略网络和价值网络使用的残差网络的结构
图3是本发明中具体实施方式中的离散SAC算法对于单目标点规划的路径
图4是本发明中具体实施方式中的离散SAC算法对于多目标点规划的路径
具体实施方式
为使本发明的技术方案更加清楚,下面结合附图对本发明做进一步阐述.。图1为一种基于离散SAC算法的复杂海洋环境下潜航器的路径规划算法的具体实施流程。本发明按以下步骤具体实现:
第一步,对潜航器进行建模。
(1)通过设计软件建模潜航器模型,将建好的潜航器模型定义相应的物理属性后发布到gazebo仿真器中,通过ros系统的发布订阅机制实现对潜航器模型的控制,并将控制代码抽象出python接口供强化学习算法调用。
(2)添加洋流信息到gazebo物理仿真器中。
(3)构建路径规划具体任务,定义仿真器中的出发点、目标点、模型移动速度等关键环境因素,将其定义为完整的强化学习环境。这里分别定义单目标点和多目标点的任务,在单目标点任务中,出发点和目标点分别为(0,0,0)和(600,-500,-1000)。在多目标点任务中,出发点、中间点和目标点分别为(0,0,0)、(600,-500,-1000)和(1200,-1000,0)。
第二步,设计强化学习智能体的网络结构
(1)设计能够完全表示当前状态信息的输入信息。为了满足强化学习的理论基础使其状态转移满足马尔科夫决策过程,需要表征全部的状态信息。最终设定的状态信息为三维的坐标和三维的线速度。
(2)根据任务类型设计适合的动作。合理的动作只包括yaw和pitch的调整,使yaw和pitch各取三个离散值,智能体拥有九个动作,可以向前方的九个方位进行运动,与真实潜航器的运动基本保持一致。
(3)网络结构设计。离散SAC算法使用一个策略网络、两个价值网络和两个目标网络,两个目标网络的初始化参数与价值网络的参数相同。需要在保证网络泛化性的同时尽可能地将网络的层数减小以加快网络的训练,因此设计了六层网络,每一层都是类残差结构,将输入的状态连接到之后各层的特征向量中。图2表示类残差网络的网络结构。目标网络每训练一次就与价值网络做同步,同步的程度由一个较小的超参数τ控制,新的目标网络保留 1-τ的原参数,加上τ倍的价值网络参数。
(4)数据归一化。采集的数据因为海域的不同,得到的全局位置信息会在很大的范围内变化,因此在送入神经网络之前需要对数据进行做归一化处理,将输入限制在合理范围内,避免影响后面各层网络的性能。这也是为了适应类参数结构,避免出现梯度消失情况。
第三步,设计数据存储缓存区与多步奖励。
(1)将缓冲区的大小设计为一个可以达到的较小值100000。
(2)将采样数据中的奖励替换为多步奖励,多步奖励的计算公式如式1所示。其中γ被定义为折扣因子,M表示计算当前多步奖励需要的步数。在一局游戏内计算每一步的多步奖励后将数据存入缓冲区供算法训练使用。
第四步,算法的训练与参数调节。强化学习算法的收敛性往往较为脆弱,需要仔细调节各种超参数以实现最好的效果。
(1)确定网络更新过程使用的策略网络的损失函数和价值网络的损失函数。其中策略网络的损失函数由动作的熵和价值网络输出的动作价值两部分构成,而价值网络计算动作价值函数的均方误差。
(3)使智能体在环境中进行采样。获得环境的状态后输入策略网络,在网络输出的动作概率组成的分布中取样,得到当前状态对应的动作,执行动作后得到一条经验数据,在一局游戏结束后计算多步奖励填充进缓冲区。
(4)从缓冲区中采样并更新策略网络和价值网络。使用缓冲区中的数据更新策略网络和价值网络,在更新策略网络的同时使用自动熵调节的损失函数更新温度系数。其中目标价值网络不参与网络的更新,只需每隔一段时间后从价值网络中同步参数。
(5)重复(3)(4)直到策略收敛。图3和图4为测试得到的单目标点和多目标点路径规划的轨迹效果图。
Claims (5)
1.一种基于离散SAC算法的gazebo潜航器路径规划算法,其特特征在于,所述方法包括:
(1)使用gazebo物理引擎进行高精度的潜航器和洋流仿真;
(2)使用离线强化学习算法离散SAC进行模型的训练,得到最优的策略。
2.如权利要求1所述的基于离散SAC算法的gazebo潜航器路径规划算法,其特征在于:使用gazebo物理引擎进行强化学习的高精度环境仿真,主要包括模型的构建和洋流的模拟。
对潜航器进行建模,将建好的潜航器模型定义相应的物理属性后发布到gazebo仿真器中,通过ros系统的发布订阅机制实现对潜航器模型的控制,并将控制代码抽象出python接口供强化学习算法调用;收集真实海域的洋流保存到文件中,启动环境时使用插值算法加载相应的洋流到gezebo仿真器中,完成对环境的仿真。
3.如权利要求1所述的基于离散SAC算法的gazebo潜航器路径规划算法,其特征在于:
根据路径规划任务的特点和环境的特点,选择合适的输入状态、动作空间、输入信息预处理方式、网络结构等,使离散SAC算法和gazebo环境相适配;输入状态的选择要满足马尔科夫性质,本发明使用的动作类型是在原有运动方向上做出一定的偏移,最终设定的状态信息为三维的坐标和三维的线速度;输入状态的处理方式上,使用归一化的方法处理当前的输入状态,使激活函数tanh能够正常工作;动作空间的选择上:选择离散的动作空间,yaw和pitch各取三个合理的偏转。
4.如权利要求3所述的基于离散SAC算法的gazebo潜航器路径规划算法,其特征在于:
网络结构的设计方面,使用多层的类残差网络构建算法中五个网络的主体结构,其中类残差网络是指将输入直接连接到网络各层的特征向量中一起输入下一层网络,使梯度反向传播能够更快地进行,加快网络的收敛。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211115095.2A CN115618716A (zh) | 2022-09-14 | 2022-09-14 | 一种基于离散SAC算法的gazebo潜航器路径规划算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211115095.2A CN115618716A (zh) | 2022-09-14 | 2022-09-14 | 一种基于离散SAC算法的gazebo潜航器路径规划算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115618716A true CN115618716A (zh) | 2023-01-17 |
Family
ID=84859518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211115095.2A Pending CN115618716A (zh) | 2022-09-14 | 2022-09-14 | 一种基于离散SAC算法的gazebo潜航器路径规划算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115618716A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115790608A (zh) * | 2023-01-31 | 2023-03-14 | 天津大学 | 基于强化学习的auv路径规划算法及装置 |
CN116596060A (zh) * | 2023-07-19 | 2023-08-15 | 深圳须弥云图空间科技有限公司 | 深度强化学习模型训练方法、装置、电子设备及存储介质 |
CN117369286A (zh) * | 2023-12-04 | 2024-01-09 | 中国海洋大学 | 一种海洋平台动力定位控制方法 |
-
2022
- 2022-09-14 CN CN202211115095.2A patent/CN115618716A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115790608A (zh) * | 2023-01-31 | 2023-03-14 | 天津大学 | 基于强化学习的auv路径规划算法及装置 |
CN116596060A (zh) * | 2023-07-19 | 2023-08-15 | 深圳须弥云图空间科技有限公司 | 深度强化学习模型训练方法、装置、电子设备及存储介质 |
CN116596060B (zh) * | 2023-07-19 | 2024-03-15 | 深圳须弥云图空间科技有限公司 | 深度强化学习模型训练方法、装置、电子设备及存储介质 |
CN117369286A (zh) * | 2023-12-04 | 2024-01-09 | 中国海洋大学 | 一种海洋平台动力定位控制方法 |
CN117369286B (zh) * | 2023-12-04 | 2024-02-09 | 中国海洋大学 | 一种海洋平台动力定位控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115618716A (zh) | 一种基于离散SAC算法的gazebo潜航器路径规划算法 | |
CN108803321B (zh) | 基于深度强化学习的自主水下航行器轨迹跟踪控制方法 | |
Jiang et al. | Path planning for intelligent robots based on deep Q-learning with experience replay and heuristic knowledge | |
CN107748566B (zh) | 一种基于强化学习的水下自主机器人固定深度控制方法 | |
CN113052372B (zh) | 一种基于深度强化学习的动态auv追踪路径规划方法 | |
CN113033119B (zh) | 一种基于双评论家强化学习技术的水下航行器目标区域上浮控制方法 | |
CN112462792B (zh) | 一种基于Actor-Critic算法的水下机器人运动控制方法 | |
CN111240356B (zh) | 一种基于深度强化学习的无人机集群会合方法 | |
CN109740741B (zh) | 一种结合知识转移的强化学习方法及其应用于无人车自主技能的学习方法 | |
CN112633466A (zh) | 一种面向困难探索环境的记忆保持课程学习方法 | |
CN111768028A (zh) | 一种基于深度强化学习的gwlf模型参数调节方法 | |
CN113391633A (zh) | 一种面向城市环境的移动机器人融合路径规划方法 | |
CN115493597A (zh) | 一种基于sac算法的auv路径规划控制方法 | |
CN114355897B (zh) | 一种基于模型和强化学习混合切换的车辆路径跟踪控制方法 | |
CN116147627A (zh) | 一种结合深度强化学习和内在动机的移动机器人自主导航方法 | |
CN114077258B (zh) | 一种基于强化学习ppo2算法的无人艇位姿控制方法 | |
CN113232016A (zh) | 一种强化学习与模糊避障融合的机械臂路径规划方法 | |
CN114840928B (zh) | 一种基于深度学习的水下航行器集群运动仿真方法 | |
CN116796844A (zh) | 一种基于m2gpi的无人机一对一追逃博弈方法 | |
CN116817909A (zh) | 一种基于深度强化学习的无人机中继式导航方法 | |
CN116697829A (zh) | 一种基于深度强化学习的火箭着陆制导方法及系统 | |
CN116796843A (zh) | 一种基于pso-m3ddpg的无人机多对多追逃博弈方法 | |
CN115933712A (zh) | 基于深度强化学习的仿生鱼领导者—跟随者编队控制方法 | |
CN114396949B (zh) | 一种基于ddpg的移动机器人无先验地图导航决策方法 | |
CN110501903B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Wen Jiabao Inventor after: Dai Huiao Inventor after: Yang Jiachen Inventor after: Xiao Shuai Inventor before: Yang Jiachen Inventor before: Dai Huiao Inventor before: Wen Jiabao Inventor before: Xiao Shuai |
|
CB03 | Change of inventor or designer information |