基于改进最小二乘算法的船舶操纵性参数辨识
秦余钢, 马勇, 张亮, 李腾飞
哈尔滨工程大学 船舶工程学院,哈尔滨 150001
通讯作者:马勇(1980-),男,讲师,博士.研究方向:海洋潮流能利用.E-mail:mayong02@hrbeu.edu.cn

作者简介:秦余钢(1981-),男,博士研究生.研究方向:计算流体力学.E-mail:qinyugang@hrbeu.edu.cn

摘要

为了解决船舶操纵性参数辨识问题,考虑了船舶运动时域的非线性和非平稳的特点,提出了一种快速收敛迭代学习最小二乘算法,提高了参数辨识速度和精度。首先建立了船舶操纵一阶和二阶非线性运动响应模型,并将其离散化;然后采用迭代学习思想,并引入P型学习率改进了递推最小二乘算法进行参数辨识;同时分析了该算法的收敛性;最后进行了相关实验。实验结果证明了该算法的可行性和有效性。

关键词: 计算机应用; 最小二乘法; 参数辨识; 迭代学习; 船舶操纵性; 响应模型
中图分类号:U661,TP391 文献标志码:A 文章编号:1671-5497(2016)03-0897-07
Parameter identification of ship's maneuvering motion based on improved least square method
QIN Yu-gang, MA Yong, ZHANG Liang, LI Teng-fei
College of Shipbuilding Engineering,Harbin Engineering University, Harbin 150001,China
Abstract

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.

Keyword: computer application; least square method; parameter identification; interactive learning; ship maneuvering; response model
0 引 言

船舶操纵性是船舶水动力性能研究的重点之一, 关系到船舶航行的安全问题。经过近30年的发展, 船舶操纵性研究越来越被人们所重视, 出现以“ 船舶操纵性暂行标准” 和“ 正式标准” 为代表的重大成果。该标准是国际海事组织(International maritime organization, IMO)征询了各成员国的建议后, 先后于1993年和2002年颁布[1]。标准对船舶设计阶段的操纵性预报以及船舶应满足的操纵性指标提出了明确的定量要求, 极大地促进了船舶操纵性预报研究。通过建立船舶操纵运动仿真系统在船舶设计阶段进行操纵性预报和评估是最实用和有效的方法[2]。该方法需要对船舶的运动模型进行数学建模, 而确定数学模型中众多的水动力导数则是建模的关键。

目前, 利用系统辨识的方法来确定水动力导数是最简单有效的方法之一。而最小二乘法则是系统辨识中最基本的方法[3], 它具有系统先验统计知识少、算法简单、计算量少、收敛性好等特点。特别是递推最小二乘法避免了矩阵求逆的运算, 实现了参数在线辨识。但是在辨识的精度和速度上还可以继续提高。而迭代学习方法采用“ 在重复中学习” 的策略[4], 具有记忆系统和经验修正机制, 使递推最小二乘算法具有了某种智能[5, 6]。它可以从过去的系统输入输出和参数估计中获得额外的信息, 并不断训练辨识器, 为改进参数估计提供了可能性, 使辨识效果越来越好。

本文从基础最小二乘法出发, 采用迭代学习的思想, 同时在迭代学习的过程中加入了P型学习率[7], 以提高其收敛的速度和辨识精度, 完成了基于快速收敛迭代学习最小二乘算法的非线性船舶操纵性参数的在线辨识。仿真实验结果证明了该方法的有效性。

1 船舶操纵运动模型的建立

目前, 经过理论分析和实践检验的船舶操纵运动模型主要有两类[8, 9, 10]:一类是水动力模型; 另一类是响应模型。考虑到船舶操纵性参数尽量少, 同时兼顾其可观测性, 采用经典的KT方程作为船舶数学模型。该模型中包含 KT等操纵性指数, 这些指数可由一些线性水动力导数求得。

一阶非线性响应模型[11]:

Tr·+r+αr3=(1)

式中: r为转艏角速度; δ为舵角; KT为操纵性指数; α为非线性项系数。

二阶非线性响应模型为:

T1T2r··+(T1+T2)r·+r+αr3=+KT3δ·(2)

式中: K, T1, T2T3是操纵性指数, α是非线性项系数。

将式(1)前向差分离散化可得

r(t+1)=a1r(t)+a2r3(t)+b1δ(t)+ε(t)(3)

式中: t为时间节拍; ε(t)为高斯白噪声; a1a2和b1为待辨识的系数项, 它们与一阶非线性船舶操纵性指数的关系为:

T=(1-a1)Δtα=-a2T/ΔtK=b1T/Δt(4)

式中: Δt为采样间隔。

T1T2=h, T1+T2=g, 则对式(2)前向差分离散化可得:

r(t+1)=a1r(t)+a2r(t-1)+a3r3(t-1)+b1δ(t)+b2δ(t-1)+ε(t)(5)

式中: a1a2a3b1b2为待辨识的系数项, 它们与二阶非线性船舶操纵性指数的关系为:

h=Δt2/(1-a1-a2)g=(2-a1)h/Δtα=-a3hK=(b2+b1)h/Δt2T3=b1h/(KΔt)(6)

船舶操纵性参数辨识的问题就是已知船舶运动状态序列 r(t)δ(t), t=1, 2, 3, , N, 求解 a1a2a3b1b2, 进而计算非线性船舶操纵性指数 KTT1T2T3α

yΙ(t)=r(t+1), φΙ(t)=[r(t), r3(t), δ(t)]T, θΙ=[a1, a2, b1]T, 则式(3)可化为:

yΙ(t)=φΙT(t)θΙ+ε(t)(7)

yΙΙ(t)=r(t+1), φΙΙ(t)=[r(t), r(t-1), r3(t-1), δ(t), δ(t-1)]T, θΙΙ=[a1, a2, a3, b1, b2]T, 则式(5)可以化简为:

yΙΙ(t)=φΙΙT(t)θΙΙ+ε(t)(8)

2 快速收敛迭代学习最小二乘算法
2.1 标准递推最小二乘法

可以用以下模型表示式(7)和(8)两个系统:

y(t)=φT(t)θ+ε(t)(9)

最小二乘法的原理就是寻求未知向量 θ的估计值 θ^(t), 使其极小化模型残差平方和[12, 13]:

J=t=1Ne2(t)(10)

式中: e(t)=y(t)-φT(t)θ^(t)

Y(t)=[y(1), y(2), , y(t)]T, Φ(t)=[φ(1), φ(2), , φ(t)]T, 则性能指标 J可以写成:

J=[Y(t)-ΦT(t)δ^(t)]T[Y(t)-ΦT(t)δ^(t)](11)

可以得到基于到时刻 t的观测 δ的非递推最小二乘估值为:

δ^(t)=[Φ(t)TΦ(t)]-1ΦT(t)Y(t)(12)

为了消除可能存在分母为零的情况, 避免矩阵求逆的运算, 可得递推增益最小二乘估值为[14]:

δ^(t+1)=δ^(t)+P(t)φ(t+1)[y(t+1)-φT(t+1)δ^(t)]1+φT(t+1)P(t)φ(t+1)(13)

P(t+1)=P(t)+[P(t)φ(t+1)][P(t)φ(t+1)]T1+φT(t+1)P(t)φ(t+1)(14)

式中:P(t)为协方差矩阵, 初值 δ^(0)=0, P(0)=γ I。γ 为非常大的正数。且规定 r(t)=0, δ(t)=0, t0

2.2 快速收敛迭代学习最小二乘法

t时刻, 由式(9)可以得到:

y(t)=φT(t)θ^(t)+e(t)(15)

经过 k次迭代有:

yk(t)=φkT(t)θ^k(t)+ek(t)(16)

ek(t)=yk(t)-φkT(t)θ^k(t), Yk(t)=[y1(t), y2(t), , yk(t)]T, Φk(t)=[φ1(t), φ2(t), , φk(t)]T, Ωk(t)=[e1(t), e2(t), , ek(t)]T, 则有:

Yk(t)=ΦkT(t)θ^k(t)+Ωk(t)(17)

考虑下述指标函数:

Jk(θ^k(t))=12[Yk(t)-Φk(t)θ^k(t)]T[Yk(t)-Φk(t)θ^k(t)](18)

类似递推最小二乘算法有:

θ^kLS(t)=θ^k-1(t)+Pk-1(t)φk(t)1+φkT(t)Pk-1(t)φk(t)ek(t)(19)

式中:

Pk(t)=Pk-1(t)-Pk-1(t)φk(t)φkT(t)PTk-1(t)1+φkT(t)Pk-1(t)φk(t)(20)

初值为:

P0(t)=P(t-1)θ^0(t)=θ^(t-1)(21)

经过 N次迭代, 达到了迭代终止条件, 则有:

P(t)=PN(t)θ^(t)=θ^N(t)(22)

一般迭代的终止条件为:

θ^k+1(t)-θ^k(t)< σelsek=Nmax(23)

式中: σ为一个小正数, Nmax为设定的迭代最大次数。

为了加快收敛速度, 增加了P型迭代项。即:

θ^k(t)=θ^LSk(t)+βφk(t)e^k(t)(24)

式中: β为P型迭代系数, e^k(t)=yk(t)-φkT(t)θ^kLS(t)

由上可知, 快速收敛迭代学习最小二乘辨识算法的基本步骤如下:

步骤1 对于时刻 t, 根据式(21)给定初始值 P0(t), θ^0(t), 并设置 k=0

步骤2 第 k次重复运行时, 依照式(20)(24)更新 Pk(t)θ^k(t)

步骤3 根据式(23)检验迭代学习终止条件, 如果满足条件则转步骤(4), 否则, k=k+1, 转步骤(2)。

步骤4 根据公式(22)更新 θ^(t)P(t), t=t+1, 转步骤1。

2.3 收敛性分析

θ~k(t)=θ^k(t)-θ, 则:

θ~k(t)-θ~k-1(t)=θ^k(t)-θ^k-1(t)=Pk-1(t)φk(t)1+φkT(t)Pk-1(t)φk(t)ek(t)+βφk(t)e^k(t)(25)

χ(t)=11+φkT(t)Pk-1(t)φk(t),

由式(19)可得:

Pk(t)φk(t)=χk(t)Pk-1(t)φk(t)(26)

而:

ek(t)=yk(t)-φkT(t)θ^k-1(t)=-φkT(t)θ~k-1(t)(27)

e^k(t)=-χk(t)φTk(t)θ~k-1(t)(28)

将式(27)(28)带入(25)得:

θ~k(t)=Pk(t)Pk-1-1(t)θ~k-1(t)-βχk(t)φk(t)φkT(t)θ~k-1(t)(29)

定义Lyapunov函数:

Vk(t)=θ~Tk(t)Pk-1(t)θ~k(t)(30)

则:

Vk(t)-Vk-1(t)=θTk(t)Pk-1(t)θ~k(t)-θTk-1(t)Pk-1-1(t)θ~k-1(t)=A+B(31)

A=-χk(t)θ~Tk-1(t)φk(t)φkT(t)θ~k-1(t)(32)

B=-βχk2(t)θ~Tk-1(t)φk(t)φkT(t){2Pk-1-1(t)+2I-βPk-1(t)]φk(t)φkT(t)}θ~k-1(t)(33)

由式(32)可知 A0只要 B0, 就可以根据Lyapunov定律证明该算法的收敛性。

由式(20)可知:

0< λ(Pk(t))< λ(Pk-1(t))< < λ(P0(t))< λ(P(0))=γ(34)

λPk(t)的最大特征值。则

B< -βχk2(t)θTk-1(t)φk(t)φkT(t){2Pk-1-1(t)+2βγ-1]φk(t)φkT(t)}θ~k-1(t)(35)

如果 β2γ, B< 0, 即:

Vk(t)-Vk-1(t)=A+B< 0(36)

由于 γ为非常大的正数, 所以条件 0< β2γ很容易满足, 则不等式(36)是成立的。从而证明该迭代学习最小二乘法是收敛的。

3 实验及结果分析
3.1 仿真实验

根据文献[15]对某型船舶进行数值模拟。分别进行了一阶非线性和二阶非线性模型的5° /10° Z型仿真实验。在仿真实验中, 船舶的响应模型采用4阶龙格库塔法进行积分[16], 采样的时间间隔为0.1。为了模拟真实情况, 在模型中添加了高斯白噪声, 白噪声的均值为0, 方差为0.05。一阶非线性响应模型的初始值为 K=0, T=0α=0, 二阶非线性模型的初始值为 K=1, g=0.2, h=0.01, T3=0α=0在实验中分别采用了递推最小二乘法和快速收敛迭代学习最小二乘法对未知参数进行辨识。其中快速收敛迭代学习最小二乘法的最大迭代步数 Nmax=200; β=0.005; 极小值 σ=0.001; γ=106仿真对比实验结果如表1表2所示, 各个辨识参数的历程曲线如图1和图2所示。

表1 一阶非线性仿真实验数据记录表 Table 1 Data of the first order nonlinear simulation experiment
表2 二阶非线性仿真实验数据记录表 Table 2 Data of the second order nonlinear simulation experiment

表1可知, 基础最小二乘法和快速收敛迭代学习最小二乘法均能辨识出船舶一阶非线性操纵运动参数。对于 K的辨识误差分别为0.0022和0.0015, 两者几乎一致。但是对于 Tα的辨识误差差距较大, 快速收敛迭代学习最小二乘法要稍微优于基础最小二乘法。由图1可知, 采用基础最小二乘算法辨识时, 在第60 s的时候才能收敛到真实值附近, 而快速收敛迭代最小二乘法辨识时, 在不到20 s就已经收敛到真实值附近, 证明了其快速收敛的特性。

图1 一阶非线性模型参数的误差曲线Fig.1 Error curves for the first order nonlinear model parameters

图2 二阶非线性模型参数的误差曲线Fig.2 Error curves for the first order nonlinear model parameters

表2可知, 基础最小二乘法和快速收敛迭代学习最小二乘法均能辨识出船舶二阶非线性操纵运动参数。K与T3 的辨识误差几乎一致。但是对于g、h和α 的辨识误差差距较大, 快速收敛迭代学习最小二乘法要明显优于基础最小二乘法。由图2可知, 采用基础最小二乘算法辨识时, 在60 s之后才能收敛到真实值附近, 而采用快速收敛迭代最小二乘法辨识时, 在20 s左右就可以收敛到真实值附近, 证明了其快速收敛的特性。

3.2 水池实验

KVLCC1已被作为国际上验证和确认船舶操纵性预报方法的基准船型。本文实验数据来自在德国汉堡水池(HSVA)进行的自航模实验。该实验中船模在静水、深水中进行。文献[17]介绍了船模的基本参数。实验的相关参数为直航速度U0=1.179 m/s, 螺旋桨转速n=10.23 (1/s), 船首尾无吃水差, 操舵速率为 δ·R=15.8° /s。

采用快速收敛迭代学习最小二乘法对其一阶非线性响应模型进行辨识, 船模进行15° /5° Z形实验。其模型的初始值为 K=0, T=0α=0, 最大迭代步数为Nmax=50, β=0.01, 极小值 σ=0.01, γ=103相关参数的历程曲线如图3所示。

图3 参数辨识历程曲线Fig.3 Course curves of parameter identification

在完成了上述参数辨识后, 进行了25° /5° Z形实验操纵性能预报实验, 结果如图4所示。

图4 艏向角速度预报图Fig.4 Forecast of the heading angular velocity

由图4可知, 通过该算法辨识的相关操纵性参数可以很好地预报船舶的相关操纵性性能。

综上所述, 相对于基础最小二乘法来说, 快速收敛迭代学习最小二乘法在收敛速度和辨识精度方面都有所提高, 采用迭代学习方法可以改善基础最小二乘法的性能。快速收敛迭代学习最小二乘法能够更好更快地辨识船舶非线性操纵运动参数。

同时由于采用了迭代学习的思想, 因而其计算量成倍加大, 在设定最大迭代步数为200次的条件下, 现有的计算机是能够在有限的时间内完成计算量的。同时通过预报值与实际实验值的对比, 也证明了该算法的有效性。

4 结束语

提出了一种快速收敛迭代学习最小二乘算法, 用于解决船舶操纵性参数辨识问题。相对于基础最小二乘算法, 该算法的高效性源于采用了迭代学习方法, 使基础最小二乘算法具有了某种智能。仿真和实际实验表明, 快速收敛迭代学习最小二乘算法的收敛速度和辨识精度都有所提高, 该算法可行有效, 对船舶参数在线辨识具有重要意义。

The authors have declared that no competing interests exist.

参考文献
[1] International Maritime Organization(IMO). Stand ards for Ship Maneuverability[S]. Resolution MSC, 2002137 (76). [本文引用:1]
[2] 罗伟林, 李铁山, 邹早建. 船舶操纵运动建模中的参数可辨识性问题[J]. 大连海事大学学报, 2009, 35(4): 1-3.
Luo Wei-lin, Li Tie-shan, Zou Zao-jian. Parametric identifiability in modeling of ship maneuvering motion[J]. Journal of Dalian Maritime University, 2009, 35(4): 1-3. [本文引用:1]
[3] 孙明轩, 毕宏博. 学习辨识: 最小二乘算法及其重复一致性[J]. 自动化学报, 2012, 38(5): 698-706.
Sun Ming-xuan, Bi Hong-bo. Learning identification: Least squares algorithms and their repetitive consistency[J]. Acta Automatica Sinica, 2012, 38(5): 698-706. [本文引用:1]
[4] 孙明轩, 黄宝健. 迭代学习控制[M]. 北京: 国防工业出版社, 1999. [本文引用:1]
[5] 王金海, 丁锋. CARMA模型离线最小二乘迭代辨识方法[J]. 科学技术与工程, 2007, 23(7): 5998-6002.
Wang Jin-hai, Ding Feng. Least-square-iterative identification algorithm for CARMA models[J]. Science Technology and Engineering, 2007, 23(7): 5998-6002. [本文引用:1]
[6] 袁建国, 袁艳涛, 刘飞龙. MEMS陀螺仪的一种新颖高精度标定算法研究[J]. 重庆邮电大学学报: 自然科学版, 2014, 26(5): 666-669.
Yuan Jian-guo, Yuan Yan-tao, Liu Fei-long. A novel high precision calibration algorithm for MEMS gyroscopes[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2014, 26(5): 666-669. [本文引用:1]
[7] Palumbo P, Piroddi L. Harmonic analysis of non- linear structures by means of generalized frequency response functions coupled with NARX models[J]. Mechanical Systems and Signal Processing, 2000, 14(2): 243-265. [本文引用:1]
[8] 李必文. 线性广义系统的P型、PD型和PID型迭代学习控制[J]. 数学杂志, 2008, 28(6): 667-672.
Li Bi-wen. Iteration learning control for linear singular Systems of P type, PD type and PID type[J]. Journal of Mathematics, 2008, 28(6): 667-672. [本文引用:1]
[9] Korenberg M J, Billings S A, Liu Y P, et al. Orthogonal parameter estimation algorithm for non-linear stochastic systems[J]. International Journal of Control, 1988, 48(1): 193-210. [本文引用:1]
[10] Billings S A, Korenberg M J, Chen S. Identification of non-linear output-affine systems using an orthogonal least square algorithm[J]. International Journal of Systems Science, 1988, 19: 1339-1568. [本文引用:1]
[11] 吴秀恒, 刘祖源. 船舶操纵性[M]. 北京: 国防工业出版社, 2005. [本文引用:1]
[12] 鲁铁定. 总体最小二乘的迭代解法[J]. 武汉大学学报: 信息科学版, 2010, 35(11): 1352-1353.
Lu Tie-ding. An iterative algorithm for total least squares estimation[J]. Geomatics and Information Science of Wuhan University, 2010, 35(11): 1352-1353. [本文引用:1]
[13] 王徐华, 柏鹏, 李明阳, . 一种基于滑动最小二乘法的精确同步方法[J]. 重庆邮电大学学报: 自然科学版, 2013, 25(5): 599-604.
Wang Xu-hua, Bai Peng, Li Ming-yang, et al. A precise synchronization method based on slipping least square algorithm[J]. Journal of Chongqing University of Posts and Telecommunications(Natural Science Edition), 2013, 25(5): 599-604. [本文引用:1]
[14] 王穗辉. 误差理论与测量平差[M]. 上海: 同济大学出版社, 2010. [本文引用:1]
[15] 张心光, 邹早建. 基于支持向量回归机的船舶操纵响应模型辨识[J]. 上海交通大学学报, 2011, 45(4): 501-504.
Zhang Xin-guang, Zou Zao-jian. Identification of response models of ship maneuvering motion using support vector regression[J]. Journal of Shanghai Jiaotong University, 2011, 45(4): 501-504. [本文引用:1]
[16] 董国祥, 陆惠生, 江希龄. 船舶操纵运动仿真及其理论研究[J]. 上海交通大学学报, 1996, 30(10): 159-164, 170.
Dong Guo-xiang, Lu Hui-sheng, Jiang Xi-ling. Simulation of ship maneuverability and its theoretical research[J]. Journal of Shanghai Jiaotong University, 1996, 30(10): 159-164, 170. [本文引用:1]
[17] 毕毅, 郭峰, 肖昌润, . 某特殊船型的操纵性模型实验研究[J]. 船舶工程, 2008, 30(2): 9-12.
Bi Yi, Guo Feng, Xiao Chang-run, et al. Study on the model test of maneuverability of certain specific ship type[J]. Ship Engineering, 2008, 30(2): 9-12. [本文引用:1]