APP下载

基于反馈粒子滤波的船舶模型参数辨识

2019-06-21郑涵俞孟蕻袁伟

中国舰船研究 2019年3期
关键词:推进器坐标系数学模型

郑涵,俞孟蕻,袁伟

江苏科技大学电子信息学院,江苏镇江212003

0 引言

目前,许多工程船都安装了动力定位系统。动力定位系统主要用于在不借助锚泊系统的情况下,通过控制器的计算使船舶依靠自身推进系统抵抗风、浪、流等环境的影响,以保持在某目标位置或者按照一定的轨迹航行,从而完成各种作业功能。动力定位系统的主要目的是实现船舶纵荡、横荡和艏摇3个自由度的控制,其优点是不受水深的限制,定位精确,机动性强。若要在动力定位系统中建立船舶运动模型,就需确定模型中的参数值[1]。近年来,系统辨识理论的快速发展为船舶运动模型的建立提供了新的思路和方法。Fossen等[2]采用的扩展卡尔曼滤波方法已被广泛用于船舶运动模型参数的辨识中。随后,边信黔等[3]提出了动力定位控制系统模型参数的离线最速下降寻优辨识方法,采用该方法不仅节约了辨识时间,减少了试验费用,而且还提高了动力定位系统的工作效率。邢家伟[4]采用遗忘因子最小二乘法与自适应遗传算法相结合的参数辨识方法,对船舶运动数学模型中的惯性矩阵和线性水动力阻尼矩阵进行了辨识,证明该方法对其矩阵的辨识有效、可行。李春风等[5]利用免疫遗传神经网络对舰船水动力系数进行了辨识。丁彦侃[6]提出了一种改进的并行扩展卡尔曼滤波算法,用来辨识船舶运动模型参数。由于非线性误差积累等方面的问题,参数辨识的效果往往不好。本文将根据动力定位系统设计的需要,提出一种辨识效果更好的反馈粒子滤波算法[7-12]来辨识模型中的参数,通过辨识实验,仿真验证该方法的有效性和可靠性。

1 船舶数学模型

船舶动力定位系统主要控制船舶在水平面的3个自由度的运动,分别为纵荡、横荡和艏摇。为了描述船舶的水平面运动,建立了如图1所示的坐标系。首先,建立大地(Earth-Centered,Earth-Fixed,ECEF)坐标系 XOY;其次,在船体上建立船体坐标系xoy,坐标平面xoy在水平面内,原点o位于船舶重心处,ox轴指向船艏,oy轴指向船舶右舷正横方向。

图1 两种坐标系的定义Fig.1 The definition of ECEF coordinate system and body coordinate system

以船的重心为参考点,根据船舶操纵性理论和动力定位系统的特征,建立船舶数学模型[13]:

式中:TKμ为推进器、舵的控制力和力矩矢量,其中T为实船控制配置矩阵,μ为由实船操纵中给出的控制命令,K为待辨识的推进器系数矩阵;w为由风、浪、流等作用力组成的环境干扰力;,包括大地坐标下的位置和艏摇角度ψ;,包括船舶在随船坐标系下的纵荡速度u、横荡速度υ和艏摇角速度r;R(ψ)为大地坐标系和随船坐标系的转换矩阵,

M,D分别为质量矩阵和阻尼参数矩阵,

式中:m为船舶质量;Iz为随船坐标系xoy的转动惯量;xg为船舶质心到随船坐标原点的距离,将随船坐标系的原点取在船舶重心上,则为船舶在各个运动方向上的附加质量系数,可以通过理论估算[14]得出;Xu,Yv,Yr,Nv,Nr为船舶在各个运动方向上的水动力阻尼系数,线性水动力阻尼矩阵D为需要辨识的未知量。

2 反馈粒子滤波算法

由于扩展卡尔曼滤波的非线性误差积累问题,参数辨识的精度往往不高[15]。本文将采用一种免重采样非线性滤波算法——反馈粒子滤波(Feedback Particle Filter,FPF)算法来避免该问题。FPF算法是将每个粒子作为一个可控的随机系统,通过求解欧拉—拉格朗日边界值问题,得到在Kullback-Leibler距离最小意义下的最优反馈控制律,然后再根据前一时刻对粒子自身的状态进行校正和更新。不同于粒子滤波,反馈粒子滤波算法不需要重采样步骤,可以有效避免因估计状态维数增加而导致的计算量增大[15]问题,易于实际工程应用。

假设连续时间动态系统的状态方程和观测方程如下:

式中:xt为系统状态向量,xt∈Rd,其中d为系统的状态维数;zt为观测向量;zt∈Rm,其中m为系统的观测维数;ft(·)为系统状态方程;ht(·)为观测方程;wt和rt分别为系统过程噪声和观测噪声。对连续时间系统采用欧拉法进行离散化处理,粒子的离散化方程为

式中:Kt为一个d×m维的矩阵;p=1,2,3,…,d;q=1,2,3,…,m;分别为系统的状态预测向量和观测预测向量:

由以上FPF的算法公式可以看出,FPF基于误差更新的反馈增益控制结构仍然存在,其与线性卡尔曼滤波(Linear Kalman Filter,LKF)的反馈增益结构对比如图2所示。

图2 反馈增益结构比较Fig.2 Comparison of feedback gain structure

3 运动模型参数辨识

为便于进行实验,将式(1)、式(2)中的船舶运动数学模型解耦,分离出纵荡运动数学模型以及横荡与艏摇运动数学模型。船舶在仅主推进器工作的情况下采用纵荡运动数学模型,在仅侧推进器工作的情况下采用横荡与艏摇运动数学模型。分别对这2个模型进行参数辨识海上实验,记录船舶在这2种状态下的实验数据。利用数学模型和实验数据,在Matlab平台上编写FPF算法程序,进行仿真实验。

3.1 纵荡参数辨识

船舶只使用主推进器,使船舶纵向前进,辨识纵荡阻尼参数Xu和2个主推进器系数k1,k2。

由船舶运动数学模型分离出的纵荡运动模型,得到状态方程和观测方程为

式中:u为状态变量;μ1为输入变量;z1为输出变量;w1,r1分别为纵荡运动模型中的过程噪声和观测噪声;Xu与K1为需要辨识的参数。

3.2 横荡与艏摇参数辨识

船舶只使用侧推进器,使船舶横向前进并产生艏摇角度,辨识横荡与艏摇阻尼系数Yv,Yr,Nv,Nr和侧推进器系数k3。

由于横荡与艏摇运动的速度项和加速度项的系数有耦合,为便于求解,引入了一个动量h,定义h=Mv。从船舶运动数学模型中分离出横荡与艏摇运动模型,得到状态方程和观测方程为

其中,

式中:hvr为状态变量;μvr为输入变量;zvr为输出变量;wvr,rvr分别为横荡与艏摇运动模型中的过程噪声和观测噪声;矩阵Dvr与Kvr为需要辨识的参数。

4 实验及分析

4.1 研究对象

本实验数据由一艘大型自航耙吸挖泥船“新海虎9”号于海上实验中获得。该船总长128 m,型宽25.6 m,型深9.2 m,设计吃水6.8 m,总载重量13 710 t,满载航速15 kn。推进系统由2个主推进器和1个侧推进器组成。选取合适的实船数据600组,得到船舶在固定坐标系的位置(X,Y),船的艏摇角度ψ,船舶航速ν,左、右两侧主推进器推力μ11和μ12,以及侧推进器推力μvr。设置采样间隔时间Δt=0.1 s,粒子数N=500,过程噪声方差Q=0.1Id×d,观测噪声方差R=0.01Im×m。

4.2 参数辨识实验

采用FPF算法分别进行纵荡辨识实验及横荡与艏摇辨识实验,辨识结果如表1所示。

表1 参数辨识结果Table 1 Parameter identification results

4.3 仿真结果验证

分别采用FPF和扩展卡尔曼滤波(Extended Kalman Filter,EKF)这2种算法对推进器系数k1,k2,k3进行辨识,辨识结果如图3所示。

图3(a)和图3(b)中的k1,k2由纵荡模型实验得出,图3(c)中的k3由横荡与艏摇模型实验得出。由图3可以看出,FPF算法的振荡幅度较EKF算法小很多,在递推100次左右趋于平稳,而EKF算法则在递推200次左右才趋于稳定,且图3(b)中显示,EKF算法在趋于稳定之后仍然存在明显的波动。可见,FPF算法的收敛速度更快,稳定性更好。

图3 参数值k1,k2,k3的仿真结果对比Fig.3 Comparison of simulation results ofk1,k2,k3

4.4 模型可靠性分析

通过对模型参数的估计,建立船舶运动数学模型,用模型进行运动仿真。由于实验结果的数值较大,将仿真值与实测数据进行对比不易于观察,因此,绘制了如图4所示的二者的差值仿真图。在纵荡实验中得到船舶运动距离和航速的仿真值,然后与实测数据进行对比得到距离差值和航速差值;在横荡与艏摇实验中得到船舶运动距离和艏向角的仿真值,然后与实测数据进行对比得到距离差值和艏向角差值。

仿真结果表明,在采用FPF参数辨识方法建立的船舶运动模型中,仿真值与实测值之间的差值稳定在较小范围内,具有可靠性。图4(a)中,由于在实验数据记录等过程中产生的误差峰值点数量较少,故忽略不计。

图4 仿真值与实测值的差值图Fig.4 Differential chart between simulated values and measured values

5 结 语

本文针对传统扩展卡尔曼滤波方法的不足,提出了一种新型的FPF算法并应用到了船舶运动数学模型的参数辨识中。分离船舶运动模型,建立纵荡运动模型及横荡与艏摇运动模型并分别进行辨识实验。通过Matlab仿真,得到运动模型里待辨识的推进器推力系数,发现辨识的收敛速度更快,稳定性更好,证明了该算法的有效性。实验结果表明,本文所提出的FPF算法能够较好地应用到船舶运动数学模型的参数辨识中,可使其辨识效果与真实值更接近。该算法可靠,能够满足船舶模型参数辨识的需要。

猜你喜欢

推进器坐标系数学模型
AHP法短跑数学模型分析
活用数学模型,理解排列组合
独立坐标系椭球变换与坐标换算
基于CFD扇翼推进器敞水性能预报分析
什么?火箭也搞“可回收”
基于电力机器人控制系统的数学模型简述
发挥考核“指挥棒”“推进器”作用
坐标系背后的故事
三角函数的坐标系模型
求坐标系内三角形的面积