基于无线传感器网络的三维定位方法、装置和系统与流程

文档序号:15821869发布日期:2018-11-02 23:10阅读:244来源:国知局
基于无线传感器网络的三维定位方法、装置和系统与流程

本发明涉及室内定位技术领域,特别是涉及一种基于无线传感器网络的三维定位方法、装置、系统和计算机可读存储介质。

背景技术

目前,无线传感器网络运用于室内定位的技术日渐成熟。区别于全球定位系统(globalpositionsystem,gps)在内的全球定位技术高成本、精度米级以上,室内定位要求高精度、低功耗、成本合理。而无线传感器网络的应用将是室内定位技术的趋势。

对于室内定位而言,传统的定位方法,例如gps等卫星定位方法,在进行室内定位时存在室内信号不佳导致定位不准确且不稳定的问题,且卫星定位一般只能做到二维的坐标定位,难以满足对于医院、学校、商场等等涉及到多区间多楼层的室内定位的精度需求。

为了满足室内多楼层和区间的定位精度需求,三维定位应运而生,类似于二维定位采用的距离向量-跳段节点定位算法。在该三维定位方法的无线传感器网络中,锚节点可以通过典型的距离矢量交换协议,向邻近节点广播自身位置信息分组,使网络覆盖范围内的所有节点获得距离锚节点的最小跳数距离,未知节点通过在无线定位网络中获取各锚节点的平均每跳距离以及未知节点距锚节点的最小跳数,结合空间向量理论,推算出未知节点的三维位置信息。

然而上述现有三维定位方法存在的问题是,在估算平均每跳距离时,由于三维环境网络拓扑结构复杂,锚节点分布不均等因素,各个节点测距计算时容易出现误差,计算的平均每跳距离与实际距离存在显著差异,导致最终的定位结果不够准确。



技术实现要素:

基于此,有必要针对现有三维定位方法定位结果不够准确的技术问题,提供一种基于无线传感器网络的三维定位方法、装置、系统和计算机可读存储介质。

一种基于无线传感器网络的三维定位方法,包括以下步骤:

分别计算无线传感器网络中各个锚节点的参考每跳距离;

计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

上述基于无线传感器网络的三维定位方法,在计算获取无线传感器网络中各个锚节点的参考每跳距离的基础上,进一步计算网络中的各个锚节点的参考每跳距离的平均值,根据该平均值确定各个锚节点的校正每跳距离,利用校正每跳距离以及未知节点与多个锚节点之间的最小跳数,确定未知节点的坐标,通过对各个锚节点的参考每跳距离计算平均值,可以有效消除不同锚节点之间的偶然误差,提升三维定位中对未知节点定位的准确性。

在一个实施例中,未知节点仅接收获得的第一个校正每跳距离,丢弃后来的校正每跳距离。确保未知节点从最近的锚节点接收校正每跳距离。

在一个实施例中,所述各个锚节点的参考每跳距离表示如下:

上式中,i代表无线传感器网络中的锚节点i,j代表无线传感器网络中的锚节点j,其中锚节点i的三维坐标为(xi,yi,zi),锚节点j的三维坐标为(xj,yj,zj),hopsizeij为锚节点i的参考每跳距离,hij为从锚节点i到锚节点j的跳数;

所述各个锚节点的参考每跳距离的平均值表示如下:

上式中,m为无线传感器网络中的锚节点总数,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

上述实施例的技术方案,计算的网络中的各个锚节点的平均每跳距离作为各个锚节点的参考每跳距离,并进一步计算网络中各个锚节点的平均每跳距离的平均值,作为校正每跳距离用于对未知节点的定位,可以消除单个锚节点计算的平均每跳距离的偶然误差,提升定位准确性。

在一个实施例中,所述根据所述平均值,获取各个锚节点的校正每跳距离包括:

分别根据各个锚节点的参考每跳距离与所述平均值之间的差值,计算该锚节点的跳距权值;分别利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离。

上述实施例的技术方案,通过计算各个锚节点的参考每跳距离与网络中参考每跳距离的平均值之间的差值,该差值衡量该锚节点的误差,根据该差值计算该锚节点的跳距权值,利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离,从而实现根据各个锚节点的误差大小对该锚节点的每跳距离进行校正,得到该锚节点的校正每跳距离,用于对未知节点进行定位,可以进一步消除各个锚节点的参考每跳距离的误差,使得计算的各个锚节点的校正每跳距离与实际的每跳距离更接近,从而进一步提升未知节点定位的准确性。

在一个实施例中,所述各个锚节点的跳距权值如下式所示:

上式中,λij为锚节点i的跳距权值,hopsizeij为锚节点i的参考每跳距离,为无线传感器网络中各个锚节点的参考每跳距离的平均值,r为锚节点i的通信半径。

上述实施例的技术方案,计算的跳距权值的取值随着各个锚节点的参考每跳距离与平均值之间的差值的增大而减小,也即一个锚节点的相对误差越大,则该锚节点的跳距权值越小,利用该跳距权值调整节点的参考每跳距离,得到校正每跳距离,使得得到的校正每跳距离更接近实际距离值,提升每跳距离计算的准确性。

在一个实施例中,所述各个锚节点的校正每跳距离如下式所示:

上式中,dhopi为锚节点i的校正每跳距离,λij为锚节点i的跳距权值,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

上述实施例的技术方案,利用计算的跳距权值进一步对参考每跳距离的平均值进行加权调整,进一步提升各个锚节点计算的校正每跳距离的准确性。

在一个实施例中,所述根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标包括:

分别将多个锚节点的所述校正每跳距离与所述最小跳数相乘,算得未知节点与所述多个锚节点中各个锚节点之间的距离;根据算得的未知节点与所述多个锚节点中各个锚节点之间的距离,计算未知节点的位置坐标。

上述实施例的技术方案,通过将校正每跳距离与未知节点到各个锚节点的最小跳数相乘,估算该未知节点到各个锚节点的距离,根据该距离计算未知节点的坐标,计算方案简单,易于实现。

在一个实施例中,所述多个锚节点包括三个锚节点,其中,所述三个锚节点与未知节点不在同一平面内;

所述未知节点的位置坐标表示如下:

其中,

上式中,(x,y,z)为未知节点的位置坐标,(xc3,yc3,zc3)为第三锚节点的位置坐标,u代表未知节点,c1代表三个锚节点中的第一锚节点,c2代表三个锚节点中的第二锚节点,c3代表三个锚节点中的第三锚节点,duc1为未知节点与第一锚节点之间的距离,duc2为未知节点与第二锚节点之间的距离,duc3为未知节点与第三锚节点之间的距离,dc2c1为第一锚节点与第二锚节点之间的距离,dc3c1为第三锚节点与第一锚节点之间的距离,dc3c2为第一锚节点与第三锚节点之间的距离。

本发明上述实施例的技术方案,通过获取与未知节点不在同一平面的三个锚节点的信息,根据未知节点与该三个锚节点之间的距离,以及该三个锚节点两两之间的距离,直接计算得到未知节点的坐标,仅需三个锚节点即实现对未知节点的定位,有效降低运算量,减少资源占用,提升系统鲁棒性和容错性,继而提升对未知节点的定位效率。

在另一个实施例中,所述未知节点的位置坐标表示如下:

x=(at-a)-1atb

其中,

上式中,n为未知节点接收的所述多个锚节点的总数,其中n为大于或等于2的正整数,n个锚节点中的任意第i个锚节点的坐标为(xi,yi,zi),dui为未知节点与任意锚节点i之间的距离。

上述实施例的技术方案,利用计算的未知节点与多个锚节点之间的距离,以及各个锚节点的位置坐标,计算未知节点的坐标,能够较为准确地计算得到未知节点的坐标,提升定位准确性。

一种基于无线传感器网络的三维定位装置,包括:

参考跳距计算模块,用于分别计算无线传感器网络中各个锚节点的参考每跳距离;

跳距校正模块,用于计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

未知节点定位模块,用于计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

上述基于无线传感器网络的三维定位装置,在计算获取无线传感器网络中各个锚节点的参考每跳距离的基础上,进一步计算网络中的各个锚节点的参考每跳距离的平均值,根据该平均值确定各个锚节点的校正每跳距离,利用校正每跳距离以及未知节点与多个锚节点之间的最小跳数,确定未知节点的坐标,通过对各个锚节点的参考每跳距离计算平均值,可以有效消除不同锚节点之间的偶然误差,提升三维定位中对未知节点定位的准确性。

一种基于无线传感器网络的三维定位系统,包括布置于监测场景内预定位置的多个锚节点,以及至少一个未知节点;

各个所述锚节点之间分别通信连接,各个所述锚节点还用于向待定位的未知节点发送信息;

各个所述锚节点分别计算无线传感器网络中各个锚节点的参考每跳距离;

各个所述锚节点计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

未知节点计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

上述基于无线传感器网络的三维定位系统,各个所述锚节点在计算获取无线传感器网络中各个锚节点的参考每跳距离的基础上,进一步计算网络中的各个锚节点的参考每跳距离的平均值,根据该平均值确定各个锚节点的校正每跳距离,未知节点利用校正每跳距离以及未知节点与多个锚节点之间的最小跳数,确定未知节点的坐标,通过对各个锚节点的参考每跳距离计算平均值,可以有效消除不同锚节点之间的偶然误差,提升三维定位中对未知节点定位的准确性。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

分别计算无线传感器网络中各个锚节点的参考每跳距离;

计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

上述计算机存储介质,其存储的计算机程序,通过实现如上步骤,从而可以在计算获取无线传感器网络中各个锚节点的参考每跳距离的基础上,进一步计算网络中的各个锚节点的参考每跳距离的平均值,根据该平均值确定各个锚节点的校正每跳距离,利用校正每跳距离以及未知节点与多个锚节点之间的最小跳数,确定未知节点的坐标,通过对各个锚节点的参考每跳距离计算平均值,可以有效消除不同锚节点之间的偶然误差,提升三维定位中对未知节点定位的准确性。

附图说明

图1为一个实施例中基于无线传感器网络的三维定位方法的应用环境图;

图2为一个实施例中基于无线传感器网络的三维定位方法的流程示意图;

图3为另一个实施例中基于无线传感器网络的三维定位方法的流程示意图;

图4为一个实施例中未知节点坐标计算的结构示意图;

图5为又一个实施例中基于无线传感器网络的三维定位方法的流程示意图;

图6为一个实施例中基于无线传感器网络的三维定位装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供的基于无线传感器网络的三维定位方法,可以应用于如图1所示的应用环境中。其中,无线传感器网络系统100中包括布置于监测场景内预定位置的多个锚节点110,以及至少一个未知节点120;各个所述锚节点110和未知节点120向其通信半径r范围内的锚节点110和未知节点120广播信息,并接受通信半径r范围内其他锚节点110和未知节点120的信息;未知节点120根据接收的多个锚节点110的信息,确定该未知节点120的位置坐标,对该未知节点120进行定位。其中,监测场景可以是例如学校、商场、医院等等需要进行三维定位的场景,锚节点110和未知节点120可以但不限于是具有无线收发功能的各种终端设备或专用设备,例如未知节点120可以是手机、平板、穿戴式终端等终端设备。

本领域技术人员可以理解,图1中示出的网络系统结构,仅仅是与本申请方案相关的部分系统结构的框图,并不构成对本申请方案所应用于其上的限定,具体的应用环境可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,如图2所示,提供了一种基于无线传感器网络的三维定位方法,以该方法应用于图1中的无线传感器网络系统为例进行说明,包括以下步骤:

s210,分别计算无线传感器网络中各个锚节点的参考每跳距离;

其中,参考每跳距离为无线传感器网络中各个锚节点之间的每跳距离的参考值,用于估算锚节点之间的距离,例如其可以是无线传感器网络中各个锚节点的平均每跳距离,或者是基于平均每跳距离上做出的若干变形得到的距离值等等。

其中,无线传感器网络(简称网络)中的各个锚节点之间可以通过网络传播信息,在此步骤中,各个锚节点可以根据获取的其他锚节点的坐标信息和跳数值,分别计算获取无线传感器网络中该锚节点的参考每跳距离,并将计算的参考每跳距离在网络中广播。

s220,计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

在步骤s210中,各个锚节点均计算了相应的参考每跳距离,并将该参考每跳距离进行广播,则在此步骤中,各个锚节点可以根据接收的其它锚节点的参考每跳距离以及自身计算的参考每跳距离,计算获取的网络中各个锚节点的参考每跳距离的平均值,根据平均值确定该锚节点的校正每跳距离,并将计算的校正每跳距离在网络中广播。

s230,获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

在此步骤中,未知节点可接收网络中多个锚节点广播的信息,获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

上述基于无线传感器网络的三维定位方法,在计算获取无线传感器网络中各个锚节点的参考每跳距离的基础上,进一步计算网络中的各个锚节点的参考每跳距离的平均值,根据该平均值确定各个锚节点的校正每跳距离,利用校正每跳距离以及未知节点与多个锚节点之间的最小跳数,确定未知节点的坐标,通过对各个锚节点的参考每跳距离计算平均值,可以有效消除不同锚节点之间的偶然误差,提升三维定位中对未知节点定位的准确性。

其中,未知节点获取与无线传感器网络中多个锚节点的最小跳数的具体实现过程,可以参照现有的无线传感器网络中最小跳数的获取方式。

在无线传感器网络中,所有锚节点向网络广播消息,消息中包括锚节点的坐标和节点接收到广播消息锚节点的跳数,锚节点只与网络中邻近的节点交换信息。跳数初始值设为零。当某个节点接收到这个表的消息,将跳数值加一后继续向除了来源方向的它的邻居广播,如果某节点接收到来自相同参考节点的多个信标,则表明它到该参考节点有多条路径。此时,节点将保留含有最小跳数值的信标,而忽略其他信标,这就保证了所得到的跳数值是它到参考节点的最短路径。最终,经过这个过程,只要整个网络是连通图,网络中的所有节点都能获得各锚节点的坐标以及它到各锚节点的最短距离,也就是最小跳数。

其中,各个锚节点在广播计算得到的校正每跳距离时,未知节点对校正每跳距离的接收可以具有不同的方式。

在一个实施例中,未知节点仅接收获得的第一个校正每跳距离,丢弃后来的校正每跳距离。确保未知节点从最近的锚节点接收校正每跳距离。

在一个实施例中,s210中所述各个锚节点的参考每跳距离表示如下:

上式中,i代表无线传感器网络中的锚节点i,j代表无线传感器网络中的锚节点j,其中锚节点i的三维坐标为(xi,yi,zi),锚节点j的三维坐标为(xj,yj,zj),hopsizeij为锚节点i的参考每跳距离,hij为从锚节点i到锚节点j的跳数;

s220中所述各个锚节点的参考每跳距离的平均值表示如下:

上式中,m为无线传感器网络中的锚节点总数,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

上述实施例的技术方案,计算的网络中的各个锚节点的平均每跳距离作为各个锚节点的参考每跳距离,并进一步计算网络中各个锚节点的平均每跳距离的平均值,作为校正每跳距离用于对未知节点的定位,可以消除单个锚节点计算的平均每跳距离的偶然误差,提升定位准确性。

在一个实施例中,如图3所示,s220所述计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离包括:

s221,计算无线传感器网络中各个锚节点的参考每跳距离的平均值;

s222,分别根据各个锚节点的参考每跳距离与所述平均值之间的差值,计算该锚节点的跳距权值;

s223,分别利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离。

上述实施例的技术方案,通过计算各个锚节点的参考每跳距离与网络中参考每跳距离的平均值之间的差值,该差值衡量该锚节点的误差,根据该差值计算该锚节点的跳距权值,利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离,从而实现根据各个锚节点的误差大小对该锚节点的每跳距离进行校正,得到该锚节点的校正每跳距离,用于对未知节点进行定位,可以进一步消除各个锚节点的参考每跳距离的误差,使得计算的各个锚节点的校正每跳距离与实际的每跳距离更接近,从而进一步提升未知节点定位的准确性。

在一个实施例中,s222中所述各个锚节点的跳距权值如下式所示:

上式中,λij为锚节点i的跳距权值,hopsizeij为锚节点i的参考每跳距离,为无线传感器网络中各个锚节点的参考每跳距离的平均值,r为锚节点i的通信半径。

上述实施例的技术方案,计算的跳距权值的取值随着各个锚节点的参考每跳距离与平均值之间的差值的增大而减小,也即一个锚节点的相对误差越大,则该锚节点的跳距权值越小,利用该跳距权值调整节点的参考每跳距离,得到校正每跳距离,使得得到的校正每跳距离更接近实际距离值,提升每跳距离计算的准确性。

在一个实施例中,s223中所述各个锚节点的校正每跳距离如下式所示:

上式中,dhopi为锚节点i的校正每跳距离,λij为锚节点i的跳距权值,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

上述实施例的技术方案,利用计算的跳距权值进一步对参考每跳距离的平均值进行加权调整,进一步提升各个锚节点计算的校正每跳距离的准确性。

在一个实施例中,如图3所示,s230中所述计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标包括:

s231,计算获取未知节点与无线传感器网络中多个锚节点的最小跳数;

s232,分别将多个锚节点的所述校正每跳距离与所述最小跳数相乘,算得未知节点与所述多个锚节点中各个锚节点之间的距离;

s233,根据算得的未知节点与所述多个锚节点中各个锚节点之间的距离,计算未知节点的位置坐标。

上述实施例的技术方案,通过将校正每跳距离与未知节点到各个锚节点的最小跳数相乘,估算该未知节点到各个锚节点的距离,根据该距离计算未知节点的坐标,计算方案简单,易于实现。

在上述实施例的技术方案中,网络中的锚节点计算得到该锚节点的校正每跳距离,即将该校正每跳距离在网络中广播,未知节点可以根据其接收的多个锚节点广播的信息,计算该未知节点到多个锚节点中各个锚节点的距离,并进一步计算得到未知节点的定位的位置坐标。

具体的,对于未知节点接收用于定位的锚节点的位置以及数目,可以根据实际需要设置,接收的锚节点可以优先选择距离未知节点最近的多个锚节点,以确保接收的锚节点信号的质量;用于定位的锚节点越多,计算获取的未知节点的位置准确性越高,但是相应的对于锚节点的布置密度要求更高,且需要消耗的运算资源更多,效率更低。而对于未知节点坐标的具体运算确定方式,也可以有多种不同的实现形式。

在一个实施例中,s230中所述多个锚节点包括三个锚节点,其中,所述三个锚节点与未知节点不在同一平面内;

所述未知节点的位置坐标表示如下:

其中,

上式中,(x,y,z)为未知节点的位置坐标,(xc3,yc3,zc3)为第三锚节点的位置坐标,u代表未知节点,c1代表三个锚节点中的第一锚节点,c2代表三个锚节点中的第二锚节点,c3代表三个锚节点中的第三锚节点,duc1为未知节点与第一锚节点之间的距离,duc2为未知节点与第二锚节点之间的距离,duc3为未知节点与第三锚节点之间的距离,dc2c1为第一锚节点与第二锚节点之间的距离,dc3c1为第三锚节点与第一锚节点之间的距离,dc3c2为第一锚节点与第三锚节点之间的距离。

其中,上述未知节点的坐标表达式的推算过程如下所示:

在空间几何学中,对于任一个给定的球体,可以根据球面上非共面的四点坐标求得球心坐标,从而唯一确定未知节点u坐标。因此当未知节点与三个锚节点不在同一平面时,可以根据空间几何关系计算得到未知节点的坐标,如图4所示,c1、c2、c3到u的距离分别用duc1、duc2和duc3表示,该距离的求法根据前述实施例的未知节点到锚节点的距离计算方法获得。

假设该区域最近的锚节点c1为三维坐标原点(0,0,0),c1c2为x轴,三个锚节点c1、c2、c3为平面xoy建立三维空间。则c2坐标(dc2c1,0,0),dc2c1为c1和c2之间的距离,同样dc3c1为c3和c1之间的距离,dc3c2为c3和c2之间的距离。dc2c1、dc3c1和dc3c2的计算可以直接根据锚节点c1、c2和c2的位置坐标计算得到,或者也可以依照前述实施例的未知节点到锚节点的距离计算方法获得。

c3的坐标表示(x3,y3,0)由图2根据几何规则,可求得:

解得:

得到c3的坐标表示(x3,y3,0),从而未知节点u的坐标(x,y,z)可通过下式获得:

不同于现有技术的未知节点的位置坐标的计算方法较为复杂,一般需要大量锚节点对未知节点的定位,本发明上述实施例的技术方案,通过获取与未知节点不在同一平面的三个锚节点的信息,根据未知节点与该三个锚节点之间的距离,以及该三个锚节点两两之间的距离,直接计算得到未知节点的坐标,仅需更少的锚节点即实现对未知节点的定位,有效降低运算量,减少资源占用,提升系统鲁棒性和容错性,继而提升对未知节点的定位效率。

在另一个实施例中,s230中所述未知节点的位置坐标表示如下:

x=(at-a)-1atb

其中,

上式中,n为未知节点接收的所述多个锚节点的总数,其中n为大于或等于2的正整数,n个锚节点中的任意第i个锚节点的坐标为(xi,yi,zi),dui为未知节点与任意锚节点i之间的距离。

上述实施例的技术方案,利用计算的未知节点与多个锚节点之间的距离,以及各个锚节点的位置坐标,计算未知节点的坐标,能够较为准确地计算得到未知节点的坐标,提升定位准确性。

在一个实施例中,如图5所示,提供了一种基于无线传感器网络的三维定位方法,包括如下步骤:

s510,无线传感器网络中的各锚节点将包含有自身id和位置信息的数据包在网络中广播;

s520,未知节点接收数据包;

s530,未知节点根据接收的数据包判断当前数据包记录的跳数加一后是否为该未知节点与最近锚节点的最小跳数;

s540,如果是,则未知节点记录该最小跳数值,得到未知节点到相应锚节点的最小跳数;否则,返回步骤s520继续接收数据包;

s550,未知节点判断广播是否结束;

s560,若是,则未知节点计算未知节点到锚节点的每跳平均距离;否则,返回步骤s520继续接收数据包;

s570,未知节点计算得到未知节点坐标;

s580,未知节点输出未知节点坐标。

上述实施例的技术方案,给出了本发明基于无线传感器网络的三维定位系统在对未知节点进行定位的基本步骤,通过上述方案,可以实现对未知节点的快速定位。

应该理解的是,虽然图2、图3和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3和图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图6所示,提供了一种基于无线传感器网络的三维定位装置,包括:参考跳距计算模块610、跳距校正模块620和未知节点定位模块630,其中:

参考跳距计算模块610,用于分别计算无线传感器网络中各个锚节点的参考每跳距离;

跳距校正模块620,用于计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

未知节点定位模块630,用于计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

在一个实施例中,所述参考跳距计算模块610还用于依照下式计算各个锚节点的参考每跳距离:

上式中,i代表无线传感器网络中的锚节点i,j代表无线传感器网络中的锚节点j,其中锚节点i的三维坐标为(xi,yi,zi),锚节点j的三维坐标为(xj,yj,zj),hopsizeij为锚节点i的参考每跳距离,hij为从锚节点i到锚节点j的跳数;

所述参考跳距计算模块610还用于依照下式计算所述各个锚节点的参考每跳距离的平均值:

上式中,m为无线传感器网络中的锚节点总数,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,所述跳距校正模块620包括:

跳距权值计算模块,用于分别根据各个锚节点的参考每跳距离与所述平均值之间的差值,计算该锚节点的跳距权值;

跳距权值校正模块,用于分别利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离。

在一个实施例中,所述跳距权值计算模块进一步用于依照下式计算各个锚节点的跳距权值:

上式中,λij为锚节点i的跳距权值,hopsizeij为锚节点i的参考每跳距离,为无线传感器网络中各个锚节点的参考每跳距离的平均值,r为锚节点i的通信半径。

在一个实施例中,所述跳距权值校正模块进一步用于依照下式计算各个锚节点的校正每跳距离:

上式中,dhopi为锚节点i的校正每跳距离,λij为锚节点i的跳距权值,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,所述未知节点定位模块630包括:

距离计算模块,用于分别将多个锚节点的所述校正每跳距离与所述最小跳数相乘,算得未知节点与所述多个锚节点中各个锚节点之间的距离;

未知节点坐标计算模块,用于根据算得的未知节点与所述多个锚节点中各个锚节点之间的距离,计算未知节点的位置坐标。

在一个实施例中,所述多个锚节点包括三个锚节点,其中,所述三个锚节点与未知节点不在同一平面内;

所述未知节点坐标计算模块进一步用于依照下式计算未知节点的位置坐标:

其中,

上式中,(x,y,z)为未知节点的位置坐标,u代表未知节点,c1代表三个锚节点中的第一锚节点,c2代表三个锚节点中的第二锚节点,c3代表三个锚节点中的第三锚节点,(xc3,yc3,zc3)为第三锚节点的位置坐标,duc1为未知节点与第一锚节点之间的距离,duc2为未知节点与第二锚节点之间的距离,duc3为未知节点与第三锚节点之间的距离,dc2c1为第一锚节点与第二锚节点之间的距离,dc3c1为第三锚节点与第一锚节点之间的距离,dc3c2为第一锚节点与第三锚节点之间的距离。

在一个实施例中,所述未知节点坐标计算模块进一步用于依照下式计算所述未知节点的位置坐标:

x=(at-a)-1atb

其中,

上式中,n为未知节点接收的所述多个锚节点的总数,其中n为大于或等于2的正整数,n个锚节点中的任意第i个锚节点的坐标为(xi,yi,zi),dui为未知节点与任意锚节点i之间的距离。

关于基于无线传感器网络的三维定位装置的具体限定可以参见上文中对于基于无线传感器网络的三维定位方法的限定,在此不再赘述。上述基于无线传感器网络的三维定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本发明的基于无线传感器网络的三维定位装置与本发明的基于无线传感器网络的三维定位方法一一对应,在上述基于无线传感器网络的三维定位方法的实施例阐述的技术特征及其有益效果均适用于基于无线传感器网络的三维定位装置的实施例中,特此声明。

在一个实施例中,如图1所示,提供了一种基于无线传感器网络的三维定位系统,包括布置于监测场景内预定位置的多个锚节点,以及至少一个未知节点;

各个所述锚节点之间分别通信连接,各个所述锚节点还用于向待定位的未知节点发送信息;

各个所述锚节点分别计算无线传感器网络中各个锚节点的参考每跳距离;

各个所述锚节点计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

未知节点计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

在一个实施例中,各个所述锚节点在根据所述平均值,获取该锚节点的校正每跳距离时,进一步用于:

分别根据各个锚节点的参考每跳距离与所述平均值之间的差值,计算该锚节点的跳距权值;

分别利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离。

在一个实施例中,各个所述锚节点依照下式计算所述各个锚节点的参考每跳距离:

上式中,i代表无线传感器网络中的锚节点i,j代表无线传感器网络中的锚节点j,其中锚节点i的三维坐标为(xi,yi,zi),锚节点j的三维坐标为(xj,yj,zj),hopsizeij为锚节点i的参考每跳距离,hij为从锚节点i到锚节点j的跳数;

各个所述锚节点依照下式计算所述各个锚节点的参考每跳距离:

上式中,m为无线传感器网络中的锚节点总数,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,各个所述锚节点依照下式计算所述各个锚节点的跳距权值:

上式中,λij为锚节点i的跳距权值,hopsizeij为锚节点i的参考每跳距离,为无线传感器网络中各个锚节点的参考每跳距离的平均值,r为锚节点i的通信半径。

在一个实施例中,各个所述锚节点依照下式计算所述各个锚节点的校正每跳距离:

上式中,dhopi为锚节点i的校正每跳距离,λij为锚节点i的跳距权值,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,未知节点在执行所述根据所述校正平均距离以及所述最小跳数,计算得到未知节点的定位坐标时,进一步用于:

分别将多个锚节点的所述校正每跳距离与所述最小跳数相乘,算得未知节点与所述多个锚节点中各个锚节点之间的距离;

根据算得的未知节点与所述多个锚节点中各个锚节点之间的距离,计算未知节点的位置坐标。

在一个实施例中,所述多个锚节点包括三个锚节点,其中,所述三个锚节点与未知节点不在同一平面内;

未知节点依照下式计算所述未知节点的位置坐标:

其中,

上式中,(x,y,z)为未知节点的位置坐标,(xc3,yc3,zc3)为第三锚节点的位置坐标,u代表未知节点,c1代表三个锚节点中的第一锚节点,c2代表三个锚节点中的第二锚节点,c3代表三个锚节点中的第三锚节点,duc1为未知节点与第一锚节点之间的距离,duc2为未知节点与第二锚节点之间的距离,duc3为未知节点与第三锚节点之间的距离,dc2c1为第一锚节点与第二锚节点之间的距离,dc3c1为第三锚节点与第一锚节点之间的距离,dc3c2为第一锚节点与第三锚节点之间的距离。

在一个实施例中,未知节点依照下式计算所述未知节点的位置坐标:

x=(at-a)-1atb

其中,

上式中,n为未知节点接收的所述多个锚节点的总数,其中n为大于或等于2的正整数,n个锚节点中的任意第i个锚节点的坐标为(xi,yi,zi),dui为未知节点与任意锚节点i之间的距离。

本发明的基于无线传感器网络的三维定位系统与本发明的基于无线传感器网络的三维定位方法一一对应,在上述基于无线传感器网络的三维定位方法的实施例阐述的技术特征及其有益效果均适用于基于无线传感器网络的三维定位系统的实施例中,特此声明。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

分别计算无线传感器网络中各个锚节点的参考每跳距离;

计算无线传感器网络中各个锚节点的参考每跳距离的平均值,根据所述平均值,获取各个锚节点的校正每跳距离;

计算获取未知节点与无线传感器网络中多个锚节点的最小跳数,根据所述校正每跳距离以及所述最小跳数,确定未知节点的定位坐标。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

分别根据各个锚节点的参考每跳距离与所述平均值之间的差值,计算该锚节点的跳距权值;分别利用各个锚节点的所述跳距权值对所述平均值进行加权处理,得到该锚节点的校正每跳距离。

在一个实施例中,计算机程序被处理器执行时还依照下式计算各个锚节点的参考每跳距离:

上式中,i代表无线传感器网络中的锚节点i,j代表无线传感器网络中的锚节点j,其中锚节点i的三维坐标为(xi,yi,zi),锚节点j的三维坐标为(xj,yj,zj),hopsizeij为锚节点i的参考每跳距离,hij为从锚节点i到锚节点j的跳数;

计算机程序被处理器执行时还依照下式计算各个锚节点的参考每跳距离的平均值:

上式中,m为无线传感器网络中的锚节点总数,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,计算机程序被处理器执行时还依照下式计算各个锚节点的跳距权值:

上式中,λij为锚节点i的跳距权值,hopsizeij为锚节点i的参考每跳距离,为无线传感器网络中各个锚节点的参考每跳距离的平均值,r为锚节点i的通信半径。

在一个实施例中,计算机程序被处理器执行时还依照下式计算各个锚节点的校正每跳距离:

上式中,dhopi为锚节点i的校正每跳距离,λij为锚节点i的跳距权值,为无线传感器网络中各个锚节点的参考每跳距离的平均值。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

分别将多个锚节点的所述校正每跳距离与所述最小跳数相乘,算得未知节点与所述多个锚节点中各个锚节点之间的距离;根据算得的未知节点与所述多个锚节点中各个锚节点之间的距离,计算未知节点的位置坐标。

在一个实施例中,所述多个锚节点包括三个锚节点,其中,所述三个锚节点与未知节点不在同一平面内;

计算机程序被处理器执行时还依照下式计算所述未知节点的位置坐标:

其中,

上式中,(x,y,z)为未知节点的位置坐标,(xc3,yc3,zc3)为第三锚节点的位置坐标,u代表未知节点,c1代表三个锚节点中的第一锚节点,c2代表三个锚节点中的第二锚节点,c3代表三个锚节点中的第三锚节点,duc1为未知节点与第一锚节点之间的距离,duc2为未知节点与第二锚节点之间的距离,duc3为未知节点与第三锚节点之间的距离,dc2c1为第一锚节点与第二锚节点之间的距离,dc3c1为第三锚节点与第一锚节点之间的距离,dc3c2为第一锚节点与第三锚节点之间的距离。

在一个实施例中,计算机程序被处理器执行时还依照下式计算所述未知节点的位置坐标:

x=(at-a)-1atb

其中,

上式中,n为未知节点接收的所述多个锚节点的总数,其中n为大于或等于2的正整数,n个锚节点中的任意第i个锚节点的坐标为(xi,yi,zi),dui为未知节点与任意锚节点i之间的距离。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征多个可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1