一种基于多种学习算法的船舶横摇运动姿态控制系统的制作方法

文档序号:22111946发布日期:2020-09-04 15:10阅读:502来源:国知局
一种基于多种学习算法的船舶横摇运动姿态控制系统的制作方法

本发明涉及船舶运动姿态控制领域,特别是涉及一种基于多种学习算法的船舶横摇运动姿态控制系统。



背景技术:

深度学习能自动地从大量数据中学习到表征数据更深层本质的特征,具有大数据泛化能力。

船舶在航行中经常受到海浪等环境因素干扰,不可避免的产生摇摆,尤其在恶劣的海况条件下,对船舶的海上作业造成很大的安全隐患。

船舶在海上航行是一个复杂的问题。在随机海浪的作用下船舶不可避免的会发生摇摆、倾斜,这样不仅影响到船舶在海面上的正常航行,对船舶的航行性能和操纵性能产生一定程度的影响,而且海浪的扰动对船上物体的运动状态也会产生影响。特别是在恶劣海况下,对于客滚船、民船以及小型渔业船,由于其排水量较低(一般都在1000t一一3000t之间),这些小型船只受海浪的影响将更大,在海浪作用下会发生大幅度的摇荡运动,其最大倾角甚至可能达到15°以上。在这些情况下,主要采用pid控制、自适应控制、鲁棒控制或单一的神经网络方法,控制船体的运动姿态,但是上述方法在控制船体运动时稳定性较差。



技术实现要素:

本发明的目的是提供一种基于多种学习算法的船舶横摇运动姿态控制系统,将深度学习神经网络方法与无监督机器学习方法相结合,有效提高船舶横摇运动姿态控制效果。

为实现上述目的,本发明提供了如下方案:

一种基于多种学习算法的船舶横摇运动姿态控制系统,包括:横摇检测装置、船舶横摇运动控制器、鳍伺服系统、单体鳍以及数据库;

所述横摇检测装置用于检测目标船舶在运动过程中产生的目标横摇数据,并将所述目标横摇数据发送至所述船舶横摇运动控制器;所述目标横摇数据为目标船舶的横摇角;

所述数据库与所述船舶横摇运动控制器连接;所述船舶横摇运动控制器用于根据所述目标横摇数据和所述数据库中的数据生成目标鳍控制信号,并将所述目标鳍控制信号发送至所述鳍伺服系统;所述船舶横摇运动控制器包括横摇深度学习神经网络辨识器和横摇深度学习神经网络子控制器;

所述鳍伺服系统用于根据所述目标鳍控制信号控制所述单体鳍的运动以实现对目标船舶的控制;

所述数据库存储有历史横摇数据和历史鳍控制信号;所述历史横摇数据是将原始历史横摇数据输入到船舶横摇数据分类模型后得到的,所述历史鳍控制信号是将原始历史鳍控制信号输入到船舶横摇数据分类模型后得到的;所述船舶横摇数据分类模型是在无监督机器学习算法的基础上构建得到的。

可选的,所述横摇深度学习神经网络辨识器用于根据所述历史横摇数据和所述历史鳍控制信号,计算横摇预测数据;

所述横摇深度学习神经网络子控制器用于根据所述横摇预测数据、所述历史横摇数据、所述历史鳍控制信号和所述目标横摇数据生成目标鳍控制信号。

可选的,所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用基于深度学习神经网络的前馈反向传播神经网络结构。

可选的,所述横摇深度学习神经网络辨识器采用两层bp神经网络结构;第1层bp神经网络结构的输入层包括4个节点,隐含层包括10个节点,输出层包括1个节点;第2层bp神经网络结构的输入层包括4个节点,隐含层包括9个节点,输出层包括1个节点。

可选的,所述横摇深度学习神经网络子控制器采用两层bp神经网络结构;第1层bp神经网络结构的输入层包括6个节点,隐含层包括11个节点,输出层包括2个节点;第2层bp神经网络结构的输入层包括6个节点,隐含层包括7个节点,输出层包括1个节点。

可选的,所述横摇深度学习神经网络辨识器的性能指标函数为实际横摇角与输出横摇角的均方差,所述横摇深度学习神经网络子控制器的性能指标函数为实际横摇角的均方差。

可选的,所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用改进的随机梯度下降法或者改进的负梯度最速下降法修正网络权值。

可选的,所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用批量归一化算法优化网络权值。

可选的,所述船舶横摇数据分类模型是利用无监督学习算法中基于划分的聚类方法模糊k-均值法对横摇数据分类后构建的分类模型。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供了一种基于多种学习算法的船舶横摇运动姿态控制系统,包括横摇检测装置、包括横摇深度学习神经网络辨识器和横摇深度学习神经网络子控制器的船舶横摇运动控制器、鳍伺服系统、单体鳍以及数据库;横摇检测装置用于检测目标船舶在运动过程中产生的目标横摇数据;船舶横摇运动控制器用于根据所述目标横摇数据生成目标鳍控制信号;鳍伺服系统用于根据目标鳍控制信号控制单体鳍的运动以实现对目标船舶的控制;数据库与船舶横摇运动控制器连接;数据库存储有历史横摇数据和历史鳍控制信号;历史横摇数据和历史鳍控制信号均是船舶横摇数据分类模型确定的;船舶横摇数据分类模型是在无监督机器学习算法的基础上构建得到的。本发明将深度学习神经网络方法与无监督机器学习方法相结合,有效提高船舶横摇运动姿态控制效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于多种学习算法的船舶横摇运动姿态控制系统的结构框图;

图2为本发明基于多种学习算法的船舶横摇运动姿态控制系统的结构原理图;

图3为本发明基于多种学习算法的船舶横摇运动姿态控制系统的横摇深度学习神经网络辨识器nni的网络结构图;

图4为本发明基于多种学习算法的船舶横摇运动姿态控制系统的横摇深度学习神经网络子控制器nnc的网络结构图;

图5为本发明批量归一化(bn)算法的流程示意图;图5(a)为本发明批量归一化(bn)算法上部分的流程示意图;图5(b)为本发明批量归一化(bn)算法下部分的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于多种学习算法的船舶横摇运动姿态控制系统,将深度学习神经网络方法与无监督机器学习方法相结合,有效提高船舶横摇运动姿态控制效果。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

本发明提供的一种基于多种学习算法的船舶横摇运动姿态控制系统,首先利用无监督机器学习方法构建船舶横摇数据分类模型;然后在此基础上利用深度信念网络dbn对船舶横摇运动的实验数据进行训练,该深度信念网络中的每一层都是一个受限玻尔兹曼机boltzmann,在进行无监督训练时,首先训练第一层(按标准rbm训练),然后将第一层预训练好的隐结点视为第二层的输入结点,对第二层进行训练,最后再利用bp算法对整个网络进行训练。rbm通过学习将数据表示成概率模型,一旦模型通过无监督学习被训练或收敛到一个稳定状态,还可用于生成新数据,从而给出船舶横摇运动的自动学习结果。与传统的pid控制、自适应控制、鲁棒控制以及单一的神经网络方法相比较,该算法将在自动学习能力、缩短训练时间以及控制系统的稳定性等方面都将有所提高。

如图1所示,本发明的目的是提供一种基于多种学习算法的船舶横摇运动姿态控制系统,包括:横摇检测装置、船舶横摇运动控制器、鳍伺服系统、单体鳍以及数据库。

所述横摇检测装置用于检测目标船舶在运动过程中产生的目标横摇数据,并将所述目标横摇数据发送至所述船舶横摇运动控制器;所述目标横摇数据为目标船舶的横摇角。

所述数据库与所述船舶横摇运动控制器连接;所述船舶横摇运动控制器用于根据所述目标横摇数据和所述数据库中的数据生成目标鳍控制信号,并将所述目标鳍控制信号发送至所述鳍伺服系统;所述船舶横摇运动控制器包括横摇深度学习神经网络辨识器和横摇深度学习神经网络子控制器。所述目标鳍控制信号为单体鳍(减摇鳍)的鳍角的控制信号。

所述鳍伺服系统用于根据所述目标鳍控制信号控制所述单体鳍的运动,以通过所述单体鳍(减摇鳍)实现对目标船舶的控制。

所述数据库存储有历史横摇数据和历史鳍控制信号;所述历史横摇数据是将原始历史横摇数据输入到船舶横摇数据分类模型后得到的,所述历史鳍控制信号是将原始历史鳍控制信号输入到船舶横摇数据分类模型后得到的;所述船舶横摇数据分类模型是在无监督机器学习算法的基础上构建得到的。

此外,所述横摇检测装置还与所述数据库连接;所述横摇检测装置将目标横摇数据发送至所述数据库,所述船舶横摇运动控制器将目标鳍控制信号发送至数据库,以更新所述数据库中存储的数据。

优选的,所述船舶横摇数据分类模型是利用无监督学习算法中基于划分的聚类方法模糊k-均值法对横摇数据分类后构建的分类模型。

其中,所述横摇深度学习神经网络辨识器用于根据所述历史横摇数据和所述历史鳍控制信号,计算横摇预测数据;所述横摇深度学习神经网络子控制器用于根据所述横摇预测数据、所述历史横摇数据、所述历史鳍控制信号和所述目标横摇数据生成目标鳍控制信号。

所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用基于深度学习神经网络dlnn的前馈反向传播神经网络结构。

所述横摇深度学习神经网络辨识器采用两层bp神经网络结构;第1层bp神经网络结构的输入层包括4个节点,隐含层包括10个节点,输出层包括1个节点;第2层bp神经网络结构的输入层包括4个节点,隐含层包括9个节点,输出层包括1个节点。

所述横摇深度学习神经网络子控制器采用两层bp神经网络结构;第1层bp神经网络结构的输入层包括6个节点,隐含层包括11个节点,输出层包括2个节点;第2层bp神经网络结构的输入层包括6个节点,隐含层包括7个节点,输出层包括1个节点。

所述横摇深度学习神经网络辨识器的性能指标函数为实际横摇角与输出横摇角的均方差,所述横摇深度学习神经网络子控制器的性能指标函数为实际横摇角的均方差。

所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用改进的随机梯度下降法sgd或者改进的负梯度最速下降法rmsprop修正网络权值(下面有详细的记载)。

所述横摇深度学习神经网络辨识器和所述横摇深度学习神经网络子控制器均采用批量归一化(bn)算法优化网络权值。

由以上技术方案可知,本发明提供的一种基于多种学习算法的船舶横摇运动姿态控制系统,采用基于深度学习神经网络dlnn的船舶横摇运动控制器,选择特定的船型以及单体(减摇)鳍类型和大小,可以有效模拟非动力学系统,利用无监督学习方法中基于划分的聚类方法模糊k-均值法进行横摇数据分类,构建分类模型。并在此基础上利用深度学习神经网络dlnn对船舶横摇运动的实验数据进行训练,给出船舶横摇运动姿态的自动学习结果。与传统的pid控制、自适应控制、鲁棒控制以及单一的神经网络方法相比较,该系统将在自动学习能力、缩短训练时间以及控制稳定性等方面都将有所提高。

下面结合具体实施例来说明图1所述的基于多种学习算法的船舶横摇运动姿态控制系统。

如图2所示,该基于多种学习算法的船舶横摇运动姿态控制系统的动作顺序为:

(1)获取测量系统输出的信号k表示当前时刻,表示当前时刻的横摇角。

(2)计算横摇深度学习神经网络辨识器nni序列预测输出的信号k+1表示下一个时刻,表示下一个时刻的预测横摇角。

(3)根据之差,采用深度学习神经网络训练横摇深度学习神经网络子控制器nnc。表示下一时刻的目标横摇角。

(4)根据之差,采用深度学习神经网络训练横摇深度学习神经网络辨识器nni。

(5)计算nnc输出的控制信号α(k+1)。α(k+1)表示下一时刻的鳍角的控制信号。

该船舶横摇运动姿态控制系统能够在系统参数摄动或者存在建模误差情况下,根据在线观测所积累的信息,修正子控制器和辨识器的权值和阈值,对系统实施有效控制,保证船舶横摇运动姿态控制系统的运行性能。

如图3所示,横摇深度学习神经网络辨识器nni利用两层前馈反向传播神经网络结构,第1层bp神经网络结构的输入层包括4个节点,隐含层包括10个节点,输出层包括1个节点。第2层bp神经网络结构的输入层包括4个节点,隐含层包括9个节点,输出层包括1个节点。其中:

第1层bp神经网络的输入层构成为:

其中,i表示第1层bp神经网络的第i个输入神经元。

第1层bp神经网络的隐含层构成为:

其中,j表示第1层bp神经网络的第j个隐含层神经元;为第1层bp神经网络中输入层与隐含层各节点间的连接权值;为隐含层各节点阈值;为隐含层的输出;gi()为隐含层的激励函数;α为鳍角,为横摇角。

第1层bp神经网络的输出层构成为:

其中,为第1层bp神经网络的输出;为第1层bp神经网络隐含层与输出层各节点间的连接权值;为第1层bp神经网络输出层的节点阈值;fi()为第1层bp神经网络输出层的激励函数,取为sigmoid函数。

第2层bp神经网络的输入层构成为:

其中,m表示第2层bp神经网络的第m个输入神经元。

第2层bp神经网络的隐含层构成为:

其中,为第2层bp神经网络中输入层与隐含层各节点间的连接权值;为隐含层各节点的阈值;为隐含层的输出;为隐含层的激励函数。

第2层bp神经网络的输出层构成为:

其中,为第2层bp神经网络的输出;为第2层bp神经网络隐含层与输出层各节点间的连接权值;为第2层bp神经网络输出层的节点阈值;fi()为第2层bp神经网络输出层的激励函数,取为sigmoid函数。

选取性能指标函数:即实际横摇角与预测横摇角的均方差。

采用改进的随机梯度下降法(学习率衰减最小批量梯度下降训练法)对网络权值修正时的算法为:

给定数据集x1={x(1),x(2),……,x(n)},训练周期为k,学习率衰减最低值为b,初始学习率(步长)α0。

随机采样10条数据x1={x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10)}={1.35,0.92,0.62,0.42,0.29,0.2,0.1,0.07,0.05,0.03}。

10条横摇数据取自某舰船航向/横摇半物理仿真系统实验数据。

第2层神经网络采样数据的平均损失值梯度计算公式为:

第1层神经网络采样数据的平均损失值梯度计算公式为:

衰减学习率的计算公式:αi=(1-i/k)α0+-i/kb;fori<k;k>=100。

网络权重的修改公式为:wi=wi-αδw。

如图4所示,为历史横摇角数据,为横摇深度学习神经网络辨识器所获得的预测横摇数据,α(k-1)、α(k)为历史鳍控制信号,为横摇深度学习神经网络控制器的目标横摇角,横摇深度学习神经网络子控制器nnc利用了两层前馈反向传播神经网络结构,第1层bp神经网络结构的输入层包括6个节点,隐含层包括11个节点,输出层包括2个节点;第2层bp神经网络结构的输入层包括6个节点,隐含层包括7个节点,输出层包括1个节点;其中:

第1层bp神经网络的输入层构成为:

第1层bp神经网络的隐含层构成为:

其中,x表示nnc第1层bp神经网络的第x个输入神经元,y表示nnc第1层bp神经网络隐含层中的第y个神经元;为第1层bp神经网络中输入层与隐含层各节点间的连接权值;为隐含层各节点的阈值;为隐含层的输出;gi()为隐含层的激励函数。

第1层bp神经网络的输出层构成为:

其中,和α(k+1)为第1层bp神经网络的输出;为第1层bp神经网络隐含层与输出层各节点间的连接权值;为第1层bp神经网络输出层的节点阈值;fi()为第1层bp神经网络输出层的激励函数,取为sigmoid函数。

第2层bp神经网络的输入层构成为:

h表示nnc第2层bp神经网络的第h个神经元。

第2层bp神经网络的隐含层构成为:

其中,为第2层bp神经网络中输入层与隐含层各节点间的连接权值;为隐含层各节点的阈值;为隐含层的输出;gi()为隐含层的激励函数。

第2层bp神经网络的输出层构成为:

其中,u(k)为第2层bp神经网络的输出;为第2层bp神经网络隐含层与输出层各节点间的连接权值;为第2层bp神经网络输出层的节点阈值;fi()为第2层bp神经网络输出层的激励函数,取为sigmoid函数。

选取的性能指标函数为:

采用改进的负梯度最速下降法rmsprop修正网络权值,并引入一个使收敛到极小值的惯性项ξ=10-7,和一个衰减因子超参数β,根据经验值,取β=0.7。

第2层神经网络输出层连接节点权值的计算公式为:

第2层神经网络隐含层连接节点权值的计算公式为:

第1层神经网络输出层连接节点权值的计算公式为:

第1层神经网络隐含层连接节点权值的计算公式为:

其中,α为学习率。

将当前梯度的平方累加在cache中,目的是消除梯度中的符号,则:

cachei=β.cachei+(1-β)(δωi)2

网络权值的修正公式为:

如图5所示,本发明采用的批量归一化(bn)算法的基本思想是:采样一小批数据,然后对该批数据在神经网络各层的输出进行归一化处理,即利用某一层某一个神经元的输出值减去其平均值然后除以输出值的标准差。由于该批数据的均值和方差不能代替所有数据的均值和方差,因此使用运行时的均值和方差代替全体数据的均值和方差,并引入衰减因子对均值和方差进行衰减累积,这样可以大大加快深度模型的训练时间。

批量归一化后的输出值为:

其中,神经元输出的均值为:

神经元输出的标准差为:

引入衰减因子decay对均值和方差进行衰减积累为:

μ=decay·μ+(1-decay)μsample

本发明的创新点为:

1.提出了基于深度学习神经网络dlnn的船舶横摇运动控制系统。

2.利用无监督机器学习基于划分的聚类方法模糊k-均值法进行横摇数据分类,构建分类模型。

3.构建了基于深度学习神经网络dlnn的神经网络辨识器和神经网络控制器网络结构。

4.利用船舶横摇运动的实验数据进行训练,给出船舶横摇运动姿态的自动学习结果,从而实现对船舶横摇运动在未来有效时间内的姿态预报。

本发明提供了一种基于多种学习算法的船舶横摇运动姿态控制系统,包括:横摇检测装置、基于深度学习神经网络的船舶横摇运动控制器和鳍伺服系统。相较于现有技术,本发明设计了基于深度学习神经网络船舶横摇运动控制器,通过增加深度学习神经网络隐含层的神经元数目,从而增加拥有激活函数的神经元数目,使系统具有强大的学习能力。采用“预训练+微调”的方法将大量参数分组,无监督逐层预训练每一层的隐节点,各层预训练完成后,再利用bp算法对整个网络进行训练。上述技术方案在利用了模型大量参数所提供的自由度的同时,有效地节省了训练开销,保证了控制系统性能的优良性。因此,本发明通过联合运用多种学习算法,有效提高船舶横摇角控制的稳定性。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1