基于无迹卡尔曼滤波的船舶运动数学模型辨识

2021-03-09 07:18
舰船科学技术 2021年1期
关键词:协方差卡尔曼滤波螺旋桨

秦 操

(上海交通大学 高新船舶与深海开发装备协同创新中心,上海 200240)

0 引 言

船舶运动数学模型是船舶运动仿真与控制问题的核心[1]。运动数学模型可以提供船舶操纵性限制条件,辅助人或系统进行路径规划,可以嵌入控制系统中以提高控制的精度,更是船舶运动模拟器的基础。

传统的建立船舶运动数学模型的方法是根据MMG模型结构[2]或者Abkowitz模型结构[3],求解其中的水动力导数。求解水动力导数的方法中,经验公式估算十分快速,但是准确性依赖于所积累的数据和船型;约束模试验数据准确,但是成本太高,也存在尺度效应问题。系统辨识可以从包含噪声的数据中建立数学模型,并且可以不依赖于经典船舶运动数学模型结构,因此成为目前主流的建模方法。传统的辨识方法如最小二乘法、极大似然法等由于精度过度依赖模型和初值,逐渐被以神经网络为代表的新型辨识方法取代。近年来,扩展卡尔曼滤波器(EKF)[4]、撑向量回归(SVR)[5]、萤火虫算法[6]、人工蜂群算法[7]、多目标群智能算法[8]等都被应用在了船舶系统辨识领域。以神经网络为代表的不依赖经典船舶数学模型结构的辨识方法要想得到准确的辨识结果,需要输入输出数据中包含船舶完整的操纵性信息。以EKF为代表的对经典船舶数学模型中的水动力导数进行辨识的方法由于已经引入了数学模型结构这一先验信息,往往需要更少的数据进行辨识,但辨识的精度十分依赖经典数学模型结构,并且存在参数漂移和动力相消[9]的问题。

扩展卡尔曼滤波器利用一阶泰勒级数将非线性项线性化,因此适用于非线性系统,也可以进行参数辨识,但是因为忽略了高阶项,在非线性较强时误差大。无迹卡尔曼滤波器[10](Unscented Kalman Filter,UKF)是无迹变换[11](Unscented Transformation,UT)与标准卡尔曼滤波器的结合,目的是为了提高非线性系统滤波的精度和效率。UKF利用UT来进行均值和协方差的非线性传递,其思想是近似非线性函数的概率分布而不是近似非线性函数。UKF相比EKF有着更高的精度,并且不用计算雅可比矩阵,因此被广泛应用于导航、目标跟踪等领域。

本文采用精度更高的UKF,结合成本相对较低的自航试验对目标三体船进行辨识。针对三体船自身特点对MMG模型结构进行化简,去掉了作用不大的水动力导数,并设计了不同的控制方式进行分步辨识,以减轻动力相消的问题。通过参数的试验测量值与辨识值的对比,验证了本文辨识出参数的准确性;通过模型预报数据与试验观测数据的对比,验证了本文建立的三体船数学模型的准确性,具有较高的工程意义和参考价值。

1 无迹卡尔曼滤波器介绍

1.1 无迹变换

随机向量X的均值和协方差分别为和Pxx,对于非线性变换Y=f(X),无迹变换是利用采样法求取Y的均值和协方差Pyy。首先构造Sigma点集 {χi},如下式:

式中:n为系统的维数; λ =α2(n+κ)-n为尺度参数; α 决定了Sigma点围绕的分布,通常取一个小正值,1 >α>e-4; κ为第2个尺度参数,通常取为0;表示矩阵开方运算后选择其中第i行并转置后得到的n维向量。

对 {χi}中的每一个点进行非线性变换Yi=f(χi),变换后的点集 {Yi}可以近似表示Y=f(X)的分布,对{Yi}进行加权处理,得到Y¯ 和Pyy,如下式:

为叙述方便,将上述无迹变换过程用函数UT表示。对于随机向量X和一个非线性变换Y=f(X),以及另一个非线性变换Z=h(X),互协方差Pzy的计算用函数UTc表示,如下式:

1.2 无迹卡尔曼滤波器

对n维离散的非线性系统,状态空间模型如下式:

式中:Xk和Xk-1分别为k时刻和k-1时刻的系统状态向量;Zk为系统观测向量;f为状态转移函数;h为系统观测函数;Uk为输入控制;wk为服从高斯分布的过程噪声,其均值为0,协方差矩阵为Qk;vk为服从高斯分布的观测噪声,其均值为0,协方差矩阵为Rk。

UKF的基本过程与标准卡尔曼滤波器一致,在误差协方差矩阵预报和更新时都用无迹变换来计算,递推公式如式(5)~式(8)所示。

状态估计预报、误差协方差矩阵预报:

滤波增益:

状态估计更新:

误差协方差矩阵更新:

2 目标船运动数学模型构建与参数辨识方法

2.1 目标船概况

安装完成的目标三体船如图1所示,3个船体都采用了S标准型,其主要参数如表1所示。三体船的推进装置为船体两侧的1对螺旋桨,采用差分推力来控制前进和转向。

图1 安装完成的目标三体船Fig.1 Installed trimaran

表1 船体主尺度信息Tab.1 Main parameters of trimaran

2.2 目标船运动数学模型结构

基于MMG模型建立目标三体船的运动数学模型结构,三自由度操纵性方程如下式:

式中:m,Izz分别为船舶的质量和绕z轴的转动惯性矩;mx,my,Jzz分别为船舶纵向附加质量,横向附加质量,附加转动惯性矩;u,v,r分别为纵向速度,横向速度,转首角速度;XH,YH,NH分别为船体受到的纵向力,横向力和转首力矩;XP,YP,NP分别为桨受到的纵向力,横向力和转艏力矩。

XH,YH,NH是船体受到的粘性阻力和力矩,由于三体船没有横向主动力,v的产生靠的是坐标变换的科里奥利力,即r和u是产生v的必要条件,所以与v和r相关的水动力导数耦合在一起,产生了动力相消的问题,无法分开辨识。另外,由于v很小,横向信噪比高,XH,YH,NH中与v耦合的高阶项作用很小。因此可以在井上模型[1]的基础上对与v相关的高阶项和耦合项进行化简,如下式:

式 中 :Xuu,Xrr,Yv,Yr,Nv,Nr,Nrr为 水 动 力 导 数 。

假设推力系数为进速系数的一次函数关系,如下式:

式中:Jp为 进速系数;wp为伴流分数;u为船速;n为螺旋桨转速;D为螺旋桨直径;a0,a1常系数。

单个螺旋桨的推力T(n,u)如下式:

式中:n表示螺旋桨转速;t为推力减额; ρ 为液体密度;Tnn,Tun为系数;Tnn也是螺旋桨系柱推力系数。

对三体船,2个螺旋桨X方向位置与船重心X位置一致,距离船中的距离为l=0.45m,则螺旋桨的推力和力矩XP,YP,NP的计算如下式:

式中:nl,nr分别表示左右螺旋桨的转速。

上述模型结构中,需要确定的参数为mx,my,。

2.3 目标船参数辨识方法

构建系统状态向量X是纵向速度u,横向速度v,转艏角速度r,大地坐标系下正北坐标x,大地坐标系下正东坐标y,艏向角 ψ 与待辨识的参数组合而成的向量;输入控制U是左右螺旋桨转速组成的向量;系统观测向量Z是X前六维变量的测量值,如下式:

状态转移函数和系统观测函数如下式:

其 中dt=0.2s,u˙ ,v˙ ,r˙由 式 (9) 计 算 得 到 。 无 迹 变换参数取值为 α =0.3, β =2, κ =-12。Qk为对角矩阵,u,v,r分量分别取 0.012, 0.012, 0.052,其余分量取0;Rk为对角矩阵,各分量按顺序依次取 0.05542, 0.05542,0.00452,0.22,0.22,0.12。

系统辨识过程中,可能会出现参数漂移或动力相消[9]的情况,例如在式(9)中如果m+mx,m+my,Xuu,Xrr,Tnn,Tun同时增大同样的倍数,纵向的运动方程并不会发生变化。为避免参数漂移,mx,my,Jzz不参与辨识,而是由由周昭明回归公式[12]计算得到,如表2所示。分步辨识法也可以有效地缓解动力相消问题,其思想是分批辨识参数,将前步辨识出的参数作为已知值再进行后面其他参数的辨识。对于目标船,由于对称性,在进行直航运动时v,r为0,Xrr,Yv,Yr,Nv, ,Nr,Nrr不产生作用,因此可以优先辨识出Xuu,Tnn,Tun这3个参数,然后将其设为已知值,再进行剩下参数的辨识。

表2 附加质量、转动惯量值Tab.2 Added mass and moment of inertia

为获取目标船参数辨识所需的观测数据序列,进行目标船静水中的自航试验。目标船上搭载了AHRS,GPS传感器,可以实时地获取位置、速度、姿态信息。目标船由岸上的遥控器进行操控,控制信号通过WIFI发送给船上的电机驱动器,以控制2个螺旋桨的转速。首先进行多组目标船直航试验,再进行多组目标船S型回转试验,将传感器观测数据记录下进行离线辨识。

3 目标船运动数学模型辨识结果

直航试验和S型回转试验螺旋桨转速信号如图2所示。将多组直航试验观测数据辨识的得到的参数Xuu,Tnn,Tun取均值,然后将其作为已知值,再利用S型回转试验观测数据对Xrr,Yv,Yr,Nv,Nr,Nrr进行辨识,结果如表3所示。

将辨识出的参数代入运动数学模型,并将模型预报的结果与实际观测数据进行比较,直航试验对比结果如图3所示,S型回转试验对比结果如图4所示。由对比结果可以得出,直航试验观测的u和模型预报值比较吻合;S型回转试验观测的u和r与模型预报值十分吻合,v存在一定的误差,原因是三体船没有横向主动力,横向速度比较小,因此信噪比较大。

图2 直航试验和S型回转试验螺旋桨转速信号Fig.2 Propeller speed on straight sailing test and S rotation test

表3 参数辨识结果Tab.3 Results of parameter identification

辨识的参数中,Tnn是可以由螺旋桨系柱推力试验获得精确值的,为进一步验证参数辨识的准确性,在上海交通大学循环水槽进行了目标船螺旋桨的系柱推力标定试验。将左右螺旋桨转速设为一样,转速依次为 5,10,15,20,25,30 r/min,测量对应的系柱推力,将系柱推力对转速平方进行线性拟合,拟合直线的斜率即为2Tnn,如图5所示。Tnn由系统辨识得到的结果与系柱推力测量的结果对比如表4所示,结果验证了辨识参数的准确性。

4 结 语

本文针对目标三体船,基于MMG模型建立了其运动数学模型结构,利用无迹卡尔曼滤波器结合自航试验数据对模型中的参数进行辨识。为减轻动力相消带来的影响,结合三体船特点对模型结构进行了化简,并设计了不同的航行方式和分步辨识方法。模型预报的速度、转首角速度与实际观测值十分吻合,对其中可以由试验测量的系柱推力系数,试验测量值与辨识值误差很小,验证了本文辨识方法的有效性和优越性。

图3 直航试验模型预报的结果与实际观测数据对比Fig.3 Comparison between model prediction result and observed data on straight sailing test

图4 S型回转试验模型预报的结果与实际观测数据对比Fig.4 Comparison between model prediction result and observed data on S rotation test

图5 系柱推力测量结果线性拟合Fig.5 Linear regression of propeller bollard thrust

表4 试验结果与系统辨识结果比较Tab.4 Comparison between test result and identification result

猜你喜欢
协方差卡尔曼滤波螺旋桨
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于无迹卡尔曼滤波的室内定位系统
脉冲星方位误差估计的两步卡尔曼滤波算法
直升机旋翼和螺旋桨飞机螺旋桨的区别
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
概率论中有关协方差计算的教学探讨
菜鸟看模型
船模螺旋桨
二维随机变量边缘分布函数的教学探索