CN111050273B - 一种基于android***实现智能终端高精度定位的方法及*** - Google Patents
一种基于android***实现智能终端高精度定位的方法及*** Download PDFInfo
- Publication number
- CN111050273B CN111050273B CN201910712423.9A CN201910712423A CN111050273B CN 111050273 B CN111050273 B CN 111050273B CN 201910712423 A CN201910712423 A CN 201910712423A CN 111050273 B CN111050273 B CN 111050273B
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- module
- positioning result
- gnss
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 15
- 208000028257 Joubert syndrome with oculorenal defect Diseases 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/024—Guidance services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/006—Locating users or terminals or network equipment for network management purposes, e.g. mobility management with additional information processing, e.g. for direction or speed determination
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明涉及高精度卫星定位技术领域,公开了一种基于android***实现智能终端高精度定位的方法及***,硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层;抽象子层通过其数据回调接口将GNSS原始数据传输给HAL层的高精度解算模块;高精度解算模块将GNSS原始数据解算后得到定位结果数据,高精度解算模块再将定位结果数据传输给所述抽象子层;抽象子层通过android标准接口将所述定位结果数据上报给应用框架层;应用框架层再通过android标准接口将定位结果数据上报给应用层。只需在HAL层增加高精度解算模块,各app(应用层)就可以获得高精度的第一定位结果数据,同时网络不好时,各app也可以获取精度较低的第二定位结果数据,降低运维的复杂性,提升了用户体验。
Description
技术领域
本发明涉及高精度卫星定位技术领域,公开了一种基于android***实现智能终端高精度定位的方法及***。
背景技术
目前虽然也有许多高精度定位设备,如追踪器,儿童手表等,但这些设备大部分也仅仅是一个GPS***,并没有消除GPS误差,而且只能提供定位追踪,无法使用其定位结果来做更多事情,在现在智能化生活越来越普及的情况下,很多场景需要利用高精度定位完成更多工作,而在市场占有率第一的Android手机或其他智能终端上实现这种高精度定位需求的应用就显得非常迫切。
现有的一类智能终端是在智能终端外增加一个安装有解算模块的解算硬件,智能终端将数据传输给这个解算硬件进行高精度解算后再传输回给需要定位的智能终端,但是这样的硬件体积大,不方便携带。
现有的基于android平台的应用,如高德地图、百度地图和腾讯地图等提供定位和导航功能的应用,虽然能满足大部分人们出行需求,也对定位进行了一定的位置纠偏,如导航路线规划时,偏离道路的定位结果将被人为拉到道路上来,使导航结果看起来准确的定位在道路上来,但并没有真正消除这种GPS误差,也经常会出现较大误差情况,而在现在生活中很多场景需要高精度定位。
发明内容
针对背景技术所面临的问题,本发明的目的在于提供一种基于android***实现智能终端高精度定位的方法及***。
为了达到上述目的,本发明采用如下技术方案:一种基于android***实现智能终端高精度定位的方法包括:硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层;抽象子层通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;所述高精度解算模块将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述定位结果数据传输给所述抽象子层;所述抽象子层通过android标准接口将所述定位结果数据上报给应用框架层;所述应用框架层再通过android标准接口将所述定位结果数据上报给应用层。
优选的,所述定位结果数据包括第一定位结果数据和第二定位结果数据,所述第一定位结果数据的定位精度比第二定位结果数据的定位精度高。
优选的,所述高精度解算模块包括GNSS数据通信模块、数据质量检测模块、数据处理模块、差分解算模块和CORS服务通信模块,抽象子层通过其数据回调接口将GNSS原始数据传输给GNSS数据通信模块,GNSS数据通信模块将GNSS原始数据传输给数据质量检测模块,数据质量检测模块对GNSS原始数据进行检测,并将有效的GNSS原始数据传输给数据处理模块,数据处理模块将GNSS原始数据处理为RINEX原始数据,CORS服务通信模块间隔的接收来自参考站的RTCM星历数据,并将RTCM星历数据传输给缓冲区,当数据处理模块接收到GNSS原始数据时,数据处理模块同时从缓冲区获取RTCM星历数据,并将RTCM星历数据处理为RINEX星历数据,数据处理模块将RINEX原始数据和RINEX星历数据传输给差分解算模块,所述RTCM星历数据包括差分电文数据和导航电文数据,差分解算模块结合RINEX原始数据和RINEX星历数据进行解算得到所述第一定位结果数据。
优选的,所述数据处理模块同时从缓冲区获取RTCM星历数据时,若缓冲区没有RTCM星历数据,则此次数据处理模块接收到的GNSS原始数据传输给差分解算模块,所述差分解算模块仅对GNSS原始数据进行解算得到所述第二定位结果数据。
优选的,所述抽象子层还包括查询检测模块,当硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层后,所述查询检测模块用于检测所述高精度解算模块是否存在,若不存在,抽象子层直接将GNSS原始数据上报给应用框架层。
优选的,所述硬件访问层通过其Android标准接口将GNSS原始数据传输给抽象子层,所述定位结果数据的定位精度为厘米级。
优选的,所述GNSS原始数据包括卫星原始观测数据和卫星原始导航数据,所述抽象子层的所述数据回调接口有三个,抽象子层通过其中两个所述数据回调接口分别传输卫星原始观测数据和卫星原始导航数据,抽象子层通过另外一个所述数据回调接口接收所述定位结果数据。
优选的,所述数据回调接口是通过改造抽象子层获得的,android的标准HAL层由抽象子层和硬件访问层组成,所述高精度解算模块是嵌入android的标准HAL层。
优选的,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
优选的,一种基于android***实现智能终端高精度定位的***包括:硬件访问层,用于将从内核层获得的GNSS原始数据传输给抽象子层;抽象子层,用于通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;高精度解算模块,用于将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述第一定位结果数据传输给所述抽象子层;抽象子层上报模块,用于通过android标准接口将所述定位结果数据上报给应用框架层;应用框架层上报模块,用于通过android标准接口将所述定位结果数据上报给应用层。
与现有技术相比,本发明提供了一种基于android***实现智能终端高精度定位的方法包括:硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层;抽象子层通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;所述高精度解算模块将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述定位结果数据传输给所述抽象子层;所述抽象子层通过android标准接口将所述定位结果数据上报给应用框架层;所述应用框架层再通过android标准接口将所述定位结果数据上报给应用层。只需要改变HAL层,不需要对应用框架层及应用层做任何改变,各种app(应用层)就可以获得高精度的定位结果数据,而且在网络不好时,也不影响精度较低的第二定位结果数据的上报,各app可直接获取高精度的第一定位结果数据,网络不好时,各app可直接获取精度较低的第二定位结果数据,无论网络好不好,各个app都可以获取定位结果,智能终端都可以定位,而且降低了运维管理的复杂性,从而提升了用户体验。
附图说明
图1为本发明一种基于android***实现智能终端高精度定位方法的流程示意图;
图2为本发明一种基于android***实现智能终端高精度定位的***的组成图;
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
下文将详细的对示例性实施例进行说明,所提供的实施例中所描述的实施方式代表本发明的部分较佳实施方式,而并非全部实施方式。基于本发明中的实施例以及图文,本领域技术人员在没有作出创造性劳动的前提下所能获得的所有其他实施例,都将在本发明保护的范围之内。
android***架构共有四层,从高到低分别为applications层(应用层)、application framework(应用框架层)、HAL(android hardware abstraction layer,硬件抽象层)及Linux Kernel(内核层)。其中,内核层为android设备的各种硬件提供了底层驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、GPS芯片驱动等。内核采用了GPL协议,硬件抽象层是介于android内核kernel和上层之间的抽象出来的一层结构。其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作***提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。应用框架层主要提供构建应用程序时可能用到的各种API,android自带的一些核心应用就是使用这些API完成的,开发者也可通过使用API来构建自己的应用程序;API(application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件***不同组成部分衔接的约定。目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。应用层主要用于手机应用的安装,如***自带联系人、短信等程序,或是第三方应用程序。
硬件抽象层是对linux驱动的一个封装,对上层提供统一接口,上层应用不必知道下层硬件具体怎么实现工作的,它屏蔽了底层的实现细节。android搭好了HAL层的框架,为上层Framework通过JNI调用HAL提供了统一的API,应用程序开发商通过安卓统一的API就可以访问到应用框架层上报的的定位坐标数据。服务提供商只需要按照协议开发Framework层和app层即可,无需关心与下层的交互和底层的实现细节。而硬件开发商或者移植人员只需要按照框架开发下层内核层和HAL层即可,无需花费精力在与上层的交互的实现上,将精力放在HAL层本身的实现上即可。一般标准的android***的HAl层分为硬件访问层和抽象子层,当app发出需要定位的指令时,硬件访问层从内核层获取到GPS数据,硬件访问层再上报给抽象子层,抽象子层通过标准接口再上报给应用框架层,app应用层通过应用框架层的标准接口获取到定位坐标数据。这样得到的定位坐标数据的定位精度并不高。本发明就是通过改变一般android***的HAL层后实现高精度定位的。
一实施例中,本发明提供的一种基于android***实现智能终端高精度定位的方法包括:S1,硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层;S2,抽象子层通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;S3,所述高精度解算模块将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述定位结果数据传输给所述抽象子层;S4,所述抽象子层通过android标准接口将所述定位结果数据上报给应用框架层;S5,所述应用框架层再通过android标准接口将所述定位结果数据上报给应用层
一实施例中,本发明提供的一种基于android***实现智能终端高精度定位的***包括:S10,硬件访问层,用于将从内核层获得的GNSS原始数据传输给抽象子层;S20,抽象子层,用于通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;S30,高精度解算模块,用于将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述定位结果数据传输给所述抽象子层;S40,抽象子层上报模块,用于通过android标准接口将所述定位结果数据上报给应用框架层;S50,应用框架层上报模块,用于通过android标准接口将所述定位结果数据上报给应用层。
一实施例中,所述定位结果数据包括第一定位结果数据和第二定位结果数据,所述第一定位结果数据的定位精度比第二定位结果数据的定位精度高,定位精度是空间实***置信息(坐标)与其真实位置之间的接近程度,普通的定位***能够达到的定位精度为米级,而高精度定位技术能够达到厘米级。所述定位结果数据的定位精度为厘米级。第一定位结果数据和第二定位结果数据的定位精度均为厘米级。
一实施例中,本发明是将android***的HAl层进行改变,而对android***的内核层、应用框架层及应用层都没有做改变。本发明只改变HAl层。具体的,在HAl层嵌入高精度解算模块,所以改变HAL层后,本发明的所述HAL层包括硬件访问层、抽象子层及高精度解算模块,智能终端的定位模块通过天线接收到卫星广播的卫星位置坐标信息等通过运算处理为GNSS原始数据,所述GNSS原始数据包括卫星原始观测数据和卫星原始导航数据,所述卫星原始观测数据和卫星原始导航数据包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差信息,本实施例中,定位模块设于智能终端内置的定位芯片上,其他实施例中,所述定位模块也可以集成于智能终端上。所述智能终端可以为手机、汽车导航终端、儿童手表等任一安装有android***的智能终端,内核层从定位芯片获取所述GNSS原始数据,内核层将所述GNSS原始数据传输给硬件访问层,硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层。
抽象子层通过其数据上报回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;本实施例中所述高精度解算模块是嵌入在HAL层的,普通的标准android***的HAL层是没有高精度解算模块的,所述数据回调接口具体是在HAL层的抽象子层增加的,所述抽象子层增加了三个不同的所述数据回调接口,为方便叙述,以下分别称为第一数据回调接口、第二数据回调接口、第三数据回调接口。抽象子层通过新增的这些数据回调接口,实现了与高精度解算模块之间数据的传输。所述抽象子层包括查询检测模块,所述查询检测模块用于检测所述HAL层中是否存在所述高精度解算模块。若HAl层中存在所述高精度解算模块,则所述抽象子层通过其第一个数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块进行解算,若HAl层中不存在所述高精度解算模块,则抽象子层按照普通android***标准流程直接将GNSS原始数据上报给应用框架层,供各个应用层通过应用框架层的标准接口从应用框架层获取。
所述硬件访问层通过其Android标准接口将GNSS原始数据传输给抽象子层,也就是传输数据时,本实施例仅对HAL层的抽象子层的接口做了改变,而对硬件访问层没有做改变,具体的,抽象子层增加数据回调接口,实现抽象子层与高精度解算模块之间数据的相互传输,而硬件访问层传输给抽象子层的数据时用到的接口都是Android原有的标准接口,不需要做改变。本实施例只改变抽象子层的接口,而无需改***件访问层和应用框架层的接口,从而使得对android***HAL的改变比较简单,不会对android原有的硬件访问层和应用框架层有任何影响,方便了应用到硬件访问层和应用框架层的服务商。
所述高精度解算模块将对所述GNSS原始数据处理后得到定位结果数据,所述定位结果数据包括第一定位结果数据和第二定位结果数据,所述高精度解算模块再通过抽象子层的第二数据回调接口将第一定位结果数据或者第二定位结果数据传输给抽象子层,接着抽象子层将所述第一定位结果数据或者第二定位结果数据上报给所述应用框架层,所述应用框架层通过其自身的标准接口接收第一定位结果数据或者第二定位结果数据,所述应用层通过应用框架层的另一个标准接口从所述应用框架层获取所述第一定位结果数据或者第二定位结果数据。本实施例的所述应用框架层接收抽象子层传输的GNSS原始数据的接口为android***自带的标准接口。本实施例的所述应用框架层用于将数据上报给应用层的接口也是android***自带的标准接口,这样服务商在应用框架层和应用层都不需要做任何改变,就可以获得高精度的定位数据。本实施例中只需要在HAl层做如上改变,就可使得任一app不做变化就可获得高精度的第一定位结果数据。而且只改变HAL层实现智能终端高精度定位的方法,供应商只需要在HAL层做出改变,上层应用框架层和应用层的服务商不做改变,从而节省了成本。实现较简单,容易推广。
所述高精度解算模块包括GNSS数据通信模块、数据质量检测模块、数据处理模块和差分解算模块,所述GNSS数据通信模块用于实现所述高精度解算模块与所述抽象子层之间数据的相互传输,所述数据质量检测模块用于检测所述GNSS原始数据是否为有效数据,也就是是否为有效的数据。抽象子层通过第一个数据回调接口将GNSS原始数据传输给GNSS数据通信模块,GNSS数据通信模块将GNSS原始数据传输给数据质量检测模块,数据质量检测模块对GNSS原始数据进行检测,并将有效的GNSS原始数据传输给数据处理模块,数据处理模块将GNSS原始数据处理为RINEX原始数据并传输给差分解算模块。
所述高精度解算模块还包括CORS服务通信模块,CORS服务通信模块间隔的接收来自参考站的RTCM星历数据,并将RTCM星历数据传输给缓冲区,当数据处理模块接收到GNSS原始数据时,数据处理模块同时从缓冲区获取RTCM星历数据,并将RTCM星历数据处理为RINEX星历数据,数据处理模块将RINEX原始数据和RINEX星历数据传输给差分解算模块,差分解算模块结合RINEX原始数据和RINEX星历数据进行解算得到第一定位结果数据。所述CORS服务通信模块间隔一定时间持续从CORS云服务中获取最新RTCM星历数据(RTCM格式数据)并解码为RINEX星历数据存入缓存区,并将RTCM格式的RTCM星历数据处理为RINEX格式的RINEX星历数据,便于差分解算模块对这些数据进行解算。所述RTCM星历数据包括差分电文数据和导航电文数据。具体的,差分解算模块选用RINEX星历数据中的导航电文数据进行解算得到第一定位结果数据,差分解算模块不用卫星原始导航数据解算。
一实施例中,当网络不好时,CORS云服务的缓冲区不存在此时刻的所述RTCM星历数据,所述数据处理模块同时从缓冲区获取RTCM星历数据时,若缓冲区没有此时刻的RTCM星历数据,则此次数据处理模块仅仅将接收到的GNSS原始数据传输给差分解算模块,所述差分解算模块仅仅对GNSS原始数据进行解算得到第二定位结果数据,具体的,差分解算模块结合GNSS原始数据中的卫星原始导航电文数据进行解算得到第二定位结果数据,差分解算模块没有用RINEX星历数据中的导航电文数据。所以,第二定位结果数据的定位精度比第一定位结果数据的定位精度低。
此时得到的所述第二定位结果数据的定位精度比所述第一定位结果数据的定位精度低,然后,普通的定位***能够达到的定位精度仅能达到米级,而高精度技术能够让定位***达到厘米级的精度,所述第一定位结果数据就是经过所述高精度解算模块进行高精度解算后得到的精度高的定位结果,达到厘米级。app用户可以通过android标准接口直接获取到精度高的定位数据,便于各种导航app直接应用精度高的所述第一定位结果数据,提高用户体验。
所述第一定位结果数据的定位精度比所述第二定位结果数据的定位精度高,所述第一定位结果数据的定位精度为厘米级,所述第二定位结果数据的定位精度为厘米级,所述智能终端可以是任一安装有android***的手机、汽车导航终端等。
一实施例中,具体的,所述RTCM星历数据来自连续运行的所述参考站,所述参考站为CORS云服务,也就是采用网络参考站***软件,对分布在一点区域内的多台基准站的坐标和实时观测数据进行***综合误差改正建模,尽可能消除区域内流动站观测数据的***综合误差。
一实施例中,具体的,当数据处理模块从所述GNSS数据通信模块获取到卫星原始观测数据和卫星原始导航数据的同时,数据处理模块同时从缓冲区获取RTCM星历数据,然后数据处理模块将接收到的卫星原始观测数据和卫星原始导航数据及RTCM星历数据的格式均转化为RINEX格式,然后将RINEX格式的原始观测数据和卫星原始导航数据及星历数据传输给差分解算模块,差分解算模块结合RINEX格式的原始观测数据和卫星原始导航数据及星历数据解算得出第一定位结果数据,所述第一定位结果数据就是所述智能终端的坐标位置数据。
所述抽象子层还包括查询检测模块,当硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层后,所述查询检测模块判断所述高精度解算模块是否存在,若不存在,抽象子层直接将GNSS原始数据上报给应用框架层。
当查询检测模块检测到所述高精度解算模块存在时,所述抽象子层接收到硬件访问层从内核层获取的GNSS原始数据时,所述抽象子层将GNSS原始数据传输给高精度解算模块进行差分解算得到定位结果数据,再回传给抽象子层,抽象子层再将所述定位结果数据上报至应用层,供各个app开发商使用,供智能终端的用户通过各app应用所述定位结果数据,方便智能终端的用户实现精度较高的导航等体验。
所述GNSS原始数据包括卫星原始观测数据和卫星原始导航数据,所述抽象子层的所述数据回调接口有三个,抽象子层通过其中两个所述数据回调接口分别传输卫星原始观测数据和卫星原始导航数据,抽象子层通过另外一个所述数据回调接口接收所述定位结果数据。
所述数据回调接口是通过改造抽象子层获得的,android的HAL层包括抽象子层和硬件访问层,所述高精度解算模块是通过在android的HAL层增加而获得的。
一实施例中,具体的,当所述智能终端需要定位时,定位芯片的定位模块在***进程启动时被启动,抽象子层启动后将会启动所述高精度解算模块,所述高精度模块被启动后将回调gps_get_extention()方法从抽象子层获取到3个指针:sGpsMeasurementInterface、sGpsNavigationMessageInterface、sGpsLocationInterface,其中sGpsMeasurementInterface和sGpsNavigationMessageInterface可向抽象子层,设置两种类型的数据回调接口即GnssData数据的回调接口GpsMeasurementCallbacks和GpsNavigationMessage数据的回调接口GpsNavigationMessageCallbacks,sGpsLocationInterface指针则可将差分定位结果回传给抽象子层,再由抽象子层将定位结果按Android***正常流程上报至上层应用,其次,抽象子层被启动后,将启动CORS服务通信模块,间隔一定时间持续从CORS云服务中获取最新星历(RTCM格式的RTCM星历数据)并解码为RINEX格式的RINEX差分数据存入共享缓存区。
一实施例中,具体的,当所述智能终端需要定位时,由application层应用发起定位请求,Gps module开始定位,收到GnssData数据和GpsNavigationMessage数据后,通过上述注册两个callback回调给Dgnss module模块,Dgnss module收到数据后,将进行数据质量分析、编解码,并结合共享缓存区中星历进行差分解算,解算得到的定位结果通过sGpsLocationInterface指针将差分定位结果回传给Gps module,再由Gps module按Android***正常流程上报至application的发起者。
通过所述的基于android***实现智能终端高精度定位的方法,所述智能终端的定位精度较高,达到亚米级甚至厘米级,避免了所述智能终端在严格环境下定位跳点,定位具有连贯性。在HAl层实现解算,使得所述智能终端不需要外接定位模块设备情况下就可以实现高精度定位能力,便于携带,避免了外接设备不易携带的问题。
本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
在符合本领域技术人员的知识和能力水平范围内,本文提及的各种实施例或者技术特征在不冲突的情况下,可以相互组合而作为另外一些可选实施例,这些并未被一一罗列出来的、由有限数量的技术特征组合形成的有限数量的可选实施例,仍属于本发明揭露的技术范围内,亦是本领域技术人员结合附图和上文所能理解或推断而得出的。
最后再次强调,上文所列举的实施例,为本发明较为典型的、较佳实施例,仅用于详细说明、解释本发明的技术方案,以便于读者理解,并不用以限制本发明的保护范围或者应用。
因此,在本发明的精神和原则之内所作的任何修改、等同替换、改进等而获得的技术方案,都应被涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于android***实现智能终端高精度定位的方法,其特征在于,包括:
硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层;
抽象子层通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;
所述高精度解算模块将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将所述定位结果数据传输给所述抽象子层;
所述抽象子层通过android标准接口将所述定位结果数据上报给应用框架层;
所述应用框架层再通过android标准接口将所述定位结果数据上报给应用层。
2.根据权利要求1所述的方法,其特征在于:所述定位结果数据包括第一定位结果数据和第二定位结果数据,所述第一定位结果数据的定位精度比第二定位结果数据的定位精度高。
3.根据权利要求2所述的方法,其特征在于:所述高精度解算模块包括GNSS数据通信模块、数据质量检测模块、数据处理模块、差分解算模块和CORS服务通信模块,抽象子层通过其数据回调接口将GNSS原始数据传输给GNSS数据通信模块,GNSS数据通信模块将GNSS原始数据传输给数据质量检测模块,数据质量检测模块对GNSS原始数据进行检测,并将有效的GNSS原始数据传输给数据处理模块,数据处理模块将GNSS原始数据处理为RINEX原始数据,CORS服务通信模块间隔的接收来自参考站的RTCM星历数据,并将RTCM星历数据传输给缓冲区,当数据处理模块接收到GNSS原始数据时,数据处理模块同时从缓冲区获取RTCM星历数据,并将RTCM星历数据处理为RINEX星历数据,数据处理模块将RINEX原始数据和RINEX星历数据传输给差分解算模块,所述RTCM星历数据包括差分电文数据和导航电文数据,差分解算模块结合RINEX原始数据和RINEX星历数据进行解算得到所述第一定位结果数据。
4.根据权利要求3所述的方法,其特征在于:所述数据处理模块同时从缓冲区获取RTCM星历数据时,若缓冲区没有RTCM星历数据,则此次数据处理模块接收到的GNSS原始数据传输给差分解算模块,所述差分解算模块仅对GNSS原始数据进行解算得到所述第二定位结果数据。
5.根据权利要求1所述的方法,其特征在于:所述抽象子层还包括查询检测模块,当硬件访问层将从内核层获得的GNSS原始数据传输给抽象子层后,所述查询检测模块用于检测所述高精度解算模块是否存在,若不存在,抽象子层直接将GNSS原始数据上报给应用框架层。
6.根据权利要求1所述的方法,其特征在于:所述硬件访问层通过其Android标准接口将GNSS原始数据传输给抽象子层,所述定位结果数据的定位精度为厘米级。
7.根据权利要求1所述的方法,其特征在于:所述GNSS原始数据包括卫星原始观测数据和卫星原始导航数据,所述抽象子层的所述数据回调接口有三个,抽象子层通过其中两个所述数据回调接口分别传输卫星原始观测数据和卫星原始导航数据,抽象子层通过另外一个所述数据回调接口接收所述定位结果数据。
8.根据权利要求1所述的方法,其特征在于:所述数据回调接口是通过改造抽象子层获得的,android的标准HAL层由抽象子层和硬件访问层组成,所述高精度解算模块是嵌入android的标准HAL层。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
10.一种基于android***实现智能终端高精度定位的***,其特征在于,包括:
硬件访问层,用于将从内核层获得的GNSS原始数据传输给抽象子层;
抽象子层,用于通过其数据回调接口将所述GNSS原始数据传输给HAL层的高精度解算模块;
高精度解算模块,用于将所述GNSS原始数据解算后得到定位结果数据,所述高精度解算模块再将第一定位结果数据传输给所述抽象子层;
抽象子层上报模块,用于通过android标准接口将所述定位结果数据上报给应用框架层;
应用框架层上报模块,用于通过android标准接口将所述定位结果数据上报给应用层。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712423.9A CN111050273B (zh) | 2019-08-02 | 2019-08-02 | 一种基于android***实现智能终端高精度定位的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910712423.9A CN111050273B (zh) | 2019-08-02 | 2019-08-02 | 一种基于android***实现智能终端高精度定位的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111050273A CN111050273A (zh) | 2020-04-21 |
CN111050273B true CN111050273B (zh) | 2021-06-04 |
Family
ID=70231720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910712423.9A Active CN111050273B (zh) | 2019-08-02 | 2019-08-02 | 一种基于android***实现智能终端高精度定位的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111050273B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463897B (zh) * | 2020-10-14 | 2023-06-02 | 麒麟软件有限公司 | 一种定位数据重定向的方法及*** |
CN113253318B (zh) * | 2021-06-21 | 2021-09-28 | 四川中科川信科技有限公司 | 一种gnss数据远程超算方法 |
CN114416389B (zh) * | 2021-12-01 | 2023-03-03 | 荣耀终端有限公司 | 一种活动识别方法以及相关设备 |
CN114422940B (zh) * | 2022-01-19 | 2024-05-14 | 北京百度网讯科技有限公司 | 定位方法、装置、电子设备和介质 |
CN115639583A (zh) * | 2022-12-21 | 2023-01-24 | 深圳华大北斗科技股份有限公司 | 基于Android***的高精度定位装置 |
CN116708542B (zh) * | 2023-08-02 | 2023-10-24 | 福建福大北斗通信科技有限公司 | 一种基于Android平台的高精度位置共享***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104236579A (zh) * | 2014-10-09 | 2014-12-24 | 武汉大学 | 一种基于Android内核层实现高精度卫星导航定位方法 |
CN104598253A (zh) * | 2015-02-17 | 2015-05-06 | 武汉大学 | 一种在Android内核层实现GNSS/INS组合导航的方法 |
CN105572704A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | Android平台下支持北斗模块的方法 |
CN107704276A (zh) * | 2017-09-05 | 2018-02-16 | 千寻位置网络有限公司 | 基于Android***智能终端的高精度解决方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8898011B2 (en) * | 2012-09-12 | 2014-11-25 | Raytheon Company | Method for maintaining integrity against erroneous ephemeris for a differential GPS based navigation solution supporting fast system startup |
-
2019
- 2019-08-02 CN CN201910712423.9A patent/CN111050273B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104236579A (zh) * | 2014-10-09 | 2014-12-24 | 武汉大学 | 一种基于Android内核层实现高精度卫星导航定位方法 |
CN105572704A (zh) * | 2014-10-13 | 2016-05-11 | 航天信息股份有限公司 | Android平台下支持北斗模块的方法 |
CN104598253A (zh) * | 2015-02-17 | 2015-05-06 | 武汉大学 | 一种在Android内核层实现GNSS/INS组合导航的方法 |
CN107704276A (zh) * | 2017-09-05 | 2018-02-16 | 千寻位置网络有限公司 | 基于Android***智能终端的高精度解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111050273A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050273B (zh) | 一种基于android***实现智能终端高精度定位的方法及*** | |
US20050282557A1 (en) | System and method for implementing a remote location acquisition application program interface | |
US20200173788A1 (en) | Correcting location information using map data | |
US8059032B2 (en) | Positioning control device and positioning control method | |
CN108318905B (zh) | 在智能手机上实现亚米级定位的方法及亚米定位智能手机 | |
CN111399013B (zh) | 定位方法、装置、终端及存储介质 | |
US8339242B2 (en) | Communication apparatus, communication method, program, information management apparatus and communication system | |
CN109219953B (zh) | 一种闹钟提醒方法、电子设备及计算机可读存储介质 | |
US6714865B2 (en) | Providing position information to a device | |
US20230061599A1 (en) | Positioning method, electronic device and storage medium | |
CN108152839B (zh) | 基于Android操作***的北斗数据通信***及方法 | |
CN111781619B (zh) | 基于近距离通信网络的定位方法、装置、设备和存储介质 | |
CN103220566B (zh) | 智能电视终端的定位方法、智能电视及*** | |
US8744410B2 (en) | Communication of position data via text message | |
CN112770253B (zh) | 紧急呼叫的定位方法、装置、存储介质及电子设备 | |
CN104410951A (zh) | 一种智能终端追踪定位方法与智能终端 | |
KR20140121939A (ko) | 웹서비스 기반의 dgps시스템 및 그 시스템의 위치보정방법 | |
US20230393282A1 (en) | Method and apparatus to facilitate positional corrections for atmospheric delay and/or advance | |
WO2011154769A1 (en) | Handling data with limited applicability area | |
WO2014063584A1 (zh) | 电离层延迟修正参数的传递方法、装置及导航卫星 | |
JP2018004434A (ja) | 測位処理システム、方法、コンピュータプログラム、サーバ装置及びユーザ端末 | |
CN110365738B (zh) | 基于Hybird架构的定位方法、装置及存储介质 | |
CN101784007B (zh) | 移动终端的定位方法及相关装置 | |
CN110649958B (zh) | 用于处理卫星数据的方法、装置、设备和介质 | |
EP4290895A1 (en) | Method for controlling a positioning chip and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method and system for high-precision positioning of intelligent terminals based on Android system Granted publication date: 20210604 Pledgee: Agricultural Bank of China Limited Guangzhou South China Sub branch Pledgor: GUANGDONG STARCART TECHNOLOGY Co.,Ltd. Registration number: Y2024980016255 |