舰艇运动姿态实时预测方法研究
2021-07-05宋俊才
张 忆, 宋俊才, 李 坤
(中国船舶重工集团有限公司第七一○研究所,湖北 宜昌 443003)
舰艇在较高的海况条件下作战时,舰艇上的武器发射装置会随着海浪的波动产生摇摆,这直接影响发射装置发射角的精度,进而影响武器系统整体作战效能的发挥。发射装置在发射过程中,发射角的坐标与目标位置的坐标需要保持相对固定,所以需要对发射装置进行稳定控制。稳定控制系统主要是通过姿态方位参考系统采集舰艇的运动姿态,控制系统对运动姿态数据进行处理和运算,输出控制信号对发射装置进行控制,从而保持发射装置的相对稳定。在稳定控制系统中姿态方位参考系统采集姿态数据有一定的采样周期,数据传输到稳定控制系统中需要传输时间,所以需要实时对舰艇的运动姿态数据进行预测。
舰艇运动姿态的预测主要采用自回归(Autoregressive Model,AR)模型、灰色GM(1,1)预测模型、人工神经网络方法、BP预测模型、极限学习机方法、长短记忆网络、Volterra级数模型等方法[1-6],大多数预测算法具有动态更新困难、预测效率差、算法复杂度高等特点,不能满足本发射装置稳定控制系统中对于实时预测的效率和计算需求。Kalman滤波是一种适用于实时计算的递推线性最小方差滤波器,具有实时性高和计算复杂程度低的特点,可以用于实时预测舰艇的运动姿态。
本文基于Kalman滤波预测算法,提出了组合Kalman滤波隔点预测算法对舰艇的横纵摇运动姿态进行实时预测,首先对组合Kalman滤波隔点预测算法进行了介绍,然后采用算法流程调整法、衰减记忆法和平方根法对预测算法改进优化,最后采用Matlab对优化前后的算法进行仿真实验。通过对比分析仿真结果可知,改进优化的算法解决了运动姿态数据因采样和传输产生的延迟问题,满足发射装置对舰艇姿态实时预测的需求。
1 组合Kalman滤波隔点预测算法
1.1 组合Kalman隔点预测法原理
姿态方位参考系统测量的舰艇运动姿态数据需要传输给控制系统,其中数据采集和数据传输存在时间延迟,因此需要将应用当前采集数据预测下一点采集数据的Kalman滤波预测法修改为预测第2点采集数据的方法,即Kalman隔点预测法[7]。将两个Kalman隔点预测法组合起来,称为组合Kalman隔点预测法,其预测周期Tt为数据采样周期的2倍。以数据前面的4个点为已知采样数据,组合Kalman滤波隔点预测算法的原理如图1所示。
图1 组合Kalman滤波隔点预测算法的原理图
1.2 Kalman滤波预测算法
舰艇运动姿态的状态方程和量测方程为[8-13]
X(t)=AX(t-1)+BU(t-1)+W(t-1)
(1)
Z(t)=HX(t)+V(t)
(2)
式中,X(t)为舰艇t时刻的运动状态;A为状态转移阵,将t-1时刻状态和t时刻状态联系起来;X(t-1)为舰艇t-1时刻的运动状态;B为舰艇姿态控制输入U(t-1)的增益矩阵;U(t-1)为t-1时刻可选的舰艇姿态控制输入;W(t-1)为舰艇姿态输入高斯白噪声,为零均值、方差阵为Q的不相关白噪声;Z(t)为对舰艇运动姿态的测量信号;H为测量矩阵,表示状态变量X(t)对测量变量Z(t)的增益;V(t)为测量噪声,为零均值、方差阵为R的不相关白噪声。
预测估计的公式为
(3)
(4)
滤波增益矩阵的公式为
(5)
式中,Kg(t)为t时刻舰艇姿态的滤波增益矩阵;HT为测量矩阵的转置;R为测量噪声的方差。
滤波估计的公式为
(6)
(7)
式中,Xt为t时刻舰艇姿态的滤波估计值;Pt为t时刻舰艇姿态的滤波误差协方差矩阵;I为单位矩阵。
本研究中假设在舰艇没有控制输入的情况下对运动姿态进行实时预测,式(3)变为
(8)
根据上述Kalman滤波公式的描述,可得到Kalman滤波预测流程,如图2所示。
图2 Kalman滤波预测流程图
2 组合Kalman滤波隔点预测算法优化
对组合Kalman滤波隔点预测算法进行分析,其算法是先输出预测值,之后加入测量值计算估计值,预测值与测量值间存在滞后;实际的控制系统不能得到准确的舰艇运动姿态模型,导致预测算法中的新测量值对预测值的修正作用下降,旧测量值的修正作用相对上升;预测算法在计算过程中存在舍入误差积累,可能导致计算发散。基于以上原因,需要采用算法流程调整法、衰减记忆法和平方根法对预测算法进行改进优化。
2.1 算法流程调整法
采用算法流程调整法解决预测值与测量值间存在滞后的问题,调整组合Kalman滤波隔点预测算法的计算流程,先对舰艇姿态的滤波增益矩阵和滤波估计的公式进行计算,然后对预测估计的公式进行计算。则式(4)~式(8)调整为
Kg(t)=Pt-1HT/(HPt-1HT+R)
(9)
Xt=Xt-1+Kg(t)(Zt-HXt-1)
(10)
Pt=(I-Kg(t)H)Pt-1
(11)
(12)
(13)
调整后的Kalman滤波预测流程如图3所示。
图3 调整后的Kalman滤波预测流程图
2.2 衰减记忆法
针对预测算法中的新测量值对预测值的修正作用下降、旧测量值的修正作用相对上升的问题,采用衰减记忆法予以解决。实际运用中采用的衰减记忆法通过逐渐减小旧测量值的权重,同时增加新测量值的权重[14]来实现。与组合Kalman滤波隔点预测算法方程相比,衰减记忆法的不同之处在于舰艇姿态的预测误差协方差矩阵的计算公式(式(13))中多了一个标量因子s,即
(14)
式中,s为标量因子。
2.3 平方根法
组合Kalman滤波隔点预测算法在计算过程中的舍入误差积累会导致Pt-1和Pt丧失非负定性,Pt-1和Pt的非负定性将使Kg(t)的计算失真,从残差中提取的补偿信息越来越不准确,最后造成计算发散。采用平方根法解决计算发散的问题,在计算过程中不是计算Pt-1和Pt,而是计算Pt-1和Pt的平方根,从而抑制计算发散[15]。
由矩阵理论可知,任意非零矩阵Ln×m与其转置矩阵LT的乘积是非负定的,L称为矩阵的平方根。进行平方根计算时采用乔莱斯基(Cholesky)分解法对误差协方差矩阵进行下三角分解。
设非负定阵P3×3为
(15)
式中,Pij为非负定阵P的元素。
设P的下三角分解矩阵Δ和其转置矩阵ΔT为
(16)
(17)
P=Δ×ΔT
(18)
式中,δij为非负定阵Δ的元素;Δ为P的下三角分解矩阵;ΔT为矩阵Δ的转置矩阵。
将式(9)和式(11)调整为
(19)
(20)
综上所述,改进优化后的组合Kalman滤波隔点预测算法与改进优化前的算法相比,具有如下优点:① 前者改变了算法的计算流程,先对舰艇姿态的滤波增益矩阵和滤波估计的公式进行计算,然后对预测估计的公式进行计算;② 前者在预测误差协方差矩阵的计算式子中添加了一个标量因子s;③ 前者对Pt-1和Pt进行下三角分解,运用矩阵的平方根参与计算。改进优化算法可以提高预测算法的预测精度,增加新测量值对预测值的修正作用,同时抑制预测算法在计算过程中的计算发散;其比改进优化前的算法更符合实际运用的需求,更能满足稳定控制系统对舰艇运动姿态预测值的需要。
3 仿真实验
3.1 仿真数据模型
本文以姿态方位参考系统测量的舰艇近海横摇数据为仿真原始数据,数据的采样周期T为0.5 s,共有480个横摇数据。前40个横摇数据如表1所示。
表1 前40个横摇数据表
3.2 初始值和参数输入
舰艇的横摇数据是通过姿态方位参考系统测量得到的解耦数据,其横摇运动为非线性的,为了简化运动模型,假设舰艇横摇两点之间做等加速直线运动,并通过实时更新横摇角度、角速度和角加速度减小非线性对预测精度的影响。由等加速直线运动的运动规律可以得到状态方程的公式为
(21)
式中,T为数据的采样周期。
所以,可以得到状态转移阵A为
(22)
根据横摇数据前3个点可以得到初始角度、初始角速度和初始角加速度,其共同组成了初始值矩阵Xt-1;组合Kalman滤波隔点预测算法的预测步长Tt为1 s;初始矩阵Pt-1的元素取任意假定的非零值,本文中取值如式(23)所示;查阅资料可以得到,在工程实际中舰艇姿态输入高斯白噪声的方差阵Q一般取单位矩阵,如式(24)所示,方差阵Q中的元素值增大,预测算法的均方根误差减小;测量噪声的方差R是根据姿态方位参考系统的型号和技术指标,其测量横纵摇的误差为0.1°,R确定为0.01,方差R增大,预测算法的均方根误差增大;由姿态方位参考系统得到的数据为舰艇横摇角度位置,所以测量矩阵H为式(25)。在仿真实验中,测量值直接读取对应时刻的480个横摇数据,衰减记忆滤波的标量因子s在仿真中确定为100。
(23)
(24)
H=[1 0 0]
(25)
3.3 仿真结果
根据初始值和参数的输入,采用Matlab对组合Kalman滤波隔点预测算法和优化后的组合Kalman滤波隔点预测算法进行仿真,仿真结果如图4和5图所示。
图4 横摇角度预测结果图
图5 横摇角度预测误差图
图4中,实线S为姿态方位参考系统测量的近海舰艇横摇数据,点线S1为组合Kalman滤波隔点预测算法预测的数据,点画线S2为优化后组合Kalman滤波隔点预测算法预测的数据。从图4的仿真结果可以分析,组合Kalman滤波隔点预测算法的预测数据与测量数据相比,存在数据滞后,优化后预测算法的预测数据滞后情况得到明显改善。
图5中,点线e1为组合Kalman滤波隔点预测算法预测数据与测量数据的误差,实线e2为优化后组合Kalman滤波隔点预测算法预测数据与测量数据的误差。从图5的仿真结果可以分析,优化后预测算法预测数据的误差比优化前预测数据的误差要小。
优化后的预测算法与优化前的算法相比,前者主要在采用平方根法对矩阵Pt-1和Pt计算时增加了计算量,根据仿真计算的时间估计,优化后的预测算法增加的计算量可以忽略不计。分别对两种算法的横摇角度预测误差求均方根,组合Kalman滤波隔点预测算法的均方根误差为0.3935°,优化后组合Kalman滤波隔点预测算法的均方根误差为0.1173°。优化后的预测算法的均方根误差比原算法减小0.2762°,根据稳定控制系统对运动姿态实时预测的精度要求,其均方根误差需要小于0.2°,优化后的预测算法满足姿态数据实时预测的需求。
4 结束语
本文提出了组合Kalman滤波隔点预测算法对舰艇的运动姿态数据进行预测,针对预测算法存在的预测值与测量值滞后、新测量值对预测值的修正作用下降和计算发散的问题,采用算法流程调整法、衰减记忆法和平方根法对预测算法进行改进优化。依据姿态方位参考系统测量的近海舰艇横摇数据,输入实际发射装置稳定控制系统的参数,采用Matlab软件对优化前后的预测算法进行仿真实验。通过将仿真结果与测量数据进行对比计算可知,改进优化后的预测算法的均方根误差小于0.2°,满足舰艇姿态数据实时预测的需求。后续将会把预测算法运用到实际舰艇上的发射装置稳定控制系统中,达到预测姿态数据的目的。