2. 上海交通大学 感知科学与工程学院,上海 200240
2. College of Perception Scienceand Engineering, Shanghai Jiaotong University, Shanghai 200240, China
船舶动力定位是一种通过船舶自身配备的动力系统,在复杂的海洋环境中使船舶能够保持在预定的位置或沿着预定的轨迹航行的技术,其主要目的是确保船舶在特定作业时的精确位置控制,如海上钻井、海底管道铺设、海洋观测等,而无需依赖锚泊系统等传统定位方式。在船舶动力定位系统中,传感器实时监测船舶的位置、姿态等信息,控制系统根据这些信息计算并调整推进器的推力和方向,以抵抗外界干扰力,保持船舶的期望状态。船舶动力定位系统通常需要高精度的位置和姿态测量来维持定位精度。异步传感器因其能够在不同的观测时间和数据传输延迟下工作,对于提高动力定位系统的鲁棒性和可靠性至关重要。在动力定位测量中,通常会使用多种传感器,包括GPS、IMU(惯性测量单元)、雷达等,这些传感器可能因为自身的特性和通信延迟而不同步[1 − 2]。异步传感器数据融合技术能够将这些来自不同传感器的数据统一到同一时刻上,进行优化和融合,从而提供更精确的目标位置估计,改善目标的跟踪和识别,如IMU传感器可以提供关键的运动数据,与其他传感器如摄像头或LIDAR相结合,可以提高定位的准确性。同时异步传感器系统能够适应动态变化的环境,并在短期间隔内估计船舶姿态,这对于动力定位系统来说非常重要。
本文提出一种基于异步传感器数据融合的船舶动力定位测量系统,使用交互式多模型(IMM)算法对异步传感器数据进行融合,有效提升计算效率和精度。
1 关键技术分析 1.1 异步传感器数据融合问题分析1)数据同步问题。由于传感器的采样速率和通信延迟,不同传感器的数据可能在不同时间到达融合中心,这大大降低了多传感器系统数据融合的精度。
2)计算复杂度。在处理复杂非线性状态估计时,传统的扩展卡尔曼滤波(EKF)存在收敛速度慢、估计精度低及数值稳定性差的问题。
3)鲁棒性与实用性。EKF虽然计算量小,但鲁棒性差;而粒子滤波(PF)、容积卡尔曼滤波(CKF)或无迹卡尔曼滤波(UKF)精度高,但计算量大,实用性差。
4)噪声协方差阵的获取。在系统时变及统计特性未知的情况下,噪声协方差阵难以获取,这对数据融合算法的准确性和稳定性构成了挑战。
1.2 时间戳对准技术异步传感器产生的数据在时间上不一致。为了有效地融合这些数据进行滤波处理,需要将不同传感器的数据在时间上对准。时间戳是每个传感器数据附带的记录其采集时刻的标识。通过比较不同传感器数据的时间戳,可以确定数据的先后顺序以及时间差。这为数据的同步和对准提供了基础,从而使得后续的滤波算法能够正确地处理这些数据[3]。
当2个传感器的数据时间戳相差较小时,可以采用线性插值的方法来对准数据。假设传感器A和传感器B的数据在时间上不一致,且传感器A的数据时间戳为tA1,tA2,……,传感器B的数据时间戳为tB1,tB2,……,如果要将传感器B的数据对准到传感器A的某个时间戳tA,首先找到tB和tB+1,使得
$ x_B(t_A)=x_B+\frac{(x_{B+1}-x_B)(t_A-t_B)}{t_{B+1}-t_B}\text{。} $ | (1) |
若传感器A和传感器B之间相差时间较大,可以通过建立缓存区来实现时间戳的对准,当一个传感器的数据到达时,将其放入缓存区,并根据时间戳与其他传感器的数据进行比对。对于一个较慢采样频率的传感器和一个较快采样频率的传感器,较慢传感器的数据可以作为关键帧,当较快传感器的数据在时间上接近关键帧时,将其从缓存中提取出来与关键帧进行匹配和融合。
1.3 数据滤波技术基于协方差拟合的平方根容积卡尔曼滤波(A-SRCKF)能够有效地解决异步传感器数据处理中存在的问题,提高数据融合的精度和效率。
1)降低计算复杂度。A-SRCKF算法在容积卡尔曼滤波基础上引入矩阵QR分解、Cholesky分解因数更新等技术,避免了矩阵分解、求逆及求导等复杂运算,极大降低了计算复杂度。
2)提高数值精度及稳定性。A-SRCKF通过引入自适应噪声估计器并结合小波卡尔曼滤波思想,构造出加权量测噪声协方差阵,提高了数值精度及稳定性。
3)适应系统时变和统计特性未知的情况。A-SRCKF算法能够适应系统时变及统计特性未知情况下量测噪声协方差阵难以获取的问题,通过自适应噪声估计器来解决这一挑战。
2 多传感器信息融合技术 2.1 异步传感器信息融合技术异步传感器信息融合是指在多传感器系统中,传感器的采样时间不同步,但需要将这些来自不同时间戳的传感器数据进行融合,以获得更准确、更完整的关于被观测对象的信息。在船舶动力定位测量系统中,激光雷达和摄像头的采样频率不同,激光雷达每秒产生10个点云数据,而摄像头每秒产生30帧图像,要综合利用这2种传感器的数据来准确感知周围环境,就需要异步传感器信息融合技术[4]。由于传感器数据的异步性,首先需要对各个传感器的数据进行时间标记。每个传感器的数据都带有其自身的采样时间戳,时间对准是异步传感器信息融合的关键步骤,为了融合不同传感器的数据,需要将它们在时间上进行对准。一种常见的方法是通过插值法。假设在某个时刻t需要融合激光雷达和摄像头的数据,而激光雷达在t1和t2(t1<t<t2)有数据点,摄像头在t3和t4(t3<t<t4)有数据点。对于激光雷达数据,可以根据t1和t2的数据通过线性插值等方法得到在时刻t的估计值,对于摄像头数据也进行类似操作。
异步传感器信息融合有多种算法,根据传感器数据的类型(如距离、角度、图像等)和融合的目的(如目标识别、状态估计等),选择合适的融合算法。常见的融合算法包括加权平均法、卡尔曼滤波融合法、贝叶斯估计法等[5 − 6]。
1)基于加权平均法的异步传感器融合
假设2个异步传感器S1和S2,传感器S1在时间t1测量得到的值为x1,传感器S2在时间t2测量得到的值为x2。首先进行时间对准,通过插值等方法得到在融合时刻t的估计值
融合后的结果xf为:
$ x_f=w_1\hat{x}_1+w_2\hat{x}_2\text{。} $ | (2) |
使用加权平均法对异步传感器融合受到权重的影响较大,因而不少研究学者使用卡尔曼滤波融合。
2)基于卡尔曼滤波的异步传感器融合
假设系统的状态方程为:
$ x_{k+1}={\boldsymbol{A}}x_k+{\boldsymbol{B}}u_k+w_k 。$ | (3) |
式中:xk为系统在时刻k的状态向量;A为状态转移矩阵;B为控制输入矩阵;uk为控制输入向量;wk为过程噪声向量。
对于异步传感器,需要分别建立每个传感器的状态方程和测量方程,然后根据卡尔曼滤波的预测和更新步骤来进行融合。
预测步骤:
$ \hat{x}_{k|k-1}=\boldsymbol{A}\hat{x}_{k-1|k-1}+\boldsymbol{B}u_{k-1}\text{,} $ | (4) |
$ P_{k|k-1}=\boldsymbol{A}P_{k-1|k-1}\boldsymbol{A}^{\rm{T}}+Q\text{。} $ | (5) |
式中:
更新步骤:
$ {K_k} = {P_{k|k - 1}}{H^{\rm T}}{(H{P_{k|k - 1}}{H^{\rm T}} + R)^{ - 1}} \text{,} $ | (6) |
$ {\hat x_{k|k}} = {\hat x_{k|k - 1}} + {K_k}({z_k} - H{\hat x_{k|k - 1}})\text{,} $ | (7) |
$ P_{k|k}=(I-K_kH)P_{k|k-1}\text{。} $ | (8) |
式中:Kk为卡尔曼增益;
卡尔曼滤波算法通过对各个传感器的测量值进行加权平均,根据传感器的精度和可靠性分配不同的权重,从而得到一个更加准确的船舶位置估计值。图1为基于卡尔曼滤波的多异步传感器数据融合效果,可以发现不同传感器获取的船舶位置存在一定差异,这种差异主要源于各个传感器的工作原理、精度以及在不同环境下的性能表现不同。在使用卡尔曼滤波算法对3个传感器数据进行融合后,有效减小了位移误差,提高了船舶位置的准确性和可靠性。
![]() |
图 1 基于卡尔曼滤波的多异步传感器数据融合效果 Fig. 1 Data fusion effect of multiple asynchronous sensors based on Kalman filter |
在船舶动力定位系统中,通常会配备多种传感器来确定船舶的位置、姿态以及周围环境信息。这些传感器具有不同的采样频率和测量精度,并且工作异步。异步IMM - CMASRCKF 融合滤波算法旨在整合这些来自不同传感器的异步数据,以实现对船舶状态的高精度、高可靠性估计,从而为船舶动力定位系统提供精确的控制依据。
针对船舶在水面的运动特性,选择合适的运动模型用于IMM框架。可采用匀速直线运动(CV)模型和匀加速直线运动(CA)模型,以及考虑船舶转向的协调转弯(CT)模型等。设船舶的状态向量为:
$ x=[x,y,\dot{x},\dot{y},\psi,\dot{\psi}]^{\rm{T}}\text{。} $ | (9) |
式中:(x,y)为船舶在大地坐标系下的位置坐标;
模型概率更新:对于每个模型mi,根据船舶的历史运动数据和先验知识确定模型转移概率pij。在每个时刻k,计算模型概率
$ \mu_k^i=\frac{1}{c}\Lambda_k^i\sum\limits_{j=1}^r\mu_{k-1}^jp_{ij}\text{。} $ | (10) |
式中:似然函数
状态混合:基于混合概率
$ \hat{x}_{k-1|k-1}^0=\sum\limits_{j=1}^r\hat{x}_{k-1|k-1}^j\mu_{j|i}(k-1)\text{。} $ | (11) |
协方差
${ \begin{split}&P_{k - 1|k - 1}^0 = \sum\limits_{j = 1}^r {{\mu _{j|i}}} (k - 1)\cdot\\ &\left[ {P_{k - 1|k - 1}^j + \left( {\hat x_{k - 1|k - 1}^j - \hat x_{k - 1|k - 1}^0} \right){{\left( {\hat x_{k - 1|k - 1}^j - \hat x_{k - 1|k - 1}^0} \right)}^{\rm{T}}}} \right] 。\end{split}}$ | (12) |
若之前时刻CT模型和CV模型都有一定概率,混合时会综合考虑这2个模型的状态估计和协方差,得到一个综合的初始状态估计和协方差,以更好地适应船舶可能的运动变化。
3 仿真测试 3.1 船舶线性加速工况测试使用CV模型、CA模型、CT模型以及IMM模型进行船舶直线加速工况下动力定位测量仿真实验,得到的结果如图2所示,得到以下结论:
1)在正常情况下,IMM模型和其他3种模型对比,IMM模型的动力定位测量误差较小;
2)在线性加速情况下,基于CA模型的动力定位测量的最大误差要小于其他3种模型,但是其误差在快速收敛后出现反弹。IMM模型的动力定位测量误差要优于CT模型,且收敛速度快,未出现误差值反弹的情况。
![]() |
图 2 直线加速工况下4种不同模型的位置误差对比 Fig. 2 Position error comparison of four different models under linear acceleration condition |
使用CV模型、CA模型、CT模型以及IMM模型进行船舶急转弯工况下动力定位测量仿真实验,船舶在t=350 s时急转弯,得到的仿真结果如图3所示,得到以下结论:
1)在未急转弯前,将IMM模型和其他3种模型进行对比,其动力定位误差精度没有明显优势;
2)在急转弯时,CV模型和CT模型在跟踪动态目标时,其误差迅速增加,且回落较慢,而IMM模型混合了多种模型,在出现急转弯时对船舶的动力定位测量误差较小。
![]() |
图 3 急转弯工况下4种不同模型的位置误差对比 Fig. 3 Position error comparison of four different models under the condition of sharp turn |
船舶动力定位测量对于保持固定航迹航行具有至关重要的作用,船舶定位需要依赖多种传感器,采集不同步造成传感器数据也不同步。本文提出一种基于IMM算法的异步传感器信息融合模型,在直线加速和急转弯2种不同工况下,对船舶动力定位进行了仿真测试,结果表明IMM模型在不同工况下动力定位误差较小,且误差收敛速度快。
[1] |
邢景揚, 李芳芳, 金灵雨, 等. 基于双闭环与自适应卡尔曼滤波的目标追踪系统[J]. 自动化与仪表, 2024, 39(11): 43-46. |
[2] |
丁华峰, 胡学龙. 基于卡尔曼滤波的无线传感器网络信息并行传输延迟补偿算法[J]. 传感技术学报, 2024, 37(10): 1814-1819. DOI:10.3969/j.issn.1004-1699.2024.10.020 |
[3] |
叶瑾, 许枫, 杨娟, 等. 一种基于多传感器的复合量测IMM-EKF数据融合算法[J]. 电子学报, 2020, 48(12): 2326-2330. DOI:10.3969/j.issn.0372-2112.2020.12.006 |
[4] |
刘志宇. 动力定位船异步传感器系统数据融合方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2021.
|
[5] |
罗舒涵, 汤奥斐, 王琪龙, 等. 激光雷达与RGB-D相机融合的区域图像算法SLAM[J]. 机械科学与技术, 2024(11): 1-8. |
[6] |
王海明, 贾玲, 黄琪训, 等. 基于深度混合卷积的变电站多传感器数据融合方法[J]. 自动化技术与应用, 2024(11): 1-5. |