一种传感器网络节点定位方法
技术领域
本申请涉及传感器网络技术领域,特别是涉及一种传感器网络节点定位方法。
背景技术
名词解释:
锚节点:在传感器网络中,由于设备的限制,一般只有部分节点具有自身定位功能(例如自带GPS),这部分节点通常被称为锚节点或信标节点。
节点定位技术是无线传感器网络的主要支撑技术之一,它是传感器网络进行目标监测、跟踪、预测,协助路由和进行网络拓扑管理基础。根据无线传感器网络自身定位机制,可以把现在有的定位算法为两类:基于距离的定位算法和与距离无关的定位算法。其中与距离无关的定位算法技术具有对硬件要求低,能耗小、不易受环境干扰等优点,适合于大规模传感器网络,在军事,环境,医疗,家具等领域得到了广泛应用,是目前普遍关注的一种定位机制。典型的与距离无关的定位算法包括质心算法、DV-hop算法、凸规划算法、APIT算法、MDS-MAP算法等。与基于距离的定位算法相比,这些算法相对实现都较为简单,且算法本身只是提供对定位节点的位置的一种估计,所以在定位精度上较差一些。
为了提高定位精度,目前在这些算法的基础上,通过改进定位算法模型或通过加权方式对结果进行校正等,可以对定位算法进行改进,例如:增强的质心定位算法:当一个未知节点根据质心算法获得自身的估计位置后,将此位置称为自己的初次估计位置,此未知节点随后与其通信范围内的所有其它未知节点交换信息,获得其它未知节点的初次估计位置,然后将自己以及所有这些未知节点的初次估计位置取平均值作为自己最终的估计位置。
但通过对现有技术研究,申请人发现:这种增强的质心定位算法实现相对容易,计算量小,但该方法完全基于网络的连通性,要求网络中的锚节点数目比较大,而且锚节点随机分布时的定位误差远远大于均匀分布时的定位误差,这对于随机布设的传感器网络而言实现定位的难度较大,并且定位的精度较低。
发明内容
有鉴于此,本申请实施例提供一种传感器网络节点定位方法,该方法通过对传感器网络中锚节点的位置进行优化,提高网络节点的分辨率,增强了网络连通性,进而可以实现提高节点的定位精度。
为了实现上述目的,本申请实施例提供的技术方案如下:
一种传感器网络节点定位方法,所述传感器网络中的所有节点的数量和锚节点的数量为已知的,包括:
将所有节点随机或按照预设方案布设在传感器网络的部署区域内;
利用遗传算法对锚节点的坐标进行优化;
按照优化结果对传感器网中的锚节点的位置进行重新布设;
利用定位算法对传感器中除锚节点外的其它节点进行定位。
优选地,所述利用遗传算法对锚节点的坐标进行优化,包括:
S1:设定遗传算法中初始参数,所述初始参数包括:种群规模、精英选择概率、交叉概率、变异概率、最大循环代数和最大稳定代数;
S2:生成传感器网络中所有节点排布方式的初始种群,利用适应度函数计算种群中所有个体的适应度,并按照个体的适应度优劣对个体进行排序;
S3:验证所述遗传算法的终止条件;
S4;如果满足所述遗传算法的终止条件,则将当前最优个体输出,得到优化结果;
S5:如果不满足所述遗传算法的终止条件,则按照精英法则选择合适数目的个体直接复制到子代;
S6:以轮盘赌注方式选择父代基因,按交叉概率进行单亲交叉,产生剩余子代个体;
S7:将所有子代个体按变异概率进行变异,并产生最终子代,并执行S2步骤。
优选地,所述适应度函数为:
其中:
为传感器网络锚节点部署的决策向量,并且
作为优化结果,
其中:A为锚节点集合,A={1,2,...,m},B为所有节点集合,B={1,2,...,n},n为传感器网络所有节点个数,m为锚节点个数,ρ为锚节点密度,并且0≤ρ≤1,d
ij为节点i和节点j的欧几里德距离,
为将节点k选为锚节点的成本,
为将节点k选为普通节点的成本,一般有
C为网络总成本限制;
另外,v
ij为采用0/1检测模型时每个节点的检测向量,v
i=(v
i1,v
i2,v
i3,...,v
im),
其中:
优选地,所述利用遗传算法对锚节点的坐标进行优化的目标为:
并且优化的限制条件为:
v
ijd
ij≤Rs
j,
j∈A,i≠j;d
ij>R(s
j-v
ij),
j∈A,i≠j;
其中罚因子K为一个大数。
优选地,所述验证所述遗传算法的终止条件具体为:
所述锚节点部署的决策变量已达到可使得所述传感器网络的所有传感器均处于可分辨状态,或者最优适应度在一定代数中保持不变。
优选地,所述按照优化结果对传感器网中的锚节点的位置进行重新布设具体为:
通过物理移动或逻辑选择方式改变传感器网络部署区域的锚节点的分布。
优选地,所述物理移动方式包括:具有运动功能节点的自行移动、人工遥控和/或手动布设。
优选地,所述逻辑选择方式包括:选择事先随机抛撒一定冗余数量的节点,或者定时唤醒部分休眠节点。
优选地,所述定位算法包括:基于距离的定位算法和与距离无关的定位算法。
优选地,所述与距离无关的定位算法包括:
质心算法、DV-hop算法、凸规划算法、APIT算法或MDS-MAP算法。
由以上技术方案可见,本申请实施例提供的该传感器网络节点定位方法,在对节点进行定位前,首先利用遗传算法对传感器网络中的锚节点的位置进行优化,使得整个传感器网路中的所有节点完全可辨,对于那些无法达到完全可辨的传感器网络,可以使得其系统传感器节点的最大分辨误差最小,然后再对传感器网路中的节点进行定位。由于在对节点定位之前,对传感器网络中的锚节点的位置进行了优化,所以在对传感器网络中的节点定位时,可以提高定位精度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种传感器网络节点定位方法的流程示意图;
图2为本申请实施例提供的利用遗传算法对锚节点的坐标进行优化的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的一种传感器网络节点定位方法的流程示意图。
如图1所示,该方法包括以下步骤:
S100:将所有节点随机或按照预设方案布设在传感器网络的部署区域内。
传感器网络中的所有节点的数量和锚节点的数量为已知的。该步骤中采用随机或按照预设方案将传感器网络中的所有节点预先布设,这种随机或预设的布设方案可以作为后续的传感器节点定位优化的一个参考方案。
S200:利用遗传算法对锚节点的坐标进行优化。
该步骤具体包括:
S1:设定遗传算法中初始参数。
在本申请实施例中,初始参数包括:种群规模、精英选择概率、交叉概率、变异概率、最大循环代数和最大稳定代数;
S2:生成传感器网络中所有节点排布方式的初始种群,利用适应度函数计算种群中所有个体的适应度,并按照个体的适应度优劣对个体进行排序。
这里所说的适应度函数为:
其中:
为传感器网络锚节点部署的决策向量,并且
作为优化结果,
其中:A为锚节点集合,A={1,2,...,m},B为所有节点集合,B={1,2,...,n},n为传感器网络所有节点个数,m为锚节点个数,ρ为锚节点密度,并且0≤ρ≤1,d
ij为节点i和节点j的欧几里德距离,
为将节点k选为锚节点的成本,
为将节点k选为普通节点的成本,一般有
C为网络总成本限制;
v
ij为采用0/1检测模型时每个节点的检测向量,v
i=(v
i1,v
i2,v
i3,...,v
im),
其中:
另外,这里所说的个体是指传感器网络中所有节点的一种排布方式,即一个决策向量。
在本申请实施例中,对传感器网络中的节点的优化的目标是使得传感器网络中的所有节点完全可辨,对于那些无法达到完全可辨的传感器网络,应使得其系统的最大分辨误差最小。
S3:验证是否满足遗传算法的终止条件。
在本申请实施例中,遗传算法的终止条件是指系统判定锚节点部署的决策变量已达到可使全网完全可分辨状态,即可终止算法。而在实际中由于限制条件的存在,如果最优适应度在一定代数中保持不变,即可认为算法已收敛,也可终止循环。
S4;如果满足遗传算法的终止条件,则将当前最优个体输出,得到优化结果。
在本申请实施例中,利用遗传算法对锚节点的坐标进行优化的目标为:
d
ij>R(s
j-v
ij),
j∈A,i≠j; (3)
其中罚因子K为一个大数。
从优化目标的公式可以看到,当传感器节点i、j可以分辨,即
则分辨误差小于
由于罚因子的存在,这是一个趋近于0的数;当传感器节点i、j不可分辨,即
则分辨误差为d
ij;因此,优化目标O
s意即使网络中所有节点可分辨,在存在不可分辨的节点对时使其分辨误差最小。
上述约束条件中式(1)反映了网络中总锚节点数目的限制;容易看出,式(2)和(3)其实是优化目标的公式内容对通信覆盖距离的描述转化为约束条件表示的形式;式(4)反映了网络的总成本限制。
由上述可知,本申请实施例中,优化得到的结果是采用0/1检测模型的描述锚节点部署的决策向量。
S5:如果不满足遗传算法的终止条件,则按照精英法则选择合适数目的个体直接复制到子代;
S6:以轮盘赌注方式选择父代基因,按交叉概率进行单亲交叉,产生剩余子代个体;
S7:将所有子代个体按变异概率进行变异,并产生最终子代,并返回执行S2步骤,直至遗传算法的终止条件。
S300:按照优化结果对传感器网中的锚节点的位置进行重新布设。
在步骤S200中得到优化结果后,通过物理移动或逻辑选择方式等方式改变传感器网络部署区域的锚节点的分布。
按照优化结果对传感器中锚节点位置的重新部署,可以使得传感器网络中的所有节点完全可辨,或者对于那些无法达到完全可辨的传感器网络,使得其系统的最大分辨误差最小。
S400:利用定位算法对传感器网络中除锚节点外的其它节点进行定位。
对传感器网络中的锚节点的位置进行优化后,使得传感器网络中的所有节点完全可辨,或者使得传感器网络中传感器节点的最大分辨误差最小。这样在对传感器网路中的节点进行定位时,可以实现更好的节点定位,提高定位精度。
在本申请实施例中,在对传感器网络中的节点进行定位时,可以采用现有的定位方法,例如:基于距离的定位算法和与距离无关的定位算法,其中:与距离无关的定位算法可以包括:质心算法、DV-hop算法、凸规划算法、APIT算法或MDS-MAP算法等。
由以上技术方案可见,本申请实施例提供的该传感器网络节点定位方法,在对节点进行定位前,首先利用遗传算法对传感器网络中的锚节点的位置进行优化,使得整个传感器网路中的所有节点完全可辨,对于那些无法达到完全可辨的传感器网络,可以使得其系统传感器节点的最大分辨误差最小,然后再对传感器网路中的节点进行定位。由于在对节点定位之前,对传感器网络中的锚节点的位置进行了优化,所以在对传感器网络中的节点定位时,可以提高定位精度。
以上所述仅是本申请的优选实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。