Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

第 36 卷 第 14 期 计 算 机 工 程 2010 年 7 月

Vol.36 No.14 Computer Engineering July 2010

·网络与通信· 文章编号:1000—3428(2010)14—0093—03 文献标识码:A 中图分类号:TP301.6

基于虚拟力的自组织覆盖算法
邹 磊,蔡自兴,任孝平
(中南大学信息科学与工程学院,长沙 410083)

摘 要:针对随机部署的无线传感器节点,提出一种基于虚拟力的自组织覆盖算法。将排斥力、引力、边界约束力这 3 种虚拟力作用于网
络中的每个节点,使聚集在一起的节点分散开,引入节点间距离的阈值、边界节点与边界距离的阈值实现对感兴趣区域的最大覆盖。实验
结果表明,该算法在保证连通性的基础上有效扩大了覆盖区域,具有较强实用性。
关键词:无线传感器网络;虚拟力;区域覆盖

Self-organization Coverage Algorithm Based on Virtual Force


ZOU Lei, CAI Zi-xing, REN Xiao-ping
(School of Information Science and Engineering, Central South University, Changsha 410083)

【Abstract】This paper presents a self-organization coverage algorithm based on virtual force aiming at the Wireless Sensor Network(WSN) nodes
which are randomly deployed. It utilizes three kinds of virtual forces including repulsive force, gravity and border constraint force apply to each
network node to separate the aggregate nodes, introduces the threshold among nodes and the threshold between node and border to realize maximize
coverage of the interested area. Experimental results show that this algorithm can validate coverage area effectively on the base of ensuring
connectivity, and it has well utility.
【Key words】Wireless Sensor Network(WSN); virtual force; area coverage

1 概述 盖算法。
无线传感器网络(Wireless Sensor Network, WSN)[1]是综 2 基于虚拟力的自组织覆盖算法
合传感器技术、嵌入式技术、信息处理技术和无线通信技术 2.1 基本模型定义
的一个新兴计算机科学技术研究领域。由于不需要预先架设 传感器节点通常是随机散步在待监控区域内,存在大量
固定的基础设施,因此 WSN 具有部署快、灵活度高、抗毁 的重复覆盖区 域使得传感器 节点不能充分 发挥作用 [5] 。在
性强等特点,特别适用于军事战场、受污染环境等危险区域。 SOCVF 中,一个感兴趣区域中的每个节点都受到区域中其他
同时在生物医疗、智能家居、城市交通、空间探索等领域都 节点的力的作用,如果节点之间的距离小于预先设定的阈值
具有潜在的使用价值。 dbth ,则这个力使这些节点相互排斥,使得节点不会聚集重
无线传感器网络节点的部署方式分为确定性部署和自组 复覆盖一个子区域。记一个节点 S j 对 Si 处的作用力为 Fij ,
织部署 2 种。在一些未知或存在危险的环境中,确定性地部 则节点 Si 受到的作用力合力为 Fi ,即
署节点是不切合实际的,通常只能采取随机布置节点的方式, n
Fi = ∑ F ij
在这种方式下,节点一般通过自组织部署达到对感兴趣区域 j =1 j ≠ i

(Region Of Interest, ROI)的覆盖。本文提出基于虚拟力的自组 记节点 S i ( x , y ) 的邻居节点定义为


织覆盖算 法(Self-Organization Coverage algorithm based on L = {∀ ( S j ( x ', y ')) ∈ S | ( x '− x ) 2 + ( y '− y ) 2 ≤ Rc2 且 j ≠ i}
Virtual Force, SOCVF)可以使随机放置的传感器节点对感兴
假设 j 不是 i 的邻居节点,则 i 与 j 之间无作用力。
趣区域的覆盖最大化。
除了节点之间的排斥力外,为了能充分地覆盖整个感兴
文献[2-3]指出,随机部署的每个节点都受到 3 个虚拟力
趣区域,节点之间还存在引力,使得节点不会隔得太远,若
的作用:
对感兴趣区域的覆盖程度不同,节点之间的引力可以不同,
(1)障碍物的排斥力;
记作用于 Si 的引力也是一个矢量,称之为 FiA 。因此,作用
(2)由覆盖度引起的引力,引入这个力是为了保证节点不
至于隔得太远,而使得对感兴趣区域达到一定的覆盖度; 基金项目:国家自然科学重大专项基金资助项目(90820302);国家自
(3)节点之间的作用力。 然科学青年基金资助项目(60805027);国家博士点基金资助项目
在文献[2-3]中,节点之间不直接通信,而是通过簇头来 (200805330005);质检公益性行业科研专项基金资助项目(200810
通信,所有信息都通过簇头来转发。文献[4]提出一种分布式 002)
覆盖算法。在该算法中假设随机部署的节点都知道自己的位 作者简介:邹 磊(1985-),男,硕士研究生,主研方向:无线传感
置信息,引入一个节点密度的概念来计算节点之间的虚拟力。 器网络;蔡自兴,教授、博士生导师;任孝平,博士研究生
本文综合以上 2 种算法的思想,提出基于虚拟力的自组织覆 收稿日期:2010-01-15 E-mail:pcgamer2008@163.com

—93—
在一个节点 Si 的合力为 ⎧ MOV = (dbth − xi ) xi ≤ dbth
⎨ (4)
n
Fi = ∑ Fij + FiA (1) ⎩ MOV = (dbth − yi ) yi ≤ dbth
j =1 j ≠i

特别地,由于对感兴趣区域进行覆盖检测,针对图 1 中
的情况,在区域边界聚集了大量的节点,若按上述规则进行 dbth dth
节点移动,那么必然有若干节点会“排斥”感兴趣区域,则 S1 H S2
浪费了一些传感器节点的覆盖能力。
O

S3

图3 边界节点的情况

若在一个子区域中节点数量相对密集,则节点之间相互
的排斥力会使得节点分开,而不会挤在一起,且对一个子区
图1 存在大量边界节点的情况 域重复覆盖。由于有引力的存在,使得节点之间的距离不会
在节点之间的排斥力和引力之外,感兴趣区域的边界对 超过阈值,从而能使得节点在区域中均匀分布,使整个区域
节点也存在一个约束力 Fb ,使得节点不会被“排斥”到区域 的覆盖最大化。
外。区域边界节点的合力为 2.2 算法描述
n 本文对无线传感器模型做以下假设:
Fi = ∑ Fij + Fi + Fb (2)
j =1 j ≠i (1)传感器的感知模型为二进制圆盘模型;
对于图 2(a)中的覆盖情况,此时相邻的 3 个传感器的感 (2)传感器的通信半径 Rc 大于等于 2 倍的感知半径 Rs ;
知区域没有重叠的部分,但是在 3 个传感器的中间阴影部分 (3)随机部署后的所有节点都知道自己的位置信息。
出现了一个“盲区”,因此,必须再使用另外一个传感器节点, 相关符号说明如下:
使其位于这个“盲区”中才能完全覆盖这个区域。 A :需要实现覆盖的感兴趣区域;
G :所有传感器节点的集合;
i :传感器节点的 ID,每个传感器拥有不同的 ID;
d (i, j ) :节点 i 和节点 j 之间的欧式距离;
Li :节点 i 的邻居列表;
d th :节点之间的距离阈值;
dbth :节点与边界之间的距离阈值。
(a)无重叠出现盲区 本文算法具体过程如下:
(1)区域 A 中的每个节点周期性地广播 HELLO 信息,
HELLO 信息中包括节点的 ID 号和位置信息 ( xi , yi ) 。
(2)若节点 i 收到 j 节点的 HELLO 信息,更新 Li 信息。
(3) 通 过 Li 中 的 位 置 信 息 计 算 节 点 i 与 邻 居 的 距 离
d (i, j ) 。若节点是边界节点,则计算节点与边界的距离 db ,
并转向(5),否则转向(4)。
(4) d (i, j ) 与阈值 dth 比较,若 d (i, j ) 小于 dth ,则转向(6),
(b)有重叠无盲区
否则转向(3)。
图2 传感器之间的重叠 (5)将 db 与 dbth 比较,若 db 小于 dbth ,则转向(6),否则
对于图 2(b)中的情况,3 个传感器节点的感知区域有部 转向(3)。
分重叠,并相交于一点,虽然有一部分的重叠,但是对于 (6)节点 i 通过式(3)、式(4)计算需要移动的距离。移动到
图 2(a)节省了一个传感器节点,由于计算出的节点之间的距 新的位置并通知其他节点。
离 S1S2 为 3R ,因此本文将节点之间距离的阈值 d th 设定为 (7) ∀i ∈ G , i 达到平衡状态,即不需要移动,算法结束。
3R 。若节点 Si 与节点 S j 之间的距离小于 3R ,则说明两者 3 实验及结果分析
在 Matlab 环境下对该算法进行仿真。实验过程中分析和
之间的距离过近,每个节点需要移动的距离为
评价了节点对感兴趣区域的覆盖质量,利用覆盖程度和覆盖
MOV = (dth − ( xi − x j )2 + ( yi − y j )2 ) / 2 (3)
效率来评价该算法的有效性,2 个指标具体定义如下:
对于图 3 中的情况, S3 H = 3Rs / 2 ,则区域边界与边界节 (1)覆盖程度:为所有节点覆盖面积的总和与整个目标区
点的距离阈值为 dbth = Rs / 2 。若边界节点 Si 与边界之间的距 域面积的比值。
离小于 dbth ,则节点需要移动的距离为 (2)覆盖效率:为区域中所有节点覆盖范围的并集与所有

—94—
节点覆盖范围总和的比值。 DSSA 算法相比,性能相差不大,主要是在节点规模相对较
覆盖程度通常可作为网络服务质量的一种度量,而覆盖 小的情况下较优。
效率是衡量节点感知范围的利用率。
在 50 m×50 m 的矩形区域内随机分布若干传感器节点,
传感半径 Rs 设定为 5 m,节点的通信半径 Rc 是传感半径 Rs 的
2 倍。
图 4(a)显示了节点的初始状态,在左下角聚集了大量节
点使得区域被重复覆盖。图 4(b)为算法运行时的一个中间状
态,可以看出节点向四周扩散,从而能更广泛地覆盖整个区
域。图 4(c)为算法结束后的情况,达到了对区域覆盖的最
大化。

图5 覆盖程度比较

图 6 表示 SOCAF 算法与 DSSA 算法覆盖效率的比较,


可以看出,随着节点的增加,覆盖效率逐渐降低,这是因为
节点数增多,节点之间重复覆盖的区域会增多。

(a)初始状态
50
45
40
35
30
25
20
图6 覆盖效率比较
15 4 结束语
10 本文算法采用作用在传感器节点上的虚拟力,包括节点
5
之间的排斥力、区域边界对边界节点的排斥力、由覆盖程度
0
0 5 10 15 20 25 30 35 40 45 50 引起的引力,仿真实验验证了本文算法的有效性。下一步工
长度/m 作为在虚拟力的前提下,研究在区域中引入障碍物的情况。
(b)中间状态
参考文献
[1] Ghosh A, Sajal K. Coverage and Connectivity Issues in Wireless
Sensor Networks: A Survey[J]. Pervasive and Mobile Computing,
2008, 4(3): 303-334.
[2] Zou Yi, Chakrabarty K. Sensor Deployment and Target Localization
Based on Virtual Forces[C]//Proc. of 2003 IEEE INFOCOM
Conference. San Francisco, USA: [s. n.], 2003.
[3] Zou Yi, Chakrabarty K. Sensor Deployment and Target Localization
in Distributed Sensor Networks[J]. ACM Transactions on
Embedded Computing Systems, 2004, 3(1): 61-91.
[4] Howard A, Mataric M. Cover me! A Self-deployment Algorithm for
Mobile Sensor Networks[C]//Proc. of ICRA’02. Washington D. C.,
(c)结束状态
USA: IEEE Press, 2002.
图4 算法运行情况
[5] Akkaya K, Thimmapuram A, Senel F, et al. Distributed Recovery of
图 5 表示 SOCAF 算法与分布式自散步算法(Distributed Actor Failures in Wireless Sensor and Actor Networks[C]//Proc. of
Self Scatter Algorithm, DSSA)覆盖程度的比较,可以看出, WCNE’07. [S. l.]: IEEE Press, 2007.
SOCAF 算法下初始状 态的 节点分布 有了 很大的提 高, 与 编辑 陆燕菲

—95—

You might also like