本发明涉及移动传感器网络中未知节点的定位技术,具体是一种基于协作的锚节点自适应移动方法。
背景技术:
在移动通信技术飞速发展的趋势下,基于移动终端的各类应用蓬勃发展。位置确定服务(Location Based Services,LBS)在日常生活中随之变得越来越重要,尤其是在复杂多变的定位环境下用户对定位准确度的要求越来越高。
基于蒙特卡罗的定位方法基本上解决了动态网络未知节点的定位问题,然而在定位过程中为了满足定位精度的要求,感知区域内需分布大量锚节点,且锚节点密度越大,定位精度越高,然而未知节点在感知区域内的运动和分布都是不均匀的,锚节点的随机分布和移动常常会使锚节点穿越未知节点稀疏的区域,这无疑造成了锚节点资源和能量的浪费,所以,锚节点路径规划问题的研究是很有必要的。
现有的一些路径规划方法大多针对于未知节点静止的情景。基于节点效益最大化的锚节点路径规划方案是鲜有的可应用于移动未知节点的路径规划方法,该方法实现了锚节点的自适应移动,解决了锚节点随机移动造成的能量与资源浪费的问题,然而,依然不可避免地遇到锚节点分布密度大,锚节点利用率低的问题。所以,需要设计一种方法使得锚节点能够在移动感知网络中实现自适应移动的同时,减少锚节点密度,提高其利用率。
技术实现要素:
本发明旨在解决以上现有技术的问题。提出了一种使得锚节点能够在移动感知网络中实现自适应移动的同时,减少锚节点密度,提高其利用率的基于协作锚节点自适应移动的未知节点定位方法。本发明的技术方案如下:
一种基于协作锚节点自适应移动的未知节点定位方法,其包括以下步骤:
101、在感知区域内以锚节点对的形式随机部署锚节点对;
102、锚节点之间相互协作,自适应确定移动路线使得其在各时刻移动的位置对未知节点定位贡献最大;
103、未知节点通过锚节点位置信息利用非测距方法计算自身坐标,完成移动定位。
进一步的,步骤102锚节点之间相互协作,自适应确定移动路线包括步骤:步骤一:构建锚节点对中锚节点A的边界盒子其中边界盒子表示锚节点A下一时刻位置的估计区域;
步骤二:将锚节点对的边界盒子划分为n×n个大小相等的小正方形,记为ri(i=1,2...n2),每个小正方形中点坐标(xi,yi);
步骤三:计算边界盒子中的小正方形ri中心位置处锚节点的定位贡献值Ii;
步骤四:i=i+1;
步骤五:判断(xi,yi)处的Ii是否大于等于预设阈值γ,是,则转步骤八,否则转步骤六;
步骤六:判断i是否等于n2,是,则转步骤七,否则转步骤三;
步骤七:降序排列Ii,将降序后的值储存为并选取I1所对应的位置坐标(xi,yi);
步骤八:输出(xi,yi)作为锚节点A下一时刻将要移动到的位置
步骤九:锚节点A的位置确定后,在A的基础上构建锚节点B的边界盒子,并重复步骤一至步骤八,得到锚节点B下一时刻将要移动到的位置
步骤十:锚节点更新各自坐标,并广播各自ID及位置信息其中,表示第i对锚节点对中的锚节点A(B)的ID信息,表示第i对锚节点对的位置信息。
进一步的,步骤103未知节点通过锚节点位置信息利用非测距方法计算自身坐标,完成移动定位包括步骤:
步骤十一:判断未知节点是否接收到广播信息,是,则列为定位的未知节点并转到步骤十三,否则转到步骤十二;
步骤十二:构建未知节点的边界盒子并在边界盒子中随机选取一点坐标(x,y);
步骤十三:构建未知节点的边界盒子并与锚节点的通信盒子RS求交集,得到未知节点的采样盒子
步骤十四:在采样盒子中随机选取N个样本值{l1,l2,...lN};
步骤十五:利用滤波条件对样本值进行滤波,得到M个样本值;
步骤十六:判断M是否大于等于预设阈值λ,是,则转步骤十七,否则转步骤十四;
步骤十七:判断对所求得的样本值{l1,l2,...lM}求均值,得到坐标(x,y);
步骤十八:输出(x,y)作为未知节点的估计坐标
进一步的,步骤一的构建锚节点对中锚节点A的边界盒子其构建方法如下:
对于锚节点A,其边界盒子是根据其最大移动速度决定的,单位时间内节点移动的距离不会大于节点的最大移动速度,于是,在锚节点A当前位置已知的情况下,下一时刻可能位于的位置是以当前时刻坐标为圆心,以最大速度为半径构建的圆形区域内,为便于计算用正方形近似表示得到锚节点A的边界盒子,故其边界盒子定义如下:
其中,Vmax表示节点的最大移动速度,表示t时刻锚节点A的坐标;
进一步的,步骤三的求锚节点的定位贡献值Ii计算公式如下:
其中,Gi为锚节点在其边界盒子第i个小正方形处的节点效益;Hi为未知节点的定位数量以及ds表示锚节点移动距离,锚节点A的节点效益计算如下:为未知节点的边界盒子,未知节点的边界盒子确定方法与锚节点A的相同,由其最大移动速度确定;RSA是锚节点A的通信盒子,是用正方形近似表示其通信范围得到;w1,w2,w3为权值。
进一步的,步骤九锚节点B的位置确定步骤如下:
锚节点B的确定方法与锚节点A相同,然而其边界盒子与节点效益模型构建改进如下:对与锚节点B的边界盒子模型,为了确保定位阶段未知节点附近至少有两个锚节点,限定锚节点A的通信盒子需与锚节点B的通信盒子有交集,于是锚节点B的边界盒子:
进一步的,锚节点B的节点效益计算如下:
若未知节点的边界盒子与锚节点A、B的通信盒子均有交集,则计算B对其的节点效益时,用A对未知节点的估计区域代替未知节点的边界盒子与锚节点B的通信盒子求交集,然后用未知节点的边界盒子减去交集即得B对其的节点效益::
若未知节点边界盒子只与锚节点B的通信盒子有交集,则直接求二者交集,最后用未知节点的边界盒子减去交集即得B对其的节点效益:
本发明的优点及有益效果如下:
本发明由以上说明可知,本发明适应于锚节点与未知节点均处于移动状态的节点定位过程。相对于锚节点的随机移动,基于路径规划的节点定位算法大大提高了定位精度,同时减少了能量消耗,而本发明所提出的方法利用锚节点之间的相互协作使得锚节点成对移动,保证了定位阶段未知节点附近至少有两个锚节点,从而实现相同定位精度的情况下明显减少了锚节点的分布数量,提高了锚节点的利用率。
附图说明
图1是本发明提供优选实施例锚节点对的边界模型示意图;
图2,锚节点对的节点效益模型示意图;
图3,锚节点对的定位模型示意图;
图4,本发明的流程图;图4A表示步骤1-9,图4B表示步骤10-18;
图5,定位精度随时间变化曲线;
图6,未知节点定位比例随时间变化曲线;
图7,锚节点数量变化对定位精度的影响;
图8,锚节点数量变化对未知节点定位比例的影响;
图9,节点移动速度对定位精度的影响;
图10,节点移动速度对未知节点定位比例的影响。
图11为本发明的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
1)一种基于锚节点对自适应导航的节点定位方法它的实施步骤如下:
步骤一:构建锚节点对中锚节点A的边界盒子其中边界盒子表示锚节点A下一时刻位置的估计区域。
感知区域内随机分布n个未知节点,m对锚节点,每个锚节点对均包含一个锚节点A和一个锚节点B,分别记为
以第i对锚节点为例,对其中的锚节点A边界盒子构建进行说明:当前时刻锚节点A位置已知,为其边界盒子是根据其当前位置以及最大移动速度决定的。单位时间内节点移动的距离不会大于节点的最大移动速度,也就是说,在锚节点A在t时刻位置已知的情况下,t+1时刻可能位于的位置是以当前时刻坐标为圆心,以最大速度为半径构建的圆形区域内,为便于计算用正方形近似表示即得到锚节点A的边界盒子如图1(a)所示。故其边界盒子定义如下:
步骤二:将锚节点对的边界盒子划分为n×n个大小相等的小正方形,记为ri(i=1,2...n2),每个小正方形中点坐标(xi,yi)。
理论上,锚节点A下一时刻移动的位置可能是的任意位置,然而不同位置处,锚节点对定位阶段的贡献值是不同的,所以为便于计算最优位置,将分割为大小相等的n×n个小正方形。
步骤三:计算边界盒子中的小正方形ri中心位置处锚节点的定位贡献值Ii。Ii是衡量锚节点在不同位置处的定位贡献参量,其计算公式如下:
其中,Gi为锚节点在其边界盒子第i个小正方形处的节点效益。节点效益越大,保证了在定位过程中,一旦未知节点接收到锚节点广播的信息,那么未知节点下一时刻定位的采样区域就可能越小,从而定位精度也会得到相应提高。锚节点A的节点效益计算方法如下:
如图2(a)所示,为未知节点的边界盒子,未知节点的边界盒子确定方法与锚节点A的相同,由其最大移动速度确定。是锚节点A的通信盒子,是用正方形近似表示其通信范围得到。
定义锚节点B最终的节点效益即为锚节点周围所有未知节点所得的节点效益之和:
其中N表示与有交集的未知节点边界盒子数量。
除了节点效益G,定位过程中,未知节点定位数量,或者说覆盖率同样也是影响锚节点位置选择的因素,锚节点覆盖率也指t时刻感知区域内定位的未知节点数量与感知区域内所有的未知节点数量之比,锚节点数量相同时,未知节点定位数量越多,定位性能越好。锚节点覆盖率定义如下:
最后,能量消耗也是评价定位性能的因素之一,在移动传感器网络中,锚节点自身所携带的能量是有限的,而锚节点移动是能量消耗的主要来源之一,且锚节点移动距离ds越大,能量消耗越多,所以在锚节点路径规划中移动距离越短越好。
综上,我们根据影响锚节点位置选择的三个因素,节点效益Gi,未知节点的定位数量Hi,以及锚节点移动距离ds,得到定位贡献量Ii的定义式,即公式三,w1,w2,w3分别为权值。
步骤四:i=i+1
锚节点的边界盒子分割好后,我们从第一个小正方形r1开始,依次计算定位贡献值Ii,计算后若不符合阈值条件则i=i+1,计算下一个小正方形的定位贡献值。
步骤五:判断(xi,yi)处的Ii是否大于等于预设阈值γ,是,则转步骤八,否则转步骤六。
步骤六:判断i是否等于n2,是,则转步骤七,否则转步骤三。
该步骤是为了判断是否已经遍历锚节点边界盒子。若没遍历,则继续计算下一个小正方形中心坐标的定位贡献值。若遍历,则跳转至步骤七。
步骤七:降序排列Ii,将降序后的值储存为选取I1所对应的位置坐标(xi,yi)。
若遍历锚节点边界盒子之后,仍未找到大于阈值的Ii,那么选取最大贡献值所对应的坐标作为锚节点A的移动坐标
步骤八:输出坐标(xi,yi)作为锚节点A下一时刻将要移动到的位置
步骤九:锚节点A的位置确定后,在A的基础上构建锚节点B的边界盒子,并重复步骤一到步骤八,得到锚节点B下一时刻将要移动到的位置
锚节点B的移动位置计算步骤与锚节点A的相同,然而其边界盒子与节点效益计算模型是有别于锚节点A的,具体改进方法如下:
锚节点B的边界盒子计算如下:
如图1(b)所示,为了提高定位精度,确保定位阶段未知节点附近至少有两个一跳或者两跳锚节点,我们限定,锚节点A的通信盒子需与锚节点B的通信盒子有交集,于是得到锚节点B的边界盒子:
其中,r为锚节点的通信半径。
锚节点B的节点效益计算如下:
锚节点B的节点效益同样是在锚节点A的基础上计算的。如图2(b)所示,若未知节点的边界盒子与锚节点A、B的通信盒子均有交集,则计算B对其的节点效益时,用A对未知节点的估计区域代替未知节点的边界盒子与锚节点B的通信盒子求交集,然后用未知节点的边界盒子减去交集即得B对其的节点效益。
其中是指锚节点A对未知节点的估计区域,也就是锚节点A的通信盒子与未知节点的边界盒子之间的交集:
若未知节点边界盒子只与锚节点B的通信盒子有交集,则直接求二者交集,最后用未知节点的边界盒子减去交集即得B对其的节点效益:
定义锚节点B最终的节点效益即为锚节点周围所有未知节点所得的节点效益之和:
其中N1表示与锚节点盒子均有交集的未知节点边界盒子数量,N2表示只与有交集的未知节点边界盒子数量
步骤十:锚节点更新各自坐标,并广播各自ID及位置信息其中,表示第i对锚节点对中的锚节点A(B)的ID信息,表示第i对锚节点对的位置信息。
该步骤中,每对锚节点已知各自以及彼此的位置信息,广播时广播自身ID信息,同时广播自身及彼此的位置信息。
步骤十一:判断未知节点是否接收到广播信息,是,则转到步骤十三,否则转步骤十二。
步骤十二:构建未知节点的边界盒子并在其边界盒子中随机选取一点坐标(x,y)。
步骤十三:构建未知节点的边界盒子并与锚节点的通信盒子RS求交集,得到未知节点的采样盒子
若未知节点接收到了锚节点的广播信息,则说明未知节点一定位于锚节点的通信盒子内,同时由于受到节点移动速度的限制,未知节点下一时刻的位置肯定在其边界盒子内,故未知节点一定位于二者的交集内。所以将设位未知节点的采样盒子。
步骤十四:在采样盒子中随机选取N个样本值{l1,l2,...lN}。
步骤十五:利用滤波条件对样本值进行滤波,得到M个样本值。
样本滤波条件设置如表1所示:
表1
如图3所示,C1,C2,C3表示锚节点的通信盒子的三个子区域,由于锚节点对中A、B的通信盒子有交集。所以,在定位阶段,若A、B不完全重合,两个锚节点会把两个通信盒子分割为三个区域C1,C2,C3。其中以C2区为例,若未知节点接收到了锚节点A的广播信息,没有接收到锚节点B的广播信息,则说明未知节点一定位于锚节点A的通信范围内,且不位于锚节点B的通信范围内,即一定位于C2区内。由此可设置滤波条件,将样本集合中不满足条件的样本值筛选掉。
S为未知节点附近的一跳锚节点集合。
步骤十六:判断M是否大于等于预设阈值λ,是,则转步骤十七,否则转步骤十四。
为保证定位精度,样本值数量需要一个阈值λ来限定样本值数量,若经过滤波条件筛选后样本值数量满足要求,则可继续进行计算,若不满足要求,则需要返回步骤十三的采样阶段进行采样,重复采样筛选,直至采样数量满足要求为止。
步骤十七:对所求得的样本值{l1,l2,...lM}求均值,得到坐标(x,y)。
步骤十八:输出(x,y)作为未知节点的估计坐标
1)以下通过具体的仿真实验来进一步说明采用本发明所实现的技术效果。
在500×500(m2)的感知区域内随机分布100个未知节点,且未知节点随机移动,锚节点初始时刻随机分布在感知区域内,通信半径为20m,我们分别比较锚节点随机移动的蒙特卡洛定位方法,锚节点自适应移动但彼此之间不协作的节点效益最大化方法,以及本发明提出的锚节点间相互协作的自适应导航算法。
为了能更好地比较锚节点分布密度较少时的定位性能,我们在500×500(m2)的感知区域内布置2个锚节点。图5是关于定位精度与定位时间的曲线图,比较了三种方法,可以看出蒙特卡洛定位方法误差最大,且随着时间变化其定位误差波动也较大,这是因为蒙特卡洛定位方法在定位过程中的锚节点是随机移动的,造成采样区域的大小也完全随机决定,采样区域越大,定位误差相应越大。而节点效益最大化方法保证了锚节点下一时刻的位置节点效益最大,也就是如果在某时刻未知节点接收到锚节点广播的信息时其采样区域是相对最小的,从而保证了较高的定位精度。本发明所提出的基于锚节点间相互协作的定位方法,其定位精度最高,这是因为两个锚节点的相互协作保证了定位阶段未知节点附近至少有2个锚节点,进一步减少了采样区域的面积。图6是关于定位时间与未知节点覆盖率之间的关系曲线图。图中蒙特卡洛定位方法所定位的未知节点数量是最少的,这是因为锚节点的随机移动往往会使其穿越一些未知节点密度分布稀疏的区域,相对应的定位数量也会变少。而锚节点自适应移动则很好地解决了这个问题,避免了锚节点资源及能量的浪费。
图7和图8是关于锚节点数量变化与定位性能的关系曲线图,感知区域内锚节点数量逐渐由2个增加到100个。由图7可以看出,三种定位方法的定位精度是随着锚节点数量增加而逐渐减少的,基于锚节点自适应移动的定位方法对锚节点数量变化反应没有蒙特卡洛方法敏感,本发明所提出方法与非协作的节点效益最大化方法相比,定位精度得到明显提高,前者2个锚节点的定位精度与后者100个锚节点定位精度基本相同。图8则表明随着锚节点数量增加,所定位的未知节点比例也是逐渐增加的,且基于锚节点自适应移动的定位方法的定位比例要高于蒙特卡洛定位方法。
图9和图10是节点移动速度与定位性能之间的关系曲线图。节点速度范围为1m/s-50m/s由图9可以看出,三种方法的定位误差随着节点速度变化而逐渐变大,蒙特卡洛定位方法对节点速度变化最为敏感,说明其稳定性也最差,锚节点路径规划后的定位稳定性要优于锚节点随机移动。图10是节点最大移动速度对未知节点定位比例的影响,本发明提出的方法对节点速度改变影响最小,具有较强的稳定性。
图11是本发明方法流程示意图。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。