舰船科学技术  2024, Vol. 46 Issue (16): 148-152    DOI: 10.3404/j.issn.1672-7649.2024.16.024   PDF    
考虑船舶动态位置的海底WSN节点能耗控制算法
张传聪1,2     
1. 威海海洋职业学院,山东 荣成 264300;
2. 山东省船舶控制工程与智能系统工程技术研究中心,山东 荣成 264300
摘要: 由于海底环境并不具备连续稳定的电力供应,使得传感器节点通常依赖于有限的内部能量,而船舶在海底的动态位置会令节点密度布局变得更加复杂,从而导致WSN节点能量消耗不均衡。为此,提出考虑船舶动态位置的海底WSN节点能耗控制算法。建立海底WSN结构模型,利用多项式卡尔曼滤波器预测船舶轨迹;划分海底WSN簇结构,动态调整各簇的节点数量,控制海底WSN节点密度,建立船舶位置动态变化能耗模型,估算各簇节点在不同时间段的能耗需求,使其均衡消耗WSN节点能量,从而实现节点能耗控制。实验结果表明,本文算法应用后,有效平衡了节点能耗,保持连通性和覆盖性,提高海底WSN整体性能,稳定运行时间更长且失效节点增长较稳定。
关键词: 船舶动态位置     海底WSN     WSN节点     卡尔曼滤波     船舶轨迹预测     密度控制    
Submarine WSN node energy consumption control algorithm considering ship dynamic position
ZHANG Chuancong1,2     
1. Weihai Ocean Vocational College, Rongcheng 264300, China;
2. Funded by Ship Control Engineering and Intelligent Systems Engineering Technology Research Center of Shandong Province, Rongcheng 264300, China
Abstract: Due to the lack of continuous and stable power supply in the seabed environment, sensor nodes usually rely on limited internal energy, and the dynamic location of ships on the seabed makes the node density layout more complex, resulting in unbalanced energy consumption of WSN nodes. Therefore, an energy consumption control algorithm for submarine WSN nodes considering ship dynamic position is proposed. The submarine WSN structure model is established, and the ship trajectory is predicted by polynomial Kalman filter. The submarine WSN cluster structure is divided, the number of nodes in each cluster is dynamically adjusted, the density of submarine WSN nodes is controlled, the energy consumption model of dynamic change of ship position is established, the energy consumption demand of each cluster node in different time periods is estimated, and the energy consumption of WSN nodes is balanced, so as to achieve node energy consumption control. Experimental results show that the proposed algorithm effectively balances node energy consumption, maintains connectivity and coverage, improves the overall performance of subsea WSN, and has a longer stable running time and a stable growth of failed nodes.
Key words: dynamic position of ships     underwater WSN     WSN node     kalman filtering     ship trajectory prediction     density control    
0 引 言

船舶在航行过程中需要实时监测周围海域,以确保航行安全和船舶性能的稳定。这种监测需要涵盖多个参数,包括海底地形、水深、海洋生物、水质等,这些参数的变化会影响船舶航行和作业。因此,在船舶周围建立海底无线传感网络,实时监测海底地形和水深等信息,为船舶导航提供支持。而船舶在海上运行会对海底WSN通信产生一定的影响[1]。船舶在海底的动态位置会使得传感器节点的部署和布局变得更加复杂和困难。船舶的移动会导致节点之间的相对位置和网络拓扑结构发生变化,导致节点密度分布的不均衡性也会进一步加剧,从而使得节点能量消耗不均衡,使得节点通信的可靠性和稳定性难以保证[2],影响整个网络的稳定性和持续性。因此,为了平衡网络覆盖和通信效率,研究出海底WSN节点能耗控制算法具有重要意义。

何少尉[3]根据监测到的节点密度,动态地调整节点的休眠调度,实现WSN节点密度控制。但是该算法在面对位置快速变化的情况时,无法及时做出有效的响应。常宇飞等[4]通过MFPA(改进型花朵授粉算法)精确地确定节点的最佳位置,引入均匀变异算子在全局搜索过程中,控制WSN的节点分布。但是该算法在运算复杂性和计算资源需求方面较高。Xiao等[5]通过AEACO(自适应精英蚁群优化算法)优化海底WSN的节点布局,实现节点密度控制。但是该算法复杂度及船舶位置预测精度较低,影响其效果。Adhi等[6]提出综合考虑节点间距离、通信信道稳定性以及电池寿命等因素,通过优化数据包长度,实现节点密度的有效控制。但是该算法需要节点之间进行额外的通信以交换信息和协调行为,增加网络通信开销。

为此,本文提出考虑船舶动态位置的海底WSN节点能耗控制算法。

1 海底WSN节点密度控制算法 1.1 海底WSN结构模型

海底无线传感器网络的运行效果对于船舶的安全航行和任务完成至关重要。为了确保在复杂海洋环境下的稳定性和可靠性,保障船舶的航行安全,构建海底无线传感器网络结构,包括水下传感器节点、水面汇聚节点和系统控制中心3层。水下传感器节点被布置在海底或水下环境中,能够实时收集与船舶航行相关的各种数据,如水温、盐度、水流速度、海底地形等,水面汇聚节点进行数据处理和指令传输,系统控制中心进行深入分析和决策制定,以适应船舶位置变化,保障网络运行效果。构建海底无线传感器网络结构如图1所示。

图 1 海底无线传感器网络结构 Fig. 1 Underwater wireless sensor network structure

在海底无线传感器网络中,传感器节点由很多簇构成,且每个簇都有一个簇头节点和大量簇成员节点组成。簇头节点在簇内扮演着关键角色,负责收集簇内成员节点的数据,进行数据的融合处理,并转发到其他簇或基站,可以减少数据传输量,降低能耗,并提高数据传输的效率。

1.2 船舶轨迹预测

船舶的运动会影响海底WSN节点的网络拓扑结构和连接状态,基于1.1小节无线传感器网络模型,海底传感器节点通过感知船舶位置,进行轨迹预测为节点密度控制提供支持[7]。由于AIS(自动识别系统)数据受多方影响,难以完全满足匀速、线性的假设。多项式卡尔曼滤波器处理非线性变化,更精确预测。当数据缺失时,滤波器利用之前数据和模型填补空白,保持轨迹连续完整。轨迹预测的结果可以为节点密度控制提供支持。在船舶航行过程中,不同区域的传感器节点密度需要根据船舶的轨迹和航行状态调整。通过精确轨迹预测,船舶的驱动系统可以预测出船舶未来的航行路径和遇到的障碍物或危险区域,保障船舶自身运行的安全性。

假设船舶在$ {T_i} $时刻的运行轨迹状态为:

$ {X_{{T_i}}} = [la{t_{{T_i}}},lo{n_{{T_i}}},{V_{{T_i}}},{\varphi _{{T_i}}}] 。$ (1)

式中:$ la{t_{T_i}} $为船舶在$ {T_i} $时刻的经度坐标;$ lo{n_{{T_i}}} $为船舶在$ {T_i} $时刻的纬度坐标;$ {V_{{T_i}}} $为在$ {T_i} $时刻的航运速度;$ {\varphi _{{T_i}}} $为在$ {T_i} $时刻的对地航向。

为提高船舶轨迹预测准确性,处理AIS数据需适当增加更新慢点的数据插值,减少更新快点的数据筛选,适应不等时间间隔,获得更准确实时的预测。将式(1)进一步优化为:

$ {X_{{T_i}}} = [la{t_{{T_i}}},lo{n_{{T_i}}},{V_{{T_i}}},{\varphi _{{T_i}}},{\omega _{{T_i}}}] 。$ (2)

其中,$ {\omega _{{T_i}}} $为船舶在$ {T_i} $时刻的加速度。得到船舶在$ {T_i} $时刻的经度坐标,公式表达为:

$ \begin{split} la{t_{{T_i}}} =& la{t_{{T_{i - 1}}}} + \frac{1}{2} \cdot \Delta t \cdot \\ & \left[{V_{x,{T_i}}} + \Delta t \cdot {r_{{T_{i - 1}}}} \cdot \cos \left(\frac{{{\text{π}} \varphi }}{{180}} + \Delta t \cdot {\omega _{{T_{i - 1}}}}\right)\right] \end{split} 。$ (3)

船舶在$ {T_i} $时刻的纬度坐标公式表达为:

$ \begin{split} lo{n_{{T_i}}} =& lo{n_{{T_{i - 1}}}} + \frac{1}{2} \cdot \Delta t \cdot \\ & \left[{V_{x,{T_i}}} + \Delta t \cdot {r_{{T_{i - 1}}}} \cdot \sin \left(\frac{{{\text{π}} \varphi }}{{180}} + \Delta t \cdot {\omega _{{T_{i - 1}}}}\right)\right] \end{split} 。$ (4)

在式(3)和式(4)中,$ {r_{{T_{i - 1}}}} $为在前一时刻船舶的航行正向加速度。

船舶的运行轨迹在不同时间段内可以近似为不同阶数的多项式曲线。多项式预测滤波器结合卡尔曼滤波算法可准确描述船舶运动状态[8]。通过选择不同阶数的多项式拟合航迹数据,得到更准确的船舶轨迹预测点。在$ {T_i} $时刻船舶$ m $的航行轨迹多项式可表示为:

$ Trajector{y_m} = \sum\limits_{j = 0}^L {{k_j}{X_j}(t)} 。$ (5)

式中:$ L $为多项式阶数;$ {k_j} $为多项式系数;$ {X_j}(t) $为多项式拟合曲线。在$ {T_i} $时刻船舶的状态向量可表示为:

$ {x_{{T_i}}} = {F_{{T_{i - 1}}}}{x_{{T_{i - 1}}}} + {s_{{T_{i - 1}}}} 。$ (6)

式中:$ {x_{{T_{i - 1}}}} $为在$ {T_{i - 1}} $时刻船舶的状态向量;$ {s_{{T_{i - 1}}}} $为在$ {T_{i - 1}} $时刻船舶的过程噪声;$ {F_{{T_{i - 1}}}} $为在$ {T_{i - 1}} $时刻船舶的转移矩阵。在时刻船舶的状态向量可表示为:

$ {Z_{{T_i}}} = {H_{{T_{i - 1}}}}{x_{{T_{i - 1}}}} + {p_{{T_{i - 1}}}} 。$ (7)

式中:$ {p_{{T_{i - 1}}}} $为在$ {T_{i - 1}} $时刻船舶的测量噪声;$ {H_{{T_{i - 1}}}} $为在$ {T_{i - 1}} $时刻船舶的测量矩阵。通过前一时刻船舶的状态估计预测当前时刻的状态:

$ {\hat x_{{T_i}\left| {{T_{i - 1}}} \right.}} = {F_{{T_{i - 1}}}}{\hat x_{{T_{i - 1}}}} 。$ (8)

预测当前时刻的误差协方差矩阵:

$ P_{T_i\left|T_{i-1}\right.}=F_{T_{i-1}}P_{T_{i-1}}F_{T_{i-1}}^{\mathrm{T}}+D_{T_{i-1}}。$ (9)

其中,$ {D_{{T_{i - 1}}}} $表示在$ {T_{i - 1}} $时刻船舶过程噪声$ {s_{{T_{i - 1}}}} $的协方差矩阵。计算卡尔曼增益,用于权衡预测值和观测值:

$ G_{T_i}=P_{T_i\left|T_{i-1}\right.}H_{T_i}^{\mathrm{T}}(H_{T_i}^{ }P_{T_i\left|T_{i-1}\right.}H_{T_i}^{\mathrm{T}}+\zeta_{T_i})^{-1}。$ (10)

其中,表示在$ {T_{i - 1}} $时刻船舶测量噪声$ {p_{{T_{i - 1}}}} $的协方差矩阵。使用卡尔曼增益更新在$ {T_i} $时刻船舶的状态估计:

$ {\hat x_{{T_i}}} = {\hat x_{{T_i}\left| {{T_{i - 1}}} \right.}} + {G_{{T_i}}}({Z_{{T_i}}} - H_{{T_i}}^{}{\hat x_{{T_i}\left| {{T_{i - 1}}} \right.}}) 。$ (11)

更新误差协方差矩阵,以便下一次迭代使用:

$ {P_{{T_i}}} = (I - {G_{{T_i}}}H_{{T_i}}^{}){P_{{T_i}\left| {{T_{i - 1}}} \right.}}。$ (12)
1.3 海底WSN节点能耗控制

结合1.2节船舶轨迹预测结果,可以动态调整节点的能源分配方案,使得节点在需要更多能源的情况下获得足够的支持,而在无需大量能源消耗时则降低供给,从而控制能量消耗。根据船舶的实时位置和预测轨迹,划分海底WSN的外层和内层簇结构,调整节点数量以匹配船舶位置,动态控制节点密度,以满足实时能耗需求,从而实现对海底WSN节点能耗控制。通过对WSN节点能耗的有效控制,可以延长网络的生命周期,使网络在船舶的整个航行过程中都能提供稳定的数据支持,有助于船舶根据实时数据调整航行路线和速度,选择最佳的航行策略,从而提高航行效率,减少不必要的航行时间和能耗。

将各簇的活动节点数量设为$ K $,相邻两簇的活动节点数量之间的关系可表示为:

$ {K_i}/{K_{i + 1}} = (1 - \tau )/(1 + \tau ) = c 。$ (13)

式中:$ {K_i} $为第$ i $簇节点数量;$ \tau $为压缩比,用于描述与通信能耗相关的系数;$ c $为与簇头压缩比$ \tau $有关的常数。根据这一关系,确定各簇活动节点数量的取值序列,从而实现动态控制节点密度。公式表达为:

$ \left\{ \begin{gathered} {K_1} = c{K_2} ,\\ {K_2} = c{K_3} ,\\ \mathop {}\nolimits_{}^{} \cdots \\ {K_{m - 1}} = c{K_m} 。\\ \end{gathered} \right. $ (14)

可以看出,从靠近基站的第1簇开始,假设其活动节点数为$ {K_1} $,则后续各簇的活动节点数量按$ 1/c $倍递增。

不同密度区域的节点会面临不同程度的能耗压力,部分节点负担过多任务而消耗能量较快,而其他节点出现能源闲置的情况。根据节点密度动态调控能耗,可以实现能耗均衡控制,提高整体网络的稳定性和可持续性。在完成动态控制节点密度后,设定成员节点$ {Y_{i,j}} $用于采集海底环境数据并感知船舶的位置,簇头节点$ {A_i} $用于簇内数据汇聚和转发。从第$ i + 1 $簇传递来的数据量为$ {b_{i + 1}} $,在第$ i $簇转发给下一簇的数据量为$ {b_i} $

定义无线传感器网络中全部节点产生的周期性负载为$ \rho $,即$ \rho = {\rho _{i,j}} = {\rho _0} $,其中$ i \in \left\{ {1,...,m} \right\} $$ j \in \left\{ {1,...,{K_i}} \right\} $,表示每个节点在每个周期内产生的数据量都是相等的。根据海底无线传感器网络节点之间数据量的传递关系建立$ {b_i} $$ {b_{i + 1}} $的表达式为:

$ {b_{i + 1}} = {\rho _0} \cdot \sum\limits_{j = i + 1}^m {({K_j} \cdot {\tau _j})} ,$ (15)
$ {b_i} = {\tau _i} \cdot {\rho _0} \cdot {K_i} + {b_{i + 1}} = {\rho _0} \cdot \sum\limits_{j = 1}^m {({K_j} \cdot {\tau _j})}。$ (16)

其中,$ {K_j} $为第$ j $簇的节点数量。

利用节点之间数据量的传递结果,将每个周期内由簇头节点$ {A_i} $的能耗和普通节点$ {Y_{i,j}} $的能耗组成的第$ i $簇节点消耗的总能量作为判据,实现对海底WSN节点能耗控制$ {E_i} $

$ {E_i} = {b_i}E\left( {{A_i}} \right) + E\left[ {\sum\limits_{j = 1}^K {{K_j} \times {Y_{i,j}}} } \right]。$ (17)

式中:$ {A_i} $为簇头节点的能耗;$ {Y_{i,j}} $为普通节点的能耗。

2 实验分析

为了验证本文算法的海底WSN节点能耗控制算法的有效性,以某海域及其船舶为实验对象,利用图1中海底无线传感器网络结构进行仿真实验,以验证算法能否有效控制节点能耗。采用XYZ型号的传感器节点,设置每个节点能够感知环境参数的最大距离为50 m,选用2.4 GHz的无线通信频段,每个簇包含10~20个节点。船舶在实验中可能移动的最大距离约为10 km。

为了验证本文算法的船舶轨迹预测的有效性,收集该船舶的实测AIS数据,对该船舶的轨迹预测结果如图2所示。

图 2 本文算法的船舶轨迹预测结果 Fig. 2 Ship trajectory prediction results of the algorithm proposed in this paper

通过图2可观察到,本文算法预测的船舶轨迹与实际轨迹高度重合。预测准确捕捉到船舶运动特征和规律,包括整体趋势和细节变化,验证了算法精确性,为海底WSN节点能耗控制提供可靠基础。

节点密度控制关系到不同区域节点的负载情况,合理控制密度能够均衡节点消耗的能量,避免局部位置能量耗尽而导致传感器网络服务中断的问题。通过分析密度控制结果,可以评估控制算法应用下能量消耗的均衡性。实验结果如表1所示。

表 1 海底WSN节点密度控制结果 Tab.1 Density control results of underwater WSN nodes using the algorithm proposed in this paper

根据表1显示,随着船舶位置变化,簇内节点密度降低而簇间节点密度增加,减少冗余节点提高节点利用和网络覆盖均匀性。综上所述,本文方法能够根据船舶的动态位置变化有效地调整簇内和簇间节点密度,为进一步实现海底WSN节点能耗控制提供依据。

为了验证海底无线传感器网络节点能耗控制算法的有效性,以网络生存时间作为评价指标,通过评估网络生存时间可以全面地考量节点能耗控制算法的效果。网络生存时间越长,说明节点能耗更为均衡,从而说明算法控制节点能耗效果更好。将文献[3]自适应节点控制算法和文献[4]MFPA算法与本文算法进行对比,验证结果如图3所示。

图 3 不同算法控制性能比较 Fig. 3 Comparison of control performance of different algorithms

可以看出,本文算法在相同条件下比其他2种算法稳定运行时间更长,失效节点增长较稳定且数量较少,有效平衡了节点能量消耗,避免网络覆盖空洞出现,维持连通性和覆盖性,提高WSN整体性能。由此说明本文算法对海底WSN节点能耗控制效果更好。

船舶航行提升效率直接受到WSN节点提供的数据支持的影响。WSN节点能够实时感知和传输关于海洋环境、船舶位置、速度等信息,这些信息对于船舶选择最优航行路径、调整速度等至关重要。因此,WSN节点能耗控制的有效性将直接影响船舶航行效率。将船舶航行效率作为评价指标,在不同船舶航行场景下,验证不同方法的应用性能,实验结果如表2所示。

表 2 船舶航行提升效率结果比较/% Tab.2 Comparison of ship sailing efficiency/%

可以看出,所提算法在不同船舶航行场景下的表现均优于自适应节点控制算法和MFPA算法。在平静海域、浅海水域、复杂洋流区域和深海航道中,所提算法所达到的船舶航行效率均明显高于其他2种算法。由此可知,所提算法在不同船舶航行场景下都能有效提升船舶的航行效率。这是因为所提算法应用了海底WSN簇结构,能够根据船舶位置动态变化进行节点密度的动态调整,使得在船舶附近的节点密度适当增加,能够实时捕获更多关于海洋环境和船舶状态的信息,为船舶提供更有效的数据支持,从而提高航行效率。

3 结 语

本文提出了一种考虑船舶动态位置的海底WSN节点能耗控制算法,有效地实现了对海底WSN节点能耗的优化控制。实验结果表明,该算法的应用显著提高了海底WSN的覆盖范围和通信效率,同时有效平衡了网络内节点的能量消耗,延长了WSN的生存时间。相比于其他控制算法,本文提出的算法更能适应船舶动态位置变化的需求,具有更高的灵活性和实用性。

参考文献
[1]
余修武, 张可, 刘永, 等. 基于反向学习的群居蜘蛛优化WSN节点定位算法[J]. 控制与决策, 2021, 36(10): 2459-2466.
YU Xiuwu, ZHANG Ke, LIU Yong, et al. WSN node localization based on social spider optimization and opposition based learning[J]. Control and Decision, 2021, 36(10): 2459-2466.
[2]
张欢. 基于节点交易密度的WSN信任计算方法仿真[J]. 计算机仿真, 2022, 39(1): 370-374+464.
ZHANG Huan. Simulation of WSN trust calculation method based on node transaction density[J]. Computer Simulation, 2022, 39(1): 370-374+464.
[3]
何少尉. 一种改进的无线传感器网络密度自适应冗余节点调度算法[J]. 电视技术, 2023, 47(8): 32-36.
HE Shaowei. An improved density-adaptive redundant node scheduling algorithm for wireless sensor networks[J]. Video Engineering, 2023, 47(8): 32-36.
[4]
常宇飞, 李重阳, 张爱军, 等. 差分进化花朵授粉算法的WSN节点部署策略[J]. 陆军工程大学学报, 2023, 2(1): 86-92.
CHANG Yufei, LI Chongyang, ZHANG Aijun, et al. Strategy of WSN node deployment based on differential-evolution flower-pollination algorithm[J]. Journal of Army Engineering University of PLA, 2023, 2(1): 86-92.
[5]
XIAO Jie , LI Chaoqun , ZHOU Jie . Minimization of energy consumption for routing in high-density wireless sensor networks based on adaptive elite ant colony optimization[J]. Journal of Sensors, 2021, 2021(2), 5590951.1−5590951.12.
[6]
ADHi L R, PAVALARAJAN S. Sling-shot spider optimization algorithm based packet length control in wireless sensor network and Internet of Things-based networks[J].International Journal of Communication Systems 2023, 36(4), 5406.1−5406.18.
[7]
王均刚, 丁惠倩, 胡柏青. 基于滑动窗口PSO-LSSVR的船舶轨迹预测模型[J]. 武汉理工大学学报, 2022, 44(12): 35-43,59.
WANG Jungang, DING Huiqian, HU Baiqing. Ship trajectory prediction model based on sliding window PSO-LSSVR[J]. Journal of Wuhan University of Technology, 2022, 44(12): 35-43,59.
[8]
徐瑞龙, 祁云嵩, 石琳. 基于Transformer模型和Kalman滤波预测船舶航迹[J]. 计算机应用与软件, 2021, 38(5): 106-111.
XU Ruilong, QI Yunsong, SHI Lin. Prediction of ship track based on transformer model and Kalman filter[J]. Computer Applications and Software, 2021, 38(5): 106-111.