基于蓝牙的空间定位方法、终端及计算机可读介质与流程

文档序号:19486120发布日期:2019-12-21 03:51阅读:184来源:国知局
基于蓝牙的空间定位方法、终端及计算机可读介质与流程

本发明涉及定位技术领域,尤其涉及一种基于蓝牙的空间定位方法、终端及计算机可读介质。



背景技术:

室内定位是指在室内环境中实现位置定位,主要采用无线通讯、基站定位、惯导定位等多种技术集成形成一套室内位置定位体系,从而实现人员、物体等在室内空间中的位置监控,常见的室内无线定位技术还有:wi-fi、蓝牙、红外线、超宽带、rfid、zigbee和超声波。目前的蓝牙定位采用蓝牙5.0技术定位,结合wi-fi可以实现精度小于1米的定位,定位还达不到足够精确。本发明提出的基于蓝牙的空间定位方法采用蓝牙5.1技术,将会在蓝牙5.0的基础上,新增寻向功能,配合蓝牙近接技术,即可让设备更容易被侦测发现,同时将蓝牙定位的精准度提升到厘米级,借此应用易实现在对小型蓝牙设备中的定位。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种基于蓝牙的空间定位方法、终端及计算机可读介质。

为解决上述技术问题,本发明采用的技术方案是:

一种空间定位方法,其特征在于,包括:

通过接收模块从发送模块接收信号,所述接收模块包括至少三个不位于同一直线的接收单元;

根据所述信号的信号强度,分别获取每个所述接收单元到所述发送模块的距离;

基于每个所述接收单元到所述发送模块的距离以及所述接收单元之间的距离,计算所述发送模块相对于至少一个所述接收单元的空间坐标。

可选的,所述接收模块包括三个接收单元,所述三个接收单元分别位于直角三角形的三个顶点。

可选的,基于每个所述接收单元到所述发送模块的距离以及所述接收单元之间的距离,计算所述发送模块相对于至少一个所述接收单元的空间坐标包括:

设定位于直角处的接收单元为原点、所述直角三角形的一条直角边所在直线为x轴、所述直角三角形的另一条直角边所在直线为y轴,构建三维坐标系;

基于每个所述接收单元到所述发送模块的距离以及其中两个所述接收单元之间的距离,计算所述发送模块在所述三维坐标系中的空间坐标;

依据所述发送模块在所述三维坐标系中的空间坐标,确定所述发送模块相对于一个接收单元的空间坐标。

可选的,所述接收模块包括四个接收单元,所述四个接收单元分别位于矩形的四个顶点,其中,任意三个所述接收单元可以构成一个直角三角形。

可选的,基于每个所述接收单元到所述发送模块的距离以及所述接收单元之间的距离,计算所述发送模块相对于至少一个所述接收单元的空间坐标包括:

基于所述四个接收单元形成的多个直角三角形,构建多个三维坐标系,其中,在每个直角三角形中,以位于直角处的接收单元为原点、所述直角三角形的一条直角边所在直线为x轴、所述直角三角形的另一条直角边所在直线为y轴,并且,构建出的三维坐标系的数量为一个、两个、三个或四个;

基于每个所述接收单元到所述发送模块的距离以及所述接收单元之间的距离,分别计算所述发送模块在每个所述三维坐标系中的空间坐标;

根据所述发送模块在每个所述三维坐标系中的空间坐标,计算所述发送模块相对于至少一个所述接收单元的空间坐标。

可选的,根据所述发送模块在每个所述三维坐标系中的空间坐标,计算所述发送模块相对于至少一个所述接收单元的空间坐标包括:

根据所述发送模块在多个所述三维坐标系中的空间坐标的平均值,计算所述发送模块相对于至少一个所述接收单元的空间坐标。

一种空间定位方法,用于确定发送模块的空间位置,其特征在于,所述发送模块包括多个发送单元,所述方法包括:

根据上述任一项所述的方法,计算每个发送单元相对于至少一个所述接收单元的空间坐标;

基于每个发送单元相对于至少一个所述接收单元的空间坐标,计算所述发送模块相对于至少一个所述接收单元的空间坐标。

可选的,基于每个发送单元相对于至少一个所述接收单元的空间坐标,计算所述发送模块相对于至少一个所述接收单元的空间坐标包括:

基于每个发送单元相对于至少一个所述接收单元的空间坐标,计算所述多个发送单元相对于至少一个所述接收单元的空间坐标平均值。

一种终端,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。

一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行上述任一所述方法。

本发明实施例提供的上述技术方案与现有技术相比具有如下优点:蓝牙5.1的定位精准度达到厘米级,不仅可以检测到特定对象的距离,还可以检测它所在的方向,可以实现高精度的室内定位,提供一种更低成本、更高精度、更容易普及的室内定位技术,使得室内定位能够应用于更多的物联网场景。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例提供的一种空间定位方法的流程示意图;

图2为本发明一个实施例提供的一种包括三个接收单元的空间定位方法的流程示意图;

图3为本发明又一实施例提供的利用三个接收单元建立三维坐标的示意图;

图4为本发明一个实施例提供的一种包括四个接收单元的空间定位方法的流程示意图;

图5为本发明一个实施例提供的空间定位装置示意图;

图6为本发明一个实施例提供的一种终端的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优单元更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

一种空间定位方法,用于通过蓝牙5.1技术进行空间定位,其定位方法如图1所示,包括:

步骤101:通过接收模块从发送模块接收信号,接收模块包括至少三个不位于同一直线的接收单元;

步骤102:根据信号的信号强度,分别获取每个接收单元到发送模块的距离;

步骤103:基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标。

接收模块从发送模块接收信号,接收模块包括至少三个不位于同一直线的接收单元;根据信号的信号强度,分别获取每个接收单元到发送模块的距离;基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标。

【方法实施例1】

在实施例1中,包括上述图1所示的方法的所有步骤,其中,接收模块包括三个接收单元,三个接收单元分别位于直角三角形的三个顶点,如图2所示:

步骤201:根据信号的信号强度,分别获取三个接收单元到发送模块的距离;

步骤202:设定位于直角处的接收单元为原点、直角三角形的一条直角边所在直线为x轴、直角三角形的另一条直角边所在直线为y轴,构建三维坐标系;

步骤203:基于每个接收单元到发送模块的距离以及其中两个接收单元之间的距离,计算发送模块在三维坐标系中的空间坐标;

步骤204:依据发送模块在三维坐标系中的空间坐标,确定发送模块相对于一个接收单元的空间坐标。

接收模块包括三个接收单元,三个接收单元分别位于直角三角形的三个顶点;根据信号的信号强度,分别获取三个接收单元到发送模块的距离;基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标包括:设定位于直角处的接收单元为原点、直角三角形的一条直角边所在直线为x轴、直角三角形的另一条直角边所在直线为y轴,构建三维坐标系;基于每个接收单元到发送模块的距离以及其中两个接收单元之间的距离,计算发送模块在三维坐标系中的空间坐标;依据发送模块在三维坐标系中的空间坐标,确定发送模块相对于一个接收单元的空间坐标。

【方法实施例2】

在实施例2中,包括上述图2所示的方法的所有步骤,其中,步骤201具体通过以下处理实现:

通过rssi(接收信号强度)来计算接收单元到发送模块的距离,具体的计算公式为:

d=10^((abs(rssi)-a)/(10*n))

其中,

d-计算所得距离;rssi-接收信号强度(负值);a-发射模块和接收单元相隔1米时的信号强度;n-环境衰减因子。

由上述公式可求得接收单元到发送模块之间的距离。

【方法实施例3】

在本发明的一些实施例中,如图3所示,步骤s203具体通过以下处理实现:

三个接收单元分别位于rt△a1a2a3的三个顶点,且a2位于该三角形的直角,通过公式d=10^((abs(rssi)-a)/(10*n))可以计算出三个接收单元分别到发送模块之间的距离:a1b1,a2b1和a3b1。

在rt△a1a2a3中,设定以点a2为原点、以直线a2a3为x轴、以直线a1a2为y轴,构建三维坐标系a2xyz。

在三维坐标系a2xyz中,点b1分别向x轴、y轴作垂线,记垂点分别为c3、c1;

在△a2a3b1中,由于a2a3是已知的,a2b1和a3b1也已经由上述公式求出,根据余弦定理,则可计算出cos∠a2a3b1,则cosb1a3c3也可知,进一步计算可以得出a3c3=a3b1*cos∠b1a3c3,则距离a2c3就可以计算得到:a2c3=a2a3+a3c3。

其中,余弦定理为:

cosa=(b2+c2-a2)/2bc。

同理,可以计算得出a2c1。

在rt△a2c2b1中,a2b1已知,c2b1等于a2c1,则可以根据勾股定理得出a2c2,在rt△a2c3c2中,a2c2由上一步计算得出,a2c3也由前面计算得出,则可以根据勾股定理求出c2c3。

通过上述论证,可以分别求出a2c3、c3c2、c2b1,即点b1相对于x轴,y轴,z轴的距离均可得到,则发送模块b1的三维坐标为(a2c3,c3c2,c2b1)。

在上述计算过程中,本发明给出了发送模块b1在三维坐标系a2xyz中的三维坐标计算的实施例,对于其他计算方法,本发明不做限制。

【方法实施例4】

在实施例4中,包括上述图1所示的方法的所有步骤,

其中,接收模块包括四个接收单元,四个接收单元分别位于矩形的四个顶点,其中,任意三个接收单元可以构成一个直角三角形,如图4所示:

步骤401:根据信号的信号强度,分别获取四个接收单元到发送模块的距离;

步骤402:基于四个接收单元形成的多个直角三角形,构建多个三维坐标系,其中,在每个直角三角形中,以位于直角处的接收单元为原点、直角三角形的一条直角边所在直线为x轴、直角三角形的另一条直角边所在直线为y轴,并且,构建出的三维坐标系的数量为一个、两个、三个或四个;

步骤403:基于每个接收单元到发送模块的距离以及接收单元之间的距离,分别计算发送模块在每个三维坐标系中的空间坐标;

步骤404:根据发送模块在每个三维坐标系中的空间坐标,计算发送模块相对于至少一个接收单元的空间坐标。

接收模块包括四个接收单元,四个接收单元分别位于矩形的四个顶点,其中,任意三个接收单元可以构成一个直角三角形,在矩形中最多可以构成四个直角三角形。根据信号的信号强度,分别获取四个接收单元到发送模块的距离。

基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标包括:基于四个接收单元形成的多个直角三角形,构建多个三维坐标系,其中,在每个直角三角形中,以位于直角处的接收单元为原点、直角三角形的一条直角边所在直线为x轴、直角三角形的另一条直角边所在直线为y轴,并且,构建出的三维坐标系的数量为一个、两个、三个或四个。

基于每个接收单元到发送模块的距离以及接收单元之间的距离,分别计算发送模块在每个三维坐标系中的空间坐标;根据发送模块在每个三维坐标系中的空间坐标,计算发送模块相对于至少一个接收单元的空间坐标。

本发明实施例讨论三维坐标系的数量为两个、三个或四个的情况,三维坐标系数量为至少两个的情形下,分别计算发送模块相对于每个三维坐标系数量的空间坐标,可以得到至少两个空间坐标,进而根据至少两个空间坐标,计算发送模块相对于至少两个接收单元的空间坐标。采用发送模块相对于至少两个接收单元的得到的空间坐标,可以提高计算精度,准确定位发送模块的空间位置。

具体的,在本发明实施例中,计算发送模块相对于至少两个接收单元的空间坐标,具体是根据发送模块在多个三维坐标系中的空间坐标的平均值,也可采用中心、重心、垂心等方法求出,本发明不做限制。

此外,本发明还提供一种空间定位方法,用于确定发送模块的空间位置,发送模块包括多个发送单元,方法包括:计算每个发送单元相对于至少一个接收单元的空间坐标;基于每个发送单元相对于至少一个接收单元的空间坐标,计算发送模块相对于至少一个接收单元的空间坐标,这样可以提高计算精度,准确定位发送模块的空间位置。

其中,在本发明实施例中,计算发送模块相对于至少一个接收单元的空间坐标,具体为计算多个发送单元相对于至少一个接收单元的空间坐标平均值。也可采用中心、重心、垂心等方法求出,本发明不做限制。

基于同一构思,本申请实施例中还提供了一种空间定位装置,如图5所示,包括:

接收模块501,包括至少三个不位于同一直线的接收单元,接收单元用于接收发送模块发出的信号;

获取模块502,用于根据信号的信号强度,分别获取每个接收单元到发送模块的距离;

计算模块503,用于基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标。

接收模块包括至少三个不位于同一直线的接收单元,接收单元用于接收发送模块发出的信号;获取模块用于根据信号的信号强度,分别获取每个接收单元到发送模块的距离;计算模块用于基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块相对于至少一个接收单元的空间坐标。

在本发明的一些实施例中,计算模块503包括:

设定单元,用于设定位于直角处的接收单元为原点、直角三角形的一条直角边所在直线为x轴、直角三角形的另一条直角边所在直线为y轴,构建三维坐标系;

计算单元,用于基于每个接收单元到发送模块的距离以及接收单元之间的距离,计算发送模块在三维坐标系中的空间坐标。

基于同一构思,本申请实施例中还提供了一种终端,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的控制方法。

基于同一构思,本申请实施例中还提供了一种电子设备,如图6所示,该电子设备主要包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602和存储器603通过通信总线604完成相互间的通信。其中,通信接口602用于上述电子设备与其他设备之间的通信。存储器603中存储有可被处理器601执行的程序,处理器601通过执行存储器603上所存放的程序,执行计算机程序时实现上述的控制方法。

上述电子设备中提到的通信总线604可以时外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器603可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器601可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本申请的又一实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述控制方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站单元、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站单元、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特单元相一致的最宽的范围。

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