地图辅助的室内定位后台服务系统
技术领域
本发明涉及室内定位后台服务领域,具体地,涉及一种地图辅助的室内定位后台服务系统。
背景技术
近年来,位置服务相关产业已经发展成为增长最快的科技产业之一,位置服务的需求也在不断扩大并多样化,然而对于室内定位,传统的GPS、北斗等卫星定位无法满足室内场景需求,可用于室内场景的惯性定位、RFID定位等方法均有明显缺陷,如惯性定位的累计误差较大、RFID的布点成本较高等。因此,有必要通过增加额外信息与已有方法的融合,来提高室内定位的性能。
地图是位置服务的基本展示方式之一,然而除了展示作用外,地图还拥有大量的位置服务信息,可以同各种室内定位方法融合,提供额外约束条件,从而提高室内定位性能。地图信息由于数据量大,计算处理较复杂,在定位终端中很难实现,而一个强大稳定的后台系统则是实现地图辅助的有效途径。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种地图辅助的室内定位后台服务系统。
根据本发明的一个方面,提供一种地图辅助的室内定位后台服务系统,包括:服务接入模块、地图信息处理模块、地图辅助定位模块、数据存储模块和服务展示模块,其中,
服务接入模块与用户终端连接,用于与用户终端通信并进行定位数据的预处理;
地图信息处理模块与用户终端连接,用于处理用户输入的初始室内地图,得到系统可使用的地图数据;
地图辅助定位模块分别与服务接入模块和地图信息处理模块连接,用于将预处理后的定位数据与得到的地图数据进行融合处理,利用地图数据辅助改善定位效果,完成辅助定位;
数据存储模块分别与服务接入模块、地图信息处理模块和地图辅助定位模块连接,用于存储定位数据、地图数据以及定位信息;
服务展示模块与数据存储模块连接,用于提供后台服务的展示界面以及与用户的交互界面,显示定位信息。
优选地,服务接入模块包括依次连接的通信模块、连接管理模块、收发控制模块和数据预处理模块,其中,
通信模块:用于与用户终端进行通信;
连接管理模块:用于管理用户终端的连接及权限控制,排除干扰数据;
收发控制模块:用于对服务接入过程中数据的收发过程进行控制,接收数据并转到指定的线程进行操作,将指定内容转发到指定的连接中发送;
数据预处理模块:用于对数据进行包含校验、解译在内的预处理,根据不同的定位方式将定位数据分类,并将数据送入地图辅助定位模块和数据存储模块。
优选地,将用户终端的定位信息通过地图辅助进行修正,使定位信息真实准确,并将修正好的定位数据存入数据存储模块。
优选地,地图辅助定位模块包括:
粒子状态更新模块:与服务接入模块连接,用于根据定位信息对N个粒子状态进行更新;
粒子权重更新模块:分别与粒子状态更新模块和地图信息处理模块连接,用于提取处理后的地图信息,并结合行人位移模型对N个粒子的权重进行更新;以及,
重采样模块:分别与粒子权重更新模块和数据存储模块连接,用于对N个粒子进行重采样,得到最优定位信息并发送至数据存储模块中存储。
优选地,地图辅助定位模块根据用户终端的定位信息以及速度、方向信息融合地图信息对终端下一步的位置进行预测,并将预测信息通过服务接入模块返回用户终端,实现辅助定位。
优选地,地图辅助定位模块包括:
粒子状态更新模块:与服务接入模块连接,用于根据定位信息以及预处理之后的速度、方向信息对N个粒子状态进行更新;
粒子权重更新模块:分别与粒子状态更新模块和地图信息处理模块连接,用于提取处理后的地图信息,并结合行人位移模型对N个粒子的权重进行更新;以及,
重采样模块:分别与粒子权重更新模块和服务接入模块连接,用于对N个粒子进行重采样得到最优定位信息,并将最优定位信息发送至服务接入模块以返回到用户终端,消除用户终端累计误差。
优选地,在对N个粒子进行重采样时,每个粒子被重采样的概率等于其权重。
优选地,数据存储模块包括数据库模块和数据库接口模块,数据库模块用以存储数据并提供数据访问;数据库接口模块为其他模块提供通信接口。
优选地,服务展示模块通过WEB浏览器、PC客户端、手机客户端访问。
优选地,地图辅助定位模块的模块初始化,具体为:利用N个粒子模拟终端的位置点,每个粒子的状态代表一种位置点的可能,粒子的权重代表该位置点可能性的大小。
优选地,服务展示模块通过WEB浏览器、PC客户端、手机客户端访问。
与现有技术相比,本发明具有如下的有益效果:本发明提供了强大稳定的地图辅助的室内定位后台服务系统,该系统利用地图信息,与室内定位方法融合,对室内定位进行辅助,实现了地图辅助室内定位,提高了室内定位性能,且具有定位精度高、系统稳定性好、开销小、效率好、扩展性能高的优点。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明地图辅助的室内定位后台服务系统的结构原理图;
图2为本发明实施例的服务接入模块的结构原理图;
图3为本发明实施例的地图信息处理模块表示室内地图信息的结构图;
图4为本发明实施例的地图辅助定位模块的结构原理图;
图5为本发明实施例的数据存储模块的结构示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
请参阅图1至图5,一种地图辅助的室内定位后台服务系统,包括:服务接入模块101、地图信息处理模块102、地图辅助定位模块103、数据存储模块104和服务展示模块105。
图1所示为地图辅助的室内定位后台服务系统总体结构图。服务接入模块101将用户终端的定位信息和其他信息接收并进行解译,地图信息处理模块102处理根据预定义的规则处理室内地图;地图辅助定位模块103获取服务接入模块101和地图信息处理模块102二者的输出信息,通过一系列融合算法和处理过程,将处理后的定位信息存入数据存储模块104,并提供预测位置信息,通过服务接入模块101传送至终端,对终端定位起到辅助作用;经过地图辅助定位模块103处理的定位信息,可以在服务展示模块105中呈现。
服务接入模块101与用户终端连接,用于与用户终端通信并进行定位数据的预处理。服务接入模块101采用一套稳定、高效且开销小的自定义协议,并且可以对用户终端进行连接管理与权限控制。其包括依次连接的通信模块1011、连接管理模块1012、收发控制模块1013和数据预处理模块1014。
图2为服务接入模块101的结构图。通信模块1011负责与用户终端的通信,采用TCP协议,可以通过GPRS、WiFi等多种方式与用户终端连接。连接管理模块1012负责用户终端的连接管理与权限控制,排除干扰数据。收发控制模块1013负责服务接入过程中数据收发过程的控制,接收数据并转到指定的线程进行操作,将指定内容转发到指定的连接中发送。数据预处理模块1012对数据进行预处理,首先进行校验,如果校验成功则将其解译,并根据不同的定位方式将定位数据分类,最后将数据送入地图辅助定位模块103,并且在数据存储模块104中备份。需要说明的是,服务的接入以及数据的具体格式是由一套自定义的报文协议所支持的,这套协议稳定性好、开销小并且效率高。
地图信息处理模块102与用户终端连接,用于处理用户输入的初始室内地图,得到系统可使用的地图数据。
地图信息处理模块102可将室内地图进行处理,得到可供辅助定位使用的地图表示数据;可以从地图表示数据中提取地图中特定区域的拓扑结构和几何信息;地图表示分为3个层次,其中的特定区域具有拓扑属性和几何属性。具体地,地图信息处理模块102将建筑平面图、矢量图等室内地图进行处理,得到可供地图辅助定位模块103使用的地图表示数据。这样的地图表示数据具有如下两个特征:一是地图上的特定区域如房间、走廊、墙壁等的坐标等几何信息可以准确获得,二是地图的拓扑结构可以轻易获取。图3为室内地图表示信息的结构图,分为3个层次,地图中的特定区域作为实体,拥有拓扑属性,比如房间1包含墙壁1和门1,走廊1也包含墙壁1和门1,于是房间1与走廊1通过门1以及墙壁1连接;实体同时具有几何属性,如房间1的各个顶点坐标等。室内地图经过地图信息处理模块102的处理后,得到如上所述的地图表示数据,将其传到地图辅助定位模块103进行辅助定位,并在数据存储模块104中备份。
地图辅助定位模块103分别与服务接入模块101和地图信息处理模块102连接,用于将预处理后的定位数据与得到的地图数据进行融合处理,利用地图数据辅助改善定位效果,完成辅助定位。其辅助定位采用粒子滤波的方式,使用服务接入模块预处理后的定位信息和其他信息进行粒子状态更新,使用地图信息处理模块处理后的地图信息以及行人位移模型进行粒子权重更新,再对粒子重采样,并迭代粒子权重更新和重采样的处理过程,直至收敛,得到最优位置。具体有两种工作模式,根据两种不同的工作模式,选择输出到数据存储模块或者服务接入模块。其中,第一种辅助定位的模式为后台将用户终端的定位信息通过地图辅助进行修正,使定位信息更加真实准确,并将修正好的定位数据存入数据存储模块104。第二种辅助定位的模式为后台根据用户终端的定位信息以及速度、方向等信息,再融合地图信息等,对终端下一步的位置进行预测,将预测信息通过服务接入模块101返回给终端,辅助其定位。
地图辅助定位模块103包括粒子状态更新模块1031、粒子权重更新模块1032、重采样模块1033。粒子状态更新模块1031与服务接入模块101连接,用于根据定位信息/定位信息以及预处理之后的速度、方向信息对N个粒子状态进行更新;粒子权重更新模块1032分别与粒子状态更新模块1031和地图信息处理模块102连接,用于提取处理后的地图信息,并结合行人位移模型对N个粒子的权重进行更新;重采样模块1033分别与粒子权重更新模块1032、数据存储模块104和服务接入模块101连接,用于对N个粒子进行重采样,经过迭代收敛后,得到最优定位信息并发送至数据存储模块104中存储;或将最优定位信息发送至服务接入模块101以返回到用户终端,消除用户终端累计误差。
图4为地图辅助定位模块的功能框图,不同的输入输出对应两种工作模式。首先,模块初始化,生成N个粒子用来模拟终端的位置点,每个粒子的状态代表一种位置点的可能,粒子的权重则代表这个位置点可能性的大小。当有新的终端定位信息从服务接入模块101传入时,粒子状态更新模块1031对N个粒子状态进行更新,第一种工作模式利用服务接入模块101预处理之后的定位信息来进行粒子状态更新,第二种工作模式除了定位信息,还有预处理之后的速度、方向等其他信息。之后粒子权重更新模块1032提取地图信息处理模块102处理后的地图信息,并结合行人位移模型包括轨迹不能穿墙、速度范围约束等内容,对N个粒子的权重进行更新。具体地,根据地图信息,粒子权重更新模块1032为可能性越大的粒子位置赋予越大的权重,而对于穿墙、超出速度范围等的粒子位置直接将权重归0。再之后对N个粒子进行重采样,每一个粒子被重采样的概率等于其权重。重采样之后再对其权重进行更新,再重采样,如此迭代。迭代的结果是权重很小的粒子很可能不会被重采样而导致其被清除,权重为0的粒子必然被清除,而权重较大的粒子则很可能会被多次重采样而产生新的粒子,迭代之后,粒子将越来越集中于由地图信息约束的最可能出现的位置,最终将收敛并将最优位置输出。在第一种工作模式中,最优位置输出到数据存储模块104中存储,而在第二种工作模式中,最优位置输出到服务接入模块101,再返回到终端,消除终端累计误差。两种工作模式都实现了地图辅助的定位。
数据存储模块104分别与服务接入模块101、地图信息处理模块102和地图辅助定位模块103连接,用于存储定位数据、地图数据、定位信息以及其他后台服务所需的数据,对系统其它模块提供快速易用的数据存储接口。如图5所示,其包括数据库模块1041和数据库接口模块1042,数据库模块用以存储数据并提供数据访问,拥有海量存储能力和高效数据访问能力。数据库接口模块1042为其他模块提供通信接口。
服务展示模块105与数据存储模块104连接,用于提供后台服务的展示界面以及与用户的交互界面,显示定位信息。服务展示模块105为用户提供后台服务的界面展示,界面可以通过WEB浏览器、PC客户端、手机客户端等多种方式访问。在展示界面上,可以在电子地图中直观地查看定位结果,并且可以对比后台系统处理前和处理后的轨迹,以展现后台系统对定位的辅助功能,突出地图辅助的作用。同时,服务展示模块105的用户界面友好,功能易扩展。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。