莫磊 胥布工
(华南理工大学自动化科学与工程学院,广东广州510640)
无线传感器网络(WSN)是由大量传感器节点通过无线通信技术自组织构成的网络,它集成了传感器、计算机、通信与信号处理等多个领域的技术.其目的是感知、采集和处理网络覆盖范围内感知对象的信息,是以数据处理为中心的系统.为了获取精确的信息,在监控区域内通常部署大量传感器节点.随着传感器节点个数的不断增多,传统的集中式算法已经不能满足当前需要.因为传感器节点的资源十分有限,由单个节点承担所有任务容易造成节点的过早衰竭,形成路由空洞,所以必须采用高效的协同算法.无线传感器节点大多部署在环境复杂的区域,通常采用电池供电,能量供应十分有限,因此如何合理、高效地利用现有资源来最大化网络节点的生命周期一直是研究的热点,而能量模型的建立与优化是进行能效分析的关键因素[1-5].
针对WSN,人们已经提出了许多的能量模型,文献[2]中根据电磁场能量扩散理论和电路能量消耗理论,推导出传感器网络中普通节点、汇聚节点和簇首节点的能量模型.文献[3]中通过实验数据分析了具有通信和计算能力的节点在固定模态下的能量消耗及寿命.文献[4]中提出了基于功率控制管理的MSN能量模型,通过对无线功率的动态分配及采用不同的休眠机制来提高能效.文献[5]中提出了一些降低网络能耗的策略,如选择高能效的调度算法、低功耗的处理器和传感器或高容量的电池等.但上述能量模型大多是基于网络拓扑结构、路由协议能耗的优化策略或单个能耗部件固定状态而建立的,极少考虑硬件底层及状态转换机制的耗能情况,模型较为粗略.为此,文中从无线传感器节点的整体角度出发,对节点的各主要能耗部件的工作状态及转换关系进行了分析和建模,优化节点的调度跟踪算法,以减少节点间的数据通信量,达到降低节点整体能耗、延长网络寿命的目的.
现有WSN定位跟踪研究主要集中在跟踪算法的理论性分析上[6],为了能对WSN定位跟踪算法的实际性能进行测试、分析及优化,缩小理论与实际之间的差距,文中设计并构建了一套WSN目标跟踪实验物理平台,该平台的架构如图1所示.
图1 实验平台架构Fig.1 Structure of test bed
该实验平台主要由硬件和软件两部分组成,其中硬件部分包括:(1)由Micaz节点、SRF08超声波传感器、GH718被动红外传感器(PIR)和7.2V锂电池组成的无线传感器节点;(2)由Micaz节点与MIB510网关组成的无线数据收发基站;(3)用户端电脑.软件部分包括用Labview开发的上层监控系统和实现调度算法的下层节点NesC嵌入式程序.
SRF08超声波传感器与Micaz节点间通过MDA100CB数据采集板来连接.基站与用户端通过RS232接口相连,用户端电脑可以接收传感器节点发送上来的数据,实时显示目标的状态信息.SRF08超声波传感器的探测范围为一个约60°的扇形,处于监控区域中心位置的节点安装6个SRF08超声波传感器,4个角上的节点安装2个,其余位置的节点安装3个.节点的测距模式为多传感器同时触发,从中选取最小的测量值作为目标测距值.为了减少节点间的相互干扰,节点应均匀分布,且超声波传感器的探测距离要与节点间距相互配合.
PIR可以感应目标的存在,仅让目标附近的超声波传感器处于工作状态,而且PIR不会主动向外发射能量,所以自身的能耗极小,能够很好地节省节点能量.GH718 PIR的感应角为110°,有效距离为2m,安装位置和个数与超声波传感器一一对应,两者之间通过触发控制电路连接.
在跟踪过程中,为了节省节点能量,形成有效的跟踪组管理机制,文中采用了唤醒/休眠方法,即根据目标当前的位置进行节点动态分簇:随着目标的不断移动,目标附近的节点自发地形成动态跟踪簇,负责目标的检测与跟踪,而远离目标的节点则进入休眠状态,跟踪过程如图2所示.
图2 移动目标跟踪过程示意图Fig.2 Schematic diagram of tracking process ofmoving target
节点动态分簇算法描述如下:
Dt满足为节点间距,在实际平台中D=1.2m,Dt=1.5m.节点的状态信息包括节点标识号id和节点坐标(x,y).每个节点的簇队列表包括了簇内节点的个数以及各节点的标识号.每启动一个节点更新一次簇队列表,待全部节点启动完毕后,每个节点都形成了自己的簇队列表,从而建立了整个网络的簇队列表.通过上述动态分簇,每个簇在每轮的跟踪过程中都有其相应的活跃期与休眠期,既能节约节点能量,又能有效地减少簇内节点间的信道干扰.
从该平台的硬件结构来看,耗能部件包括:Micaz节点、SRF08超声波传感器和GH718PIR.其中Micaz节点的主要耗能部件包括微处理器(CPU)、无线通信模块(CC2420)、数据采集板(MDA100)和存储单元(EEPROM),各部件的每个状态组合在一起形成了整个节点的状态.能量模型的精确程度取决于纳入计算范围的部件种类、工作流程及执行时间.
建立能量模型的基本思路是在节点跟踪过程中,根据源代码的实际执行情况决定操作哪些耗能部件,针对工作的耗能部件,通过程序流程计算该部件的工作时间,再乘以相应工作模式下的功率得出该部件在这个工作任务过程的能耗,把工作任务所调用的所有部件的能耗累加起来就得到节点为完成这个工作任务的总能耗.在文献[7-8]的基础上,文中建立的无线传感器节点各部件的工作状态及能耗模型参数如表1所示.其中SRF08超声波传感器的测距持续时间为65ms.
表1 传感器节点的能耗Table 1 Energy consumption of sensor nodes
结合实际平台,根据纳入功耗计算的部件,文中建立的功率矩阵是一个6×3的矩阵:
相对于集中式算法,分布式协同算法由于采用了模块化计算与控制,数据传输的开销、丢包和时延更小,因而更适合于无线传感器网络.节点间的协同工作可降低单节点失败的风险,缩短跟踪采样周期,具有良好的扩展性和可靠性.
由于传感器节点的计算、存储和通信能力都是十分有限的,复杂的调度算法难以在由资源有限的节点组成的实际平台中实现.所以文中提出了一种易于在实际平台中实现的能量均衡协同调度算法,把复杂的跟踪问题分解为可以运行在资源有限的传感器节点上的子任务.
在扩展卡尔曼滤波器(EKF)预测方程中,第k步的目标状态误差协方差矩阵为式中:状态估计误差为数学期望函数;目标状态的最小均方估计误差,即
也就是说,目标状态估计误差协方差矩阵的迹表示了跟踪精度.因此,误差协方差矩阵的迹越大表示跟踪精度越差,反之表示跟踪精度越好.
作为任务节点的簇首节点会触发超声波测距,根据上一时刻的目标状态和当前节点的测量值,通过EKF更新目标的状态信息并把该信息广播出去,用户端电脑可以接收并显示相应的运动轨迹.
当簇首节点广播目标状态信息后,会启动一个等待返回信息定时器,如果在规定的时间tw内没有收到簇内节点返回信息J(k),则认为其它节点的综合性能指标太差,自己仍然作为下一时刻的任务节点.簇内节点的延时返回时间tr与综合指标的大小J(k)成正比,即tr=KJ(k),表明最先返回信息的是簇内综合指标最好的节点.簇首节点接收到第一个返回信息后立即广播停止命令,使得其余节点停止当前任务并处于休眠状态,然后比较自己的和接收到的综合指标,从中选取最优的作为下一时刻的任务节点.这种分布式协同算法能够很好地处理簇内节点信息不足或冗余的情况,减少单节点失效的风险,提高系统的可靠性及执行效率.
文中在节点调度策略中加入了能量模块,在保证跟踪精度的同时考虑了节点的剩余能量,均衡节点间的能量消耗,避免由于同一节点多次作为簇首而造成该节点的过早衰竭,形成路由空洞.传感器节点调度的综合性能指标为
式中:α为迹权重因子;θ为能量匹配因子,用于使能量与迹的大小处于同一数量级上;EL(·)为节点的剩余能量.α的值取决于实际系统的性能指标要求,文中取α=0.5.
能量均衡协同调度算法描述如下:
在该调度算法中,tw与tr的相互配合是算法能否顺利实现的关键.若簇内各节点的tr相差不大,则多个返回信息会同时发送回簇首节点,造成任务流程的突然中断.若tw和tr过长,则会增大节点的采样周期,当移动目标速度突变或转向过快时,容易造成跟踪目标的丢失.为了建立与功率矩阵对应的时间矩阵,计算节点的能耗及剩余能量,需要详细分析算法的时序流程及部件间的工作状态转换.
节点的硬件特性是确定时序流程的关键因素.Micaz通信模块的数据发送速率为250 kb/s.在数据发送前,TinyOS会有一个信道侦听过程,持续时间约为8.200ms[9].EEPROM的读取时间约为0.565ms,写入时间约为12.900ms.执行一次EKF算法的时间约为8.500ms[9].超声波测量值的采样周期要与探测范围相互配合,在实验平台中设置为70ms,根据各部件工作参数及调度算法流程,可以得到调度算法的时序分析如图3所示.
图3 调度算法的时序流程图(单位:ms)Fig.3 Flowchart of sequence of scheduling algorithm(Unit:ms)
通过平台实验数据可知tr(P)通常处于15~25之间,通过仿真实验可得EL的大概分布,通过设置K及θ使tr约为15~25ms.根据tr设置簇首节点的tw为80ms,则传感器节点的采样周期Ts约为130~220ms.由于文中实验平台是一个变采样周期系统,且通过硬件特性会引入一些随机误差,如丢包、时延、测量噪声等,所以该平台对移动目标速度的大小及形式有一定的要求.
根据协同调度算法时序及与平台对应的功率矩阵,文中建立了一个6×3的时间矩阵T:
式中,tc_a和tc_i分别为处理器模块在工作和空闲模式下的工作时间,tr_t、tr_r和tr_i分别为无线发送模块在发送、接收和空闲模式下的工作时间,te_r和te_w分别为存储模块在读取和写入模式下的工作时间,tm为数据采集板的工作时间,ts_a和ts_i分别为超声波传感器在工作和空闲模式下的工作时间,tp为被动红外传感器的工作时间.
在目标跟踪过程中,节点按照其工作状态可分3种:(1)簇首节点,负责目标的检测;(2)簇内节点,参与跟踪任务的计算与通信;(3)簇外节点,处于休眠状态.各类节点能耗部件的工作时间是不一样的,所以相应的时间矩阵也不同,簇首、簇内成员和簇外节点的时间矩阵分别为
所以节点在完成第l次计算周期的耗能Enl为
则节点的剩余能量为
式中,Eini为节点的初始能量为节点消耗的能量.根据节点类型,计算相应的功率矩阵和时间矩阵,就可以得到无线传感器网络内节点的剩余能量.
在无线传感器网络节点中,通信模块消耗了大量的能量[10],从图3中可知,数据通信量主要集中在簇首节点向簇内节点发送目标状态信息时,所发送的信息体中包含了16 b的发送信息节点标识号id、16b的接收节点的地址信息add、8 b的接收节点所要执行的命令代码cmd、128 b的目标状态信息和512 b状态误差协方差矩阵,其中X和P所含的数据量最大.因为发送的比特数越多,耗时和耗能就越大,为了节省通信能耗,延长网络寿命,提高数据传输的实时性,文中使用二维坐标量化器和压缩卡尔曼滤波算法(CKF)来对状态X和矩阵P进行量化处理.
Gersho等[11]已经证明了最优的二维均匀量化器是六边形量化器,但对于追踪问题,需要对目标位置信息进行实时处理.结合菱形量化器易于实现和数据量化实时性高的特点,文中在文献[12]的基础上设计了一种带预量化的六边形均匀量化器,其结构如图4所示.其中f(x)为一个非线性变换,其作用是把以六边形划分的平面区域映射为相对应的菱形区域,表达式为
式中:n为搜索系数,由x和量化器采样步数Δ决定.
图4 二维坐标量化器的结构Fig.4 Structure of two-dimension quantizer
通过以上算法,可以用量化坐标信息索引号(i,j)来代替目标坐标(x(k),y(k)),而对于目标速度(vx(k),vy(k)),可以使用相同的方法进行量化,所以量化信息中包含了坐标信息索引号和式(9)对角线上的元素.经过数据量化算法处理后,目标状态信息量由原来的128b压缩为32 b,而且只需发送4个32b的浮点型数据就可以代替原来由16个32 b的浮点型数据组成的矩阵,减少了节点间的数据通信量,节省了通信能耗,提高了数据传输的实时性.
构建的WSN跟踪平台部署在一个3.6m×3.6m的方形区域内,其中均匀分布的16个传感器节点作为位置已知的固定节点,节点间距为1.2m,以Mobile-Robots公司的AmigoBot应用型机器人作为移动跟踪目标,机器人的运动轨迹为“2”字型,速度约为0.35 m/s.上层Labview监控系统可实时显示接收到的传感器节点监测数据,即移动目标机器人的状态信息,并将其保存在Excel表格中,通过Matlab7.0读取这些数据并对其进行分析.移动目标运动轨迹如图5所示.从图5可知:在目标起步处,由于速度突变,采样点间隔变化较大;在转弯处,由于运动变向,偏离了系统的常速率模型,跟踪误差较大,但平台采用的EKF跟踪算法通过引入实际测量值来校正误差,所以在随后的过程中误差逐渐减小.
为进一步分析文中算法的跟踪性能、误差和能耗,使用Matlab7.0进行仿真,仿真参数设置如下:监测区域12m×12m,N=121,超声波传感器测距范围Ds=1.6m,Dt=1.5m,Micaz节点电压Vm=3.3V,超声波、被动红外传感器电压Vs=Vp=5V,节点的Eini=8000mJ.调度算法的跟踪效果见图6.
图5 移动目标的状态信息Fig.5 Statemessages ofmoving target
图6 文中调度算法的跟踪效果Fig.6 Tracking effects of proposed scheduling algorithm
图7给出了传感器节点的剩余能量分布图.从图7(a)可知,在使用PIR前,传感器节点的剩余能量主要分为4个等级,剩余能量约为7950、7930和7880mJ的节点上分别安装了2、3和6个超声波传感器,这3种节点属于簇外节点,在目标跟踪过程中没有被调度使用过,各能耗部件均处于休眠状态;其余节点属于成簇节点,参与了目标的检测与跟踪,调用了相应的能耗部件,而其中的簇首节点承担了大部分的检测和通信任务,所以剩余能量是最少的.
对于没有成簇的节点来说,由于相互间没有通信和计算,数据无需压缩量化,节点的工作状态及能耗都是一样的,从图7(a)中可知有无量化器的簇外节点的剩余能量是一样的.对于簇内节点来说,量化器的引入减少了数据通信量,提高了节点的剩余能量,特别是对于发送信息较多的簇首节点,如图7(b)所示.经过数据量化后,数据通信量由原来的680b减少为200 b,发送时间由原来的2.6ms减少为0.7ms,平均剩余能量由原来的7842mJ上升为7850m J,簇首节点的剩余能量分布如图8所示.
图7 传感器节点的剩余能量分布Fig.7 Distribution of left energy of sensor nodes
图8 簇首节点的剩余能量Fig.8 Left energy of cluster-head nodes
从图7(a)中可知,使用PIR后,簇外节点的剩余能量约为7980m J,这是因为簇外节点远离目标,超声波传感器在PIR的控制下处于关断状态,其余部件均处于空闲状态.只有在目标周围的成簇节点才会消耗较多的能量,但由于使用了PIR,无论是簇首还是簇内成员,都减少了触发超声波和可用超声波的个数,经过一次跟踪任务后,使用最小迹调度算法的节点平均剩余能量约为7893mJ,而使用文中调度算法和PIR后节点的平均剩余能量可提高到7980mJ.
数据量化算法的使用会引入量化误差,平均跟踪误差由原来的1.565%变为2.111%,跟踪误差比较如图9所示.实验及仿真结果表明,使用文中调度算法可均衡节点间的能量消耗,减少数据通信量,且该算法实现简单,可运用到实际跟踪系统中去.
图9 两种调度算法的跟踪误差比较Fig.9 Comparison of tracking errors between two scheduling algorithms
为了满足目标跟踪性能指标,延长网络寿命,文中提出了基于能量优化的协同调度跟踪算法,该算法易于在资源有限的实际平台中实现.在节点调度过程中,簇内节点都承担了跟踪任务,减少了簇头节点的数据存储量和计算量,提高了目标跟踪的实时性和可靠性.该调度算法综合考虑了跟踪误差和剩余能量,均衡了节点间的能耗.在节点通信过程中,使用了量化器对数据进行压缩量化,减少节点的通讯能耗,同时采用了双重唤醒/休眠机制来提高节点的剩余能量.因此,文中调度算法能有效地节省网络能耗,避免因节点过快衰竭造成的测距不准而形成路由空洞,尽可能地延长了传感器网络的寿命.
[1]曾明,危阜胜,陈冠升,等.面向目标跟踪的WSN协同调度策略及拓扑控制[J].华南理工大学学报:自然科学版,2010,38(6):60-65.Zeng Ming,Wei Fu-sheng,Chen Guan-sheng,et al.Collaborative scheduling strategy and topology control for target tracking in wireless sensor networks[J].Journal of South China University of Technology:Natural Science Edition,2010,38(6):60-65.
[2]杨余旺,于继明,赵炜,等.单跳无线传感器网络能量分析计算[J].南京理工大学学报:自然科学版,2007,31(1):81-84.Yang Yu-wang,Yu Ji-ming,Zhao Wei,et al.Energy analysis and computation of single-hop wireless sensor networks[J].Journal of Nanjing University of Science and Technology:Natural Science Edition,2007,31(1):81-84.
[3]Healy M,Newe T,Lewis E.Power management in operating systems for wireless sensor nodes[C]∥Proceedings of IEEE Sensors Applications Symposium.San Diego:IEEE,2007.
[4]Qun S.Powermanagement in networked sensor radios network energy model[C]∥Proceedings of IEEE Sensors Applications Symposium.San Diego:IEEE,2007.
[5]Rhee S,Seetharam D,Liu S.Techniques for minimizing power consumption in low data rate wireless sensor networks[C]∥Proceedings ofWireless Communications and Networking Conference.Cambridge:IEEE,2004:1727-1731.
[6]Savarese C,Rabaey J,Beutel J.Location in distributed adhoc wireless sensor networks[C]∥Proceedings of IEEE International Conference on Acoustics,Speech,and Signal Processing.Salt Lake City:IEEE,2001:2037-2040.
[7]Victor S,Mark H,Borrong C,et al.Simulating the power consumption of large-scale sensor network applications[C]∥Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems.Baltimore:ACM,2004:1163-1174.
[8]Texas Instruments Inc.Chipcon AS smartRF CC2420 preliminary datasheet[DB/OL].(2004-06-09)[2010-10-08].http:∥focus.ti.com/analog/docs/enggresdetail.tsp?familyId=367&genContentId=3573.
[9]Yue K T,Xiao W D,Xie L H.A wireless sensor network target tracking system with distribute competition based sensor scheduling[C]∥Proceedings of International Conference on Intelligent Sensors,Sensor Networks and Information Processing.Melbourne:IEEE,2007:636-642.
[10]Deborah E.Wireless sensor networks tutorial part IV:sensor network protocols[C]∥Proceedings of the ACM Mobile Computing and Networking.Atlanta:ACM,2002:23-28.
[11]Gersho M,Gray R M.Vector quantization and signal compression[M].Boston:Kluwer Academic Publishers,1991:333-337.
[12]Kerry D R,Neal C G.The design of two-dimensional quantizers using prequantization[J].IEEE Transactions on Information Theory,1982,28(2):232-239.
[13]Lin JY,Xie L H,Xiao W D.Target tracking in wireless sensor networks using compressed Kalman filter[J].International Journal of Sensor Networks,2009,6(3):251-262.