作者简介:秦余钢(1981-),男,博士研究生.研究方向:计算流体力学.E-mail:qinyugang@hrbeu.edu.cn
为了解决船舶操纵性参数辨识问题,考虑了船舶运动时域的非线性和非平稳的特点,提出了一种快速收敛迭代学习最小二乘算法,提高了参数辨识速度和精度。首先建立了船舶操纵一阶和二阶非线性运动响应模型,并将其离散化;然后采用迭代学习思想,并引入P型学习率改进了递推最小二乘算法进行参数辨识;同时分析了该算法的收敛性;最后进行了相关实验。实验结果证明了该算法的可行性和有效性。
In order to solve the problem of parameter identification of ship's maneuvering motion, a fast convergent iterative least square algorithm is presented, in which the nonlinear and non-stationary characteristics of the ship motion in time domain are taken into consideration. First, the first-order and second-order nonlinear response motion of the ship are estimated and discretized. Then, the parameters are identified using the proposed least square algorithm, which is improved by using iterative learning and introducing p-type learning rate. The convergence of the algorithm is also analyzed. Simulation experiments are conducted and results show that the speed and precision of parameter identification are improved using this algorithm. This demonstrates that the proposed algorithm is feasible and effective.
船舶操纵性是船舶水动力性能研究的重点之一, 关系到船舶航行的安全问题。经过近30年的发展, 船舶操纵性研究越来越被人们所重视, 出现以“ 船舶操纵性暂行标准” 和“ 正式标准” 为代表的重大成果。该标准是国际海事组织(International maritime organization, IMO)征询了各成员国的建议后, 先后于1993年和2002年颁布[1]。标准对船舶设计阶段的操纵性预报以及船舶应满足的操纵性指标提出了明确的定量要求, 极大地促进了船舶操纵性预报研究。通过建立船舶操纵运动仿真系统在船舶设计阶段进行操纵性预报和评估是最实用和有效的方法[2]。该方法需要对船舶的运动模型进行数学建模, 而确定数学模型中众多的水动力导数则是建模的关键。
目前, 利用系统辨识的方法来确定水动力导数是最简单有效的方法之一。而最小二乘法则是系统辨识中最基本的方法[3], 它具有系统先验统计知识少、算法简单、计算量少、收敛性好等特点。特别是递推最小二乘法避免了矩阵求逆的运算, 实现了参数在线辨识。但是在辨识的精度和速度上还可以继续提高。而迭代学习方法采用“ 在重复中学习” 的策略[4], 具有记忆系统和经验修正机制, 使递推最小二乘算法具有了某种智能[5, 6]。它可以从过去的系统输入输出和参数估计中获得额外的信息, 并不断训练辨识器, 为改进参数估计提供了可能性, 使辨识效果越来越好。
本文从基础最小二乘法出发, 采用迭代学习的思想, 同时在迭代学习的过程中加入了P型学习率[7], 以提高其收敛的速度和辨识精度, 完成了基于快速收敛迭代学习最小二乘算法的非线性船舶操纵性参数的在线辨识。仿真实验结果证明了该方法的有效性。
目前, 经过理论分析和实践检验的船舶操纵运动模型主要有两类[8, 9, 10]:一类是水动力模型; 另一类是响应模型。考虑到船舶操纵性参数尽量少, 同时兼顾其可观测性, 采用经典的KT方程作为船舶数学模型。该模型中包含
一阶非线性响应模型[11]:
式中:
二阶非线性响应模型为:
式中:
将式(1)前向差分离散化可得
式中:
式中:
令
式中:
船舶操纵性参数辨识的问题就是已知船舶运动状态序列
令
令
可以用以下模型表示式(7)和(8)两个系统:
最小二乘法的原理就是寻求未知向量
式中:
令
可以得到基于到时刻
为了消除可能存在分母为零的情况, 避免矩阵求逆的运算, 可得递推增益最小二乘估值为[14]:
式中:P(t)为协方差矩阵, 初值
在
经过
令
考虑下述指标函数:
类似递推最小二乘算法有:
式中:
初值为:
经过
一般迭代的终止条件为:
式中:
为了加快收敛速度, 增加了P型迭代项。即:
式中:
由上可知, 快速收敛迭代学习最小二乘辨识算法的基本步骤如下:
步骤1 对于时刻
步骤2 第
步骤3 根据式(23)检验迭代学习终止条件, 如果满足条件则转步骤(4), 否则,
步骤4 根据公式(22)更新
令
令
由式(19)可得:
而:
将式(27)(28)带入(25)得:
定义Lyapunov函数:
则:
由式(32)可知
由式(20)可知:
如果
由于
根据文献[15]对某型船舶进行数值模拟。分别进行了一阶非线性和二阶非线性模型的5° /10° Z型仿真实验。在仿真实验中, 船舶的响应模型采用4阶龙格库塔法进行积分[16], 采样的时间间隔为0.1。为了模拟真实情况, 在模型中添加了高斯白噪声, 白噪声的均值为0, 方差为0.05。一阶非线性响应模型的初始值为
由表1可知, 基础最小二乘法和快速收敛迭代学习最小二乘法均能辨识出船舶一阶非线性操纵运动参数。对于
由表2可知, 基础最小二乘法和快速收敛迭代学习最小二乘法均能辨识出船舶二阶非线性操纵运动参数。K与T3 的辨识误差几乎一致。但是对于g、h和α 的辨识误差差距较大, 快速收敛迭代学习最小二乘法要明显优于基础最小二乘法。由图2可知, 采用基础最小二乘算法辨识时, 在60 s之后才能收敛到真实值附近, 而采用快速收敛迭代最小二乘法辨识时, 在20 s左右就可以收敛到真实值附近, 证明了其快速收敛的特性。
KVLCC1已被作为国际上验证和确认船舶操纵性预报方法的基准船型。本文实验数据来自在德国汉堡水池(HSVA)进行的自航模实验。该实验中船模在静水、深水中进行。文献[17]介绍了船模的基本参数。实验的相关参数为直航速度U0=1.179 m/s, 螺旋桨转速n=10.23 (1/s), 船首尾无吃水差, 操舵速率为
采用快速收敛迭代学习最小二乘法对其一阶非线性响应模型进行辨识, 船模进行15° /5° Z形实验。其模型的初始值为
在完成了上述参数辨识后, 进行了25° /5° Z形实验操纵性能预报实验, 结果如图4所示。
由图4可知, 通过该算法辨识的相关操纵性参数可以很好地预报船舶的相关操纵性性能。
综上所述, 相对于基础最小二乘法来说, 快速收敛迭代学习最小二乘法在收敛速度和辨识精度方面都有所提高, 采用迭代学习方法可以改善基础最小二乘法的性能。快速收敛迭代学习最小二乘法能够更好更快地辨识船舶非线性操纵运动参数。
同时由于采用了迭代学习的思想, 因而其计算量成倍加大, 在设定最大迭代步数为200次的条件下, 现有的计算机是能够在有限的时间内完成计算量的。同时通过预报值与实际实验值的对比, 也证明了该算法的有效性。
提出了一种快速收敛迭代学习最小二乘算法, 用于解决船舶操纵性参数辨识问题。相对于基础最小二乘算法, 该算法的高效性源于采用了迭代学习方法, 使基础最小二乘算法具有了某种智能。仿真和实际实验表明, 快速收敛迭代学习最小二乘算法的收敛速度和辨识精度都有所提高, 该算法可行有效, 对船舶参数在线辨识具有重要意义。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|