本发明涉及蓝牙技术领域,特别是指一种基于蓝牙信标分组的室内定位方法和系统。
背景技术:
随着智能手机的普及,蓝牙成为手机的标配,使得蓝牙技术应用成为普遍推广的可能。在室内定位行业,使用蓝牙来实现位置服务的技术已经为众人所知。
蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4~2.485ghz的ism波段的uhf无限电波),而蓝牙定位主要利用的是蓝牙4.0的beacon广播功能。
首先,蓝牙beacon(信标)不断发送beacon广播报文(报文含发射功率),手机等搭载蓝牙4.0模块的终端收到beacon广播报文后,测量出接收功率,代入到功率衰减与距离关系的函数中,测算出距离该信标的距离并返回给信标。
在这个过程中,目前主流的蓝牙室内定位方法是基于三角定位算法。通过手机获取周围蓝牙基站的信号强度,再通过其他的一些辅助方法比如加权平均算法,时间加权算法,惯性导航算法,卡尔曼滤波算法,高斯滤波算法等来计算出当前位置。
然而,在实际应用中本发明的发明人发现,现有的室内定位方法在一些场合,比如具有多排货架的超市,往往会出现定位偏差严重的情况,其原因在于,目前的蓝牙定位方法通常定位精度只能达到3-5米,然而超市的每排货架之间距离均在3米内,因此定位精度无法满足超市定位的精度需求,在定位过程中容易造成定位点落到货架或者相邻不同排的其他过道中,从而导致定位偏差严重,用户体验差的问题。
技术实现要素:
有鉴于此,本发明的目的在于提出一种基于蓝牙信标分组的室内定位方法和系统,避免定位出现较大偏差的情况,提高用户体验。
基于上述目的本发明提供一种基于蓝牙信标分组的室内定位方法,包括:
获取室内各信标组中每个蓝牙信标针对定位点输出的信标数据;其中,所述室内划分多个空间范围,在同一空间范围内的蓝牙信标为同一信标组的;
根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组;
根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。
其中,所述根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组,具体包括:
对各蓝牙信标输出的信标数据从大到小进行排序,选择出排序前n的蓝牙信标作为备选信标;其中,n为设定值;
将包含备选信标个数最多的信标组,确定为所述定位点所在空间范围的信标组。
其中,所述将包含备选信标个数最多的信标组所对应的空间范围,确定为所述定位点所在空间范围的信标组,具体包括:
若所述包含备选信标个数最多的信标组为多个信标组,则将所述多个信标组的组号分别与上一时刻确定的该定位点所在空间范围的信标组的组号进行比较;
将比较结果相同的信标组,确定为所述定位点当前所在空间范围的信标组。
其中,所述根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标,具体包括:
对确定的信标组的蓝牙信标输出的信标数据从大到小进行排序,选择排序前3的蓝牙信标;
根据选择的3个蓝牙信标的输出的信标数据,以及3个蓝牙信标的坐标值,运用三点加权质心法定位算法,计算得到所述定位点的当前坐标。
本发明还提供一种基于蓝牙信标分组的室内定位系统,包括:
设置于室内的多个信标组,其中,所述信标组是根据所述室内划分的多个空间范围而分组的,在同一空间范围内的蓝牙信标为同一信标组的;
与各信标组中的每个蓝牙信标进行无线通讯的定位模块,用于获取各蓝牙信标针对定位点输出的信标数据;根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组;根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。
其中,所述定位模块具体包括:
信息获取单元,用于获取各蓝牙信标针对定位点输出的信标数据;
信标组确定单元,用于根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组;
坐标计算单元,用于根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。
本发明实施例的技术方案中,预先对蓝牙信标进行分组,根据各信标组中每个蓝牙信标针对定位点输出的信标数据,确定定位点所在空间范围的信标组;进而根据确定的信标组输出的信标数据,确定定位点的坐标。这样,先确定定位点所在空间范围的信标组的方式,可以避免在后续步骤进行坐标定位时选择不适合的蓝牙信标的信标数据,从而避免这些不适合的信标数据参与计算而导致的定位偏差,能降低蓝牙定位中远距离漂移的问题,提高用户体验。
进一步,本发明实施例的技术方案中,在确定定位点所在空间范围的信标组时还可参考上一时刻所确定的信标组的信息,从而结合历史时刻有效位置信息来辅助信标组的筛选,降低信标的错分率,更精确实现蓝牙的空间范围定位。
附图说明
图1为本发明实施例提供的一种基于蓝牙信标分组的室内定位系统的架构图;
图2为本发明实施例提供的室内货架环境布局示意图;
图3为本发明实施例提供的一种基于蓝牙信标分组的室内定位方法的流程图;
图4为本发明实施例提供的定位模块内部结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明的主要思路在于,对蓝牙信标先进行分组,根据各信标组中每个蓝牙信标针对定位点输出的信标数据,确定定位点所在空间范围的信标组;进而根据确定的信标组输出的信标数据,确定定位点的坐标。这样,先确定定位点所在空间范围的信标组的方式,可以避免在后续步骤进行坐标定位时选择不适合的蓝牙信标的信标数据,从而避免这些不适合的信标数据参与计算而导致的定位偏差,能降低蓝牙定位中远距离漂移的问题,提高用户体验。
下面结合附图详细说明本发明技术方案。
本发明实施例提供的一种基于蓝牙信标分组的室内定位系统,架构如图1所示,包括:设置于室内的多个信标组,以及可以与各信标组中的每个蓝牙信标进行无线通讯的定位模块。
其中,信标组是根据室内划分的多个空间范围而分组的,在同一空间范围内的蓝牙信标为同一信标组的。
具体地,室内可以包括多条通道,而空间范围是根据各通道位置划分的,一个空间范围内包括一条通道。比如,图1所示,在室内排布有多个平行的货架,相邻货架间,或货架与墙之间形成通道。而空间范围可以根据相邻货架间,或货架与墙之间的通道来划分。
比如,在图2所示的室内货架环境布局中,可以划分5个空间范围,每个空间范围在x方向上的范围分别为:
x∈[0,141.5)cm;
x∈[141.5,292)cm;
x∈[292,429)cm;
x∈[429,568)cm;
x∈[568,710)cm。
在同一空间范围内的蓝牙信标为同一信标组的,较佳地,为信标组分配组号时,可以相邻空间范围的信标组的组号也相邻。比如在图1所示的室内空间中依次划分了5个空间范围,而依次排布的5个空间范围所对应的信标组分别为组1~组5。
上述的定位模块用以根据各蓝牙信标输出的信标数据,确定定位点的坐标:定位模块获取室内各信标组中每个蓝牙信标针对定位点输出的信标数据;根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组;根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。
上述定位模块实现基于蓝牙信标分组的室内定位方法的具体流程,如图3所示,包括如下步骤:
s301:定位模块获取室内各信标组中每个蓝牙信标针对定位点输出的信标数据。
具体地,定位模块可以通过无线通讯获取室内各信标组中每个蓝牙信标针对定位点输出的信标数据。其中,所述信标数据可以是距离值,也可以是能反映距离的信号强度值。其中,定位点可以是有蓝牙通信功能的手机、平板等电子设备。
s302:定位模块根据各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组。
本步骤中,定位模块对各蓝牙信标输出的信标数据从大到小进行排序,选择出排序前n的蓝牙信标作为备选信标;将包含备选信标个数最多的信标组,确定为所述定位点所在空间范围的信标组。
其中,n为设定值;本领域技术人员可以根据经验或实际情况设定,比如,可以设定n为10。
在实际应用中,统计出的包含备选信标个数最多的信标组,可能是一个,也可能是多个。
对于一个的情况,则可以将包含备选信标个数最多的信标组直接确定为定位点所在空间范围的信标组。
对于多个的情况,则可以一种更优的方式,根据上一时刻确定的该定位点所在空间范围的信标组,从中选择出一个信标组:定位模块可以将统计出的包含备选信标个数最多的多个信标组的组号,分别与上一时刻确定的该定位点所在空间范围的信标组的组号进行比较;选择出比较结果相同的信标组,作为所述定位点当前所在空间范围的信标组。如果没有比较结果相同的信标组,则可以选择比较结果为组号最接近的信标组,作为所述定位点当前所在空间范围的信标组。
由于参考上一时刻所确定的信标组的信息,从而结合历史时刻有效位置信息来辅助信标组的筛选,降低信标的错分率,更精确实现蓝牙的空间范围定位。
s303:定位模块根据确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。
具体地,定位模块可以对确定的信标组的蓝牙信标输出的信标数据从大到小进行排序,选择排序前3的蓝牙信标;进而根据选择的3个蓝牙信标的输出的信标数据,以及3个蓝牙信标的坐标值,运用三点加权质心法定位算法,计算得到所述定位点的当前坐标。
比如,根据选择的3个蓝牙信标的输出3个距离值da、db、dc,以及3个蓝牙信标的坐标值(xa,ya)、(xb,yb)、(xc,yc),按如下公式计算得到定位点的当前坐标(x,y):
定位模块通过上述方法确定定位点坐标后,可以将该定位结果提供给定位点用户。
通过上述的基于蓝牙信标分组的室内定位方法,能够选取到最接近实际定位点的三个蓝牙信标,有效地避免蓝牙定位算法选到无效信标的情况(无效信标就是距离实际定位点距离较远,但信号强度rssi值可能较大,从而使距离d值较小,会被定位算法直接选取的蓝牙信标点)。从而保证蓝牙定位算法只选用有效蓝牙信标进行计算,保证了蓝牙定位在小范围室内的定位精度,避免定位出现较大偏差的情况,提高用户体验。
如图4所示,上述的定位模块具体可以包括如下单元:信息获取单元401、信标组确定单元402、坐标计算单元403。
信息获取单元401用于获取各蓝牙信标针对定位点输出的信标数据;
信标组确定单元402用于根据信息获取单元401获取的各蓝牙信标输出的信标数据,确定所述定位点所在空间范围的信标组;
坐标计算单元403用于根据信标组确定单元402确定的信标组的蓝牙信标输出的信标数据,确定所述定位点的坐标。具体地,坐标计算单元403对确定的信标组的蓝牙信标输出的信标数据从大到小进行排序,选择排序前3的蓝牙信标;根据选择的3个蓝牙信标的输出的信标数据,以及3个蓝牙信标的坐标值,运用三点加权质心法定位算法,计算得到所述定位点的当前坐标。
其中,上述的信标组确定单元402具体可以包括如下子单元:排序子单元和信标组选择子单元。
其中,排序子单元用于对各蓝牙信标输出的信标数据从大到小进行排序,选择出排序前n的蓝牙信标作为备选信标;其中,n为设定值;
信标组选择子单元用于选择出包含备选信标个数最多的信标组,作为所述定位点所在空间范围的信标组。具体地,所述信标组选择子单元在所述包含备选信标个数最多的信标组为多个信标组的情况下,将所述多个信标组的组号分别与上一时刻确定的该定位点所在空间范围的信标组的组号进行比较;选择出比较结果相同的信标组,作为所述定位点当前所在空间范围的信标组。
定位模块中各单元功能的具体实现方法可参考上述图3所示流程中各步骤的方法,此处不再赘述。
本发明实施例的技术方案中,预先对蓝牙信标进行分组,根据各信标组中每个蓝牙信标针对定位点输出的信标数据,确定定位点所在空间范围的信标组;进而根据确定的信标组输出的信标数据,确定定位点的坐标。这样,先确定定位点所在空间范围的信标组的方式,可以避免在后续步骤进行坐标定位时选择不适合的蓝牙信标的信标数据,从而避免这些不适合的信标数据参与计算而导致的定位偏差,能降低蓝牙定位中远距离漂移的问题,提高用户体验。
进一步,本发明实施例的技术方案中,在确定定位点所在空间范围的信标组时还可参考上一时刻所确定的信标组的信息,从而结合历史时刻有效位置信息来辅助信标组的筛选,降低信标的错分率,更精确实现蓝牙的空间范围定位。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。