一种无线传感器网络无锚点定位的分布式实现方法

文档序号:7629010阅读:252来源:国知局
专利名称:一种无线传感器网络无锚点定位的分布式实现方法
技术领域
本发明涉及在无线传感器网络中自身定位技术领域,特别是一种无线传感器网络无锚点定位的分布式实现方法。
背景技术
无线传感器网络在实际应用中具有重要的价值。由于传感器网络的节点容量十分有限,这些受限的资源条件内容包括有限的功耗、无线带宽、内存和计算处理能力,因而需要节点之间相互协作来完成感知和通信任务,希望节点计算和通信的工作量最小化。很多传感器网络的应用场合必须知道各节点物理位置的坐标信息。通过人工测量或配置来获得节点坐标的方法往往不可行,另外节点配备全球定位系统(GPS)的方案则代价太昂贵。通常传感器网络通过网络内部节点之间的相互测距和信息交换,形成一套全网节点的坐标,这才是经济和可行的定位方案。本发明内容涉及传感器网络中的定位问题,即在没有外部设施(如基站和卫星)的情况下确定传感器节点自身的地理位置。
节点定位是传感器网络配置和运行的一个基本和关键问题。所谓定位是指对于一组未知位置坐标的网络节点,通过估计其至邻居节点的距离或邻居数目等措施,利用节点间交换的信息,确定每个节点位置的机制和方法。很多情况下配置网络时不能对所有节点实施精确控制和人工设置,如节点从飞机布撒随机分散在配置地域。
节点定位对部署无线传感器网络的意义很大,主要原因在于(1)传感器收集的数据,必须知道感知数据的发生位置才有应用价值。例如目标跟踪时,传感器探测出所跟踪的目标,需要通过传感器自身的位置来计算目标位置;火灾报警需要准确的起火地点;战场监控则须提供到底是哪部分区域发现敌方入侵。这些都要求提供发出相关感知信号的节点具体位置。
(2)无线传感器网络的很多通信协议是在已知节点位置的基础上运行的。如地理路由就是在无路由表的情况下实施数据转发,具有很好的可扩展性,但前提条件是要求拥有节点坐标。另外,节点的坐标可用来优化网络运行期间的值守调度机制,使网络中冗余节点不定期地轮休以延长寿命。
通常一种优良的定位方案具有以下特征(1)锚节点数目尽可能少,配置网络容易;(2)网络通信量最小化,节点所用功耗少;(3)计算方案简单,硬件成本低;(4)鲁棒性强,适应各种地理环境;(5)定位精度高。
传统的无线传感器网络节点定位方法是采用预先布设锚点,锚节点就是知道自身地理坐标位置的传感器节点,而且对埋设的锚点在全网中所处的位置也有所要求,在某些场合这些要求并不能得到满足。因此采用无锚点的方式对节点进行位置估算,具有重要的意义和应用价值。
以前人们对定位问题的研究都假设网络存在若干锚点,它们预先获得了地理坐标,而无锚点定位问题很少有求解的技术方案。实际上无锚点定位在传感器网络中具有较高价值,原因在于在有些场合不便于或不容许配置锚点,如所在区域人员无法抵达;其次,基于锚点的定位方案过分依赖锚点坐标的取值,如果锚点的坐标取值不可靠,则对整个网络的定位过程产生极大的影响;另外基于锚点的定位方案的可扩展性不好,如果网络规模很大,则需要配置的锚点数目太多而难以实现。
如果在全网范围内采用集中式的控制方法统一计算所有节点的坐标,集中式计算的特征在于从全网角度统筹规划,计算量和存储量几乎没有限制,则可以获得相对精确的位置估算。它的缺点主要是与中心节点位置较近的节点会因为通信开销大,而过早地消耗完电能,导致整个网络与中心节点信息交流的中断,导致无法实时定位。集中式方案在无线传感器网络的很多应用中是不提倡的。
分布式计算是指依赖节点间的信息交换和协调,由节点自行计算的定位方式,它克服了集中式计算的缺陷。
如图1所示为基于节点之间测距距离的分布式定位过程示例,图中连线上的数字表示通过RSSI(接收信号强度指示)方法测距获得的距离数字。本发明正是基于分布式的计算方式,且无需布设锚点。

发明内容
本发明内容的创新思想主要有两点(1)从最小ID编号的节点出发,建立虚拟锚点和坐标系统,由初始的虚拟锚点逐渐增广至全网内其它节点,得到初始的大致估算位置,再进行位置调整,满足无锚点和分布式两种要求。
(2)初始网络布局可能误差很大,如果简单地执行后续的优化步骤,可能某些定位误差很大的节点始终无法得到修正。节点的邻居信息可用于辅助定位,由此给节点定义定位可信度。如果节点的估计位置偏差很大,因而定位可信度较低,则执行一个称作位置变异的操作策略,这有利于这些节点跳出迭代优化过程中可能陷入的局部最优解,使得定位误差较大的节点有机会得到位置修正。
本发明的目的在于提供一种根据节点邻居之间的测距数值和信息交换进行节点自身定位,定位精度高,所需的网络通信开销小,因而节点所用的功耗低。解决的是基于测距的无锚点定位问题,该问题模型如下给定一组未知坐标位置的节点,节点能测算出至邻居的距离,通过相邻节点之间的通信确定自身位置。全网节点的坐标位置称为网络布局(Layout)。
为了清楚阐述本发明提出的定位实现方法,先定义一些相关的定义和概念定义1(邻居节点)如果两个节点之间能够相互无线通信,则它们互称为邻居节点。
定义2(测距)测距(ranging)是指两个相互通信的节点测量估计出彼此之间的距离。
定义3(锚点)锚点(anchor)是指通过其它方式预先获得位置坐标的节点,有时也称作信标(beacon)节点。网络中相应的其余节点称为非锚点。下文所述及的节点一般是指非锚点。
定义4(连接度)节点连接度是指节点可探测发现的邻居节点个数。网络连接度是所有节点的邻居数目的平均值,它反映了传感器配置的密集程度。
本发明的特征在于它是通过各个网络节点相互测量距离值来获得各自感知范围内的邻居信息,多次交换彼此的估计位置坐标,采用分布式的计算方法,首先估算节点的大致位置,然后利用质点弹簧优化模型,在节点自身分别迭代计算自己的估计坐标位置。
本发明的方法内容可以在TOSSIM网络平台加以验证,TOSSIM平台可以同时仿真多个传感器节点运行同一个程序,提供运行时的调试信息和配置情况,实时监测网络状况。
本定位算法在实现时需要如下条件定位计算要求传感器节点具有与邻节点进行通信和测距的能力,具有测距功能的硬件模块是前提;部署网络时需对节点分配全局唯一的ID编号。
目前可用的测距方法包括接收信号强度指示(RSSI)和到达时间/到达时间差(ToA/TDoA)。RSSI方法是接收机通过测量射频RF信号的能量来确定与发送机的距离。ToA/TDoA方法通过测量传输时间来估算两节点之间的距离。
定位计算需要传感器节点具有与邻居节点之间进行无线通信和测距的能力,无线通信能力是通常传感器节点都具有的无线功能模块,具有测距功能的硬件模块是本发明方法运行的前提。目前常用的测距方法及其优缺点分析如下(1)接收信号强度指示。RSSI方法是接收机通过测量射频RF信号的能量来确定与发送机的距离。由于实现简单已经被广泛采用,不足之处是遮盖或折射现象会引起接收端产生测量误差,精度有时较低。
(2)到达时间/到达时间差。ToA/TDoA方法通过测量传输时间来估算两节点之间的距离,精度较好。缺点是当无线信号的传输速度很快时,时间测量上的很小误差可以导致很大的误差值。这两种基于时间的测距方法适用于多种信号,如射频、声学、红外和超声信号等。
本发明的效果在于与现有技术相比,采用本发明所述的方法,具有分布式计算的特点以及较高的定位精度。与之比较接近的技术方案包括如下两种(1)N.B.Priyantha,H.Balakrishnan,E.Demaine和S.Teller在2003年MIT Laboratory for Computer Science的第892号技术报告″Anchor-FreeDistributed Localization in Sensor Networks″中,也提出了一种接近于分布式的无锚点定位计算方法即AFL(Anchor-Free Localization)算法。虽然AFL算法在第二阶段的迭代优化节点的坐标位置时是分布式的,但是,从整体上看AFL定位算法实质上是非分布式的,因为它在定位的第一阶段产生初始大致坐标时是基于全网统计路径跳数,属于面向集中式计算的方式;另外,AFL定位迭代过程中容易陷入局部解,没有采取措施保证节点能够跳出可能陷入的局部优化解。
(2)C.Savarese,J.M.Rabaey和J.Beutel在2001年的IEEE Int′l Conf.Acoustics,Speech and Signal Processing会议上的论文″Locationing inDistributed Ad-hoc Wireless Sensor Networks″,提出一种命名为ABC(Assumption Based Coordinates)的定位算法,其过程是基于假设的坐标计算方式来增广扩散至全网内的其它节点。这种定位方法属于分布式、无锚点的计算方式,定位过程非常简单,但设计者自己也认为它的定位精度太低,无法直接使用,只能作为其它定位方法的补充和辅助措施。
本发明提供一种用于无线传感器网络的无锚点分布式节点定位方法,适用于具有自组织特征的传感器网络系统,输出结果为各个节点的估算坐标位置,通过各个网络节点相互测量距离数值来获得各自感知范围内的邻居信息,多次交换彼此的估计坐标,采用分布式的计算方法,首先估算节点的大致位置,然后利用质点弹簧优化模型,在节点自身分别迭代计算自己的估计坐标位置,通过建立虚拟的锚点和坐标系统,借助节点之间的测距值,提出在各节点处实现分布式定位的一种方案,由于结合考虑了节点的邻接信息,对节点中间的位置估算结果进行可信性度量和处理,避免全网的定位过程陷入局部最优。
所述的用于无线传感器网络的无锚点分布式节点定位方法,无锚点特征包括建立网络的虚拟坐标系统,在网络部署阶段不利用全球定位系统(GPS)或者其它手工定位措施来获得某些传感器网络节点的地理坐标位置信息。
所述的用于无线传感器网络的无锚点分布式节点定位方法,分布式特征包括不采用集中式方法计算各个节点的坐标位置,对节点坐标的计算无需监控中心或信宿节点的参与,只由各节点负责自身与邻居节点交换信息以及在本节点实施的计算过程,监控中心作为传感器网络的一部分,可以参与实施网络的其它功能如数据处理,但与本方法实施定位的过程无关。
所述的用于无线传感器网络的无锚点分布式节点定位方法,网络部署后节点自启动过程中,与邻居节点相互协作,实现和完成本节点的定位过程,包括如下步骤步骤一建立虚拟坐标系统和初始参考节点,以具有最小节点编号的节点作为虚拟坐标系统的原点并作为第一个参考节点,第二个参考节点为原点的邻居中具有最高连接度的节点,以上两个参考节点相当于两个虚拟的锚点,因为它们在虚拟坐标系统中已经具有了正确的坐标位置,第三个参考节点是第一、二参考节点的共同邻居,当有多个这样的节点存在时,则取具有最高连接度的节点;步骤二判断三个初始参考节点的共同邻居节点集合,以确定式方法计算该集合内节点的估计坐标;步骤三以已经获得估计位置的节点集合为基础,增广遍历至网络中其它节点,采用三点式Min-max法计算未知位置的节点坐标;步骤四如果出现以三点方式增广中断的情形,则以已增广遍历的任意两点作为起始增广节点,以两点式Min-max法确定它们的邻居节点估计坐标,只要增广过程正常,则应继续采用三点方式增广至全网内其它节点;步骤五各节点计算自己的定位可信度,它表示在节点真正邻居数目中,当前通过估算坐标位置认为在其邻居范围内的节点数目的比例;步骤六设置节点位置变异的条件阈值,如果节点的定位可信度小于该阈值,则启动坐标位置变异调整的方案;
步骤七如果节点实施位置变异,则取其邻居中定位可信度居最高前三位的三个节点,以这三个节点为基础执行Min-max法,以确定的矩形质心作为该节点的估计位置;步骤八节点根据其邻居节点的估计位置,采用质点弹簧优化模型,多次迭代计算自身的坐标位置。
所述的用于无线传感器网络的无锚点分布式节点定位方法,第一阶段运用取矩形质心方法,从参考节点开始扩散遍历全网范围内其它所有节点,从而获得与原始网络拓扑结构大致相似的坐标位置;第二阶段是修正和优化节点的坐标值,使之逼近实际网络节点位置的结果。
所述的用于无线传感器网络的无锚点分布式节点定位方法,定义节点的定位可信度,如果节点的估计位置偏差很大,则定位可信度表现为很低,执行节点位置变异操作,有利于跳出迭代优化过程中可能陷入的局部最优解。
本发明提供的定位方法是基于二维平面确定传感器节点的自身坐标,也可以推广到三维空间的情形。尤其涉及在布置传感器网络时无需任何锚点的条件下,在传感器节点自身实现分布式计算坐标位置的方法,在不配备全球定位系统或手工配置节点时,仍然能够获得传感器网络系统的一套虚拟坐标系统。
下面结合附图进一步详细说明本发明的具体实施例。


图1是根据邻居节点之间相互测距的信息,进行分布式节点定位计算的示意图;图2是本发明的一个示例性实施例的操作流程图;图3是取三个矩形交集的Min-max法定位原理实施例图;图4是根据参考节点的位置增广计算其它节点的估计位置坐标图;图5是出现增广中断时的处理方法示例图。
具体实施例方式
参考附图更详细地描述了本发明的某些实施例。本发明内容基于计算几何理论,提供一种实用的分布式无锚点定位算法,只要相邻节点相互之间可测出距离。定位过程采用分布式操作来建立一套虚拟坐标系统,首先估算节点的大致位置,然后利用质点弹簧优化模型并结合节点的邻接信息,迭代求解坐标位置。该方案克服现有定位方案需要锚点的缺陷,计算过程是在各节点分布式实施,避免集中式操作产生大量通信开销。
图2所示为本发明方法的定位步骤和细节的流程图。具体而言,本发明提供的无线传感器网络定位方法,依次包括以下实施阶段和步骤第一阶段获得节点的大致估计坐标,完成网络的初始化布局。
根据图2所示,该阶段包括如下过程201部署网络,所有节点赋予全局ID编号;在无线传感器网络中布置传感器节点,所有节点具有节点编号,不对节点实施手工定位其坐标或者采取其它措施获得真实的地理坐标;202在网络部署后的启动期间,节点发起自定位过程,通过无线通信和测距方法获得各节点的邻居列表以及至各邻居的测量距离值;203节点判断自己是否为最小编号的节点,如果是,则将自己确定为虚拟坐标系统的原点(n0),坐标取作(0,0);204通过检查网络中任意节点的邻居列表,节点判断自己是否属于最小编号节点即原点的邻居203,如果是,则向原点通报自己的连接度数值。原点根据接收的数值,判断具有最大连接度值的邻居,将其取作初始参考节点(n1),根据它们之间的测距距离(r01),确定(n0)的坐标取作(r01,0),由此建立网络的虚拟坐标系统,因而拥有了n0和n1两个虚拟锚点;205n0和n1两个虚拟锚点向各自的邻居通报自己的定位情况,如果网络内节点得知自己同时为这两个虚拟锚点的公共邻居,并判断出节点在这些公共邻居中具有最大连接度值,则该节点取作为参考节点(n2),如果网络中每个节点的最低连接度不小于3,则必然存在n0、n1和n2这些参考节点,
假设r02为n0至n2之间的距离,r12为nl至n2之间的距离,则由几何知识可得出n2的坐标取值可以有以下两种结果(403、404)n2+(r012+r022-r1222r01,r022-x22)]]>或者n2-(r012+r022-r1222r01,-r022-x22)]]>网络节点判断自己的邻居列表中是否同时存在n0、n1和n2,如果是,则表明该个(些)节点为这三个参考节点的公共邻居,这些节点组成集合N3={n31,n32,n33,...,n3m},]]>假设r03为no至n3之间的距离,r13为nl至n3之间的距离,r23为n2至n3之间的距离,根据几何关系分别确定集合N3内的所有节点坐标如下n3(r012+r032-r1322r01,r032-r232+x22+y22-2x2x32r01)]]>由于对n3的坐标计算中,无论n2的坐标取值为n2+还是n2-,n3的X和Y坐标取值是固定的,只与实际的测距距离有关;如果节点有3个或3个以上邻居获得初始坐标,则该节点执行Min-max法定位,产生出自身的初始位置,这样的邻节点相当于锚点,尽管该步骤定位存在一定误差,但计算量很小;206如果网络中节点有3个邻居已经获得初始的估计坐标值,则执行Min-max法(A.Savvides,H.Park,and M.B.Srivastava,″The Bits andFlops of the N-hop Multilateration Primitive For Node Localization Problems,″Networked and Embedded Systems Lab,Electrical Engineering Department,University of Califomia,Los Angeles NESL techinical report TM-UCLA-NESL-2002-03-07,March 2002),以此确定自身的初始估计坐标。这里3个邻居相当于已经获得估计位置的锚节点,因而可以形成一个交叉矩形,此矩形的中心点即为所求节点的估计位置。由于此方法计算简单,虽然存在较大的误差,但可以作为初步阶段的坐标估算措施。
如果节点有多于3个邻居已经获得估计坐标,则任取3个这样的邻居节点完成上述的坐标估计过程。
如果采用基于最小均方估计的单边测量法(A.Savvides,C.Han,and M.B.Strivastava,″Dynamic Fine-Grained Localization in AdHoc Networks ofSensors,″presented at International Conference On Mobile Computing andNetworking(MobiCom)2001,Rome,Italy,July 2001),也能以3个已知坐标节点建立求解方程组,确定所求节点的坐标。但显然这种求解方程组的计算量很大,且对于求解大致估计坐标的应用场合没有实质意义,因而不宜采用。
按照上述步骤由已知估计坐标位置的节点集合,采用Min-max方法逐渐增广遍历至全网内的其它节点。如果节点只拥有两个已知坐标的邻居,则也以它们为基础执行Min-max法确定位置,虽然此时估算精度较低,但可保证初始布局的增广过程得以正常继续;图4所示为根据节点n0、n1和n3的坐标位置,采用Min-max法计算产生出节点n4的示例过程。
如果超过一定的时间限度,某节点拥有已知估算坐标的邻居数目仍然只有2个,则以这2个邻居为基础,执行Min-max法确定其坐标。虽然此时估算精度较低,但可以保证正常的初始定位增广过程得以继续。
第二阶段实施定位优化,获得节点的精确估计坐标。
根据图2所示,该阶段包括如下步骤207计算定位可信度。网络中各节点计算自己的定位可信度。假设节点的邻居列表中真正邻居数目为na,在优化求解其估计坐标过程中,根据这些真正邻居的估计位置坐标,判断至它们的距离是否仍然在邻居范围内,估计位置仍在邻居范围内的真正邻居数目记作nT,节点的定位可信度参数θ定义如下θ=nTna,]]>定位可信度为100%并不意味着此时节点的所有邻接关系全部正确,因为可能有其它节点的估计坐标落在该节点的邻居范围内;208判断节点的定位可信度是否小于规定阈值(如取90%),如果小于,则执行节点位置变异调整策略;否则执行质点弹簧模型的优化过程;209执行质点弹簧模型的优化过程。
物理学的“质点-弹簧”模型如下流体或柔体分解成若干质点,质点之间由不同方式的弹簧连接,并受到连接弹簧的推力或拉力,力的合成结果使质点向反方向移动,通过不断的位置调整,所受的合力大小越来越小并趋于平衡状态。系统模型采用弹簧连接的一组质点来描述整体状态,通过对系统能量的最小化来求解各质点位置。质点弹簧优化模型在计算机图形学中已有较多的应用研究,如服装布料的模拟、网络拓扑的自动布局等。
将网络图中每条边映射为两个质点之间的弹簧,平衡状态的自然长度为两节点间的测距值。对于传感器网络的定位问题,如果当前估计位置之间的距离值大于测距值,则两节点将受到使它们靠拢的吸引拉力;否则将受到分离的排斥力。当节点所受合力为0,则位置调整的优化过程停止;对于全网节点而言,如果综合合力为0,则终止全局优化过程。
执行质点弹簧优化过程的细节如下节点ni具有一个当前的估计位置 节点定期给邻居发送该节点的估计位置信息,因而节点都掌握了自己的估计位置和所有邻居节点的估计坐标。通过对估计坐标的求解,节点ni可计算出至其某邻居节点nj(当前估计位置为 的估计距离 同时通过无线电测距等方法也掌握至邻居节点nj的测量距离ri,j。
表示方向 到 上的单位向量,方向 的指向力即强力(force)分量为F→i,j=v^i,j(d^i,j-ri,j).]]>节点ni的整个强力合计为F→i=ΣjF→i,j.]]>测量距离和估计距离存在差别,这种差别可采用节点ni和节点nj之间的能量Ei,j来度量表示,即由 大小的平方确定。节点ni的总能量取作如下Ei=∑jEi,j=∑j(d^i,j-ri,j)2]]>在执行质点弹簧优化模型时,当节点ni向整个强力的方向 移动一个极小量时,其能量Ei会减少。确定节点估计坐标的移动量非常重要,因为它要保证新位置的能量比原来位置的能量小,且保证移动不会产生局部最优解。根据经验可选择各节点的移动量为 mi为ni的真正邻居节点数目。
另外,还可采用指向力修正方案,即不对所有强力矢量相加,而根据指向力的距离数值大小,只取其最大前三项指向力进行矢量相加,然后取其反向矢量进行坐标位置修正。由于其余指向力对合力的影响较小,可减少不必要的计算量。
210执行节点位置变异的过程如下取节点的邻居中定位可信度最高的前3个节点,如果节点的最低连接度不小于3,则必然存在这些节点,对这3个节点采用Min-max法确定交叉矩形,取矩形质心作为该节点的估计位置;211判断节点是否满足迭代中止条件,如果满足则获得节点最终估计的精确坐标,否则循环执行第二阶段的整个过程,即从计算节点的定位可信度重新开始;迭代中止的判断准则和条件可采用如下三种中的任意一种(1)节点的总能量Ei接近于0或者小于某一范围,则可中止质点弹簧优化过程;(2)节点迭代次数达到一定限度,即可获得精确估计坐标;(3)节点的估计坐标数值在最近的若干次迭代中不再变化,则也可宣告本节点的定位过程结束;212获得节点的最终估计坐标。
上述步骤的特点在于坐标精细调整时,如果节点陷入局部最优,则通过位置变异可避免其它方法可能引发的局部最优解问题,从而有利于提高定位性能。
上述的方法,其特点在于,节点在第二阶段的迭代调整中,由于采取节点定位可信度和阈值判断准则,如果节点陷入局部优化解,则可通过节点位置变异策略跳出局部优化解,从而避免AFL算法可能引发的局部解问题。
上述的方法,其特点还在于,节点定位的整个过程是完全分布式的,无需全网集中式控制,集中式方法在无线传感器网络的很多应用场合是无法行得通的。在本发明提出的方法中,节点只需要在本节点自身处执行相关计算步骤,并结合与邻居交换的位置信息,就能完成整个定位过程,因而便于在节点通信协议栈的软件功能模块中实现,在实际传感器网络部署时具有很大的应用价值。
在下面的描述中,传感器节点的测距系统由接收信号强度指示(RSSI)来实现,当然也可以由其它任何可无线测量距离的技术来实现。例如,可采用到达时间/到达时间差(ToA/TDoA)的方法,通过测量传输时间来估算两节点之间距离。
现将分布式无锚点定位过程的两个主要阶段进行详细示例描述,本方案可以嵌入到传感器节点的通信协议栈。
(一)全网节点建立初始的大致坐标该阶段实施过程如下1.初始化节点的真实坐标,保证各点的连接度大于规定的最小连接度数值,例如最小连接度值取作3比较适宜,既满足连通性要求,也不使网络布设的密度过大。当然也可能以极小概率存在孤立的节点群,形成分割的孤岛子图,如果出现这类孤岛类的节点群,则取消对这些节点进行定位操作,而不影响对网络中大多数节点的定位操作。
例如,网络中传感器节点的数目取100,节点之间的无线测距范围取30米,即在此范围内的节点互为邻居节点,网络配置在100米*100米的地形区域。
2.通过测距方法获得各节点的邻居列表以及至邻居的测量距离值。
3.节点判断自己是否为最小编号的节点,如果是,则将自己确定为虚拟坐标系统的原点401(n0),坐标取作(0,0)。
4.节点检查邻居列表,判断自己是否属于最小编号节点即原点的邻居,如果是,则向原点通报自己的连接度数值。原点根据接收的数值,判断具有最大连接度值的邻居,将其取作初始参考节点402(n1),根据它们之间的测距距离(r01),确定(n0)的坐标取作(r01,0),节点402位于X坐标轴上。由此建立网络的虚拟坐标系统,并拥有n0和n1两个虚拟锚点。
5.两个虚拟锚点向各自的邻居通报自己的定位情况,如果网络内节点得知自己同时为两个虚拟锚点的公共邻居,并判断出节点在这些公共邻居中具有最大连接度值,则该节点取作为参考节点(n2)。
6.网络节点判断自己的邻居列表中是否同时存在n0、n1和n2,如果是,则表明该个(些)节点为这三个参考节点的公共邻居,这些节点组成集合N3={n31,n32,n33,...,n3m}]]>。根据上文介绍的方法,确定集合N3内节点的估计坐标。
由于对n3的坐标计算中,无论n2的坐标取值为n2+(403)还是n2-(404),n3的X和Y坐标取值是固定的405位置。
7.如果网络中节点有三个邻居已经获得初始的估计坐标值,则执行Min-max法确定自身的初始估计坐标。
图3所示为采用三个锚点定位的Min-max方法,即以某锚点i(i=1,2,3)的坐标位置(xi,yi)为基础,加上或减去测距值di,得到锚点i的边界框[xi-di,yi-di]×[xi+di,yi+di]。在所有位置点[xi+di,yi+di]中取最小值、所有[xi-di,yi-di]中取最大值,则交集矩形为[max(xi-di),max(yi-di)]×[min(xi+di),min(yi+di)]锚点301、锚点303和锚点304共同形成交叉矩形框302。此矩形的中心点305即为所求节点的估计位置,由于此方法计算简单,虽然存在较大的误差,但可以作为初步阶段的坐标估算。
8.按照上述步骤7由已知估计坐标位置的节点集合,采用Min-max方法逐渐增广遍历至全网内的其它节点。
图4所示为根据节点n0、n1和n3的坐标位置,采用Min-max法计算产生出节点n4的示例过程。三个矩形(0,4)、(1,4)(3,4)产生一个新的交叉矩形409,406矩形(1,4)由节点n1和n4的测距距离为矩形半径,以n1为矩形中心形成的矩形框,其它矩形的形成与其类似。新的交叉矩形的质心410被取作节点n4的估计坐标。
9.如果超过一定的时间限度,该时间限度可在网络系统的时间同步机制中设置,发现某节点拥有已知估算坐标的邻居数目仍然只有两个,则以这两个邻居为基础,执行Min-max法确定其坐标。虽然此时定位精度较低,但可以保证正常的初始定位增广过程得以继续。
图5所示为网络出现定位增广中断时的处理方法示例。在正常情况下,节点基于已知位置的三个邻居(505、506和507)为依据形成矩形质心,即产生估计位置508。从全网角度来分析,如果出现增广中断情形,则以图5中虚线引出的两个起始增广点(502和503)为依据,计算新节点的坐标。
(二)迭代求解精确坐标的过程第二阶段迭代中的邻居关系不变,该阶段细节如下1.网络中各节点计算自己的定位可信度参数θ。根据估计位置计算出与邻居的距离,有可能超出最大无线测距范围。
2.判断节点的定位可信度是否小于规定阈值,如果小于,则执行节点位置变异,否则执行质点弹簧优化模型。
3.节点位置变异过程如下取节点的邻居中定位可信度最高的前三个节点,采用Min-max法确定交叉矩形,取矩形质心作为该节点的估计位置。
4.质点弹簧模型的优化过程如下如果节点ni具有一个当前的估计位置 节点定期给邻居节点发送该位置信息,因而每个节点都知道自己的估计位置和所有邻居节点的估计位置。通过对估计坐标的计算,节点ni可计算出至其某邻居节点nj(当前估计位置为 的估计距离 同时通过无线测距也知道至邻居节点nj的测量距离ri,j。通过计算节点所有指向力的合力,或者对最大的前三项指向力进行矢量相加,取其反向合成矢量并加以标度缩放(即 作为对本次估计坐标的修正方向和大小。
测量距离和估计距离存在差别,这种差别采用节点ni和节点nj之间的能量Ei,j来度量表示。整个网络系统的总能量取作E=ΣjEi.]]>在节点分布式定位计算中,网络系统的总能量的概念其实并不采用,只具有参考价值,在全网监控时可以用来对全网定位精度进行评估。
5.判断节点是否满足迭代优化中止条件,如果满足则获得节点最终估计的精确坐标,否则重复执行第二阶段的整个过程。
节点不断进行位置更新,直到满足规定的迭代次数。如果迭代次数过少,则定位精度较低。根据在计算机图形学中对质点弹簧优化模型的研究结果表明,迭代次数只要达到50次,足以满足求解精度。
以上所述仅为本发明较佳的主要实施过程而已,并非用来限定本发明的实施范围;凡是依本发明所作的等效变化与修改,皆为本发明专利范围所涵盖。
权利要求
1.一种用于无线传感器网络的无锚点分布式节点定位方法,适用于具有自组织特征的传感器网络系统,输出结果为各个节点的估算坐标位置,其特征在于通过各个网络节点相互测量距离数值来获得各自感知范围内的邻居信息,多次交换彼此的估计坐标,采用分布式的计算方法,首先估算节点的大致位置,然后利用质点弹簧优化模型,在节点自身分别迭代计算自己的估计坐标位置,通过建立虚拟的锚点和坐标系统,借助节点之间的测距值,提出在各节点处实现分布式定位的一种方案,由于结合考虑了节点的邻接信息,对节点中间的位置估算结果进行可信性度量和处理,避免全网的定位过程陷入局部最优。
2.如权利要求1所述的用于无线传感器网络的无锚点分布式节点定位方法,其特征在于,无锚点特征包括建立网络的虚拟坐标系统,在网络部署阶段不利用全球定位系统或者其它手工定位措施来获得某些传感器网络节点的地理坐标位置信息。
3.如权利要求1所述的用于无线传感器网络的无锚点分布式节点定位方法,其特征在于,分布式特征包括不采用集中式方法计算各个节点的坐标位置,对节点坐标的计算无需监控中心或信宿节点的参与,只由各节点负责自身与邻居节点交换信息以及在本节点实施的计算过程,监控中心作为传感器网络的一部分,可以参与实施网络的其它功能如数据处理,但与本方法实施定位的过程无关。
4.根据权利要求1或2或3所述的用于无线传感器网络的无锚点分布式节点定位方法,其特征在于,网络部署后节点自启动过程中,与邻居节点相互协作,实现和完成本节点的定位过程,包括如下步骤步骤一建立虚拟坐标系统和初始参考节点,以具有最小节点编号的节点作为虚拟坐标系统的原点并作为第一个参考节点,第二个参考节点为原点的邻居中具有最高连接度的节点,以上两个参考节点相当于两个虚拟的锚点,因为它们在虚拟坐标系统中已经具有了正确的坐标位置,第三个参考节点是第一、二参考节点的共同邻居,当有多个这样的节点存在时,取具有最高连接度的节点;步骤二判断三个初始参考节点的共同邻居节点集合,以确定式方法计算该集合内节点的估计坐标;步骤三以已经获得估计位置的节点集合为基础,增广遍历至网络中其它节点,采用三点式Min-max法计算未知位置的节点坐标;步骤四如果出现以三点方式增广中断的情形,则以已增广遍历的任意两点作为起始增广节点,以两点式Min-max法确定它们的邻居节点估计坐标,只要增广过程正常,则应继续采用三点方式增广至全网内其它节点;步骤五各节点计算自己的定位可信度,它表示在节点真正邻居数目中,当前通过估算坐标位置认为在其邻居范围内的节点数目的比例;步骤六设置节点位置变异的条件阈值,如果节点的定位可信度小于该阈值,则启动坐标位置变异调整的方案;步骤七如果节点实施位置变异,则取其邻居中定位可信度居最高前三位的三个节点,以这三个节点为基础执行Min-max法,以确定的矩形质心作为该节点的估计位置;步骤八节点根据其邻居节点的估计位置,采用质点弹簧优化模型,多次迭代计算自身的坐标位置。
5.根据权利要求4所述的用于无线传感器网络的无锚点分布式节点定位方法,其特征在于,第一阶段运用取矩形质心方法,从参考节点开始扩散遍历全网范围内其它所有节点,从而获得与原始网络拓扑结构大致相似的坐标位置;第二阶段是修正和优化节点的坐标值,使之逼近实际网络节点位置的结果。
6.根据权利要求4所述的用于无线传感器网络的无锚点分布式节点定位方法,其特征在于,定义节点的定位可信度,如果节点的估计位置偏差很大,则定位可信度表现为很低,执行节点位置变异操作,有利于跳出迭代优化过程中可能陷入的局部最优解。
7.根据权利要求5所述的用于传感器网络的节点定位方法,其特征在于,第一阶段运用取矩形质心方法来初始化网络布局,获得节点的大致坐标;第二阶段采用质点弹簧优化模型,对估计坐标进行优化调整,第一阶段过程如下201部署网络,所有节点赋予全局ID编号;202在网络部署后的启动期间,节点发起自定位过程,通过无线通信和测距方法获得各节点的邻居列表以及至各邻居的测量距离值;203节点判断是否为最小ID,如果是,则确定为虚拟坐标系统的原点n0(0,0);204通过检查网络中任意节点的邻居列表,节点判断自己是否属于最小编号节点即原点的邻居203,如果是,则向原点通报自己的连接度数值,原点根据接收的数值,判断具有最大连接度值的邻居,将其取作初始参考节点(n1),根据它们之间的测距距离(r01),确定(n0)的坐标取作(r01,0),由此建立网络的虚拟坐标系统,因而拥有了n0和n1两个虚拟锚点;205n0和n1两个虚拟锚点向各自的邻居通报自己的定位情况,如果网络内节点得知自己同时为这两个虚拟锚点的公共邻居,并判断出节点在这些公共邻居中具有最大连接度值,则该节点取作为参考节点(n2),如果网络中每个节点的最低连接度不小于3,则必然存在n0、n1和n2这些参考节点,假设r02为n0至n2之间的距离,r12为n1至n2之间的距离,则由几何知识可得出n2的坐标取值可以有以下两种结果(403、404)n2+(r012+r022-r1222r01,r022-x22)]]>或者n2-(r012+r022-r1222r01,-r022-x22)]]>网络节点判断自己的邻居列表中是否同时存在n0、n1和n2,如果是,则表明该节点为这三个参考节点的公共邻居,这些节点组成集合N3={n31,n32,n33,...,n3m},]]>假设r03为n0至n3之间的距离,r13为n1至n3之间的距离,r23为n2至n3之间的距离,根据几何关系分别确定集合N3内的所有节点坐标如下n3(r012+r032-r1322r01,r032-r232+x22+y22-2x2x32r01)]]>由于对n3的坐标计算中,无论n2的坐标取值为n2+还是n2-,n3的x和Y坐标取值是固定的,只与实际的测距距离有关;如果节点有3个或3个以上邻居获得初始坐标,则该节点执行Min-max法定位,产生出自身的初始位置,这样的邻节点相当于锚点,尽管该步骤定位存在一定误差,但计算量很小;206由已知估计位置的节点集,采用Min-max法逐渐增广遍历至其它节点,如果节点只拥有两个已知坐标的邻居,则也以它们为基础执行Min-max法确定位置,虽然此时估算精度较低,但可保证初始布局的增广过程得以正常继续;第二阶段过程如下207计算定位可信度,网络中各节点计算自己的定位可信度。假设节点的邻居列表中真正邻居数目为na,在优化求解其估计坐标过程中,根据这些真正邻居的估计位置坐标,判断至它们的距离是否仍然在邻居范围内,估计位置仍在邻居范围内的真正邻居数目记作nT,节点的定位可信度参数θ定义如下θ=nTna,]]>定位可信度为100%并不意味着此时节点的所有邻接关系全部正确,因为可能有其它节点的估计坐标落在该节点的邻居范围内;208判断节点的定位可信度是否小于规定阈值,如果小于,则执行点位位置变异策略;否则执行质点弹簧模型的优化;209在执行质点弹簧优化模型时,当节点ni向整个强力的方向 移动一个极小量时,其能量Ei会减少,确定节点估计坐标的移动量非常重要,因为它要保证新位置的能量比原来位置的能量小,且保证移动不会产生局部最优解,根据经验可选择各节点的移动量为 mi为ni的真正邻居节点数目;210执行节点位置变异的过程如下取节点的邻居中定位可信度最高的前3个节点,如果节点的最低连接度不小于3,则必然存在这些节点,对这3个节点采用Min-max法确定交叉矩形,取矩形质心作为该节点的估计位置;211判断节点是否满足迭代中止条件,如果满足则获得节点最终估计的精确坐标,否则循环执行第二阶段的整个过程,即从计算节点的定位可信度重新开始;迭代中止的判断准则和条件可采用如下三种中的任意一种(1)节点的总能量Ei接近于0或者小于某一范围,则可中止质点弹簧优化过程;(2)节点迭代次数达到一定限度,即可获得精确估计坐标;(3)节点的估计坐标数值在最近的若干次迭代中不再变化,则也可宣告本节点的定位过程结束;212获得节点的最终估计坐标。
全文摘要
本发明涉及在无线传感器网络中自身定位技术领域,特别是一种无线传感器网络无锚点定位的分布式实现方法。通过各个网络节点相互测量距离数值来获得各自感知范围内的邻居信息,多次交换彼此的估计坐标。本发明采用分布式的计算方法,首先估算节点的大致位置,然后利用质点弹簧优化模型,在节点自身分别迭代计算自己的估计坐标位置。本发明对无线传感器网络获得地理位置信息提供了一种实用的方法;另外,由于计算过程是在各自节点分别实施,无需集中式控制所要求的大量通信开销,具有很低的计算复杂度,因而所需定位计算过程的功耗较低。适用于节点之间提供相互测距的自组织无线传感器网络。
文档编号H04L12/28GK1988550SQ20051013068
公开日2007年6月27日 申请日期2005年12月21日 优先权日2005年12月21日
发明者崔逊学, 赵湛 申请人:中国科学院电子学研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1