一种船舶运动的控制方法、系统、装置及存储介质转让专利

申请号 : CN202110175938.7

文献号 : CN112965492B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘佳仑王乐李诗杰谢玲利张培吴青

申请人 : 武汉理工大学

摘要 :

本发明提供的一种船舶运动的控制方法、系统、装置及存储介质,方法包括:获取船舶的状态信息;通过天牛须算法确定控制增益参数信息的甲虫个体;确定甲虫个体的群体极值,根据群体极值确定第一控制增益;将第一控制增益进行迭代学习,生成控制指令,执行控制指令。方法能够实现船舶安全运动控制,同时算法简单,收敛速度快,具有较高的自适应性,还有助于消除误差积累,可广泛应用于生物信息学技术领域。

权利要求 :

1.一种船舶运动的控制方法,其特征在于,包括以下步骤:获取船舶的状态信息;

根据所述状态信息,通过天牛须算法确定控制增益信息的甲虫个体;

确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增益;

将所述第一控制增益进行迭代学习,生成控制指令,执行所述控制指令;

所述确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增益这一步骤,包括:

确定线性递减权值,所述线性递减权值根据最大权重系数、最小权重系数、最大迭代次数以及当前迭代次数进行动态调整;

根据所述线性递减权值和第一运动速度确定第二运动速度;

根据所述第二运动速度以及第一空间位置坐标,根据所述第二运动速度以及所述第一空间位置坐标确定所述第一控制增益;

所述第一运动速度为所述甲虫个体在当前空间中初始化后的速度;所述第一空间位置坐标为所述甲虫个体在当前空间中初始化后的坐标。

2.根据权利要求1所述的一种船舶运动的控制方法,其特征在于,所述获取船舶的状态信息,其包括:

根据预设的周期,获取所述船舶的舵角信息、螺旋桨转速、位置信息、航向角信息以及艏向角信息。

3.根据权利要求1所述的一种船舶运动的控制方法,其特征在于,所述根据所述状态信息,通过天牛须算法确定控制增益信息的甲虫个体,其包括:根据所述控制增益信息确定多维空间;

在所述多维空间内确定所述甲虫个体的第一空间位置坐标以及第一运动速度。

4.根据权利要求3所述的一种船舶运动的控制方法,其特征在于,所述将所述第一控制增益进行迭代学习,生成控制指令,执行所述控制指令,其包括:根据所述甲虫个体的初始触角长度,确定所述甲虫个体的触角坐标,根据所述触角坐标更新所述第一空间位置坐标得到第二空间位置坐标;

根据所述第二空间位置坐标,迭代所述第一控制增益。

5.根据权利要求4所述的一种船舶运动的控制方法,其特征在于,所述根据所述触角坐标更新所述第一空间位置坐标得到第二空间位置坐标;其包括:生成所述第一空间位置坐标的适应度;

当所述适应度小于第一预设值,对所述第一空间位置坐标、迭代步长以及所述初始触角长度进行更新;

或,

当所述适应度不小于第一预设值,得到所述第二空间位置坐标。

6.根据权利要求5所述的一种船舶运动的控制方法,其特征在于,所述适应度通过误差绝对值时间积分函数确定。

7.一种船舶运动的控制系统,其特征在于,包括:信息获取单元,用于获取船舶的状态信息;

模型构建单元,用于根据所述状态信息,通过天牛须算法确定控制增益信息的甲虫个体;

增益控制单元,用于确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增益;将所述第一控制增益进行迭代学习,生成控制指令;

指令执行单元,用于控制下位机执行所述控制指令;

所述确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增益,包括:确定线性递减权值,所述线性递减权值根据最大权重系数、最小权重系数、最大迭代次数以及当前迭代次数进行动态调整;

根据所述线性递减权值和第一运动速度确定第二运动速度;

根据所述第二运动速度以及第一空间位置坐标,根据所述第二运动速度以及所述第一空间位置坐标确定所述第一控制增益;

所述第一运动速度为所述甲虫个体在当前空间中初始化后的速度;所述第一空间位置坐标为所述甲虫个体在当前空间中初始化后的坐标。

8.一种船舶运动的控制装置,其特征在于,包括:至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器运行如权利要求1‑6任一项所述的一种船舶运动的控制方法。

9.一种存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于运行如权利要求1‑6任一项所述的一种船舶运动的控制方法。

说明书 :

一种船舶运动的控制方法、系统、装置及存储介质

技术领域

[0001] 本发明涉及船舶航行控制技术领域,尤其是一种船舶运动的控制方法、系统、装置及存 储介质。

背景技术

[0002] 随着船舶智能化的提升,如何在外界多变环境下安全、快速、智能地控制船舶已经成为 未来船舶发展的方向。在此情形下,需要一种简单快速地算法可以应对复杂多变的外
界环境。 迭代学习控制不完全依赖于系统精确模型,能够控制非线性系统。但在现有的迭
代学习控制 的过程中,迭代学习控制增益是固定的,这会导致误差积累。

发明内容

[0003] 有鉴于此,为至少部分解决上述技术问题,本发明实施例目的在于提供一种船舶运动的 控制方法,采用天牛须算法来调整控制增益,以增强系统控制的精度;同时本申请
还提供了 对应的实现该方法的系统及计算机可读的存储介质。
[0004] 第一方面,本申请的技术方案提供了一种船舶运动的控制方法,其步骤包括:
[0005] 获取船舶的状态信息;
[0006] 根据状态信息,通过天牛须算法确定所述控制增益信息的甲虫个体;
[0007] 确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增益;
[0008] 将所述第一控制增益进行迭代学习,生成控制指令,执行所述控制指令。
[0009] 在本申请方案的一种可行的实施例中,所述获取船舶的状态信息,其包括:
[0010] 根据预设的周期,获取所述船舶的舵角信息、螺旋桨转速、位置信息、航向角信息以及 艏向角信息。
[0011] 在本申请方案的一种可行的实施例中,所述根据所述状态信息,通过天牛须算法确定控 制增益信息的甲虫个体,其包括:
[0012] 根据所述控制增益信息确定多维空间;
[0013] 在所述多维空间内确定所述甲虫个体的第一空间位置坐标以及第一运动速度。
[0014] 在本申请方案的一种可行的实施例中,所述确定所述甲虫个体的群体极值,根据所述群 体极值确定第一控制增益,其包括:
[0015] 确定线性递减权值,所述线性递减权值根据最大权重系数、最小权重系数、最大迭代次 数以及当前迭代次数进行动态调整;
[0016] 根据所述线性递减权值和所述第一运动速度确定第二运动速度;
[0017] 根据所述第二运动速度以及所述第一空间位置坐标,根据所述第二运动速度以及所述第 一空间位置坐标确定所述第一控制增益。
[0018] 在本申请方案的一种可行的实施例中,所述将所述第一控制增益进行迭代学习,生成控 制指令,执行所述控制指令,其包括:
[0019] 根据所述甲虫个体的初始触角长度,确定所述甲虫个体的触角坐标,
[0020] 根据所述触角坐标更新所述第一空间位置坐标得到第二空间位置坐标;
[0021] 根据所述第二空间位置坐标,迭代所述第一控制增益。
[0022] 在本申请方案的一种可行的实施例中,所述根据所述触角坐标更新所述第一空间位置坐 标得到第二空间位置坐标;其包括:
[0023] 生成所述第一空间位置坐标的适应度;
[0024] 当所述适应度小于第一预设值,对所述第一空间位置坐标、迭代步长以及所述初始触角 长度进行更新,
[0025] 当所述适应度不小于第一预设值,得到所述第二空间位置坐标。
[0026] 在本申请方案的一种可行的实施例中,所述适应度通过误差绝对值时间积分函数确定。
[0027] 第二方面,本发明的技术方案还提供一种船舶运动的控制系统,其包括:
[0028] 信息获取单元,用于获取船舶的状态信息;
[0029] 模型构建单元,用于根据状态信息,通过天牛须算法确定所述控制增益信息的甲虫个体;
[0030] 控制增益单元,用于确定所述甲虫个体的群体极值,根据所述群体极值确定第一控制增 益;将所述第一控制增益进行迭代学习,生成控制指令;
[0031] 指令执行单元,用于控制下位机执行所述控制指令。
[0032] 第三方面,本发明的技术方案还提供一种船舶运动的控制装置,其包括:
[0033] 至少一个处理器;
[0034] 至少一个存储器,用于存储至少一个程序;
[0035] 当至少一个程序被至少一个处理器执行,使得至少一个处理器运行第一方面中的一种船 舶运动的控制方法。
[0036] 第四方面,本发明的技术方案还提供了一种存储介质,其中存储有处理器可执行的程序, 处理器可执行的程序在由处理器执行时用于运行第一方面中的方法。
[0037] 本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体 实施方式了解得到:
[0038] 本申请的技术方案基于天牛须的迭代学习算法,实现船舶运动控制,通过天牛须算法搜 索迭代学习中的控制增益,再通过迭代学习进行控制输出的求解;再传输给船舶执
行机构进 行执行;通过不断学习,最终实现船舶安全运动。同时算法简单、收敛速度快,具
有较高的 自适应性,还有助于消除误差积累。

附图说明

[0039] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附 图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对
于本领域 普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其
他的附图。
[0040] 图1为本发明实施例提供的一种船舶运动的控制方法的步骤流程图;
[0041] 图2为本发明实施例中船舶运动控制工作流程图;
[0042] 图3为本发明实施例中天牛须算法的流程示意图;
[0043] 图4为本发明实施例中是迭代学习算法流程示意图。

具体实施方式

[0044] 下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似 的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图
描述的实施 例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下
实施例中的步 骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,
实施例中的各步 骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0045] 在第一方面,如图1所示,本申请的技术方案提供了一种船舶运动的控制方法的实施例, 其中,方法包括步骤S01‑S04:
[0046] S01、获取船舶的状态信息。
[0047] 其中状态信息是指船舶在运动过程中,通过各类传感器所采集得到的各种参数信息,其 包括但不限于行进速度以及航向等。具体地,将当前采集时刻记为t时刻,从各个下
位机的 传感器采集得到相应的传感器状态信号,进行必要的信息处理,例如模数转换等,
得到t时 刻船舶的状态信息。
[0048] 在一些可行的实施例中,步骤S01、获取船舶的状态信息,其可以进一步细化为:根据预 设的周期,获取船舶的舵角信息、螺旋桨转速、位置信息、航向角信息以及艏向角信
息。
[0049] 具体地,本申请的实施例可以通过无线网络周期性采集时间间隔为T的硬件数据,该硬 件数据来源于船舶上的多种传感器,该硬件数据包括但不限于:船舶的舵角信息、螺
旋桨转 速、位置信息、航向角信息以及艏向角信息等。
[0050] S02、根据状态信息,通过天牛须算法确定控制增益信息的甲虫个体;
[0051] 其中,天牛须算法模仿自然界中天牛觅食行为。在天牛觅食过程中,食物会产生特殊气 味,吸引天牛向着食物前进。天牛通过其两只触角对空气中的食物气味进行感知,且
根据食 物距离两只触角的距离远近不同,两只触角所感知的气味浓度也有所差异。当食物
处于天牛 左侧时,左侧触角感知的气味浓度强于右侧触角感知的气味浓度,天牛根据两只
触角所感知 的浓度差,向着浓度强的一侧随机前进。通过一次次迭代,最终找到食物的位
置。具体地, 本实施例则是采用该算法根据该算法,将步骤S01中采集得到的船舶的状态信
息,进行建模, 在根据行进条件所确定的空间内,用甲虫个体(即天牛个体)来模拟控制增
益、预测并优化 船舶的下一步运动状态。
[0052] S03、确定甲虫个体的群体极值,根据群体极值确定第一控制增益;
[0053] 其中,群体极值是根据步骤S02中对的多个甲虫个体进行迭代计算后得到的甲虫个体, 将多个甲虫个体信息中的极大值构建得到的数据集,并根据群体极值初步模拟确定
的船舶的 控制增益信息,即为第一控制增益,其作为后续迭代学习的输入。可以理解的是,
本申请实 施例中甲虫个体信息可以包括但不限于其在空间坐标系中的坐标位置以及运动
状态(例如速 度)等信息;对应的,甲虫个体所模拟的船舶的控制增益信息,同样也可以包
括坐标位置以 及运动状态等信息。本申请的实施例为提升迭代学习的效率,将单个个体扩
展到了群搜索。
[0054] S04、将第一控制增益进行迭代学习生成控制指令,执行控制指令。
[0055] 参照图2,由第一控制增益进行迭代学习,在满足了预设的适应度之后,最终确定的控制 增益,根据该控制增益,确定船舶的下一时刻t+1的航行状态,以及将船舶切换至该
行新状 态的控制指令,控制船舶运行;例如,下发t+1时刻所需的舵角及螺旋桨转速指令。
[0056] 在一些可行的实施例中,步骤S02可以进一步细分为步骤S021‑S022:
[0057] S021、根据控制增益信息确定多维空间;
[0058] S022、在多维空间内确定甲虫个体的第一空间位置坐标以及第一运动速度。
[0059] 其中,多维空间即根据船舶控制增益信息所携带的属性字段的数目所确定的空间;例如, 控制增益信息中包括迭代学习控制器的比例、积分和微分学习增益参数这三个
属性字段。
[0060] 具体地,本申请实施例在N维空间内初始化有n个甲虫个体X=(Xl,X2,X3,......,Xn),第 i个甲虫个体的位置表示为:xi=(xi1,xi2,xi3,......,xin),该甲虫个体的速度表示
为 Vi=(vi1,vi2,v,.......,vin)。进而,甲虫个体极值表示为 Pbesti=(Pbesti1,
Pbesti2,......,PbestiN),则群体极值为Gbestxi=(Gbesti1,Gbesti2,......,GbestiN)。
[0061] 在一些可行的实施例中,步骤S03可以进一步细分为步骤S031‑S033:
[0062] S031、确定线性递减权值,线性递减权值根据最大权重系数、最小权重系数、最大迭代 次数以及当前迭代次数进行动态调整;
[0063] S032、根据线性递减权值和第一运动速度确定第二运动速度;
[0064] S033、根据第二运动速度以及第一空间位置坐标,根据第二运动速度以及第一空间位置 坐标确定第一控制增益。
[0065] 其中,第二运动速度即为根据第一运动速度进行迭代计算得到的甲虫个体的运动速度。
[0066] 具体地,甲虫个体的速度Vi与初始基本位置 的计算公式为:
[0067]
[0068] 其中,c1与c2为学习因子,r1与r2为0‑1之间的随机数,k为当前迭代次数;ω为线性递减 权重,其根据迭代此时进行适应性调整,Xi(k)即为第一空间位置坐标,ω的计算公式
为:
[0069] ω(k)=ωmin+(ωmax‑ωmin)·(K‑k)/K
[0070] 其中,ωmax为最大权重系数,ωmin为最小权重系数,K代表算法的最大迭代次数。最终 步骤S03根据初步确定的第二运动速度和第一空间位置坐标,组合得到第一控制增益,
作为 控制增益的迭代计算的输入。
[0071] 在一些可行的实施例中,S04、将第一控制增益进行迭代学习,生成控制指令,可以进一 步细分为步骤S041‑S043:
[0072] S041、根据甲虫个体的初始触角长度,确定甲虫个体的触角坐标,
[0073] S042、根据触角坐标更新第一空间位置坐标得到第二空间位置坐标;
[0074] S043、根据第二空间位置坐标,迭代第一控制增益。
[0075] 其中,第二空间位置坐标是第一空间位置坐标通过迭代计算后确定的适应度满足预设适 应度阈值的空间位置坐标点,该空间位置坐标即代表得到的第一控制增益中,船舶
的位置信 息。
[0076] 具体地,参照图3,由于甲虫自身有两个触角,通过触角感知气味浓度进行觅食,基于这 一原理,运动方向可以进行进一步判断,将两个N维矢量XL和XR分别定义为甲虫左右触
角坐 标。触角的朝向可以表示为随机向量:
[0077] Dir=rand(N,1)
[0078] 其中,rand()为随机函数;
[0079] 将该随机向量进行归一化,其表示为:
[0080]
[0081] 其中,norm()即为求得Dir的欧几里德范数。
[0082] 进一步地,计算两个触角坐标的公式为:
[0083]
[0084] 其中,Lstep为步长,D0=Lstep/b2,D0(k)是初始触角长度,并且进一步将甲虫个体的质 心坐标用第一空间位置替代,即有甲虫个体更新后的位置为:
[0085]
[0086] 最终,得到的第二空间位置坐标,以及第二运动速度。
[0087] 在一些可行的实施例中,步骤S042可以包括步骤S042a‑S042c:
[0088] S042a、生成第一空间位置坐标的适应度;
[0089] S042b、当适应度小于第一预设值,对第一空间位置坐标、迭代步长以及初始触角长度进 行更新;
[0090] 或,
[0091] S042c、当适应度不小于第一预设值,得到第二空间位置坐标。
[0092] 其中,第一预设值为本申请实施例设定的最低适应度值。
[0093] 具体地,根据Xi(k)计算适应度函数值,并将其作为当前最优适应度值fbest。
[0094] 在本申请实施例的迭代计算过程中,根据每次更新后的甲虫位置Xi(k)计算适应度函数值 f。然后更新当前最优适应度值fbest进行比对,以及更新最佳参数Pbest:
[0095]
[0096] 然后再更新迭代步长以及初始触角长度,步长和触角长度可采用比例法或者其他方法进 行更新。需进行步长衰减的条件是最优适应度值没有减小,因为这表示当前步长及
触角长度 已无法得到更优的位置,需要进行更新直到结束控制或满足所设定的最低适应
度值。反之, 仅需要对甲虫质心位置进行更新:
[0097]
[0098] 其中,b1为步长比例系数,b2为触角长度比例系数。最终确定的最佳参数Pbest即迭代完 成的第二空间位置坐标,然后根据第二空间位置坐标以及第二运动速度进行迭代后
确定第一 控制增益。
[0099] 参照图4,在一些可行的实施例中,适应度通过误差绝对值时间积分函数确定,即:
[0100]
[0101] 其中,t为时间,e(t)为系统参考值与输出的偏差。
[0102] 此外,在本申请实施例中,速度的随机值限制在[vmin,vmax],位置的范围值限制在 [xmin,xmax]。甲虫个体群惯性权重在[ωmin,ωmax]范围内按现行关系递减。
[0103] 综上所述,本申请实施例的迭代学习控制器的函数表达式为:
[0104]
[0105] 其中,a,b,c分别为迭代学习控制器的比例、积分和微分学习控制增益参数。 为误差变 化率。根据该学习控制器,最终根据控制增益输出控制信号,实现船舶的运动控制。
[0106] 在第二方面,本申请所提供的一种用于第一方面中方法的一种船舶运动的控制系统,其 包括:
[0107] 信息获取单元,用于获取船舶的状态信息;
[0108] 模型构建单元,用于通过天牛须算法确定控制增益信息的甲虫个体;
[0109] 控制增益单元,用于确定甲虫个体的群体极值,根据群体极值确定第一控制增益;将第 一控制增益进行迭代学习,生成控制指令;
[0110] 指令执行单元,用于控制下位机执行控制指令。
[0111] 第三方面,本申请的技术方案还提供一种船舶运动的控制装置的实施例,其包括至少一 个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个
处理器执 行,使得至少一个处理器运行如第一方面中的一种船舶运动的控制方法。
[0112] 本发明实施例还提供了一种存储介质内存储有程序,程序被处理器执行,实现如第一方 面中的方法。
[0113] 从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以 下优点或优势:
[0114] 1)本申请的技术方案设计了一种基于天牛须迭代学习算法的船舶运动控制方法。此算法 简单,收敛速度快,具有自适应性。
[0115] 2)申请的技术方案将天牛须算法实时更新迭代学习算法的控制增益,有助于消除误差积 累,提高收敛速度。
[0116] 3)申请的技术方案应用对象不限,不依赖于模型设置的约束,具有一定的通用性。可以 用在船舶各种运动控制,或者其他领域的研究应用。
[0117] 在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序 发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体
上同时地执 行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和
描述的实施例 以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不
限于本文所呈现 的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被
改变以及其中被描 述为较大操作的一部分的子操作被独立地执行。
[0118] 此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明, 功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者
一个或多个 功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的
是,有关每个模块 的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑
到在本文中公开的装 置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常
规技术内将会了解该模 块的实际实现。因此,本领域技术人员运用普通技术就能够在无需
过度试验的情况下实现在 权利要求书中所阐明的本发明。还可以理解的是,所公开的特定
概念仅仅是说明性的,并不 意在限制本发明的范围,本发明的范围由所附权利要求书及其
等同方案的全部范围来决定。
[0119] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现 逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行 系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令
执行系统、 装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或
设备而使用。
[0120] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、 或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包 含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
一定指 的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何
的一个 或多个实施例或示例中以合适的方式结合。
[0121] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本 发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,
本发明的 范围由权利要求及其等同物限定。
[0122] 以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领 域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,
这些等同的 变形或替换均包含在本申请权利要求所限定的范围内。