-
潜艇(或水下航行器)的高精度数学模型对其设计和性能预报起着至关重要的作用。目前,进行潜艇运动性能计算、运动规律预报或是自动操艇控制器设计,大都依赖于Gertler等[1]或是Feldman等[2]基于潜艇水动力泰勒展开推导得到的六自由度空间运动模型,以及由此简化得到的潜艇平面(水平面或垂直面)运动模型。而要精确获取上述模型方程中的各项水动力系数是建模的关键因素,但也是方程中最难以确定的,故系数精确与否将显著影响潜艇的性能计算和运动预报精度。
目前,确定上述模型的水动力系数有3种常用方法[3]。第1种是约束船模试验方法,通过定制潜艇的几何缩比模型,并开展拖曳水池、悬臂水池或者平面运动机构等水动力试验来获取。这是工程中最常用及经过实践检验后最实用和准确的一种方法,其不足之处是周期长、经费投入巨大,且试验中存在尺度效应,应用时需处理实船与船模的相关性,导致该试验方法的应用受到限制。第2种是理论计算方法,例如小展弦比理论、细长体理论等。由于流场的复杂性、流体黏性以及受到各种界面的影响,计算时必须进行一定的假设。这样做虽然方便了计算,却使得计算结果不尽如人意,导致理论结果难以满足工程要求。第3种是计算流体力学(CFD)方法,即建立三维操纵性数值水池,通过模拟开展水动力试验来获取潜艇的水动力系数。该方法相对于船模水动力试验方法较容易实现,但计算结果的精度受仿真边界条件、物性参数定义、网格划分等因素的影响较大,计算结果仍需通过水动力试验来验证。
近年来,系统辨识(system identification,SI)技术的发展为水动力系数的确定提供了新的方法[4-5]。按照一定的机动方式,在采集实船或船模航行试验的实测数据后,通过滑模观测器(sliding mode observer,SMO)[6]、卡尔曼滤波(Kalman filter,KF)[7]、序列二次规划(sequential quadratic programming,SQP)[8]、贝叶斯规则[9]等算法,可将建模所需的水动力系数准确提取出来。其中,KF是一种非常有效的系统状态预测及参数辨识算法,已在众多领域的模型参数识别领域得到有效应用[10-13],成为近来研究的重点。为解决传统KF算法无法应用于非线性系统滤波的问题,提出了扩展卡尔曼滤波(extended Kalman filter,EKF)方法,并成为水下航行器模型参数识别方面应用最广泛的算法之一[5-6, 13]。EKF算法的本质是将非线性方程局部线性化,以使得传统的KF算法能够继续适用,但该算法存在精度不高、稳定性差等缺陷。而基于无迹变换提出的无迹卡尔曼滤波(unscented Kalman filter,UKF)算法是通过设计Sigma点来近似表示n维目标采样点,并直接经由非线性函数的传播来获得更新后的滤波值,有效地克服了EKF算法的缺陷,计算精度较高。Van Der Merwe等[14]对UKF算法进行优化,解决了由误差和噪声等因素引起的误差协方差矩阵非正定性甚至是计算发散的问题,提出的平方根无迹卡尔曼滤波(SR-UKF)算法已逐步应用于水下航行器数学模型未知参数识别[15]。SR-UKF算法利用协方差平方根代替协方差参加递推运算,保证了滤波算法的数值稳定性,能提高跟踪的精度和可靠性。尝试应用SR-UKF算法辨识潜艇水动力系数,探索新的系统识别技术在未知参数识别方面的潜力,对于精确建立潜艇操纵运动数学模型并准确预报潜艇的运动和性能具有重要意义。
本文将首先以潜艇垂直面操纵运动数学模型为基础,采用SR-UKF算法的基本流程和思路,推导用于参数辨识的系统模型;然后设计控制器实现垂直面深度和纵倾机动,激发全部的水动力分量,并记录输入输出参数变化以用于算法识别;最后,对潜艇垂直面运动影响最显著的6个无因次水动力系数(
${Z'_0},{Z'_w},{Z'_q},{M'_0},{M'_w},{M'_q}$ )进行辨识,以获得理想的辨识精度。 -
采用国际拖曳水池会议(ITTC)推荐的和美国造船与轮机工程学会(SNAME)术语公报的体系[16],对Gertler等[1]发表的用于描述潜艇空间运动的方程进行如下假设:
1) 潜艇在水平方向受到的力和力矩平衡,忽略水平方向运动对操纵的影响;
2) 潜艇在垂直面内作弱机动,即垂向速度w、俯仰角速度q、艏舵角δb和艉舵角δs等运动参数为小量;
3) 认为潜艇航速u=u0保持不变,可忽略X方程。
得到潜艇垂直面操纵运动数学模型为:
$$\begin{split} & \left( {m - \frac{1}{2}\rho {L^3}Z_{\dot w}^{'}} \right)\dot w - \frac{1}{2}\rho {L^4}Z_{\dot q}^{'}\dot q =\left( {m + \frac{1}{2}\rho {L^3}Z_q^{'}} \right)uq + \\&\;\;\;\; \frac{1}{2}\rho {L^2}\left[ {Z_0^{'}{u^2} + Z_w^{'}uw} \right] + \frac{1}{2}\rho {L^2}\left[ {Z_{{\delta _ {\rm{b}}}}^{'}{u^2}{\delta _ {\rm{b}}} + Z_{{\delta _ {\rm{s}}}}^{'}{u^2}{\delta _ {\rm{s}}}} \right] \end{split}$$ (1) $$\begin{split} & \quad\left( {{I_{yy}} - \frac{1}{2}\rho {L^5}M_{\dot q}^{'}} \right)\dot q - \frac{1}{2}\rho {L^4}M_{\dot w}^{'}\dot w = \\& \frac{1}{2}\rho {L^4}M_q^{'}uq + \frac{1}{2}\rho {L^3}\left[ {M_0^{'}{u^2} + M_w^{'}uw} \right] +\\& \frac{1}{2}\rho {L^3}\left[ {M_{{\delta _ {\rm{b}}}}^{'}{u^2}{\delta _ {\rm{b}}} + M_{{\delta _ {\rm{s}}}}^{'}{u^2}{\delta _ {\rm{s}}}} \right] - mgh\theta \end{split} $$ (2) $$\dot \zeta = - u\theta + w$$ (3) $$\dot \theta = q$$ (4) 式中:
$m$ 为潜艇质量;$L$ 为艇长;$\rho $ 为海水密度;$g$ 为重力加速度;$h$ 为水下稳定中心高;${I_{yy}}$ 为潜艇绕Gy轴旋转的转动惯量;$\zeta $ 为潜艇深度;$\theta $ 为潜艇纵倾角;$Z_{{\delta _ {\rm{b}}}}^{'}$ ,$Z_{{\delta _ {\rm{s}}}}^{'}$ ,$M_{{\delta _ {\rm{b}}}}^{'}$ ,$M_{{\delta _ {\rm{s}}}}^{'}$ 为舵角无因次水动力系数;$Z_{\dot w}^{'}$ ,$Z_{\dot q}^{'}$ ,$M_{\dot q}^{'}$ ,$M_{\dot w}^{'}$ 为惯性类无因次水动力系数;${Z'_0}$ ,${Z'_w}$ ,${Z'_q}$ ,${M'_0}$ ,${M'_w}$ ,${M'_q}$ 为黏性类无因次水动力系数。描述潜艇垂直面运动的坐标系和主要参数如图1所示。图中,Eξζ为静坐标系,Gxz为动坐标系,ξG和ζG分别为潜艇重心在静坐标系下的坐标;V为潜艇垂直面的速度矢量。图 1 描述潜艇垂直面运动的坐标系和主要参数
Figure 1. The coordinate system and main parameters for describing submarine motion in the vertical plane
将式(1)~式(4)改写成矩阵形式以便积分求解。
$${{\dot x}} = {{Ax}} + {{Bu}} + {{C}}$$ (5) 式中:x=[ζ,θ,w,q]T,为状态变量;u=[δb,δs]T,为控制输入;
$${{A}} = \left[ {\begin{array}{*{20}{c}} 0&{ - u}&1&0 \\ 0&0&0&1 \\ 0&{ - mgh\dfrac{1}{{\left\| T \right\|}}\dfrac{1}{2}\rho {L^4}Z_{\dot q}^{'}}&{{D_{11}}}&{{D_{12}}} \\ 0&{ - mgh\dfrac{1}{{\left\| T \right\|}}\left( {m - \dfrac{1}{2}\rho {L^3}Z_{\dot w}^{'}} \right)}&{{D_{21}}}&{{D_{22}}} \end{array}} \right]$$ $${{B}} = \left[ {\begin{array}{*{20}{c}} 0&0 \\ 0&0 \\ {{E_{11}}}&{{E_{12}}} \\ {{E_{21}}}&{{E_{22}}} \end{array}} \right]$$ $${{C}} = \left[ {\begin{array}{*{20}{c}} 0 \\ 0 \\ {{F_1}} \\ {{F_2}} \end{array}} \right]$$ 其中,
$$ D = {T^{ - 1}}{S_1},\;E = {T^{ - 1}}{S_2},\;F = {T^{ - 1}}{S_3} $$ $$T = \left[ {\begin{array}{*{20}{c}} {m - \dfrac{1}{2}\rho {L^3}Z_{\dot w}^{'}}&{ - \dfrac{1}{2}\rho {L^4}Z_{\dot q}^{'}} \\ { - \dfrac{1}{2}\rho {L^4}M_{\dot w}^{'}}&{{I_{yy}} - \dfrac{1}{2}\rho {L^5}M_{\dot q}^{'}} \end{array}} \right]$$ $${S_1} = \left[ {\begin{array}{*{20}{c}} {\dfrac{1}{2}\rho {L^2}Z_w^{'}u}&{\left( {m + \dfrac{1}{2}\rho {L^3}Z_q^{'}} \right)u} \\ {\dfrac{1}{2}\rho {L^3}M_w^{'}u}&{\dfrac{1}{2}\rho {L^4}M_q^{'}u} \end{array}} \right]$$ $${S_2} = \left[ {\begin{array}{*{20}{c}} {\dfrac{1}{2}\rho {L^2}Z_{{\delta _ {\rm{b}}}}^{'}{u^2}}&{\dfrac{1}{2}\rho {L^2}Z_{{\delta _ {\rm{s}}}}^{'}{u^2}} \\ {\dfrac{1}{2}\rho {L^3}M_{{\delta _ {\rm{b}}}}^{'}{u^2}}&{\dfrac{1}{2}\rho {L^3}M_{{\delta _ {\rm{s}}}}^{'}{u^2}} \end{array}} \right]$$ $${S_3} = \left[ {\begin{array}{*{20}{c}} {\dfrac{1}{2}\rho {L^2}Z_0^{'}{u^2}} \\ {\dfrac{1}{2}\rho {L^3}M_0^{'}{u^2}} \end{array}} \right]$$ -
SR-UKF算法用于参数估计时,一般可分为3个基本步骤[14]循环迭代,直至收敛到固定值。
-
当迭代次数
${k} = 0$ 时,$${\hat {{w}}_0} = E\left[ {{w}} \right]$$ (6) $${{{S}}_{{{{w}}_0}}} = {\rm{chol}}\left\{ {E\left[ {\left( {{{w}} - {{\hat {{w}}}_0}} \right){{\left( {{{w}} - {{\hat {{w}}}_0}} \right)}^ {\rm{T}}}} \right]} \right\}$$ (7) 式中:
${{w}}$ 为待辨识的水动力系数,由于潜艇操纵运动数学模型中的黏性类水动力系数通常较难确定,且对潜艇的影响尤为显著,尤其是一阶水动力导数项[3],故取待估计水动力系数矢量${{w}} = \left[ {Z_0'}, {{Z_w'}}, {{Z_q'}},{{M_0'}},{{M_w'}},{{M_q'}} \right]^ {\rm{T}}$ ,并将惯性类和舵角无因次水动力系数均看作已知量;w0为待辨识的水动力系数初值;$E\left( \cdot \right)$ 为求取数学期望;${\rm{chol}}\left( \cdot \right)$ 为进行矩阵的乔列斯基分解;上标$^ \wedge $ 表示相应变量的估计值。对于${k} = 1,2, \cdots $ 的情况,采用后两节所列公式进行迭代计算。 -
采用k-1步的均值
${\hat{ w}}_{k - 1}^{}$ 和协方差矩阵${{S}}_{{w_{k - 1}}}^{}$ 构造Sigma点,预测下一步的系统状态均值和方差。$${\hat{ w}}_k^ - = {\hat{ w}}_{k - 1}^{}$$ (8) $${{S}}_{{w_k}}^ - = {\gamma ^{ - {1 / 2}}}{{S}}_{{w_{k - 1}}}^{}$$ (9) $${{{W}}_{k|k - 1}} = \left[ {\begin{array}{*{20}{c}} {\hat {{w}}_k^ - }&{\hat {{w}}_k^ - + \eta {{S}}_{{{{w}}_k}}^ - }&{\hat {{w}}_k^ - - \eta {{S}}_{{{{w}}_k}}^ - } \end{array}} \right]$$ (10) $${{{D}}_{k|k - 1}} = F\left( {{{x}}_k^{},{{{W}}_{k|k - 1}}} \right)$$ (11) $${\hat {{d}}_k} = \mathop \sum \limits_{i = 0}^{2{n_ {\rm{p}}}} W_i^{\left( {\rm{m}} \right)}{D_{i,k|k - 1}}$$ (12) Sigma点权值:
$$W_0^{\left( {\rm{m}} \right)} = {\lambda / {\left( {{n_ {\rm{p}}} + \lambda } \right)}},\;W_0^{\left( {\rm{c}} \right)} = {\lambda / {\left( {{n_ {\rm{p}}} + \lambda } \right)}} + \left( {1 - {\alpha ^2} + \beta } \right)$$ (13) $$W_i^{\left( {\rm{m}} \right)} = W_i^{\left( {\rm{c}} \right)} = {1 / {\left[ {2\left( {{n_ {\rm{p}}} + \lambda } \right)} \right]}};\;\;{i} = 1,2, \cdots ,2{n_ {\rm{p}}}$$ (14) 式中:Wk|k−1为2np+1个Sigma列向量组成的矩阵;dk为观测向量;
$W_i^{\left( {\rm{m}} \right)}$ 为均值加权值;$W_i^{\left( {\rm{c}} \right)}$ 为协方差加权值;np为待辨识的参数向量维数;$\gamma $ 为尺度权重因子,通常取比1稍小的数;α为常数,表征Sigma点相对于$\hat {{w}}$ 的散布范围,通常取10−4≤α≤1;$\beta $ 用来描述随机变量${{w}}$ 分布的先验信息,对于高斯分布,取$\beta = 2$ 为最优;$\lambda = {n_ {\rm{p}}}\left( {{\alpha ^2} - 1} \right)$ ,$\eta = \sqrt {{n_ {\rm{p}}} + \lambda }$ ,均为尺度参数。式(11)需要采用离散方程的形式估算
$2{n_ {\rm{p}}} + 1$ 个Sigma点的非线性函数值,可将式(5)写成$$\dot {{x}} = F\left( {{{x}},{{w}},{{u}}} \right)$$ (15) 式(15)给出的微分方程通常可采用四阶龙格−库塔积分算法进行积分,设积分步长为
$\Delta t$ :$${{{x}}_{k + 1}} = F\left( {{{{x}}_k},{{w}},{{{u}}_k}} \right) = {{{x}}_k} + \frac{{{{{b}}_1} + 2{{{b}}_2} + 2{{{b}}_3} + {{{b}}_4}}}{6}$$ (16) 式中:
${{{b}}_1} = F\left( {{{{x}}_k},{{w}},{{{u}}_k}} \right)\Delta t$ ;${{{b}}_2} = F\left( {{{{x}}_k} + 0.5{{{b}}_1},{{w}},{{{u}}_k}} \right)\Delta t$ ;${{{b}}_3} = F\left( {{{{x}}_k} + 0.5{{{b}}_2},{{w}},{{{u}}_k}} \right)\Delta t$ ;${{{b}}_4} = F\left( {{{{x}}_k} + {{{b}}_3},{{w}},{{{u}}_k}} \right)\Delta t$ 。 -
$${{{S}}_{{d_k}}} = {\rm{qr}}\left\{ {\left[ {\begin{array}{*{20}{c}} \!\!\!\!{\sqrt {W_1^{( {\rm{c}})}} \left[ {{{{D}}_{1:2{n_ {\rm{p}}},k}} - {{\hat {{d}}}_k}} \right]}{\sqrt {{{{R}}^ {\rm{e}}}} } \end{array}} \right]} \right\}$$ (17) $${{{S}}_{{d_k}}} = {\rm{cholupdate}}\left\{ {{{{S}}_{{d_k}}},{D_{0,k}} - {{\hat {{d}}}_k},W_0^{( {\rm{c}})}} \right\}$$ (18) $${{{P}}_{{w_k}{d_k}}} = \sum\limits_{i = 0}^{2{n_ {\rm{p}}}} {W_i^{( {\rm{c}})}} \left[ {{W_{i,k|k - 1}} - {{\hat {{w}}}_k}} \right]{\left[ {{D_{i,k|k - 1}} - {{\hat {{d}}}_k}} \right]^ {\rm{T}}}$$ (19) $${{{\kappa }}_k} = {{\left( {{{{{{P}}_{{w_k}{d_k}}}} / {{{S}}_{{d_k}}^ {\rm{T}}}}} \right)} / {{{S}}_{{d_k}}^{}}}$$ (20) $${\hat {{w}}_k} = \hat {{w}}_k^ - + {{{\kappa }}_k}\left( {{{{d}}_k} - {{{\hat{ d}}}_k}} \right)$$ (21) $${{U}} = {{{\kappa }}_k}{{{S}}_{{d_k}}}$$ (22) $${{{S}}_{{w_k}}} = {\rm{cholupdate}}\left\{ {{{S}}_{{w_k}}^ - ,{{U}}, - 1} \right\}$$ (23) 式中:
${\rm{qr}}\left( \cdot \right)$ 为进行矩阵的QR分解;${\rm{cholupdate}}\left( \cdot \right)$ 为进行矩阵乔列斯基分解因子更新;Re为测量误差协方差矩阵;${{{d}}_k}$ 为观测向量,对于潜艇的垂直面运动,可取${{{d}}_k} = {\left[ {{\theta _k},{w_k},{q_k}} \right]^ {\rm{T}}}$ ,也即采用潜艇的纵倾角、垂向速度以及纵倾角速度作为测量值。 -
采用SR-UKF算法辨识参数时,为得到观测向量
${{{d}}_k}$ ,实艇一般采用多普勒仪(DVL)、陀螺仪或是姿态航向参考系统(AHRS)来采集潜艇的运动参数,以用于水动力系数估计[17]。因仅研究算法的可行性,故只采用数值仿真方法得到所需的运动参数,并加入一定的测量噪声来模拟实际传感器的测量值。此外,为使所有水动力系数都能得到有效辨识,必须设计一种潜艇机动模式,用以激发所有的水动力分量。本文设计自动操舵控制算法来使潜艇在垂直面采用近似正弦的操纵运动规律,初始航速取为6 kn,参数随时间变化的情况如图2所示。为避免机动过程的规律性太强而导致辨识结果不收敛,2500 s之后通过艏舵控制放缓深度变化频率,同时增大深度变化范围。仿真时长5 000 s,仿真步长取为0.05 s。待辨识的水动力系数初值取为
${{{w}}_0} = {\left[ {0,0,0,0,0,0} \right]^ {\rm{T}}}$ ,待识别参数向量维数${n_ {\rm{p}}} = {\rm{6}}$ ,尺度权重因子γ=0.99968,$\alpha = 1.0$ ,测量误差协方差矩阵取为${{{R}}^{\rm{e}}} = {10^{ - 2}}\left[ {\begin{array}{*{20}{c}} 1&0&0 \\ 0&1&0 \\ 0&0&1 \end{array}} \right]$ 。潜艇基本参数以及垂直面运动数学模型式(1)~式(4)中的全部无因次水动力系数均取自文献[18],其中$m = {\rm{2}}{\rm{.352}} \times {\rm{1}}{{\rm{0}}^{\rm{6}}}$ kg,$L = {\rm{67}}$ m,${I_{yy}} = 6.597\; 7 \times {10^8}$ kg·m2,$h = 0.356$ m,无因次水动力系数测定值如表1所示。表 1 无因次水动力系数测定值
Table 1. Dimensionless hydrodynamic coefficients measured values
垂向方程 纵倾方程 无因次系数 测定值 无因次系数 测定值 $Z_{\dot w}^{'}$ −0.014 40 $M_{\dot q}^{'}$ −0.000 98 $Z_{\dot q}^{'}$ −0.000 07 $ M_{\dot w}^{'} $ −0.001 39 $ Z_q^{'}$ −0.006 99 $ M_q^{'}$ −0.003 89 $Z_0^{'}$ −0.000 30 $M_0^{'}$ 0.000 02 $Z_w^{'}$ −0.020 28 $M_w^{'}$ 0.004 78 $Z_{ {\delta _ {\rm{b}}} }^{'}$ −0.005 12 $M_{ {\delta _ {\rm{b}}} }^{'}$ 0.000 94 $Z_{ {\delta _ {\rm{s}}} }^{'}$ −0.005 12 $M_{ {\delta _ {\rm{s}}} }^{'}$ −0.002 31 当初值
${{{w}}_0}$ 均为0时,6个水动力系数随时间的收敛情况如图3所示。从中可以看出,算法经过约3 000 s后,所有的水动力系数均逐渐收敛为一个常数。将各系数辨识结果与表1中的水动力试验测定标准值进行比较,误差百分比(|辨识值−真实值|/真实值×100%)如表2所示。表中所列水动力系数除了$M_0^{'}$ 的误差达到了1.5%以外,其余水动力系数的辨识误差均在1%以内。此外,当水动力系数初值${{{w}}_0}$ 取[0,1]区间内的随机数时,仿真辨识也可得到如图3中所示的类似收敛曲线,此处不再重复列举。表中误差最大的仍然是$M_0^{'}$ ,约达37%,其他参数辨识的最大误差均在3%以内。其主要原因是,$M_0^{'}$ 的水动力试验测定值本身非常小,仅$2 \times {10^{ - 5}}$ ,所以即使是很小的绝对误差,也会引起较大的误差百分比。表 2 无因次水动力系数辨识误差
Table 2. Dimensionless hydrodynamic coefficients identification errors
无因次系数 SR-UKF RLS 初值为0 初值随机 初值为0 初值随机 $Z_q^{'}$ 0.00 0.19 0.06 0.19 $Z_0^{'}$ 0.07 2.89 1.95 1.89 $Z_w^{'}$ 0.00 0.09 0.03 0.10 $M_q^{'}$ 0.61 0.93 1.86 630 $M_0^{'}$ 1.50 36.95 142.5 4 524 $M_w^{'}$ 0.01 0.28 3.73 1 250 为了比较不同算法在本算例中的辨识性能差异,仍旧采用与前述相同的机动模式和误差协方差,改用递推最小二乘(recursive least square,RLS)算法来对模型水动力系数进行辨识,并与SR-UKF算法进行对比,结果分别如图3和图4所示。由图可以看出,RLS算法显现出了固有的快速收敛性能,算法经过约200 s即收敛到了固定值。而从辨识精度来看,如表2所示,RLS算法对水动力系数初始值非常敏感,当初始值均取为0时,辨识结果仅
$M_0^{'}$ 的误差偏大,而当初始值取为随机值时,算法对$M_0^{'}$ ,$M_w^{'}$ 和$M_q^{'}$ 的辨识误差均已远超工程实用范围。因此,采用SR-UKF算法进行潜艇垂直面的水动力系数估计具有非常高的辨识精度和较快的辨识速度,且受未知参数初始值选取的影响不大。 -
本文将SR-UKF算法应用到了潜艇垂直面黏性类水动力系数识别中,该算法直接采用非线性系统的状态方差矩阵和噪声方差矩阵的平方根进行递推与估算,有效避免了采用传统UKF算法进行参数辨识时因参数设置不合理而导致的噪声方差矩阵非正定性等问题。该算法运行稳定,当待辨识参数选取合适的初始值时,采用潜艇的垂向速度、纵倾角和纵倾角速度仿真数据作为测量输入进行参数辨识最大误差仅1.5%,完全能够满足工程实际要求,并可以作为一种有效的水动力系数识别方法用于实船的水动力系数识别。
A SR-UKF-based method to identify submarine hydrodynamic coefficients
-
摘要:
目的 针对潜艇运动模型中水动力系数难以准确获取的问题,采用平方根无迹卡尔曼滤波(SR-UKF)算法进行系统辨识。 方法 首先,以潜艇垂直面运动非线性数学模型为基础,结合SR-UKF算法,建立潜艇垂直面水动力系数辨识模型;然后,利用自动操舵控制潜艇在垂直面进行类正弦机动,将运动仿真生成的数据作为SR-UKF参数辨识的输入,并加入测量误差的影响;最后,通过数值仿真计算对潜艇垂直面机动的6个粘性无因次水动力系数进行辨识。 结果 仿真结果表明,全部待识别水动力系数在3 000 s内均收敛至固定值,通过合适的初值选取,辨识结果与水动力试验所测定标准值的最大误差仅1.5%。 结论 SR-UKF能有效应用于潜艇水动力系数辨识,并可进一步拓展用于实艇的水动力系数辨识。 -
关键词:
- 潜艇 /
- 水动力系数 /
- 平方根无迹卡尔曼滤波 /
- 系统辨识 /
- 参数估计
Abstract:Objectives The square root unscented Kalman filter (SR-UKF) algorithm was developed for the identification of hydrodynamic coefficients, which are difficult to obtain accurately in submarine motion models. Methods Firstly, the hydrodynamic coefficients identification model was established based on the nonlinear mathematical model of submarine motion in the vertical plane, combined with the SR-UKF algorithm. Then, a sinusoidal maneuvering in the vertical plane was carried out by the automatic steering method and the generated data in addition to the measurement errors were chosen as the input for SR-UKF parameter identification. Finally, six viscous hydrodynamic coefficients in the vertical motion plane were identified through a numerical simulation. Results The simulation results show that: all identified hydrodynamic coefficients converge to fixed values within 3 000 seconds, and through the selection of appropriate initial values, the maximum error between the identification results and the standard values measured by a hydrodynamic test is only 1.5%. Conlusions SR-UKF can be effectively applied to identify submarine hydrodynamic coefficients, and can be further extended to real ship coefficients identification. -
表 1 无因次水动力系数测定值
Table 1. Dimensionless hydrodynamic coefficients measured values
垂向方程 纵倾方程 无因次系数 测定值 无因次系数 测定值 $Z_{\dot w}^{'}$ −0.014 40 $M_{\dot q}^{'}$ −0.000 98 $Z_{\dot q}^{'}$ −0.000 07 $ M_{\dot w}^{'} $ −0.001 39 $ Z_q^{'}$ −0.006 99 $ M_q^{'}$ −0.003 89 $Z_0^{'}$ −0.000 30 $M_0^{'}$ 0.000 02 $Z_w^{'}$ −0.020 28 $M_w^{'}$ 0.004 78 $Z_{ {\delta _ {\rm{b}}} }^{'}$ −0.005 12 $M_{ {\delta _ {\rm{b}}} }^{'}$ 0.000 94 $Z_{ {\delta _ {\rm{s}}} }^{'}$ −0.005 12 $M_{ {\delta _ {\rm{s}}} }^{'}$ −0.002 31 表 2 无因次水动力系数辨识误差
Table 2. Dimensionless hydrodynamic coefficients identification errors
无因次系数 SR-UKF RLS 初值为0 初值随机 初值为0 初值随机 $Z_q^{'}$ 0.00 0.19 0.06 0.19 $Z_0^{'}$ 0.07 2.89 1.95 1.89 $Z_w^{'}$ 0.00 0.09 0.03 0.10 $M_q^{'}$ 0.61 0.93 1.86 630 $M_0^{'}$ 1.50 36.95 142.5 4 524 $M_w^{'}$ 0.01 0.28 3.73 1 250 -
GERTLER M, HAGEN G R. Standard equations of motion for submarine simulation[R]. Bethesda, MD, USA: David Taylor Naval Ship Research and Developmen Center, 1967. FELDMAN J. DTNSRDC revised standard submarine equations of motion[R]. Bethesda, MD, USA: David Taylor Naval Ship Research and Development Center, 1979. 施生达. 潜艇操纵性[M]. 北京: 国防工业出版社, 1995. SHI S D. Submarine maneuverability[M]. Beijing: National Defense Industry Press, 1995 (in Chinese). 邓志刚, 朱大奇, 方建安. 水下机器人动力学模型参数辨识方法综述[J]. 上海海事大学学报, 2014, 35(2): 74–80. DENG Z G, ZHU D Q, FANG J A. Parameter identification survey of dynamic model for underwater vehicles[J]. Journal of Shanghai Maritime University, 2014, 35(2): 74–80 (in Chinese). YOON H K, SON N S, LEE G J. Estimation of the roll hydrodynamic moment model of a ship by using the system identification method and the free running model test[J]. IEEE Journal of Oceanic Engineering, 2007, 32(4): 798–806. doi: 10.1109/JOE.2007.909840 KIM J, KIM K, CHOI H S, et al. Estimation of hydrodynamic coefficients for an AUV using nonlinear observers[J]. IEEE Journal of Oceanic Engineering, 2002, 27(4): 830–840. doi: 10.1109/JOE.2002.805098 CARDENAS P, DE BARROS E A. Estimation of AUV hydrodynamic coefficients using analytical and system identification approaches[J]. IEEE Journal of Oceanic Engineering, 2019. doi: 10.1109/JOE.2019.2930421 FURLONG M E, HEARN G E, VERES S M, et al. Nonlinear system identification tools applied to the modelling of submarine dynamics[J]. IFAC Proceedings Volumes, 2003, 36(4): 49–54. doi: 10.1016/S1474-6670(17)36656-9 XUE Y F, LIU Y J, JI C, et al. Hydrodynamic parameter identification for ship manoeuvring mathematical models using a Bayesian approach[J]. Ocean Engineering, 2020, 195: 106612. doi: 10.1016/j.oceaneng.2019.106612 杜永峰, 张浩, 赵丽洁, 等. 基于STUKF的非线性结构系统时变参数识别[J]. 振动与冲击, 2017, 36(7): 171–176, 198. DU Y F, ZHANG H, ZHAO L J, et al. Time-varying parametric identification of nonlinear structural systems based on STUKF[J]. Journal of Vibration and Shock, 2017, 36(7): 171–176, 198 (in Chinese). 张彩萍, 姜久春. 用基于遗传优化的扩展卡尔曼滤波算法辨识电池模型参数[J]. 吉林大学学报(工学版), 2012, 42(3): 732–737. ZHANG C P, JIANG J C. Extended Kalman filter algorithm for parameters identification of dynamic battery model based on genetic algorithm optimization[J]. Journal of Jilin University (Engineering and Technology Edition), 2012, 42(3): 732–737 (in Chinese). HUANG M, LI W Y, YAN W. Estimating parameters of synchronous generators using square-root unscented Kalman filter[J]. Electric Power Systems Research, 2010, 80(9): 1137–1144. doi: 10.1016/j.jpgr.2010.03.007 ERNANI M Z, BOZORG M, EBRAHIMI S. Identification of an autonomous underwater vehicle dynamic using extended Kalman filter with ARMA noise model[J]. International Journal of Robotics, 2015, 4(1): 22–28. VAN DER MERWE R, WAN E A. The square-root unscented Kalman filter for state and parameter-estimation[C]//Proceedings of 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Salt Lake City, UT, USA: IEEE, 2001: 3461-3464. BELANGER F, MILLAN D, CYRIL X. Submarine autopilot performance optimization with system identification[C]//Proceedings of the International Ship Control Systems Symposium (iSCSS). Glasgow, UK: [s.n.], 2018. Society of Naval Architects and Marine Engineers. Nomenclature for treating the motion of a submerged body through a fluid[R]. Jersey City, NJ, USA: Society of Naval Architects and Marine Engineers, 1950. SABET M T, DANIALI H M, FATHI A, et al. Identification of an autonomous underwater vehicle hydrodynamic model using the extended, cubature, and transformed unscented Kalman filter[J]. IEEE Journal of Oceanic Engineering, 2018, 43(2): 457–467. doi: 10.1109/JOE.2017.2694470 GARCÍA J, OVALLE D M, PERIAGO F. Optimal control design for the nonlinear manoeuvrability of a submarine[DB/OL]. (2009-03-02). [2020-02-10]. http://www.dmae.upct.es/~fperiago/archivos_investigacion/submarine_paper. -