掌桥专利:专业的专利平台
掌桥专利
首页

一种节点定位方法、装置及计算机可读存储介质

文献发布时间:2023-06-19 11:21:00


一种节点定位方法、装置及计算机可读存储介质

技术领域

本发明属于定位领域,具体涉及一种节点定位方法、装置及计算机可读存储介质。

背景技术

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

在无线电网络中,希望可以定位无线电网络的节点。现有技术中,通常采用无线电测距技术分别测量待定位无线节点和多个已知位置的无线节点之间的距离,通过多个无线节点的已知位置与测距结果可以确定出待定位无线节点的位置。

然而,由于多种因素,比如WIFI和蓝牙等无线信号的干扰,或者信号可能通过多个路径传输(比如空间中存在诸如墙壁的障碍物,信号会从障碍物反射进入无线节点,从而将折射或者反射路径错误地测量为直射路径),以上测距结果会有比较大的误差。

因此,在无线节点定位中如何保障节点定位准确度是一个亟待解决的问题。

发明内容

针对上述现有技术中存在的问题,提出了一种节点定位方法、装置及计算机可读存储介质,利用这种方法、装置及计算机可读存储介质,能够解决上述问题。

本发明提供了以下方案。

第一方面,提供一种节点定位方法,应用于节点定位系统,所述节点定位系统包括待定位节点和已知位置的N个锚节点,所述N个锚节点与待定位节点之间通过无线信号通信连接,方法包括:基于相位测距技术确定待定位节点和N个锚节点之间的N个第一估计距离,其中N为大于或等于3的整数;对N个第一估计距离进行中值滤波处理,以获得N个第二估计距离;利用预设查找表遍历多个预设节点,以获得每个预设节点和N个锚节点之间的N个理想距离数据;基于N个第二估计距离和对应于每个预设节点的N个理想距离数据计算每个预设节点和待定位节点之间的相似度,根据相似度从多个预设节点中确定目标定位节点。

在一种可能的实施方式中,方法还包括确定预设查找表的步骤,具体包括:确定待定位节点的预设边界范围,在预设边界范围之内设置M个预设节点;基于每个预设节点到每个锚节点的理想距离设置预设查找表;其中,预设查找表中预存每个预设节点与每个锚节点之间的理想距离或理想距离的数学变型。

在一种可能的实施方式中,对N个第一估计距离进行中值滤波处理,以获得N个第二估计距离,还包括:对N个第一估计距离进行中值滤波处理之后,再进行卡尔曼滤波处理,以得到N个第二估计距离。

在一种可能的实施方式中,还包括:利用以下任意一项公式计算每个预设节点和待定位节点之间的相似距离:

在一种可能的实施方式中,预设查找表中预存有每个预设节点和每个锚节点之间的理想距离的平方值。

在一种可能的实施方式中,根据相似度从多个预设节点中确定目标定位节点,还包括:从M个预设节点中确定与待定位节点之间相似度最高的一个预设节点作为目标定位节点;和/或,根据相似度排名从M个预设节点中确定至少两个预设节点,并根据至少两个预设节点各自和待定位节点之间的相似度,在至少两个预设节点之间确定目标定位节点。

第二方面,提供一种节点定位装置,其特征在于,应用于节点定位系统,节点定位系统包括待定位节点和已知位置的N个锚节点,N个锚节点与待定位节点之间通过无线信号通信连接,装置还包括:测距单元,用于基于相位测距技术确定待定位节点和N个锚节点之间的N个第一估计距离,其中N为大于或等于3的整数;滤波单元,用于对N个第一估计距离进行中值滤波处理,以获得N个第二估计距离;查找单元,用于利用预设查找表遍历多个预设节点,以获得每个预设节点和N个锚节点之间的N个理想距离数据;计算单元,用于基于N个第二估计距离和对应于每个预设节点的N个理想距离数据计算每个预设节点和待定位节点之间的相似度,根据相似度从多个预设节点中确定目标定位节点。

在一种可能的实施方式中,节点定位装置还包括查找表设置单元,用于:确定待定位节点的预设边界范围,在预设边界范围之内设置M个预设节点;基于每个预设节点到每个锚节点的理想距离设置预设查找表;其中,预设查找表中预存每个预设节点与每个锚节点之间的理想距离或理想距离的数学变型。

在一种可能的实施方式中,滤波单元用于:对N个第一估计距离进行中值滤波处理之后,再进行卡尔曼滤波处理,以得到N个第二估计距离。

在一种可能的实施方式中,计算单元还用于:利用以下任意一项公式计算每个预设节点和待定位节点之间的相似距离:

在一种可能的实施方式中,预设查找表中预存有每个预设节点和每个锚节点之间的理想距离的平方值。

在一种可能的实施方式中,计算单元还用于:从M个预设节点中确定与待定位节点之间相似度最高的一个预设节点作为目标定位节点;和/或,根据相似度排名从M个预设节点中确定至少两个预设节点,并根据至少两个预设节点各自和待定位节点之间的相似度,在至少两个预设节点之间确定目标定位节点。

第三方面,提供一种节点定位装置,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行:第一方面的方法。

第四方面,提供一种计算机可读存储介质,计算机可读存储介质存储有程序,当程序被多核处理器执行时,使得多核处理器执行如第一方面的方法。

本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本实施例中,通过设置一包括若干个锚节点的节点定位系统,并使用相位测距技术确定待定位节点和若干个锚节点之间的估计距离,能够获得较为准确的估计距离,并使用中值滤波处理依据相位测距技术获得的测距结果,能够减小由于信号干扰等造成的测距误差,进一步增强节点定位准确度。另外,通过采用查找表法能够基于较少的计算量实现空间搜索,从所述多个已知位置的预设节点中确定目标定位节点,计算更为简单。

应当理解,上述说明仅是本发明技术方案的概述,以便能够更清楚地了解本发明的技术手段,从而可依照说明书的内容予以实施。为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举例说明本发明的具体实施方式。

附图说明

通过阅读下文的示例性实施例的详细描述,本领域普通技术人员将明白本文所述的优点和益处以及其他优点和益处。附图仅用于示出示例性实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的标号表示相同的部件。在附图中:

图1为根据本发明一实施例的示例性的节点定位系统的结构示意图;

图2为根据本发明一实施例的节点定位方法的流程示意图;

图3为根据本发明一实施例的节点定位装置的结构示意图;

图4为根据本发明又一实施例的节点定位装置的结构示意图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

在本发明中,应理解,诸如“包括”或“具有”等术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不旨在排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在的可能性。

另外还需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

图1为根据本申请一实施例的节点定位系统100的示意图,其中节点定位系统100包括待定位节点D和已知位置的3个锚节点A、B、C,每个锚节点与待定位节点之间通过无线信号通信连接。可以理解,节点定位系统中可以包含更多个锚节点,本实施例仅是以3个锚节点为例进行描述,然而不限于此。

本领域技术人员可以理解,所描述的应用场景仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受任何限制。在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

图2为根据本申请一实施例的节点定位方法200的流程示意图,该方法可以应用于如图1所示出的节点定位系统100,节点定位系统100包括待定位节点和已知位置的N(在图1中N示例性地等于3)个锚节点,N个锚节点与待定位节点之间通过无线信号通信连接,在该流程中,从设备角度而言,执行主体可以是一个或者多个电子设备;从程序角度而言,执行主体相应地可以是搭载于这些电子设备上的程序。

如图2所示,该方法200可以包括步骤201-204。

在步骤201,基于相位测距技术确定待定位节点和N个锚节点之间的N个第一估计距离,其中N为大于或等于3的整数;

相位测距技术是一种无线电测距技术,其使用无线信号的相位偏转进行无线测距,在理想情况下,可以得到非常高精度的测距结果。

锚节点是指已知位置的无线节点,用于发射或接收无线信号。

待定位节点是指未知位置的无线节点,其同样用于发射或接收无线信号。待定位节点可以是运动或者静止的无线收发设备。一个可能的示例中,待定位节点可以是具有无线收发信号功能的任意一种移动终端或固定终端,比如手机、可穿戴设备、平板电脑等,本申请对此不作具体限制。

在一个可能的示例中,比如在一个节点相继地发送具有频率f

在理想情况下,基于相位测距技术可以得到非常高精度的测距结果。但是,由于WIFI和蓝牙等无线信号的干扰,以上测距结果会有比较大的误差。另外,在诸如室内场景或有障碍物的情况下,上述相位测距技术会将折射或者反射路径错误的当成直射路径,对测距结果也会有不利影响。

在步骤202,进一步对N个第一估计距离进行中值滤波处理,以获得N个第二估计距离;

可以理解,由于WIFI和蓝牙等无线信号的干扰,在步骤201中基于相位测距技术而确定的待定位节点和锚节点之间的测距结果会有比较大的误差。这个影响是平均分布在整个量程中的,而不是传统的噪声引起的高斯分布的,因此,本实施例中采用中值滤波可以减少这些非高斯分布的噪音。

在步骤203,进一步利用预设查找表遍历多个预设节点,以获得每个预设节点和N个锚节点之间的N个理想距离数据。

预设节点是指多个已知位置的节点位置,由于锚节点的位置也是已知的,因此预先可以计算每个预设节点和每个锚节点之间的真实距离,也即理想距离。然后可以基于多个预设节点和锚节点之间的理想距离预先创建预设查找表。

预设查找表中预存有理想距离数据,理想距离数据可以是上述理想距离,或者也可以是理想距离的数学变型。

在一个示例中,预设查找表中预存有M个预设节点和N个锚节点之间的理想距离dist

在另一个示例中,预设查找表中预存有M个预设节点和N个锚节点之间的理想距离dist

在步骤204,进一步基于N个第二估计距离和对应于每个预设节点的N个理想距离计算每个预设节点和待定位节点之间的相似度,根据相似度从多个预设节点中确定目标定位节点。

可以理解,如果待定位节点和某一个预设节点之间的位置越相近,则该待定位节点和每个锚节点之间的第二估计距离与该预设节点和每个锚节点之间的理想距离的相似距离更小,也即相似度就越高。反推可知,可以基于N个第二估计距离和对应于每个预设节点的N个理想距离计算每个预设节点和待定位节点之间的相似度,选取相似度高的一个或多个预设节点确定目标定位节点。

在一种示例中,参考图1,存在3个已知位置的锚节点A(0,a,0)、B(0,0,0)、C(c,0,0)和1个待定位节点D(x,y,z)。基于相位测距技术得到待定位节点(D)和每个锚节点(A、B、C)之间的第一估计距离(r

在本实施例中,通过设置一包括若干个锚节点的节点定位系统,并使用相位测距技术确定待定位节点和若干个锚节点之间的估计距离,能够获得较为准确的估计距离。并使用中值滤波处理依据相位测距技术获得的测距结果,能够减小由于信号干扰等造成的测距误差,进一步增强估计距离准确度。另外,通过采用查找表法能够基于较少的计算量从多个已知位置的预设节点中确定目标定位节点,计算更为简单。

在一种可能的实施方式中,在步骤203之前,为了获得该预设查找表,方法200还可以包括确定预设查找表的步骤,具体包括:确定待定位节点的预设边界范围,在预设边界范围之内设置M个预设节点,并基于每个预设节点到每个锚节点的理想距离设置预设查找表。其中,预设查找表中预存每个预设节点与每个锚节点之间的理想距离或理想距离的数学变型。

预设边界范围可以基于待定位节点的实际范围而确定。比如,如果已经确定待定位节点的位置在某个确定的室内,则可以根据该室内空间的边界(诸如墙壁、房顶等)设置预设边界范围。可以理解,预设边界范围可以基于实际应用场景而自由设置,其目的在于减少搜索的空间范围,减少计算量并提高定位准确度,本申请对于预设边界范围的具体参数和设置方式不作具体限定,可以设置任何不违背本发明目的的预设边界范围。

可以在预设边界范围内设置虚拟的空间网格,并设置空间网格的各个网格节点为预设节点。可以理解,若需求较高的定位精度,则可以设置密度较高的网格,相应地也设置有较多的预设节点。如果需求较低的定位精度,则可以设置密度较为稀疏的网格,这样可以节省查找表的数据量,以及减少后续进行相似度计算的数据量。

可以在预设边界范围内设置密度分布不等的空间网格,并设置空间网格的各个网格节点为预设节点。可以理解,尽管待定位节点理论上可以位于预设边界范围内的任何位置,但是出于不同位置的可能性却很可能相同,因此可以设置密度分布不等的空间网格,在定位可能性更高的区域设置密度更高的空间网格,也即设置更多的预设节点,相反,在定位可能性较低的区域设置更少的预设节点。这样,能够在最大程度保障定位准确度的同时减少定位所需的计算资源。例如,在一个可能的示例中,在室内可能存在诸如家具、柱子等障碍物,待定位节点处于障碍物位置的概率极小,因此可以在这些障碍物处设置更少的预设节点,甚至可以不在这些障碍物位置处设置预设节点。

预设查找表是一张M×N大小的表,其中预存有每个预设节点到每个锚节点的理想距离或理想距离的数学变型。可选地,理想距离的数学变型可以是诸如理想距离的平方值、平方根值等的数学变型,本申请对此不作具体限制。

在一种可能的实施方式中,为了进一步减少相位测距过程中的误差,实现更为准确的节点定位,步骤202还可以进一步包括:对N个第一估计距离进行中值滤波处理之后,再进行卡尔曼滤波处理,以得到N个第二估计距离。

对测距结果进行卡尔曼(kalman)滤波可以消除部分误差并获得更好的结果。可以理解,进行Kalman滤波的前提是噪声是高斯分布的,而中值滤波后的数据的噪声就是高斯分布的,因此可以使用kalman滤波进一步优化中值滤波后的数据,获得较好的效果。基于卡尔曼滤波的特性,进行该卡尔曼滤波之后尤其对运动中的待定位节点的定位效果更好。

在一种可能的实施方式中,还包括:利用以下公式(1)计算每个预设节点和待定位节点之间的相似距离:

(1)

其中,m为预设节点的标号,D

在本实施例中,可以根据R

可选地,还可以利用以下公式(2)计算每个预设节点和待定位节点之间的相似距离:

(2)

其中,m为预设节点的标号,D

可选地,还可以利用以下公式(3)计算每个预设节点和待定位节点之间的相似距离:

(3)

其中,m为预设节点的标号,D

在一种可能的实施方式中,还包括:基于每个预设节点到每个锚节点的理想距离的平方值设置查找表。由此可以直接从预设查找表中获取理想距离的平方值进行诸如以上公式(1)、(2)或(3)的计算。避免在计算过程中再求取平方值。

在一种可能的实施方式中,步骤104中的根据相似度从多个预设节点中确定目标定位节点,还可以包括:从M个预设节点中确定与待定位节点之间相似度最高的一个预设节点作为目标定位节点。

在另一种可能的实施方式中,步骤104中的根据相似度从多个预设节点中确定目标定位节点,还可以包括:根据相似度排名从M个预设节点中确定至少两个预设节点,并根据至少两个预设节点各自和待定位节点之间的相似度,在至少两个预设节点之间确定目标定位节点。

一个示例中,若计算出相邻的预设节点p、预设节点q与待定位节点之间的相似度最高,且二个相似度之间的差距小于预设值,可以设置预设节点p、q之间的中心点为目标定位节点,或者基于相似度比值在预设节点p、q之间选取合适位置作为目标定位节点。在另外的示例中,还可以根据相似度排名确定出相似度最高的三个或以上的预设节点,并在三个或以上预设节点组成的小粒度区域中按照相似度计算结果确定待定位节点的位置。由此可以更加准确地进行节点定位。

基于相同的技术构思,本发明实施例还提供一种节点定位装置,应用于诸如图1所示的节点定位系统,该节点定位系统包括待定位节点和已知位置的N个锚节点,N个锚节点与待定位节点之间通过无线信号通信连接,该节点定位装置还用于执行上述任一实施例所提供的节点定位方法。图3为本发明实施例提供的一种节点定位装置的结构示意图。

如图3所示,装置300还包括:

测距单元301,用于基于相位测距技术确定待定位节点和N个锚节点之间的N个第一估计距离,其中N为大于或等于3的整数;

滤波单元302,用于对N个第一估计距离进行中值滤波处理,以获得N个第二估计距离;

查找单元303,用于利用预设查找表遍历多个预设节点,以获得每个预设节点和N个锚节点之间的N个理想距离数据;

计算单元304,用于基于N个第二估计距离和对应于每个预设节点的N个理想距离数据计算每个预设节点和待定位节点之间的相似度,根据相似度从多个预设节点中确定目标定位节点。

在一种可能的实施方式中,节点定位装置还包括查找表设置单元,用于:确定待定位节点的预设边界范围,在预设边界范围之内设置M个预设节点;基于每个预设节点到每个锚节点的理想距离设置预设查找表;其中,预设查找表中预存每个预设节点与每个锚节点之间的理想距离或理想距离的数学变型。

在一种可能的实施方式中,滤波单元用于:对N个第一估计距离进行中值滤波处理之后,再进行卡尔曼滤波处理,以得到N个第二估计距离。

在一种可能的实施方式中,计算单元还用于:利用以下任意一项公式计算每个预设节点和待定位节点之间的相似距离:

在一种可能的实施方式中,预设查找表中预存有每个预设节点和每个锚节点之间的理想距离的平方值。

在一种可能的实施方式中,计算单元还用于:从M个预设节点中确定与待定位节点之间相似度最高的一个预设节点作为目标定位节点;和/或,根据相似度排名从M个预设节点中确定至少两个预设节点,并根据至少两个预设节点各自和待定位节点之间的相似度,在至少两个预设节点之间确定目标定位节点。

需要说明的是,本申请实施例中的节点定位装置可以实现前述节点定位方法的实施例的各个过程,并达到相同的效果和功能,这里不再赘述。

图4为根据本申请一实施例的节点定位装置,用于执行图2所示出的节点定位方法,该装置包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例的方法。

根据本申请的一些实施例,提供了节点定位方法的非易失性计算机存储介质,其上存储有计算机可执行指令,该计算机可执行指令设置为在由处理器运行时执行:上述实施例的方法。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以其描述进行了简化,相关之处可参见方法实施例的部分说明即可。

本申请实施例提供的装置、设备和计算机可读存储介质与方法是一一对应的,因此,装置、设备和计算机可读存储介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述装置、设备和计算机可读存储介质的有益技术效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

相关技术
  • 一种节点定位方法、装置及计算机可读存储介质
  • 节点故障定位方法、装置、设备及计算机可读存储介质
技术分类

06120112895024