一种基于粒子滤波的船舶参数辨识方法

文档序号:9287749阅读:658来源:国知局
一种基于粒子滤波的船舶参数辨识方法
【技术领域】
[0001] 本发明属于船舶参数辨识领域,具体的说是一种能够用于船舶时域状态空间模型 中未知参数的估计的基于粒子滤波的船舶参数辨识方法。
【背景技术】
[0002] 在航行过程中船舶的姿态控制是一个复杂的问题。船舶有6个自由度,船舶的运 动方程存在高度的非线性,水动力系数之间相互耦合;同时,船舶在航行过程中受到不确定 的洋流、海浪、风等的干扰,执行机构存在滞后性,这样就对船舶的控制造成了很大困难。为 了对船舶进行准确的控制,一般需要建立准确的船舶模型,进一步需要对包括水动力系数 在内的船舶参数进行辨识,减小控制的不确定性。船舶参数可以通过实测或理论估计得到, 前者往往要借助于特殊的仪器,成本较高,而且时间消耗较大,获取麻烦;后者采用经验或 切片法等理论,往往不够准确。通过辨识方法确定船舶参数综合了二者的优点,有较高的研 究价值。参数辨识还可以用于解决其它领域的一些测试方法中要求的物理量难以直接获取 的情况。
[0003] 粒子滤波采用蒙特卡罗方法进行随机采样,粒子滤波基本思想是利用一个随机样 本,而不是状态空间方程中的函数来近似指定的概率密度函数。粒子滤波的计算精度较高, 而且能够用于高度非线性、噪声非高斯分布的系统。

【发明内容】

[0004] 本发明的目的在于针对船舶非线性状态空间模型的参数辨识问题,提供一种适合 在线运行的参数辨识方法。
[0005] 本发明的目的是这样实现的:
[0006] 基于粒子滤波的船舶参数辨识方法,包括以下几个步骤:
[0007] (1)采集船舶的位移和姿态角信息作为输出观测量η,通过推进器、舵等机构对 船舶施加的可测量的力及力矩控制输入,根据控制输入τ,输出观测量建立船舶模型,得到 船舶模型中待辨识的参数Θ ;
[0008] 船舶6自由度模型为:
[0009] Μξ + C(C)C + D(C)c + g〇7) = r,
[0010] = .J、η、ξ
[0011] 其中,M = MRB+MA为惯性矩阵,Mrb是船体的刚体质量矩阵,Ma是附加质量矩阵, C( ξ ) = CRB( ξ )+CA( ξ )为由地球自转引起的科氏力和向心力矩阵,CRB( ξ )是刚体科氏力 和向心力矩阵,Ca(I)是附加质量科氏力和向心力矩阵,D(I)为流体阻尼矩阵,g( η)为 重力及浮力同时作用引起的恢复力及力矩,τ为控制输入,观测变量η表示船体在地坐 标系中的位置与姿态角度信息,用体坐标系坐标原点在地坐标系中的坐标(x,y,z)表示船 体在地坐标系中的位置,同时用地坐标系与体坐标系之间的欧拉角(Φ,θ, φ)表示船体 的姿态,状态变量ξ表示船体的体坐标系线速度和角速度,其中(u,v,w)表示船体的线速 度,(P,q,r)表示船体绕各轴旋转的角速度;
[0012] w = p = q = 0,同时考虑水下船体的工作情况和对称性,建立水下船体的平面3 自由度模型,关于xz平面对称,则Ixy= I yz= 0 ;浮心和重心重合,
[0013] 重新定义状态变量ξ = [u V r]T,状态变量通过粒子滤波器估计出来,η = [X y
[0022] 采样时间间隔为Δ,采用一阶欧拉法进行离散化,得到船舶的非线性离散模型
[0023] Ik= ξ k 1+ A M 1 [ τ k j-C ( ξ k j) ξ k ( ξ k j) ξ k !-g ( n k i)],
[0024] nk= n k !+A J(nk i) Ck,
[0025] 船舶模型的输出观测值指每个时刻的nk;
[0026] (2)根据船舶当前的状态估计值,初始时刻的状态估计值按正态分布随机产生的, 输出观测量η,利用参数估计器,辨识船舶模型的参数估计值;
[0027] (3)根据辨识出的船舶模型的参数估计值,利用粒子滤波器,更新当前的状态估计 值;
[0028] (4)重复步骤(2)_步骤(3)结束条件为k = M,M为总的观测值的数量,得到每个 采样时刻的参数估计值。
[0029] 所述的根据船舶当前的状态值及输出观测量η,利用参数估计器,辨识船舶模型 的参数估计值的方法为:
[0030] (I. 1)令 k = 1,初始化 Θ。;
[0031] (1.2)计算^以和^相^之,.·.,),N为所用参数值0亦粒子数,其中 Θ k i表示k-Ι时刻得到的参数值,Θ k表示k时刻得到的参数新值,^ /Η% I仍;
[0032] Θ k= Θ k j+ ε ,
[0033] 在时刻k,生成一组支持点財,卜1,2,.·.,,},对于每个考,计算得到I幻,进 而得到相应的参数估计值4 =aBmaxIk (%)丨)> L (",,),, =】,2,…,Λ'};
[0034] 其中,么为k时刻得到的参数Θ k的最优的估计值;
[0035] (1. 3)令k = k+Ι,并从第⑵步迭代计算,直至k = M+1。
[0036] 所述的根据辨识出的船舶模型前一时刻的参数估计值,利用粒子滤波器,更新当 前的状态估计值的方法为:
[0037] (2. 1)利用船舶的受力τ、输出值n及待辨识参数的前一时刻的估计值,由粒子 滤波器产生粒子及其权重€,=1,2,.·.,),具体过程为:
[0038] (2. I. 1)初始化粒子,1~ ;
[0039] (2. 1. 2)计算粒子权重 并且归一化
[0040] For i = I :N?
[0041] 4 ^Ρ{η,\ξ[) ^
[0042] End, Hi
[0043] /-I
[0044] (2. I. 3)重采样
[0045] For j = 1:N,
[0046] Ρ(ξΙ=ξ?)=Α J
[0047] End
[0048] (2· I. 4)计算k+1时刻的状态粒子
[0049] in-ι ~ I 4k ^)· s
[0050] (2. I. 5)令k = k+1,从步骤(2. I. 2)迭代计算,直至k = M+1停止计算;
[0051] (2. 2)由粒子滤波器估计出当前时刻k的状态估计值表: ^ N
[0052] Α=Σ<4。 ?-I
[0053] 本发明的有益效果在于:
[0054] 无需对观测数据进行批处理,无需进行大量迭代,在每个采样时刻都能取得一个 以极大似然概率保证的参数估计值;采用了粒子滤波算法进行参数辨识,能够用于复杂的 非线性状态空间模型,具有很高的滤波精度;计算简单,执行效率高,辨识结果准确。
【附图说明】
[0055] 图1是整个船舶参数辨识方法原理图。
[0056] 图2是ODIN作绕垂线旋转运动时艏摇角速度r的仿真结果。
[0057] 图3是ODIN作绕垂线旋转运动时艏摇角Φ的仿真结果。
[0058] 图4是ODIN作绕垂线旋转运动时参数辨识结果。
[0059] 图5是ODIN作绕垂线旋转运动时粒子滤波结果。
[0060] 图6是ODIN在水平面上作直线运动时需要施加的控制力矩τ p。
[0061] 图7是ODIN在水平面上作直线运动时的系统仿真模型。
[0062] 图8是ODIN在水平面上作直线运动时在u、V两个方向的速度变化曲线。
[0063] 图9是ODIN在水平面上作直线运动时位移X、y随时间变化曲线。
[0064] 图10是ODIN在水平面上作直线运动时位置变化曲线。
[0065] 图11是ODIN在水平面上作直线运动时艏摇角Φ变化曲线。
[0066] 图12是ODIN在水平面上作直线运动时参数Θ = Xu|u| = Y v|v|的辨识结果。
[0067] 图13是ODIN在水平面上作直线运动时状态u的滤波结果。
【具体实施方式】
[0068] 下面结合附图对本发明做进一步描述。
[0069] 本发明提供的是一种基于粒子滤波的船舶参数辨识方法。
[0070] 首先根据机理法建立船舶的待辨识时域状态空间模型,通过离散化得到对应的离 散化的数学模型;
[0071] 在一定的通过推进器、舵等机构施加的可测量的力及力矩的作用下,船舶进行特 定的航行,通过GPS定位器、陀螺仪等测量与控制输入、状态变量对应的每个观测时刻的模 型输出结果,即船舶的位置和姿态信息;
[0072] 根据模型输出,利用系统模型和噪声统计信息进行粒子滤波,得到船舶离散模型 中状态变量的估计值,即船舶自身的位置和姿态信息的估计值;
[0073] 根据模型输出和状态估计值,利用船舶参数估计器进行船舶参数辨识,可以得到 每个采样时刻的船舶参数的估计值。
[0074] 基于粒子滤波用于船舶非线性状态空间模型的参数辨识,方法可行
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1