一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度强化学习的无人船路径跟随系统及方法

2022-08-07 18:42:30 来源:中国专利 TAG:


1.本发明涉及无人船运动控制技术领域,具体地指一种基于深度强化学习的无人船路径跟随系统及方法。


背景技术:

2.高度自主化、智能化的无人船是造船和航运产业发展的必然趋势。无人船以实现船舶无人化、智能化为目标,能有效提高设备及船舶运营的安全性、优化航行策略、降低运营成本。由此,无人船成为各个造船大国和海上强国发展的重点方向。路径跟随作为无人船运动控制的基本任务之一,是实现无人船自主智能航行的关键。
3.传统的无人船路径跟随方法建立在数学估计分析的基础上,通过数学分析与推导来确定控制器的参数,控制器的设计与参数整定过程都依赖较强的专业知识。目前,已经证明了基于数学估计分析的路径跟随方法的有效性能,但其本身具有较大的局限性,如计算复杂度高、可移植性差、受环境干扰影响较大。特别是在航行过程中易受到航行条件变化、环境干扰等因素的影响,表现出了较强的不确定性、非线性和时变性,很难建立精确的数学模型来表达船舶的变化状态,这给无人船路径跟随任务带来了极大的挑战。无人船在实时航行过程中需要适应航行条件的变化,及时调整控制策略,而传统的控制方法不能很好的处理不确定性问题,导致路径跟随效果较差。


技术实现要素:

4.本发明的目的就是要提供一种基于深度强化学习的无人船路径跟随系统及方法,本发明将船舶运动模型与控制算法分离,简化了控制策略的设计过程,显著降低或消除了对船舶运动控制领域专业知识的依赖。
5.为实现此目的,本发明所设计的一种基于深度强化学习的无人船路径跟随系统,它包括仿真平台构建模块、马尔科夫决策建模模块、神经网络构建模块、策略模型构建模块和路径跟随控制模块;
6.所述仿真平台构建模块用于构建无人船运动交互仿真平台,并在无人船运动交互仿真平台中初始化无人船的目标路径和航行环境,根据无人船路径跟随的需求定义无人船运动控制任务;
7.所述马尔科夫决策建模模块用于利用无人船运动控制任务进行马尔科夫决策过程建模,马尔科夫决策过程用来描述无人船路径跟随控制的交互过程,根据船舶完成路径跟随任务所需要的信息确定马尔科夫决策过程的状态空间,根据船舶控制指令确定马尔科夫决策过程的动作空间,根据船舶控制的目标任务确定马尔科夫决策过程的奖励函数;
8.所述神经网络构建模块用于依据马尔科夫决策过程中的状态空间、动作空间和奖励函数,基于ddpg(deep deterministic policy gradient,深度确定性策略梯度算法)算法架构设计深度神经网络;
9.所述策略模型构建模块在仿真平台上使用ddpg算法对深度神经网络进行训练,得
到无人船路径跟随控制策略模型;
10.所述路径跟随控制模块用于将无人船路径跟随控制策略模型结合视线制导算法实现无人船路径跟随控制。
11.深度强化学习具备自主学习、自适应能力强的特点,在导航、机器人控制、参数优化等领域得到了广泛的应用。同时,深度强化学习中端到端的学习方式显著降低或消除了对专业领域知识的依赖且在多个领域具有超越人类专业人员的良好表现,这为决策控制领域的研究提供了新的思路。基于深度强化学习的路径跟随方法需要构建一个用于交互学习的环境,可以是实际环境,也可以是仿真环境。实际环境存在风险大、周期长、费用高等问题,数值化的仿真方式不能直观反应船舶运动过程。
12.本发明的有益效果:
13.本发明构建的无人船运动交互仿真平台提供了与实际环境相近的训练与测试环境,将船舶运动控制与控制算法分离,可以不了解船舶运动控制底层原理,直接设计无人船控制算法,以unity3d将船舶运动过程可视化,直观地反应了控制策略的控制效果,为无人船的决策与控制策略的研究与验证提供安全、高效、低成本的途径;
14.本发明提出一种基于深度强化学习的无人船路径跟随方法,以ddpg算法训练得到的神经网络作为无人船路径跟随控制器,不需要复杂的数学推导,简化了控制器的设计过程;在训练过程中,以由控制输入和无人船相应的动态响应组成的交互数据作为神经网络的训练样本,隐式地考虑了建模不确定问题和各种环境因素的影响,较好地处理不确定性问题;训练好的控制策略模型经过微调可应用于实时路径跟随任务,可移植性高,控制策略模型以无人船的实时状态为输入,直接输出船舶最优控制策略,具有较强的自适应能力和实时性。
附图说明
15.图1为本发明的结构示意图;
16.图2为本发明提供的基于深度强化学习的无人船路径跟随方法的方法流程图;
17.图3为本发明中无人船运动交互仿真平台系统架构图;
18.图4为本发明中基于ddpg算法的无人船路径跟随控制器原理图;
19.图5为视线法原理图;
20.图6为本发明中基于ddpg算法的无人船路径跟随的训练框架图;
21.图7为本发明中控制策略模型的执行流程图;
具体实施方式
22.以下结合附图和具体实施例对本发明作进一步的详细说明:
23.如图1所示的基于深度强化学习的无人船路径跟随系统,其特征在于:它包括仿真平台构建模块、马尔科夫决策建模模块、神经网络构建模块、策略模型构建模块和路径跟随控制模块;
24.所述仿真平台构建模块用于构建无人船运动交互仿真平台,如图3所示,并在无人船运动交互仿真平台中初始化无人船的目标路径和航行环境,航行环境包括目标路径、船舶初始位置、航向和障碍物信息,根据无人船路径跟随的需求定义无人船运动控制任务;
25.所述马尔科夫决策建模模块用于利用无人船运动控制任务进行马尔科夫决策过程建模,马尔科夫决策过程用来描述无人船路径跟随控制的交互过程,根据船舶完成路径跟随任务所需要的信息确定马尔科夫决策过程的状态空间,根据船舶控制指令确定马尔科夫决策过程的动作空间,根据船舶控制的目标任务确定马尔科夫决策过程的奖励函数,船舶控制指令为船舶可执行的动作,船舶控制任务为船舶去完成什么样的任务;船舶控制的目标任务为船舶路径跟随的目标,具体就是使船舶的航向角与目标航向角的差值最小、路径跟随的位置误差最小,顺利跟随目标路径;马尔科夫决策过程用来描述无人船路径跟随控制的交互过程,将船舶路径跟随控制问题转为了离散的序贯决策问题,状态空间、动作空间、奖励函数都是马尔科夫决策过程的组成部分;
26.马尔科夫决策过程由(s,a,p,r,γ)描述,状态空间、动作空间、奖励函数都是其组成部分;状态空间是描述船舶状态的合集,描述船舶的状态信息;其中状态空间中的期望航向角通过视线法获取;动作空间为船舶控制动作的集合,定义了船舶可采取的动作有哪些;奖励函数为船舶采取某一动作后环境的反馈信号,用来评价所采取动作的好坏,通过该信号去优化控制策略。
27.所述神经网络构建模块用于依据马尔科夫决策过程中的状态空间、动作空间和奖励函数,基于ddpg算法架构设计深度神经网络;
28.所述策略模型构建模块在仿真平台上使用ddpg算法对深度神经网络进行训练,得到无人船路径跟随控制策略模型,训练过程为无人船按照马尔科夫决策过程,采集经验数据,存储到经验池中,再从经验池随机采样对神经网络进行训练;
29.所述路径跟随控制模块用于将无人船路径跟随控制策略模型结合视线制导算法实现无人船路径跟随控制,如图4。
30.上述技术方案中,所述仿真平台构建模块通过unity3d引擎构建虚拟3d航行环境,并在pycharm软件中构建船舶航向和速度的控制模型,在pycharm中通过接口控制船舶航行速度和转向,给船舶一个纵向推动力和转动力矩,利用airsim软件的通信工具包实现虚拟3d航行环境与船舶航向和速度的控制模型之间的数据交互,形成无人船运动交互仿真平台。
31.上述技术方案中,构建无人船运动交互仿真平台,用于无人船运动控制策略的训练与评估;所述仿真平台包含了虚拟环境层、应用程序接口层、外部环境层,其中虚拟环境层基于船舶运动模型、无人船航行场景、环境模型、传感器模型构建虚拟环境,并以unity3d进行可视化,可实现船舶运动仿真、传感信息内容感知;外部环境层可用于设计无人船的决策与控制策略;应用程序接口层通过数据传输协议,将船舶运动仿真与控制策略连接,实现环境感知信息和无人船控制信号在虚拟环境层和外部环境层之间的传输。
32.可选地,将外部环境层与虚拟环境中的无人船运动模型隔离开来,外部环境层的核心为船舶运动控制策略,只涉及船舶运动控制策略的设计与实现,所以外部环境层的船舶控制方法可以是本发明提出的方法,也可是其它机构提出的技术。
33.上述技术方案中,所述马尔科夫决策过程建模的具体方法为:
34.马尔科夫决策过程由元组(s,a,p,r,γ)描述,其中s为无人船的状态空间,a为无人船的动作空间,p为状态转移概率,r为奖励函数,γ是折扣因子,用于权衡即时奖励和未来长期奖励之间的关系,在t时刻,无人船的状态信息s
t
∈s,依据相应的动作策略,从动作
空间中选择动作a
t
执行,随后无人船的状态转移到一个新的状态s
t 1
,同时获得反馈奖励值r
t
,无人船的任务目标就是在完成交互过程中使累积奖励值最大;
35.构建无人船状态空间;所述状态空间s表示为:其中ψd表示期望航向角,χ是船舶航向角与期望航向之间的差值,ey表示船舶位置与期望航线的横向位置误差,u船舶的速度,为期望航向角、航向误差、位置横向误差的导数;所述期望航向通过视线法获得;所述视线法根据船舶实时位置信息与目标路径信息,获得船舶期望航向;实时位置信息通过船舶感知系统获取;所述目标路径信息为已知信息。
36.视线法为无人船提供期望航向,原理图如图5所示,假设p
k 1
(x
k 1
,y
k 1
)是当前目标航路点,pk(xk,yk)是前一个航路点,p
k 2
(x
k 2
,y
k 2
)是下一目标航路点,船舶当前位置为p(x,y),p
los
(x
los
,y
los
)是los点,求解los点的方程为:
[0037][0038]
其中,αk为路径角,r为转向半径;
[0039]
由此,期望航向为:
[0040]
ψd=atan2(y
los-y,x
los-x)
[0041]
其中,atan2函数是反正切函数。
[0042]
构建无人船动作空间;所述动作空间a表示为:a={δ},其中δ为船舶舵角;
[0043]
构建奖励函数;所述奖励函数包括与目标路径的相对位置和相对航向情况,表示为:r=were w
χrχ
,其中re为位置误差奖励,r
χ
是航向误差奖励,we为位置误差奖励权重,w
χ
为航向误差奖励权重;所述位置误差奖励函数和航向误差奖励为:
[0044][0045][0046]
其中,χ(k)是当前时刻的航向误差,χ(k-1)表示上一时刻航向误差,k1为第一权重系数,取值为0.1、k2为第二权重系数,取值为0.01、k3为第三权重系数,取值为0.1,e为自然常数,rad表示弧度。
[0047]
上述技术方案中,基于ddpg算法的无人船路径跟随学习框架如图6所示,所述深度神经网络包括:当前策略网络、当前评估网络、目标策略网络、目标评估网络;所述当前策略网络以无人船的当前状态信息s
t
为输入,对应马尔科夫决策过程描述中的t时刻船舶状态信息,也就是状态空间中每一个变量对应的具体值构成的向量,输出当前策略动作μ(s
t
),μ(s
t
)为当前时刻策略网络输出动作值,对动作μ(s
t
)加入ou(ornstein-uhlenback)探索噪声后就得到了要执行的动作a
t
。策略网络的输出对应动作空间中的某一个值,具体就是在t时刻,策略网络输入船舶状态s
t
时,输出的动作值,即船舶舵角;所述当前评估网络以状态和动作对(s
t
,a
t
)为输入,状态和动作对,由状态s
t
和动作a
t
组成,a
t
是当前策略网络输出动作
值μ(s
t
)加入ou探索噪声后得到了要执行的动作输出计算当前q值(q值为专有名词,表示状态s
t
时执行动作a
t
的价值,当前q值就是当前评估网络的输出值);所述目标策略网络与当前策略网络结构相同,所述目标策略网络以下一时刻状态s
t 1
为输入,输出为下一时刻最优动作μ

(s
t 1
θ
μ'
),所述目标评估网络以下一时刻状态s
t 1
和下一时刻最优动作μ

(s
t 1
θ
μ

)为输入,输出预估q值q

(s
t 1


(s
t 1
θ
μ

)|θq′
);所述目标评估网络与当前评估网络结构相同。
[0048]
上述技术方案中,状态空间的维度定义了当前策略网络的输入;动作空间的维度定义了当前策略网络的输出;状态空间维度和动作空间维度定义了当前评估网络的输入;通过状态空间和动作空间确定了神经网络的输入层节点个数、输出层节点个数。
[0049]
上述技术方案中,所述当前策略网络的网络参数为θ
μ
,以无人船的当前状态s
t
为输入,输出当前策略动作μ(s
t
),加入ou探索噪声后就得到了要执行的动作a
t
;所述当前评估网络的网络参数为θq,以状态和动作对(s
t
,a
t
)为输入,输出计算当前q值q(s
t
,a
t
|θq);所述目标策略网络的网络参数为θ
μ

,以下一时刻状态s
t 1
为输入,输出为下一时刻最优动作μ'(s
t 1
θ
μ'
);所述目标评估网络的网络参数为θq′
,以下一时刻状态s
t 1
和下一时刻最优动作下一时刻最优动作μ

(s
t 1
θ
μ

)为输入,输出预估q值q

(s
t 1


(s
t 1
θ
μ

)|θq′
)。
[0050]
上述技术方案中,所述得到无人船路径跟随控制策略模型的具体方法为:
[0051]
步骤4.1、将深度神经网络中的训练回合次数m,每回合最大步数t,软更新率τ,当前策略网络和当前评估网络学习率,衰减因子γ初始化;
[0052]
步骤4.2、初始化当前策略网络参数θ
μ
、当前评估网络参数θq、目标策略网络参数θ
μ

、目标评估网络参数θq′
以及经验回放池d;
[0053]
步骤4.3、对于每个训练回合,随机初始化船舶状态s0;
[0054]
步骤4.4:对于每一个时间步长,从无人船运动交互仿真平台的虚拟环境层获取无人船的当前状态信息s
t
,然后输入当前策略网络得到策略动作μ(s
t
),加上噪声探索信号合成无人船动作a
t
,无人船在虚拟环境中执行无人船动作a
t
,根据奖励函数获得无人船在状态s
t
(无人船当前时刻状态,对应马尔科夫决策过程描述中的t时刻船舶状态信息,也就是状态空间中每一个变量对应的具体值构成的向量)下执行动作a
t
的奖励值r
t
,同时得到无人船的新状态s
t 1

[0055]
步骤4.5、将交互经验数据(s
t
,a
t
,r
t
,s
t 1
)存入经验回放池d中,交互经验数据包括奖励函数获得无人船状态s
t
,无人船动作a
t
,奖励值r
t
,无人船的新状态s
t 1
,交互经验数据的数量超过经验池容量大小后,以最新的经验数据替换最早的经验数据;
[0056]
步骤4.6、从经验回放池d中随机采样批量n个元组数据(si,ai,ri,s
i 1
)作为训练数据,si为第i个采样样本中的当前时刻状态,ai为第i个采样样本中的当前时刻状态,ri为第i个采样样本中的当前时刻奖励,s
i 1
为第i个采样样本中的下一时刻状态,计算目标值函数:
[0057]
yi=ri γq

(s
i 1


(s
i 1

μ

)|θq′
)
[0058]
yi为目标q值,ri表示奖励值,γ表示衰减因子,q

(s
i 1


(s
i 1
θ
μ

)|θq′
)为是目标评估网络输出的q值,s
i 1
表示无人船的新状态,μ'(s
i 1

μ'
)为目标策略网络的输出动作,θ
μ'
表示目标策略网络参数,θ
q'
表示目标评估网络参数;
[0059]
步骤4.7、通过最小化损失函数更新当前评估网络:
[0060][0061]
l(θq)表示当前评估网络的损失函数,q(si,ai|θq)表示当前评估网络的输出q值,si表示无人船状态,ai表示无人船动作,θq表示当前评估网络的参数;
[0062]
步骤4.8、使用策略梯度更新当前策略网络:
[0063][0064]
其中,表示当前策略网络目标函数的梯度,e表示均值函数,表示当前评估网络输出的q值对动作a的梯度,a=μ(si)表示无人船状态为si时当前策略网络的输出动作值,表示当前策略网络输出的动作值对θ
μ
的梯度;
[0065]
步骤4.9、以软更新的方式更新目标网络参数:
[0066]
θq′

τθq (1-τ)θμq′
[0067]
θ
μ


τθ
μ
(1-τ)θ
μ

[0068]
其中,τ表示软更新率,θq表示当前评估网络参数,θ
q'
表示目标评估网络参数,θ
μ
表示当前策略网络参数,θ
μ'
表示目标策略网络参数;
[0069]
步骤4.10、重复步骤4.4~4.9,直至达到最大步数t;
[0070]
步骤4.11、重复步骤4.3~4.10,直至达到最大回合数m,即得到无人船路径跟随控制策略模型;
[0071]
通过上述训练过程,得到最优控制策略模型,所述控制策略模型为训练完成的当前策略网络参数。
[0072]
上述技术方案中,所述路径跟随控制模块将无人船路径跟随控制策略模型结合视线制导算法实现无人船路径跟随控制中,视线制导算法用于为控制策略模型提供期望航向,引导无人船航行;实现路径跟随过程,具体包括,如图7所示:
[0073]
步骤5.1、初始化船舶航行的目标路径;
[0074]
步骤5.2、获取无人船的自身初始状态信息和环境信息,通过获取到的船舶位置、航向、速度信息以及目标路径信息,计算状态空间中各个变量的值得到船舶的当前时刻状态;
[0075]
步骤5.3、将无人船的当前状态信息输入无人船路径跟随控制策略模型,得到无人船当前动作策略;
[0076]
步骤5.4、将动作策略转为舵角操纵指令,执行舵角操纵指令,无人船转移到新的状态;
[0077]
步骤5.5、获取船舶的实时位置信息,计算当前船舶偏航距离;
[0078]
步骤5.6、如果偏航距离超出阈值,则代表任务执行失败,船舶回到初始位置;否则,进行下一步;
[0079]
步骤5.7、如果无人船到达目的地,路径跟随控制过程结束,否则,进行下一步;
[0080]
步骤5.8、如果无人船完成当前目标路径的跟随,以下一段目标路径作为当前目标路径,再回到步骤5.2、,否则直接回到步骤5.2。
[0081]
一种无人船路径跟随方法,如图2所示,它包括如下步骤:
[0082]
步骤1、构建无人船运动交互仿真平台,并在无人船运动交互仿真平台中初始化无人船的目标路径和航行环境,根据无人船路径跟随的需求定义无人船运动控制任务;
[0083]
无人船运动交互仿真平台系统架构图如图3所示,整个仿真平台包含了虚拟环境层、应用程序接口层、外部环境层,其中虚拟环境层基于船舶运动模型、无人船航行场景、环境模型、传感器模型构建虚拟环境,并以unity3d进行可视化,可控制船舶的航向、速度,并可感知船舶的位置、速度、航向信息以及航行环境信息;外部环境层可用于设计无人船的决策与控制策略;应用程序接口层通过数据传输协议,将船舶运动仿真与控制策略连接,实现环境感知信息和无人船控制信号在虚拟环境层和外部环境层之间的传输;
[0084]
步骤2、利用无人船运动控制任务进行马尔科夫决策过程建模,马尔科夫决策过程用来描述无人船路径跟随控制的交互过程,根据船舶完成路径跟随任务所需要的信息确定马尔科夫决策过程的状态空间,根据船舶控制指令确定马尔科夫决策过程的动作空间,根据船舶控制的目标任务确定马尔科夫决策过程的奖励函数;
[0085]
步骤3、依据马尔科夫决策过程中的状态空间、动作空间和奖励函数,基于ddpg算法架构设计深度神经网络;
[0086]
步骤4、仿真平台上使用ddpg算法对深度神经网络进行训练,得到无人船路径跟随控制策略模型;
[0087]
步骤5、将无人船路径跟随控制策略模型结合视线制导算法实现无人船路径跟随控制。
[0088]
与现有技术相比,本发明构建的无人船运动交互仿真平台分离了船舶运动模型与控制算法,屏蔽了船舶运动控制器的底层实现原理,极大简化了控制策略的设计,仿真平台还提供了与实际环境相近的训练与测试环境,为无人船的决策与控制策略的研究与验证提供安全、高效、低成本的途径;同时本发明提出的基于深度强化学习的无人船路径跟随方法,以ddpg算法训练得到的神经网络作为无人船路径跟随控制器,不需要复杂的数学推导,简化了控制器的设计过程;在训练过程中,以由控制输入和无人船相应的动态响应组成的交互数据作为神经网络的训练样本,隐式地考虑了建模不确定问题和各种环境因素的影响,较好地处理不确定性问题;训练好的控制策略模型经过微调可应用于实时路径跟随任务,可移植性高,控制策略模型以无人船的实时状态为输入,直接输出船舶最优控制策略,具有较强的自适应能力和实时性。
[0089]
本说明书未作详细描述的内容属于本领域专业技术人员公知的现有技术。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献