多实例定位引擎数据融合的防抖动方法与流程

文档序号:12280079阅读:773来源:国知局
多实例定位引擎数据融合的防抖动方法与流程

本发明涉及一种防止定位过程出现抖动的方法。



背景技术:

在本发明中,使用的术语定义如下:

定位引擎:通过收集无线终端信号信息以及周边环境信息,综合运用多种先进算法,确定定位终端设备的3维物理位置(X坐标,Y坐标,Z坐标/楼层)。

定位区域:定位引擎所覆盖的地理区域,可以是空间中的任何区域,包括连续或离散的。

定位引擎实例:服务器中运行定位引擎的进程。

抖动:被定位终端设备以违反常识的方式被定位引擎判断出现在多处位置(例如及短时间内从一楼到九楼)。

单个定位引擎实例的定位区域是有限的,在需要定位覆盖的地理区域总面积过大时,经常会需要引入多个定位引擎实例,不可避免的会出现定位引擎所定位区域出现重叠覆盖(姑且称之为交叉区域),处于交叉区域内的终端设备极有可能遭遇抖动现象。如图1所示,A为定位引擎一所定位区域,B为定位引擎二所定位区域,A与B的重叠区域即为交叉区域。

对于图1所示的情况而言,假设某个定位终端设备从交叉区域下方开始经过交叉区域并从交叉区域上方离开,则可以得到如图2所示的位置随时间变化图,在图中,纵轴的0~9表示定位区域中不相邻的10处位置(其中5为下交叉点,6为上交叉点),横轴表示不同的时刻。在1~8时刻,定位终端设备一直处于位置5处。在8~25时刻,定位终端设备在互不相邻的位置之间来回跳动,25时刻之后定位终端设备处于位置6处。在定位终端设备移动过程中,8~25时刻定位引擎一和定位引擎二的定位结果相互覆盖,导致定位终端设备的定位结果一直处于抖动状态,对定位精度和定位效果体验都会造成严重影响。

为解决此问题,申请号为201310373678X的专利公开了一种基于RFID标签防抖动的室内定位方法,包括以下步骤:

(1)RFID读卡器识别RFID标签,确定RFID标签的定位位置;根据RFID标签的当前定位位置与最近一次定位的定位位置变化与否,判断是否进行定位结果校正;当RFID标签的当前定位位置与最近一次定位的定位位置产生变化时,进行步骤(2)的定位结果校正;否则直接确定RFID标签的定位位置作为定位结果;

(2)根据当前定位位置变化与最近一次定位位置变化之间的时间间隔U与信号有效期T初始值的关系判断是否进行防抖动处理;当该时间间隔U小于信号有效期T初始值时,进行步骤(3)的防抖动处理;否则进行步骤(4);

(3)将信号有效期T延长预定时间,同时将最近一次定位的定位位置作为本次RFID标签的定位结果,放弃本次定位结果;

(4)根据当前信号有效期是否已经延长,以及距离最近一次检测到抖动的时间是否超过预定阈值来判断抖动是否已经消除;当当前信号有效期已经延长,且距离最近一次检测到抖动的时间超过预定阈值,则认为抖动已经消除,执行窗口恢复,并将信号有效期还原至初始值,将RFID标签的当前定位位置作为定位结果;如果当前信号有效期没有延长,或者距离最近一次检测到抖动的时间小于等于预定阈值,则将RFID标签的当前定位位置作为定位结果。

上述方法的缺陷在于,依赖于RFID标签,且基于单实例定位引擎,对于多实例定位引擎数据融合的场景没有覆盖。



技术实现要素:

本发明的目的是针对多实例定位引擎数据融合的场景,提供一种解决定位抖动的方法。

为了达到上述目的,本发明的技术方案是提供了一种多实例定位引擎数据融合的防抖动方法,其特征在于,包括以下步骤:

步骤1、获取定位终端设备的最新定位点作为当前定位记录,依据抖动状态标志判断当前定位终端设备是否处于抖动状态,若是,则进入步骤2,若否,则进入步骤4;

步骤2、将当前定位记录放入抖动状态记录队列,依据抖动状态记录队列中最近几次的定位记录,判断当前定位终端设备是否处于稳定状态,若是,则销毁抖动状态记录队列及抖动状态标志,返回步骤1,若否,则进入步骤3;

步骤3、判断当前定位记录是否位于锁定区域,若是,则返回步骤1,若否,则销毁当前定位记录后再返回步骤1;

步骤4、依据当前定位记录及最近几次得到的定位记录判断是否发生抖动,若否,则返回步骤1,若是,则新建抖动状态记录队列,并设置抖动状态标志,进入步骤5;

步骤5、将原有的定位区域作为锁定区域,或将当前定位记录的定位区域作为锁定区域,将当前定位记录放入抖动状态记录队列,返回步骤3。

本发明提供的方法可运用于多实例定位引擎数据融合的场景,能够快速、高效地对抖动进行处理。

附图说明

图1为不同定位引擎的定位区域出现重叠的示意图;

图2为位置随时间变化图;

图3为本发明的流程图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

假定某个定位终端设备最初的定位位置为A,定位引擎持续定位,不同定位引擎实例的数据会被统一汇聚到一个数据出口,如果定位终端设备移动到被两个或者多个定位引擎实例同时覆盖的区域,数据出口给出的这个设备的定位点序列可能是A->A->B->A->C->B->A->B->B...这种情况,在地图上显示出来时定位点会在相隔较远的位置来回跳动。为解决这种抖动现象,需要在抖动被检测到时,为此定位终端设备锁定一个定位区域,接下来再次到达数据出口的定位数据会被加以检测,如果属于这个定位区域,则继续向下传递数据,否则视为无效定位数据,会被抛弃或者做其它处理。有两种策略来选择锁定的定位区域,第一种是维持原有的定位区域,第二种是使用新出现的定位区域。最终定位设备会达到一个稳定的定位序列如:B->B->B->B->B->B...,这时可以宣布定位抖动状态解除。

基于上述原理,本发明提供的一种多实例定位引擎数据融合的防抖动方法,包括以下步骤:

步骤1、获取定位终端设备的最新定位点作为当前定位记录,依据抖动状态标志判断当前定位终端设备是否处于抖动状态,若是,则进入步骤2,若否,则进入步骤4;

步骤2、将当前定位记录放入抖动状态记录队列,依据抖动状态记录队列中最近几次的定位记录,判断当前定位终端设备是否处于稳定状态,若是,则销毁抖动状态记录队列及抖动状态标志,返回步骤1,若否,则进入步骤3;

步骤3、判断当前定位记录是否位于锁定区域,若是,则返回步骤1,若否,则销毁当前定位记录后再返回步骤1;

步骤4、依据当前定位记录及最近几次得到的定位记录判断是否发生抖动,若否,则返回步骤1,若是,则新建抖动状态记录队列,并设置抖动状态标志,进入步骤5;

步骤5、将原有的定位区域作为锁定区域,或将当前定位记录的定位区域作为锁定区域,将当前定位记录放入抖动状态记录队列,返回步骤3。

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