船舶路径跟踪的控制方法、系统和存储介质转让专利

申请号 : CN202011557563.2

文献号 : CN112596393B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘佳仑张培李诗杰

申请人 : 武汉理工大学

摘要 :

本发明公开了一种船舶路径跟踪的控制方法、系统和存储介质,方法包括:将PID控制律应用于船舶控制器并存储第一船舶状态和第一控制输入数据;采用欧拉离散方式对船舶运动模型离散化,得到线性预测模型;采用线性回归方式对第一船舶状态和第一控制输入数据进行估计,并结合回归变量构建船舶估计模型;根据第一船舶状态、第一控制输入数据、线性预测模型和船舶估计模型计算得到船舶线性时变预测模型;将模型预测控制律应用于线性时变预测模型并存储第二船舶状态和第二控制输入数据;根据上述船舶状态和控制输入数据计算控制序列并更新船舶路径控制状态。本发明在提高船舶路径跟踪精度的情况下,减少计算量。本发明可应用于船舶控制技术领域。

权利要求 :

1.一种船舶路径跟踪的控制方法,其特征在于,包括以下步骤:对船舶的航向角和横向距离进行PID控制,并存储PID控制过程中的第一船舶状态和第一控制输入数据,所述第一船舶状态包括船舶纵向速度、船舶横向速度、船舶的艏摇角速度和船舶沿轨道航行的距离,所述第一控制输入数据包括船舶的航向角控制数据、船舶横向距离控制数据;

采用欧拉离散方式对船舶运动模型离散化,得到离散模型;

对所述离散模型进行线性转换,得到线性预测模型;

采用线性回归方式对第一船舶状态和第一控制输入数据进行估计,同时引用回归变量Γ并基于核密度估计函数确定回归变量的数值构建船舶估计模型;

根据第一船舶状态、第一控制输入数据、线性预测模型和船舶估计模型计算得到船舶线性时变预测模型;

将模型预测控制律应用于所述线性时变预测模型,迭代第二预设次数后存储第二船舶状态和第二控制输入数据;

根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据,采用线性模型预测控制算法迭代第三预设次数后,得到若干个控制序列;

根据控制序列的第一个元素更新船舶路径控制状态;

其中,所述将模型预测控制律应用于所述线性时变预测模型,迭代第二预设次数后存储第二船舶状态和第二控制输入数据,包括:在每一个迭代i都计算一个有限时域优化问题,如下公式:s.t.xk+1=Axk+Buk,约束条件xk+1=Axk+Buk为线性预测模型;x0=xs为船舶初始状态;

和 为船舶状态和输入控制

约束;定义预测时域为N;通过计算优化控制问题,得到每一个采样时间k的一个最优控制序列U={u0,…,uN‑1},再将控制序列的第一个元素作用于船舶控制器,如此迭代第二预设次数M2次以创建另一个数据集;

根据阶段成本函数 计算船舶从起点到终点能较好的保持船舶运动轨迹的船舶控制输入;

所述根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据,采用线性模型预测控制算法迭代第三预设次数后,得到若干个控制序列,包括:确定当前迭代次数i小于第三预设次数M3且船舶未到达终点,则在第i次迭代初始化船舶状态,采用PID控制律和模型预测控制律存储的离线数据船舶状态和控制输入数据,并构建如下公式的优化问题:

s.t.xi+1|k=Axt|k+But|k,xt|k∈χ,ut|k∈V,i‑1

xk+N|k∈SS

xi+1|k=Axt|k+But|k为线性船舶预测模型; 为船舶初始状态;xt|k∈χ,ut|k∈V为船i‑1 i‑1

舶状态和输入约束;xk+N|k∈SS 为确保船舶最终状态属于安全集SS ;在每一次迭代i中,i

控制器从之前的i‑Ns次迭代中选择Nss点来创建安全集SS,其中,Nss和Ns均为控制参数,第ii

次迭代的安全集SS 为由先前的迭代i次数中执行的所有成功轨迹组成,i

Q (x)表示学习成本。

2.根据权利要求1所述的一种船舶路径跟踪的控制方法,其特征在于,所述对船舶的航向角和横向距离进行PID控制,并存储PID控制过程中的第一船舶状态和第一控制输入数据,其具体为:

对船舶的航向角和横向距离进行PID控制后,迭代第一预设次数后存储第一船舶状态和第一控制输入数据。

3.根据权利要求1所述的一种船舶路径跟踪的控制方法,其特征在于,所述核密度估计函数用于确定所述回归变量的大小。

4.根据权利要求1所述的一种船舶路径跟踪的控制方法,其特征在于,所述根据控制序列的第一个元素更新船舶路径控制状态,包括:确定所述若干个控制序列中的最优控制序列;

根据所述最优控制序列的第一个元素更新船舶路径控制状态。

5.一种船舶路径跟踪的控制系统,其特征在于,包括:至少一个存储器,用于存储程序;

至少一个处理器,用于加载所述程序以执行如权利要求1‑4任一项所述的船舶路径跟踪的控制方法。

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

说明书 :

船舶路径跟踪的控制方法、系统和存储介质

技术领域

[0001] 本发明涉及船舶控制技术领域,尤其是一种船舶路径跟踪的控制方法、系统和存储介质。

背景技术

[0002] 目前,大多数货船都是欠驱动的,通过配备螺旋桨和舵来进行纵荡和横摇运动,但是,由于目前船舶运动相关的流体力学是非线性特性的,因而没有相应的执行器直接控制
横摇运动,导致难以实现精确的船舶路径跟踪控制。其中,路径跟踪控制的目的是在没有时
间参数化的情况下将对象的运动限制在空间中的指定路径。对于模型预测控制,其可以为
处理复杂的非线性系统动力学和系统约束提供一个灵活的框架,然而,对于一个包含复杂
高阶非线性项的系统,直接将模型预测控制应用于非线性系统模型可能会花费大量的计算
量,而过度简化可能会导致性能和控制精度的降低。

发明内容

[0003] 为解决上述技术问题,本发明的目的在于:提供一种船舶路径跟踪的控制方法、系统和存储介质,其能在将模型预测控制应用于非线性系统模型时,降低计算量并提高性能
和控制精度。
[0004] 第一方面,本发明实施例提供了:
[0005] 一种船舶路径跟踪的控制方法,包括以下步骤:
[0006] 将PID控制律应用于船舶控制器并存储第一船舶状态和第一控制输入数据;
[0007] 采用欧拉离散方式对船舶运动模型离散化,得到线性预测模型;
[0008] 采用线性回归方式对第一船舶状态和第一控制输入数据进行估计,并结合回归变量构建船舶估计模型;
[0009] 根据第一船舶状态、第一控制输入数据、线性预测模型和船舶估计模型计算得到船舶线性时变预测模型;
[0010] 将模型预测控制律应用于所述线性时变预测模型并存储第二船舶状态和第二控制输入数据;
[0011] 根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据计算得到控制序列;
[0012] 根据控制序列的第一个元素更新船舶路径控制状态。
[0013] 根据本发明的第一方面实施例的一种船舶路径跟踪的控制方法,其通过将PID控制律应用于船舶控制系统,从而无需关注船舶控制系统的流体力学的精确模型,接着采用
欧拉离散方式对所述船舶运动模型离散化,以得到线性预测模型,同时根据回归变量和采
用线性回归方式对第一船舶状态进行估计,得到船舶估计模型后,计算得到线性时变预测
模型,然后将模型预测控制律应用于线性时变预测模型,并生成第二船舶状态和第二控制
输入数据后,计算得到船舶的控制序列,通过控制序列的第一个元素更新船舶控制状态,以
通过模型预测控制律处理约束的能力,在提高船舶路径跟踪精度的情况下,减少计算量。
[0014] 本发明的一些实施例,所述将PID控制律应用于船舶控制器并存储第一船舶状态和第一控制输入数据,其具体为:
[0015] 将PID控制律应用于船舶控制器后,迭代第一预设次数后存储第一船舶状态和第一控制输入数据。
[0016] 本发明的一些实施例,所述采用欧拉离散方式对船舶运动模型离散化,得到线性预测模型,包括:
[0017] 采用欧拉离散方式对船舶运动模型离散化,得到离散模型;
[0018] 对所述离散模型进行线性转换,得到线性预测模型。
[0019] 本发明的一些实施例,所述采用线性回归方式对第一船舶状态和第一控制输入数据进行估计,并结合回归变量构建船舶估计模型,包括:
[0020] 采用线性回归方式对第一船舶状态和第一控制输入数据进行估计;
[0021] 获取回归变量的数值;
[0022] 根据估计结果和回归变量的数值构建船舶估计模型。
[0023] 本发明的一些实施例,在所述根据估计结果和回归变量的数值构建船舶估计模型后,还包括以下步骤:
[0024] 采用核密度估计函数确定所述回归变量的大小。
[0025] 本发明的一些实施例,所述将模型预测控制律应用于所述线性时变预测模型并存储第二船舶状态和第二控制输入数据,其具体为:
[0026] 将模型预测控制律应用于所述线性时变预测模型,迭代第二预设次数后存储第二船舶状态和第二控制输入数据。
[0027] 本发明的一些实施例,所述根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据计算得到控制序列,其具体为:
[0028] 根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据,采用LMPC算法迭代第三预设次数,得到若干个控制序列。
[0029] 本发明的一些实施例,所述根据控制序列的第一个元素更新船舶路径控制状态,包括:
[0030] 确定所述若干个控制序列中的最优控制序列;
[0031] 根据所述最优控制序列的第一个元素更新船舶路径控制状态。
[0032] 第二方面,本发明实施例提供了:
[0033] 一种船舶路径跟踪的控制系统,包括:
[0034] 至少一个存储器,用于存储程序;
[0035] 至少一个处理器,用于加载所述程序以执行第一方面实施例提供的船舶路径跟踪的控制方法。
[0036] 第三方面,本发明实施例提供了:
[0037] 一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行第一方面实施例提供的船舶路径跟踪的控制方法。
[0038] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0039] 下面结合附图和实施例对本发明做进一步的说明,其中:
[0040] 图1为本发明一种具体实施例的船舶路径跟踪的控制方法的流程图;
[0041] 图2为一种具体实施例的船舶路径的曲线参考系图;
[0042] 图3为一种具体实施例的LMPC控制框架图。

具体实施方式

[0043] 下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各
步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0044] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解“, 一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0045] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,
不是旨在限制本申请。
[0046] 首先,对本申请出现的名词进行解释:
[0047] PID控制律:其是指对偏差e进行比例、积分和微分的综合运算,通过调节控制参数,是控制器产生一个能使偏差至零或很小的控制输入数据u。
[0048] MPC控制律:其核心是解一个有限时域优化问题,通过某一性能指标的最优来确定控制作用,是属于一种滚动优化的过程。
[0049] LMPC算法:其是根据利用PID控制律和MPC控制律得出的一些关于船舶状态和控制输入的数据集,在线迭代预设次数,使得控制系统逐渐达到控制目标。
[0050] 参照图1,本发明实施例提供了一种船舶路径跟踪的控制方法,本实施例可应用于服务器、处理器和各类平台对应的后台控制器。
[0051] 具体地,在实施过程中,本实施例包括以下步骤:
[0052] S11、将PID控制律应用于船舶控制器并存储第一船舶状态和第一控制输入数据。本步骤中,其具体是将PID控制律 和 应用于船
舶控制器,并在控制器内迭代处理第一预设次数后,存储船舶状态 作为第一
船舶状态和控制输入 作为第一控制输入数据。其中,第一预设次数可以为M1
次;δ和n分别为舵角和螺旋桨转速; 和 均为控制参数;e={ey,
eψ},eψ和ey分别表示船舶中部和轨迹中心线之间的航向角误差和横向距离误差;表示误
差;船舶状态 控制输入 u表示船舶纵向速度,v表
示船舶横向速度,r表示船舶的首摇角速度,s表示船舶沿轨道航行的距离。在上述应用过程
中,控制目标为ey→0、eψ→0,根据上述定义构建公式1所示的船舶运动模型:
[0053]
[0054] 并根据阶段函数 计算出应用PID控制律时,从起点到终点能较好的保持船舶运动轨迹的船舶控制输入。
[0055] S12、采用欧拉离散方式对船舶运动模型离散化,得到线性预测模型。
[0056] 具体地,本步骤是先采用欧拉离散方式对公式1的船舶运动模型离散化,得到公式2所示的离散模型:
[0057]
[0058] 公式2中的dt为离散时间。而为了获得形式为xk+1=Axk+Bu+C线性预测模型,因此,对公式2的离散模型进行线性转换,以得到公式3所示的线性预测模型:
[0059]
[0060] S13、采用线性回归方式对第一船舶状态和第一控制输入数据进行估计,并结合回归变量构建船舶估计模型。
[0061] 在本步骤中,先采用线性回归方式对第一船舶状态和第一控制输入数据的u、v和r进行估计,同时引用回归变量 并基于回归变量的数值 构建公式4
所示的船舶估计模型:
[0062]l
[0063] 其中, 表示矢量Γ(x)的第i个元素。
[0064] 在上述实施例中,为了确定Γ的值,引入公式5所示的核密度估计函数,即Epanechnikov核函数确定回归变量的大小:
[0065]
[0066] 引入公式5的目的是找到对应u、v和r的Γu、Γv和Γr的值使Ju、Jv和Jr最小,其中,u v r
J、J和J的计算过程如公式6、7和8所示:
[0067]
[0068]
[0069]
[0070] 式中,参数 表示带宽; W是考虑不同变量u v r
权重的矩阵;采用核函数,J 、J和J形成了一个二次规划问题,可以通过优化求解器进行求
u v r
解得到Γ、Γ和Γ的值。
[0071] S14、根据第一船舶状态、第一控制输入数据、线性预测模型和船舶估计模型计算得到船舶线性时变预测模型。
[0072] 具体地,本步骤是基于PID控制律应用过程中存储的船舶状态和控制输入数据,并结合公式3和公式4得到公式9所示的线性时变预测模型:
[0073]
[0074] 其中, 为第i次迭代时,时刻t船舶的状态。
[0075] S15、将模型预测控制律应用于所述线性时变预测模型并存储第二船舶状态和第二控制输入数据;即将MPC控制律应用于线性时变预测模型。在应用过程中,将MPC控制律应
用于线性时变预测模型后,迭代第二预设次数M2次,以控制船舶能从起点到终点。在控制过
程在,MPC控制器需要在每一个迭代i都计算一个有限时域优化问题,如公式10所示:
[0076]
[0077] 在公式10中,约束条件xk+1=Axk+Buk为线性预测模型;x0=xs为船舶初始状态;和 为船舶状态和输入控制
约束;定义预测时域为N;通过计算优化控制问题,得到每一个采样时间k的一个最优控制序
列U={u0,…,uN‑1},再将控制序列的第一个元素作用于船舶控制器,如此迭代M2次以创建另
一个数据集。
[0078] 在MPC控制律应用过程中,根据阶段成本函数 计算船舶从起点到终点能较好的保持船舶运动轨迹的船舶控制输入。
[0079] S16、根据第一船舶状态、第一控制输入数据、第二船舶状态和第二控制输入数据计算得到控制序列。
[0080] 具体地,本步骤是基于应用PID控制律存储的第一船舶状态和第一控制输入数据,以及应用MPC控制律存储的第二船舶状态和第二控制输入数据,采用LMPC算法迭代第三预
设次数M3次。其中,当iPID控制律和MPC控制律存储的离线数据船舶状态和控制输入数据建立公式11所示的预测
模型:
[0081]
[0082] 公式11中,xi+1|k=Axt|k+But|k为线性船舶预测模型; 为船舶初始状态;xt|ki‑1 i‑1
∈χ,ut|k∈V为船舶状态和输入约束;xk+N|k∈SS 为确保船舶最终状态属于安全集SS ;在
i
每一次迭代i中,控制器从之前的i‑Ns次迭代中选择Nss点来创建安全集SS ,其中,Nss和Ns均
i
为控制参数,第i次迭代的安全集SS为由先前的迭代i次数中执行的所有成功轨迹组成,
i
Q (x)表示学习成本,其计算过程如公式12
所示:
[0083]
[0084] 公式12中,
[0085] S17、根据控制序列的第一个元素更新船舶路径控制状态。具体地,本步骤是从步骤S16中计算得到的控制序列中选择最优的控制序列 将该最
优的控制序列的第一元素作用于船舶并更新船舶状态。
[0086] 然后等待下一次采样并设置采样指数k=k+1,循环上述步骤S11‑S17,直至船舶控制器收敛为止。
[0087] 由此可知,上述实施例在保证迭代性能的同时,充分利用了MPC处理约束的能力,同时使总成本最小化;并在每一次迭代中,船舶控制器都会计算出一条将船舶从起点转向
终点的轨迹,每次迭代得到的数据用来改善船舶控制器的性能,直到控制器收敛为止,从而
可以使欠驱动船舶从起点到终点沿着限航道中心线行驶。
[0088] 在一些实施例中,将上述实施例应用于具体的船舶控制过程,其具体包括:
[0089] 如图2所示,提供了一种船舶路径的曲线参考下,以通过该曲线参考系来描述船舶在航道中的运动,从而无需预先生成参考路径。在该参考系中,水道被分成一系列的直线和
曲线,其中有关长度、与河岸的安全距离的信息通过这些直线的曲率来表示。eψ和ey分别表
示船舶中部和轨迹中心线之间的航向角误差和横向距离误差,s表示船舶沿轨道航行的距
离,船舶控制目标为ey→0、eψ→0,其中,eψ、ey和s表示为公式1所示的船舶运动模型:
[0090]
[0091] 对公式1采用欧拉离散化后得到公式2所示的离散模型:
[0092]
[0093] 公式2中的dt为离散时间。而为了获得形式为xk+1=Axk+Bu+C线性预测模型,因此,对公式2的离散模型进行线性转换,以得到公式3所示的线性预测模型:
[0094]
[0095] 在此基础上,基于如图3所示的LMPC控制框架,应用于受限水域欠驱动船舶时的步骤包括:
[0096] 步骤1、将PID控制律 和 应用于船舶控制器,并迭代M1次后,存储船舶状态 和控制输入 并根据阶
段函数 计算出应用PID控制律时,从起点到终点能较好的保持
船舶运动轨迹的船舶控制输入。
[0097] 步骤2、采用线性回归方式对船舶状态和控制输入的u、v和r进行估计,同时引用回归变量 并基于回归变量的数值 构建公式4所示的船舶估计模型:
[0098]l
[0099] 其中, 表示矢量Γ (x)的第i个元素。
[0100] 步骤3、引入公式5所示的Epanechnikov核函数确定回归变量Γ的大小:
[0101]
[0102] 引入公式5的目的是找到对应u、v和r的Γu、Γv和Γr的值使Ju、Jv和Jr最小,其中,u v r
J、J和J的计算过程如公式6、7和8所示:
[0103]
[0104]
[0105]
[0106] 式中,参数 表示带宽; W是考虑不同变量u v r
权重的矩阵;采用核函数,J 、J和J形成了一个二次规划问题,可以通过优化求解器进行求
u v r
解得到Γ、Γ和Γ的值。
[0107] 步骤4、基于PID控制律应用过程中存储的船舶状态和控制输入数据,并结合公式3和公式4得到公式9所示的线性时变预测模型:
[0108]
[0109] 其中, 为第i次迭代时,时刻t船舶的状态。
[0110] 步骤5、在线性时变预测模型上应用MPC控制律,迭代M2次,定义时域为N,MPC控制器需要在每一次迭代i都计算一个有限时域优化问题,如公式10所示:
[0111]
[0112] 在公式10中,约束条件xk+1=Axk+Buk为线性预测模型;x0=xs为船舶初始状态;和 为船舶状态和输入控制
约束;定义预测时域为N;通过计算优化控制问题,得到每一个采样时间k的一个最优控制序
列U={u0,…,uN‑1},再将控制序列的第一个元素作用于船舶控制器,如此迭代M2次以创建另
一个数据集。
[0113] 步骤6、根据阶段成本函数 计算船舶从起点到终点能较好的保持船舶运动轨迹的船舶控制输入。
[0114] 步骤7、根据应用PID控制律和MPC控制律存储的离线数据,采用LMPC算法迭代M3次。其中,当i和MPC控制律存储的离线数据船舶状态和控制输入数据建立公式11所示的预测模型:
[0115]
[0116] 公式11中,xi+1|k=Axt|k+But|k为线性船舶预测模型; 为船舶初始状态;xt|ki‑1 i‑1
∈χ,ut|k∈V为船舶状态和输入约束;xk+N|k∈SS 为确保船舶最终状态属于安全集SS ;在
i
每一次迭代i中,控制器从之前的i‑Ns次迭代中选择Nss点来创建安全集SS ,其中,Nss和Ns均
i
为控制参数,第i次迭代的安全集SS为由先前的迭代i次数中执行的所有成功轨迹组成,
i
Q (x)表示学习成本,其计算过程如公式12
所示:
[0117]
[0118] 公式12中,
[0119] 步骤8、计算最优控制序列 将该最优的控制序列的第一元素作用于船舶并更新船舶状态。
[0120] 步骤9、等待下一次采样并设置采样指数k=k+1,循环上述步骤1‑步骤8,直至船舶控制器收敛为止,结束;所述运动控制动作为
[0121] 此外,本发明实施例提供了一种船舶路径跟踪的控制系统,包括:
[0122] 至少一个存储器,用于存储程序;
[0123] 至少一个处理器,用于加载所述程序以执行图1所示的船舶路径跟踪的控制方法。
[0124] 本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
[0125] 本发明实施例提供了一种存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行图1所示的船舶路径跟踪的控制方法。
[0126] 本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处
理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计
算机设备执行图1所示的方法。
[0127] 以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这
些等同的变形或替换均包含在本申请权利要求所限定的范围内。