在很多无线传感器网络应用中,没有节点位置信息的监测信息往往毫无意义。当监测到事件发生时,关心的一个重要问题就是该事件发生的位置,如森林火灾监测,天然气管道泄漏监测等。这些事件的发生,首先需要知道的就是自身的地理位置信息。定位信息除了用来报告事件发生的地点外,还可用于目标跟踪、目标轨迹预测、协助路由以及网络拓扑管理等。
常见的定位技术如全球定位系统(globe position system,GPS)是目前应用最广的、最成熟的定位系统,通过卫星的授时和测距来对用户节点进行定位,具有较高的定位精度,实时性较好,抗干扰能量强。但是,使用GPS技术定位只适合于视距通信的场合,即室外无遮挡的环境,用户节点通常能耗高、体积大且成本也较高,还需要固定基础设施等,这不太适合低成本自组织无线传感器网络。另外,机器人领域采用的定位技术也与无线传感器网络的定位技术不同,尽管二者非常相似,节点都具有自组织和移动特性,但是机器人节点数量少,节点能量充足且携带精确的测距设各,这在一般的能量受限的无线传感器网络中很难满足类似的条件。由于资源和能量受限的无线传感器网络对定位的算法和定位技术都提出了较高的要求。因此,无线传感器网络的定位技术或定位算法通常需要具各以下重要特征:自组织特性,节点可能随机分布或人工部署;能量高效特性,尽量采用低复杂度的定位算法,减少通信开销,延迟网络寿命;分布式计算特性,各个节点都计算自己的位置信息;鲁棒性,可能监测数据有误差,要求定位算法具有良好的容错性;节点位置计算的常用方法。
1.定位的基本方法
(1)三边测量法(trilateration)
如图1所示,已知A、B、C三个节点的坐标分别为(xa,ya)、(xb,yb)、(xc,yc),以及它们到未知节点D的距离分别为da,db,dc,假设节点D的坐标为(x,y),则存在如(6.2)所示公式:
图1 三边测量法示意图
有式(6.2)可以得到节点D的坐标为:
(2)三角测量法(triangulation)
如图2所示,已知A、B、C三个节点的坐标分别为(xa,ya)、(xb,yb)、(xc,yc),节点D相对于节点A、B、C的角度分别为:∠ADB,∠ADC,∠BDC,假设节点D的坐标为(x,y)。对于节点A和C以及∠ADC,如果AC在△ABC内,则唯一能够确定一个圆,设圆心为O1(xo1,yo1),半径为r1,则α=∠AO1C=(2π—2∠ADC),并存在如式(6.4)所示公式:
图2 三角测量法示意图