高华金,江潇潇,金 婕,王永琦
(上海工程技术大学电子电气工程学院,上海 201600)
无线传感器网络由于其成本较低,且部署方便,已经被越来越广泛地应用在各个领域,如智能交通系统、灾害预防监测、生态环境监管等应用场景中[1-3]。不仅可以节省大量的人力成本,还可以更高效地完成任务。其中,对移动目标的跟踪是其最重要的功能之一。然而,传感器节点有其自身的局限性。对于传统的由静态节点组成的传感器网络,每个节点所携带的电量有限,这会导致整个网络的寿命受到影响。因此,在保证网络跟踪质量的同时,最大限度地减小网络的能耗成为了一大研究热点。
近年来,由于移动节点的能量较之普通节点不受限制,越来越多的学者开始着眼于研究使用移动节点来进行目标跟踪[4-7]。Kumar 等学者在文献[8]中提出了混合型传感器网络的概念,并将移动节点用于改进对目标位置的估计。孔令富等学者在文献[9]中研究了基于动态分簇的多移动机器人数据收集问题,提出了分布式的启发性WSN 数据收集算法。这两种方法中的移动节点虽然在整个网络中起到重要作用,但是并没有被直接用于跟随目标实施跟踪。Tan 等学者在文献[10]中提出了一种加入移动节点的协同目标监测方法,该方法通过在网络中加入协同工作的移动节点来提高目标监测的性能,但是该方法只是在发现目标阶段加入移动节点进行决策,并没有参与后续的持续跟踪;HanwangQian等学者在文献[11]中提出了一种在静态网络中加入移动节点的跟踪策略,节点在整个过程中参与跟踪并减少了参与跟踪的静态节点的数量,但只是让移动节点向目标靠近,并没有考虑节点几何分布对跟踪精度的影响。因此,本文在加入移动节点的基础上,设计了一种综合考虑跟踪精度和能耗的混合网络进行目标跟踪。仿真结果表明,该方案在保证了跟踪精度的同时降低了网络能耗,延长了网络寿命。
为量测方差为σ2的量测噪声。
CPCRLB 是在已知过去所有k 时刻的量测值z1:k的条件下,得到在k+1 时刻一个新的量测zk+1时,k+1 时刻所要估计的目标状态xk+1的性能,即:
CPCRLB 表示的是对目标估计出来的状态的一个误差下界,代表了传感器节点能够得到的最好的估计效果。而且CPCRLB 还表示的是实现目标跟踪过程中其状态的一个比较精准的预测性能边界,所以,在WSN 中让其成为节点选择的依据是非常合适的。并且这个指标与滤波器实现的估计误差有关,所以我们可以把有关x 方向位置和y 方向位置的CPCRLB 矩阵中的迹的逆作为传感器节点选择的准则。定义一个效用函数:
整个网络由大量静态节点、4 个移动节点和一个基站构成,静态节点采用随机布设的方式,随机地分布在整个跟踪区域内。如图1 所示,整个区域被一条水平参考线和一条垂直参考线均匀地分割为4 个矩形部分,左上、右上、左下、右下分别为第1、第2、第3、第4 个区域,每个区域的中心位置安置一个移动节点,每个移动节点仅负责对其所在区域中出现的移动目标进行跟踪,与此同时,其他未出现目标的区域的移动节点处于休眠状态。基站位置设在整个区域的中心点。
图1 节点布设示意图Fig.1 Node layout diagram
每一时刻,仅有一个移动节点和两个静态节点参与跟踪,作为当前时刻的任务簇。预测机制被触发时,其余3 个移动节点被唤醒,朝着距离目标下一时刻的预测位置最近的位置移动,但不能超出移动节点自身所在的范围。一旦目标越过当前移动节点所在区域而到达另一区域,则由另一区域的移动节点接替之前的移动节点,继续参与目标跟踪,直至完成整个跟踪任务。采用此方案是为了更高效地进行传感器管理,提高传感器的空间利用率。如果不采取分区域管理的方式,而只是一个移动节点全程跟踪目标,很容易造成“空间浪费”,如图2 所示,即此刻如果移动节点原来所在的区域突然出现新的目标,则系统无法及时分配移动节点去跟踪目标,造成跟踪精度的下降,还可能会丢失目标,大大降低了整个系统的空间利用率。而采取此跟踪策略,可以有效避免这一情况的发生,移动节点的分区域管理可以保证在任何时刻,任何区域都有移动节点存在,不会存在“空间浪费”,大大降低了目标丢失的概率。如图3 所示,即使突然出现新的目标,系统也能及时的为其分配移动节点来对其进行跟踪。
图2 单移动节点目标跟踪场景Fig.2 Single mobile node target tracking scenario
图3 多移动节点目标跟踪场景Fig.3 Multiple mobile nodes target tracking scenario
2.2.1 移动节点控制
对于移动节点,设定每次时间步长仅有一个移动节点参与跟踪,由于假设其能量无限,因此,不必考虑其能耗,仅考虑跟踪精度这一指标作为其移动位置的依据,这里采用启发式方法,如图2 所示。如果k 时刻第i 个象限内移动节点的实际控制位置为那么k+1 时刻移动节点控制集合为,则选择所有可能的移动节点位置为:
其中,Nθ=16,NR=4 则总共对应65 种控制方案(包括原地不动)。vs,c是移动节点自身容许的控制速度,设为5 m/s。每一时刻,移动节点都朝着目标的预测位置移动,尽可能地减少与目标之间的距离。移动节点与目标预测位置的距离为:
图4 传感器运动方向控制示意图Fig.4 Sensor movement direction control diagram
则移动节点下一步的控制指令为:
2.2.2 静态节点选择
目标跟踪的节点选择目的是在更少资源消耗的情况下实现更好跟踪精度。在实际跟踪场景中,影响传感器检测效率的因素有很多,如传感器的传感功率、环境条件和目标特性等[14]。本文使用了上文中推导出的信息效用函数,见式(14)。
每次时间步长中,对于静态节点,从所有候选节点集S*中依据此指标选择一个节点子集作为任务簇参与目标跟踪:
2.2.3 基于运动学的预测机制
在跟踪过程中引入预测机制,可以更好地实现对目标的跟踪效果。设置一个阈值,当目标运动到距离水平参考线或垂直参考线的距离小于阈值lr=80 m 时,预测机制被触发。此时,基站作为调度中心开始依据运动学原理,预测出目标下一个可能到达的位置,提前让其他区域的移动节点向目标的预测位置移动,在不移动出其所监测的区域地条件下,尽可能地离目标更近一些,直到目标离开当前区域。
其中,Xpre为基于运动学预测的目标下一时刻的位置,Vk,Vk-1分别表示目标当前和上一时刻的速度,t表示采样周期。移动节点就会依据此预测结果来选择自己下一时刻的移动位置,使得尽可能地靠近目标的预测位置,即:
其中,d 表示移动节点的位置距离目标预测位置Xpre的距离。
算法的具体过程如下:
Step1:k=0 时刻,按如图1 所示结构布设节点,初始时刻所有节点均处于休眠状态,并初始化目标位置;
Step2:计算目标的预测位置,并计算预测位置到各参考线的距离是否小于阈值lr,若小于阈值,则转到Step3,否则转到Step4;
Step3:预测机制被触发;
Step4:根据等式(19)来计算并确定移动节点的运动方位和步长;
Step5:根据等式(20)来计算并选取静态节点;
Step6:静态节点将量测数据发送给移动节点,由移动节点来作为中转节点,将静态节点和自身的量测数据一起发送给基站,再由基站根据所获得的量测数据进行粒子滤波,计算得到目标的状态估计;
Step7:k=k+1 时刻,重复Step2~Step6。算法流程图如图5 所示。
图5 算法流程图Fig.5 Algorithm flowchart
本文所采用的能耗模型是基于传感器、微处理器和收发器等不同功能模块的功率和激活时间[15],因此,为任务节点消耗能量有3 个主要方面,即目标传感、数据处理和数据通信[16]。假设静态节点在休眠状态下不消耗能量,移动节点消耗的能量也可以忽略不计,因为它们由于具有移动性,从而可以实现为其充电。
让Esp表示目标感知和数据处理中静态节点Si的能耗,在本工作中视为常数。对于从Si传输到Sj的数据,其在rij距离上传输bc比特数据的能耗为:
其中,et和ed为固定参数,由传感器硬件决定,l 取决于信道特性,假定位常数。节点Si从其他节点接收bc比特数据的能耗为:
其中,er也为固定常数,由传感器硬件部分决定。因此,Si作为簇成员节点在单位步长时间内的总能耗为:
其中,MN 代表了移动节点,它承担把静态节点传输的数据转发到基站的任务。
本次实验针对单目标进行跟踪,将所提算法与传统静态网络下的跟踪进行比较。本次实验在700 m×700 m 的范围内进行跟踪,量测模型采用纯方位量测模型,角度方差为6°,基站位置为(250,125)。本次实验采用CV 模型,每个节点初始状态的能量均为2 J,状态转移矩阵F、过程噪声协方差矩阵Q 分别为:
其中,采样周期t=1 s。
这里,用粒子滤波器来实现目标跟踪任务和传感器管理算法的计算,采用100 次蒙特卡洛仿真来验证实验结果。
目标运动轨迹如图6 所示。红色三角形表示目标初始时刻位置,蓝色虚线为目标的运动轨迹,在整个运动过程中,目标从第3 个区域最终运动到第2 个区域。
图6 目标运动轨迹图Fig.6 Target trajectory diagram
将本文算法与不带预测机制的情形、仅依据检测概率、随机选择等3 种算法进行对比,100 次蒙特卡洛的实验结果如下所示。其中,PreHybrid 表示本文所提算法;Hybrid 表示去掉了预测机制的本文算法,从而进一步体现了预测机制的作用;Pd 表示检测概率算法,即仅选择预测概率较高的节点参与目标跟踪;Random 表示随机选择节点进行目标跟踪的算法。
图6 展示了不同算法对目标运动的跟踪轨迹。图7 更直观地展示了这一过程,展示了不同算法在各个时刻的RMSE,可以看出,由于随机法每次选择的节点不确定,所以其RMSE 波动较大,不太稳定,因而其平均RMSE 也明显大于其他几种算法。Pd 的跟踪误差小于Random,但同样明显大于本文提出的算法。本文提出的算法,带预测机制比不带预测机制的跟踪误差略小。图9 展示了目标运动过程中能耗的变化,可以明显看出,Random 的能耗最大,Pd 的能耗略小于Random,而Hybrid 和PreHybrid的能耗远小于以上两种算法,并且PreHybrid 的能耗要略优于Hybrid。
图7 不同算法的估计结果与目标实际轨迹对比Fig.7 Comparison between the estimation results of different algorithms and the actual trajectory of the target
图8 不同算法的跟踪误差Fig.8 Tracking error of different algorithms
图9 不同算法的能耗对比图Fig.9 Comparison chart of energy consumption of different algorithms
可以看出,在跟踪时间t 在0 s~30 s 时,Hybrid和PreHybrid 在RMSE 和能耗上差别很小,而在30 s以后略微有些差别,这是因为在t=30 s 时,本次实验的目标已运动到下一个区域,此时,PreHybrid 算法中的预测机制开始显示其优越性。引入了带预测机制的算法,可以提前唤醒其他区域的移动节点,并让其更早地朝着目标的下一时刻预测位置移动,当目标移动到下一区域时,该区域的移动节点可以距离目标更近,因此,理论上跟踪误差和能耗也会更小,图10 和图11 为预测机制的触发过程。它展示了目标跟踪过程中移动传感器的运动路径,其中红色方块为移动传感器节点的起始位置,蓝色星号标志为传感器运动的终点,圆圈表示移动传感器每一步运动的位置,并用绿实线连接。黑色实线表示目标的运动轨迹,红色三角标志为目标的起始位置。图9 表示在预测机制被触发前,只有一个移动节点在参与目标的跟踪,其余3 个移动节点则在自己的监测区域内保持静止。当目标运动到距离水平中心线或垂直中心线的距离小于阈值时,预测机制被触发,此时其余移动节点接收到指令,开始朝向目标的每次预测位置来移动,使得自身的位置距离目标的预测位置最近。如图10 所示,当目标移动到下一个区域的时候,移动节点会距离目标相对较近,从而理论上具有更好的跟踪效果。因此,在t=22 s 以后,PreHybrid 算法在能耗上和跟踪精度上都要优于Hybrid 算法。
图10 预测机制触发前移动节点运动轨迹Fig.10 The trajectory of the mobile node before the prediction mechanism is triggered
图11 预测机制被触发后移动节点运动轨迹Fig.11 The trajectory of the mobile node after the prediction mechanism is triggered
由此可知,与传统的静态网络相比,由于移动节点的参与,增加了节点的灵活性,使跟踪精度更好,并由移动节点来充当簇头节点承担与基站通讯任务,可以大大节约能耗,因此,本文算法在能耗上的表现显然要更优秀,远远小于其他算法的能耗。
为了解决无线传感器网络在目标跟踪中存在的能耗问题,将移动节点引入静态网络组成混合网络,设计了动、静节点之间相互协同工作的目标跟踪算法。该方法综合考虑了跟踪精度和能耗对跟踪质量的影响,在保证跟踪精度的同时最大限度节约了网络能耗,具有良好的跟踪效果。