一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于蓝牙RSSI的位置定位方法、装置以及电子设备与流程

2023-01-15 06:01:23 来源:中国专利 TAG:

基于蓝牙rssi的位置定位方法、装置以及电子设备
技术领域
1.本发明涉及定位领域,具体而言,涉及一种基于蓝牙rssi的位置定位方法、装置以及电子设备。


背景技术:

2.传统的蓝牙rssi定位方法主要采用的是三边定位法,即通过当前标签卡所接收到的信号最好的三个信标的rssi,分别计算出距离,这样就可以产生三个圆,圆心分别是三个信标,这三个圆的交点,即为当前标签卡的位置。
3.然而,由于rssi被复杂环境因素影响导致的波动,使得这三个圆不一定会交于一个点,会产生交多个点,甚至无交点的情况产生,因此,现有技术中,使用蓝牙rssi定位方法对标签进行定位,定位准确度低。


技术实现要素:

4.本发明实施例提供了一种基于蓝牙rssi的位置定位方法、装置以及电子设备,以至少解决标签定位准确度低的技术问题。
5.根据本发明实施例的一个方面,提供了一种基于蓝牙rssi的位置定位方法,包括:在标签接收到多个信标发送的蓝牙信号的情况下,确定与所述标签距离最小的两个或两个以上的目标信标;分别以确定出的目标信标为中心且以确定出的目标信标与所述标签的距离为半径确定两个或多个圆;根据两个或多个圆的交叉点确定所述标签的位置坐标。
6.根据本发明实施例的另一方面,提供了一种基于蓝牙rssi的位置定位装置,包括:第一确定模块,用于在标签接收到多个信标发送的蓝牙信号的情况下,确定与所述标签距离最小的两个或两个以上的目标信标;第二确定模块,用于分别以确定出的目标信标为中心且以确定出的目标信标与所述标签的距离为半径确定两个或多个圆;第三确定模块,用于根据两个或多个圆的交叉点确定所述标签的位置坐标。
7.作为一种可选的示例,所述第三确定模块包括:第一确定单元,用于在所述两个或多个圆中,半径第一小的第一圆与半径第二小的第二圆存在两个交点的情况下,将所述两个交点中,与目标圆心最近的交点的坐标作为所述标签的位置坐标。
8.作为一种可选的示例,所述第三确定模块包括:第二确定单元,用于在所述两个或多个圆中,半径第一小的第一圆与半径第二小的第二圆存在两个交点的情况下,将所述两个交点的连线的中点的坐标作为所述标签的位置坐标。
9.作为一种可选的示例,所述第三确定模块包括:第三确定单元,用于在所述两个或多个圆中,半径第一小的第一圆与半径第二小的第二圆存在一个交点的情况下,将所述一个交点的坐标作为所述标签的位置坐标。
10.作为一种可选的示例,所述第三确定模块包括:第四确定单元,用于在所述两个或多个圆中,半径第一小的第一圆与半径第二小的第二圆不存在交点的情况下,膨胀或收缩所述第一圆,或者膨胀或收缩所述第二圆,直到所述第一圆与所述第二圆存在至少一个交
点。
11.作为一种可选的示例,所述第一确定模块包括:计算单元,用于在接收到一个蓝牙信号的情况下,根据一个所述蓝牙信号的信号rssi,计算所述标签到发送一个所述蓝牙信号的信标的目标距离;第五确定单元,用于将所述目标距离最小的两个或多个信标作为所述目标信标。
12.作为一种可选的示例,所述计算单元用于:通过如下公式计算所述目标距离:
[0013][0014][0015]
其中,a为标签距离信标1米时的rssi,n为衰减因子,n》0,h为信标到地面的距离,h为标签到地面的距离。
[0016]
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述基于蓝牙rssi的位置定位方法。
[0017]
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过上述计算机程序执行上述的基于蓝牙rssi的位置定位方法。
[0018]
在本发明实施例中,采用了在标签接收到多个信标发送的蓝牙信号的情况下,确定与所述标签距离最小的两个或两个以上的目标信标;分别以确定出的目标信标为中心且以确定出的目标信标与所述标签的距离为半径确定两个或多个圆;根据两个或多个圆的交叉点确定所述标签的位置坐标的方法,由于在上述方法中,在对标签进行定位时,是获取标签与最近的两个或多个信标组成的圆,然后根据两个或多个圆来确定标签的位置坐标,从而可以避免rssi被复杂环境因素影响导致的波动,实现了提高标签定位的准确度的目的,进而解决了标签定位准确度低的技术问题。
附图说明
[0019]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]
图1是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的流程图;
[0021]
图2是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的rssi波动图;
[0022]
图3是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的3点定位没有交点的示意图;
[0023]
图4是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的3点定位两个交点的示意图;
[0024]
图5是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的两点定位没有交点的示意图;
[0025]
图6是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的两点定位两个交点的示意图;
[0026]
图7是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位方法的系统流程
图;
[0027]
图8是根据本发明实施例的一种可选的基于蓝牙rssi的位置定位装置的结构示意图;
[0028]
图9是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
[0029]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0030]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0031]
根据本发明实施例的第一方面,提供了一种基于蓝牙rssi的位置定位方法,可选地,如图1所示,上述方法包括:
[0032]
s102,在标签接收到多个信标发送的蓝牙信号的情况下,确定与所述标签距离最小的两个或两个以上的目标信标;
[0033]
s104,分别以确定出的目标信标为中心且以确定出的目标信标与所述标签的距离为半径确定两个或多个圆;
[0034]
s106,根据两个或多个圆的交叉点确定所述标签的位置坐标。
[0035]
可选的,本实施例中,信标固定在场景中,信标的坐标是已知的。标签是可以实时移动的。标签的位置坐标是要计算的值。当标签在信标所在的场景内时,信标可以发送蓝牙信号,蓝牙信号被标签接收。如果信标和标签的距离太远,则蓝牙信号无法被标签接收。
[0036]
对于标签来说,标签可能接收到0-m个蓝牙信号。m为信标的数量。当标签接收到蓝牙信号后,可以确定蓝牙信号的信号强度(received signal strength indicator,rssi)。rssi的强度可以在接收到蓝牙信号时测量。当知晓蓝牙信号的信号强度时,可以根据上述公式公式(1)和公式(2)计算距离。其中,a为标签距离信标1米时的rssi,n为衰减因子,n》0。公式(1)计算的距离d可以作为标签和信标之间的距离。公式(2)可以对公式(1)计算出的距离进行调优。公式(2)中,考虑了竖直方向的差,因此,计算出的d更加准确。d即为标签和信标之间的精确的距离。公式(2)中,h为信标到地面的距离,h为标签到地面的距离,或者,也可以h为信标到地面的距离,h为标签到地面的距离。
[0037]
由于标签可能接收到0-m个蓝牙信号,因此,如果接收到0个蓝牙信号,则无法确定标签的位置坐标。当接收到1个蓝牙信号,则可以计算出标签到信标的距离。已知信标的位置,已知标签到信标的距离,可以确定出一个圆。该圆上任取一点可以作为标签的位置坐
标。
[0038]
如果标签接收到了两个蓝牙信号或者多个蓝牙信号,则标签可以计算到每一个信标的距离,然后,确定与标签距离最近的两个信标,分别为第一信标和第二信标。距离分别为第一距离和第二距离(第一距离小于第二距离)。那么,第一信标和第一距离构成第一圆,标签可能在第一圆上任意一点。第二信标和第二距离构成第二圆,标签可能在第二圆上的任意一点。
[0039]
那么,在确定标签的位置坐标时,有多种情况。
[0040]
第一种情况为第一圆与第二圆存在两个交点。在第一圆与第二圆存在两个交点的情况下,将距离中,第三小的距离所对应的信标作为第三信标;将两个交点中,与第三信标距离较小的交点的坐标作为标签的位置坐标。或者在第一圆与第二圆存在两个交点的情况下,将两个交点的连线的中点的坐标作为标签的位置坐标。第三信标与第三小的距离构成的圆为第三圆,第三信标为第三圆的目标圆心。
[0041]
也就是说,当第一圆与第二圆存在两个交点的情况下,有两种细分情况。第一种细分情况为,标签只接收到了两个蓝牙信号,因此,只能通过第一圆与第二圆来确定标签位置坐标。将第一圆与第二圆的两个交点的连线的中点作为标签的位置坐标。第二种细分情况为,标签接收到了多个蓝牙信号,而第一信标与第二信标分别为距离标签最近和第二近的信标。此时,要确定距离标签第三近的第三信标,并将第一圆与第二圆的两个交点中,距离第三信标较近的交点作为标签的位置,从而得到标签的位置坐标。
[0042]
第二种情况为第一圆与第二圆存在一个交点,如果两者存在一个交点,则将一个交点的坐标作为标签的位置坐标。
[0043]
第三种情况为第一圆与第二圆不存在交点。在第一圆与第二圆不存在交点的情况下,保持第一距离与第二距离的比值不变,膨胀/收缩第一距离或者膨胀/收缩第二距离,直到第一圆与第二圆存在至少一个交点。
[0044]
也就是说,如果第一圆与第二圆不存在交点,则等比例的同时膨胀或者收缩第一圆与第二圆,则第一圆与第二圆会在调整过程中,存在一个交点,或者两个交点。如果存在一个交点,则可以将该交点作为标签的位置,如果存在两个交点,则可以采用上述方法,从两个交点中确定出一个交点作为标签的位置,或者将两个交点的连线的中点作为标签的位置。
[0045]
本实施例中,上述公式(1)目的在于把信号强度转换为距离。每个标签卡对应的收到的每个信标的rssi做一个排序,然后是根据公式(1),把对应的rssi转换成距离。
[0046]
为了进一步减少误差,加入了高度补偿,在运算中同时传输标签卡的高度值(默认为1,可以设置),并获取信标的高度值,在部署平台可以设置,并从数据库中读取,在算出距离之后,通过勾股定理,由斜边和高度差,算出在平面的投影边。也就是使用上述公式(2),对公式(1)计算的距离进行优化,得到距离d。这样使计算出来的距离,特别是在近距离的时候,减少了一定的误差,当d《(h-h)的时候,就直接认为当前位置处于该信标处。
[0047]
在每一种定位之前加入了判定,如果与某个信标的距离小于特定吸引距离时(默认0.5m,并可以配置),就直接认为标签卡位置处于当前信标,一是可以减少一定的计算量,因位实际工况中,标签卡和信标的数量可能会达到几百上千个,每个都进行详细的计算会增加服务器的负担;二还可以带来一定的对误差的包容性,因位在近距离的时候,rssi的波
动也会比较大。实际测量出来的数据,每次测量的结果还可能不同,只列举其中一种。所以可能出现位于信标很近却出现计算出d为0.5m甚至1m的情况,所以在出现距离小于吸引距离时就定位到信标点可以减少一定的误差。如图2为rssi波动随近距离的变化曲线。
[0048]
在以上的初步过滤和排查之后就根据收到的信标信号的数量,分别进行单点、双点和三点定位。并通过该算法,尽可能的减少误差和做到点的动态化。
[0049]
只收到一个信标信号时进行单点定位,方法为定位在以信标为圆心,计算出距离为半径的圆上随机取一点。
[0050]
收到两个信标信号时进行两点定位,方法为取两个以信标为圆的交点的中点,若只有一个交点则取那一个交点位置。
[0051]
收到三个信标信号时进行三点辅助定位,方法为取两个以信标为圆心,以信标到标签的距离为半径的圆,取两个圆的两个交点,把这两个交点到第三个信标的距离与计算出标签卡到第三个信标的距离做比较,得到距离差值,哪个点的距离差值较小,则取谁。若只有一个交点则去那一个交点位置。
[0052]
但在实际工况中,由于rssi的不稳定性和环境干扰的波动性,导致结算出的位置所构造的圆并不能产生唯一的交点,甚至不能产生交点,例如如图3所示。图3中,第一圆、第二圆和第三圆没有交点。
[0053]
此时就需要对信号较好,也就是对应半径较小的两圆,根据他们之间的距离关系(相离和包含)采取对应的等比例(膨胀和收缩)进行操作,直到两圆出现交点为止,但产生的交点可能有两个,就取离第三个圆上更近的为准,也就是到第三个信标的距离最接近他解算出的距离。
[0054]
无交点采用等比例膨胀(收缩)直到有交点为止的示意图如图4所示。图4的左下角的圆和右下角的圆有两个交点,上方的交点距离图4中上方的圆较近,因此该交点作为标签的位置。
[0055]
分别为信号较好的信标1和2和计算出的到标签卡的距离构造的圆,其两个交点到信标3的距离,很明显上面的交点靠近信标3的圆,所以取上交点并返回为标签卡位置,舍弃掉下交点,这样就会使位置更进一步精确,同时减少了大量的计算,因为传统的三边定位,需要解三个方程,还不一定有解,此方法只需要求两个圆的交点,并拿第三个点作为辅助判断即可,也能同时满足实际rssi波动导致计算出距离不准出现的偏差情况。
[0056]
对于两点定位若无交点的情况,采用相同方法同样采用等比例膨胀(收缩)直到有交点为止。取得两个交点就取其中点,只有一个就取该点。如图5和图6所示。图5中两个圆没有交点,膨胀后,两个圆存在两个交点,两个交点的中点作为标签的位置。
[0057]
图7是本实施例的系统流程图。其中三个点的圆心指过滤后从优到劣对rssi进行排序后得到的信标的位置坐标,半径就是通过rssi转距离算法算出的距离,等比例膨胀(收缩)改变的也就是此距离,使无交点的情况最后产生交点。
[0058]
该算法相较于传统的三边定位算法做了进一步优化和改进,改用三点辅助定位算法,即采用两点定位产生的两个圆的交点,再与交点到第三个信标的距离与标签卡到第三个信标由rssi计算出的距离做比较,哪个交点与到信标3的距离与rssi算出的到信标3的距离较接近就选取那个交点舍弃另一个交点。
[0059]
同时该算法考虑了多种复杂的情况以及误差的影响,例如这里对三点定位两圆无
交点的情况做了考虑,在实际工况中,由于rssi波动,导致计算出距离的波动。可能会导致三边定位算法无解,这时候首先需要判断信标1、2以及其对应的距离也就是圆的半径形成的两个圆关系,包含或者相离,都会无交点从而无解,这时候对相离的圆进行定比例的放大,对包含的圆进行等比例的收缩,然后递归一次该算法,直到求出交点,再用同样的方法用信标3做比较进行取舍,若递归10次还没有结果的话,就返回[-1,-1]对程序做过载保护,表示解算失败,避免程序一直递归导致栈溢出。
[0060]
对于两点算法,若计算出两个交点,则结果取两个交点的中点,若为一个交点,则就取该点,无交点无解的情况同样的也是递归处理,超过十次强制返回[-1,-1]避免无限递归。
[0061]
对于单点算法,由于一个点无法准确的定位一个位置,这里只做存在性检测,因为实际工况中,标签卡只收到一个信标的信号的情况非常少,大部分情况是出现在一个小房间内,只需要在距离对应的圆上,随机取一点即可。
[0062]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0063]
根据本技术实施例的另一方面,还提供了一种基于蓝牙rssi的位置定位装置,如图8所示,包括:
[0064]
第一确定模块802,用于在标签接收到多个信标发送的蓝牙信号的情况下,确定与所述标签距离最小的两个或两个以上的目标信标;
[0065]
第二确定模块804,用于分别以确定出的目标信标为中心且以确定出的目标信标与所述标签的距离为半径确定两个或多个圆;
[0066]
第三确定模块806,用于根据两个或多个圆的交叉点确定所述标签的位置坐标。
[0067]
可选的,本实施例中,信标固定在场景中,信标的坐标是已知的。标签是可以实时移动的。标签的位置坐标是要计算的值。当标签在信标所在的场景内时,信标可以发送蓝牙信号,蓝牙信号被标签接收。如果信标和标签的距离太远,则蓝牙信号无法被标签接收。
[0068]
对于标签来说,标签可能接收到0-m个蓝牙信号。m为信标的数量。当标签接收到蓝牙信号后,可以确定蓝牙信号的信号强度(received signal strength indicator,rssi)。rssi的强度可以在接收到蓝牙信号时测量。当知晓蓝牙信号的信号强度时,可以根据上述公式公式(1)和公式(2)计算距离。其中,a为标签距离信标1米时的rssi,n为衰减因子,n》0。公式(1)计算的距离d可以作为标签和信标之间的距离。公式(2)可以对公式(1)计算出的距离进行调优。公式(2)中,考虑了竖直方向的差,因此,计算出的d更加准确。d即为标签和信标之间的精确的距离。公式(2)中,h为信标到地面的距离,h为标签到地面的距离,或者,也可以h为信标到地面的距离,h为标签到地面的距离。
[0069]
由于标签可能接收到0-m个蓝牙信号,因此,如果接收到0个蓝牙信号,则无法确定标签的位置坐标。当接收到1个蓝牙信号,则可以计算出标签到信标的距离。已知信标的位置,已知标签到信标的距离,可以确定出一个圆。该圆上任取一点可以作为标签的位置坐标。
interconnect,外设部件互连标准)总线、或eisa(extended industry standard architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于上述电子设备与其他设备之间的通信。
[0085]
存储器可以包括ram,也可以包括非易失性存储器(non-volatile memory),例如,至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0086]
作为一种示例,上述存储器906中可以但不限于包括上述基于蓝牙rssi的位置定位装置中的第一确定模块802、第二确定模块804以及第三确定模块806。此外,还可以包括但不限于上述基于蓝牙rssi的位置定位装置中的其他模块单元,本示例中不再赘述。
[0087]
上述处理器可以是通用处理器,可以包含但不限于:cpu(central processing unit,中央处理器)、np(network processor,网络处理器)等;还可以是dsp(digital signal processing,数字信号处理器)、asic(application specific integrated circuit,专用集成电路)、fpga(field-programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0088]
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
[0089]
本领域普通技术人员可以理解,图9所示的结构仅为示意,实施上述基于蓝牙rssi的位置定位方法的设备可以是终端设备,该终端设备可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图9并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示的不同的配置。
[0090]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、rom、ram、磁盘或光盘等。
[0091]
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被处理器运行时执行上述基于蓝牙rssi的位置定位方法中的步骤。
[0092]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0093]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0094]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0095]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有
详述的部分,可以参见其他实施例的相关描述。
[0096]
在本技术所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0097]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0098]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0099]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献