CN111050273A - Method and system for realizing high-precision positioning of intelligent terminal based on android system - Google Patents

Method and system for realizing high-precision positioning of intelligent terminal based on android system Download PDF

Info

Publication number
CN111050273A
CN111050273A CN201910712423.9A CN201910712423A CN111050273A CN 111050273 A CN111050273 A CN 111050273A CN 201910712423 A CN201910712423 A CN 201910712423A CN 111050273 A CN111050273 A CN 111050273A
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.)
Granted
Application number
CN201910712423.9A
Other languages
Chinese (zh)
Other versions
CN111050273B (en
Inventor
陈晓东
关瑞成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Starcart Technology Co ltd
Original Assignee
Guangdong Starcart Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangdong Starcart Technology Co ltd filed Critical Guangdong Starcart Technology Co ltd
Priority to CN201910712423.9A priority Critical patent/CN111050273B/en
Publication of CN111050273A publication Critical patent/CN111050273A/en
Application granted granted Critical
Publication of CN111050273B publication Critical patent/CN111050273B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/024Guidance services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • H04W64/006Locating 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

The invention relates to the technical field of high-precision satellite positioning, and discloses a method and a system for realizing high-precision positioning of an intelligent terminal based on an android system, wherein a hardware access layer transmits GNSS (global navigation satellite system) original data obtained from a kernel layer to an abstraction sublayer; the abstract sub-layer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface of the abstract sub-layer; the high-precision resolving module resolves the GNSS original data to obtain positioning result data, and then transmits the positioning result data to the abstract sublayer; the abstract sub-layer reports the positioning result data to an application framework layer through an android standard interface; and the application framework layer reports the positioning result data to the application layer through the android standard interface. Only need increase the high accuracy at HAL layer and solve the module, each app (application layer) just can obtain the first positioning result data of high accuracy, and when the network is not good simultaneously, each app also can obtain the second positioning result data that the precision is lower, reduces the complexity of fortune dimension, has promoted user experience.

Description

Method and system for realizing high-precision positioning of intelligent terminal based on android system
Technical Field
The invention relates to the technical field of high-precision satellite positioning, and discloses a method and a system for realizing high-precision positioning of an intelligent terminal based on an android system.
Background
Although many high-precision positioning devices such as trackers and child watches exist at present, most of the devices are only one GPS (global positioning system) positioner, GPS errors are not eliminated, positioning tracking can only be provided, and positioning results cannot be used for doing more things.
The existing intelligent terminal is additionally provided with resolving hardware provided with a resolving module, the intelligent terminal transmits data to the resolving hardware for high-precision resolving and then transmits the data back to the intelligent terminal needing to be positioned, but the hardware is large in size and inconvenient to carry.
Although the existing application based on the android platform, such as the application providing positioning and navigation functions of a Goodpasture map, a Baidu map, an Tencent map and the like, can meet the traveling requirements of most people, certain position correction is carried out on positioning, for example, when a navigation route is planned, a positioning result deviating from a road is manually pulled to the road, so that the navigation result looks accurately positioned on the road, but the GPS error is not really eliminated, a larger error condition often occurs, and a plurality of scenes in the current life need high-precision positioning.
Disclosure of Invention
Aiming at the problems in the background art, the invention aims to provide a method and a system for realizing high-precision positioning of an intelligent terminal based on an android system.
In order to achieve the purpose, the invention adopts the following technical scheme: a method for realizing high-precision positioning of an intelligent terminal based on an android system comprises the following steps: the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer; the abstract sub-layer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface of the abstract sub-layer; the high-precision resolving module resolves the GNSS original data to obtain positioning result data, and then transmits the positioning result data to the abstract sublayer; the abstract sub-layer reports the positioning result data to an application framework layer through an android standard interface; and the application framework layer reports the positioning result data to the application layer through an android standard interface.
Preferably, the positioning result data includes first positioning result data and second positioning result data, and the positioning accuracy of the first positioning result data is higher than that of the second positioning result data.
Preferably, the high-precision calculating module comprises a GNSS data communication module, a data quality detection module, a data processing module, a difference calculating module and a CORS service communication module, the abstraction sub-layer transmits raw GNSS data to the GNSS data communication module through a data callback interface of the abstraction sub-layer, the GNSS data communication module transmits the raw GNSS data to the data quality detection module, the data quality detection module detects the raw GNSS data and transmits effective raw GNSS data to the data processing module, the data processing module processes the raw GNSS data into raw RINEX data, the CORS service communication module receives RTCM ephemeris data from a reference station at intervals and transmits the RTCM ephemeris data to a buffer area, and when the data processing module receives the raw GNSS data, the data processing module simultaneously acquires the RTCM ephemeris data from the buffer area and processes the RTCM ephemeris data into RINEX ephemeris data, the data processing module transmits RINEX original data and RINEX ephemeris data to the differential calculation module, the RTCM ephemeris data comprise differential message data and navigation message data, and the differential calculation module performs calculation by combining the RINEX original data and the RINEX ephemeris data to obtain the first positioning result data.
Preferably, when the data processing module simultaneously obtains the RTCM ephemeris data from the buffer area, if the buffer area does not have the RTCM ephemeris data, the GNSS raw data received by the data processing module this time is transmitted to the differential resolving module, and the differential resolving module only resolves the GNSS raw data to obtain the second positioning result data.
Preferably, the abstraction sublayer further includes a query detection module, and after the hardware access layer transmits the GNSS raw data obtained from the kernel layer to the abstraction sublayer, the query detection module is configured to detect whether the high-precision resolving module exists, and if not, the abstraction sublayer directly reports the GNSS raw data to the application framework layer.
Preferably, the hardware access layer transmits the GNSS raw data to the abstract sublayer through an Android standard interface thereof, and the positioning accuracy of the positioning result data is centimeter level.
Preferably, the GNSS raw data includes satellite raw observation data and satellite raw navigation data, there are three data callback interfaces of the abstraction sublayer, the abstraction sublayer transmits the satellite raw observation data and the satellite raw navigation data through two of the data callback interfaces, and the abstraction sublayer receives the positioning result data through another one of the data callback interfaces.
Preferably, the data callback interface is obtained by modifying an abstraction sub-layer, the standard HAL layer of the android consists of the abstraction sub-layer and a hardware access layer, and the high-precision resolving module is the standard HAL layer embedded in the android.
Preferably, a computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the method of any of the above.
Preferably, a system for realizing high-precision positioning of an intelligent terminal based on an android system comprises: the hardware access layer is used for transmitting the GNSS original data obtained from the kernel layer to the abstraction sublayer; the abstract sublayer is used for transmitting the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface; the high-precision calculating module is used for calculating the GNSS original data to obtain positioning result data, and then transmitting the first positioning result data to the abstract sublayer; the abstract sub-layer reporting module is used for reporting the positioning result data to an application framework layer through an android standard interface; and the application framework layer reporting module is used for reporting the positioning result data to the application layer through an android standard interface.
Compared with the prior art, the invention provides a method for realizing high-precision positioning of an intelligent terminal based on an android system, which comprises the following steps: the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer; the abstract sub-layer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface of the abstract sub-layer; the high-precision resolving module resolves the GNSS original data to obtain positioning result data, and then transmits the positioning result data to the abstract sublayer; the abstract sub-layer reports the positioning result data to an application framework layer through an android standard interface; and the application framework layer reports the positioning result data to the application layer through an android standard interface. Only need to change HAL layer, need not do any change to application framework layer and application layer, various apps (application layer) just can obtain the positioning result data of high accuracy, and when the network is not good, also do not influence the report of the lower second positioning result data of precision, each app can directly acquire the first positioning result data of high accuracy, when the network is not good, each app can directly acquire the lower second positioning result data of precision, no matter the network is good not good, each app can acquire the positioning result, intelligent terminal all can fix a position, and the complexity of fortune dimension management has been reduced, thereby user experience has been promoted.
Drawings
FIG. 1 is a schematic flow chart of a method for realizing high-precision positioning of an intelligent terminal based on an android system according to the invention;
FIG. 2 is a composition diagram of a system for realizing high-precision positioning of an intelligent terminal based on an android system according to the present invention;
with the foregoing drawings in mind, certain embodiments of the disclosure have been shown and described in more detail below. These drawings and written description are not intended to limit the scope of the disclosed concepts in any way, but rather to illustrate the concepts of the disclosure to those skilled in the art by reference to specific embodiments.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, some of which are illustrated in the accompanying drawings and described below, wherein like reference numerals refer to like elements throughout. All other embodiments, which can be obtained by a person skilled in the art without any inventive step, based on the embodiments and the graphics of the invention, are within the scope of protection of the invention.
The android system architecture has four layers, namely an application layer, an application frame layer, an HAL (hardware abstraction layer) and a Linux Kernel layer from top to bottom. The kernel layer provides underlying drivers for various hardware of the android device, such as a display driver, an audio driver, a camera driver, a Bluetooth driver, a GPS chip driver and the like. The kernel adopts a GPL protocol, and the hardware abstraction layer is an abstracted layer structure between the android kernel and the upper layer. The purpose of this is to abstract the hardware. It hides the hardware interface details of specific platform, provides virtual hardware platform for operation system, makes it have hardware independence, and can be transplanted on several platforms. The application framework layer mainly provides various APIs (application programming interfaces) which can be used when the application program is constructed, a plurality of core applications of the android are completed by using the APIs, and a developer can also construct the application program by using the APIs; an API (application Programming Interface) is a predefined function or convention for linking different components of a software system. The goal is to provide applications and developers the ability to access a set of routines based on certain software or hardware without having to access native code or understand the details of the internal workings. The application layer is mainly used for installing mobile phone applications, such as programs of contacts, short messages and the like of the system, or third-party application programs.
The hardware abstraction layer is used for encapsulating the linux drive and providing a uniform interface for the upper layer, and the upper layer application does not need to know how the lower layer hardware is specifically realized, so that the implementation details of the bottom layer are shielded. android builds a Framework of an HAL layer, a unified API is provided for calling the HAL by an upper layer Framework through JNI, and an application program developer can access the positioning coordinate data reported by the application Framework layer through the uniform API of android. The service provider only needs to develop a Framework layer and an app layer according to the protocol, and does not need to concern interaction with a lower layer and implementation details of a bottom layer. And hardware developers or transplanters only need to develop the lower kernel layer and the HAL layer according to the framework, and do not need to spend effort on the implementation of interaction with the upper layer and put effort on the implementation of the HAL layer. The HAl layer of a general standard android system is divided into a hardware access layer and an abstraction sub-layer, when an app sends an instruction needing positioning, the hardware access layer acquires GPS data from a kernel layer, the hardware access layer reports the GPS data to the abstraction sub-layer, the abstraction sub-layer reports the GPS data to an application framework layer through a standard interface, and the app application layer acquires positioning coordinate data through the standard interface of the application framework layer. The positioning accuracy of the positioning coordinate data thus obtained is not high. The invention realizes high-precision positioning by changing the HAL layer of a common android system.
In one embodiment, the method for realizing high-precision positioning of the intelligent terminal based on the android system provided by the invention comprises the following steps: s1, the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer; s2, the abstract sub-layer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface; s3, the high-precision resolving module resolves the GNSS original data to obtain positioning result data, and then transmits the positioning result data to the abstract sublayer; s4, the abstract sub-layer reports the positioning result data to an application framework layer through an android standard interface; s5, the application framework layer reports the positioning result data to the application layer through the android standard interface
In an embodiment, the system for realizing high-precision positioning of an intelligent terminal based on an android system provided by the invention comprises: s10, the hardware access layer is used for transmitting the GNSS original data obtained from the kernel layer to the abstract sublayer; s20, an abstract sublayer, which is used for transmitting the GNSS raw data to a high-precision resolving module of a HAL layer through a data callback interface; s30, a high-precision resolving module is used for resolving the GNSS original data to obtain positioning result data, and the high-precision resolving module transmits the positioning result data to the abstract sublayer; s40, an abstract sublayer reporting module, for reporting the positioning result data to an application framework layer through an android standard interface; and S50, an application framework layer reporting module, which is used for reporting the positioning result data to an application layer through an android standard interface.
In one embodiment, the positioning result data includes a first positioning result data and a second positioning result data, the positioning accuracy of the first positioning result data is higher than that of the second positioning result data, the positioning accuracy is the proximity between the spatial entity position information (coordinates) and the real position thereof, the positioning accuracy that a common positioning system can achieve is meter level, and the high-precision positioning technology can achieve centimeter level. And the positioning precision of the positioning result data is centimeter level. The positioning accuracy of the first positioning result data and the second positioning result data is centimeter level.
In one embodiment, the invention changes the HAl layer of the android system, but does not change the kernel layer, the application framework layer and the application layer of the android system. The present invention changes only the hai layer. Specifically, after the HAl layer is changed by embedding a high-precision calculation module in the hai layer, the HAl layer of the present invention includes a hardware access layer, an abstraction sublayer and the high-precision calculation module, a positioning module of the intelligent terminal receives satellite position coordinate information of satellite broadcast through an antenna and the like, and performs calculation processing on the satellite position coordinate information to obtain raw GNSS data, where the raw GNSS data includes raw satellite observation data and raw satellite navigation data, and the raw satellite observation data and the raw satellite navigation data include error information such as clock error, atmospheric propagation delay, and multipath effect of a satellite and a receiver. The intelligent terminal can be any intelligent terminal provided with an android system, such as a mobile phone, a car navigation terminal, a child watch and the like, the kernel layer acquires the GNSS original data from the positioning chip, the kernel layer transmits the GNSS original data to the hardware access layer, and the hardware access layer transmits the GNSS original data acquired from the kernel layer to the abstraction sublayer.
The abstract sublayer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data reporting callback interface; in this embodiment, the high-precision calculation module is embedded in the HAL layer, the HAL layer of a common standard android system does not have the high-precision calculation module, the data callback interface is specifically added in an abstract sublayer of the HAL layer, and the abstract sublayer is added with three different data callback interfaces, which are hereinafter referred to as a first data callback interface, a second data callback interface, and a third data callback interface, respectively, for convenience of description. And the abstract sublayer realizes the data transmission with the high-precision resolving module through the newly added data callback interfaces. The abstract sublayer comprises a query detection module, and the query detection module is used for detecting whether the high-precision calculation module exists in the HAL layer. If the high-precision resolving module exists in the HAl layer, the abstract sub-layer transmits the GNSS raw data to the high-precision resolving module of the HAL layer through a first data callback interface of the abstract sub-layer for resolving, and if the high-precision resolving module does not exist in the HAl layer, the abstract sub-layer directly reports the GNSS raw data to the application framework layer according to a standard flow of a common android system, so that each application layer can obtain the GNSS raw data from the application framework layer through the standard interface of the application framework layer.
The hardware access layer transmits GNSS raw data to the abstraction sublayer through the Android standard interface of the hardware access layer, namely when the data is transmitted, the interface of the abstraction sublayer of the HAL layer is only changed, the hardware access layer is not changed, specifically, the abstraction sublayer is provided with the data callback interface, the mutual transmission of the data between the abstraction sublayer and the high-precision resolving module is realized, and the interfaces used when the data is transmitted to the abstraction sublayer by the hardware access layer are all the original standard interfaces of the Android and do not need to be changed. In the embodiment, only the interface of the abstraction sub-layer is changed, and the interfaces of the hardware access layer and the application framework layer do not need to be changed, so that the android system HAL is changed simply, the original hardware access layer and the original application framework layer of the android are not affected, and a service provider applying the android system HAL to the hardware access layer and the application framework layer is facilitated.
The high-precision calculating module processes the GNSS original data to obtain positioning result data, wherein the positioning result data comprises first positioning result data and second positioning result data, the high-precision calculating module transmits the first positioning result data or the second positioning result data to the abstraction sublayer through a second data callback interface of the abstraction sublayer, the abstraction sublayer reports the first positioning result data or the second positioning result data to the application framework layer, the application framework layer receives the first positioning result data or the second positioning result data through a standard interface of the application framework layer, and the application layer obtains the first positioning result data or the second positioning result data from the application framework layer through another standard interface of the application framework layer. In this embodiment, the interface for receiving the GNSS raw data transmitted by the abstraction sub-layer by the application framework layer is a standard interface of the android system. The interface of the application framework layer for reporting data to the application layer in this embodiment is also a standard interface of the android system, so that a service provider can obtain high-precision positioning data without changing the application framework layer and the application layer. In this embodiment, only the change is needed in the hai layer, so that the first positioning result data with high precision can be obtained without any app change. And only change HAL layer and realize the method that the high-accuracy of the intelligent terminal positions, the supplier only needs to make the change in HAL layer, the service provider of upper application framework layer and application layer does not make the change, thus has saved the cost. The realization is simple and the popularization is easy.
The high-precision calculating module comprises a GNSS data communication module, a data quality detection module, a data processing module and a difference calculating module, the GNSS data communication module is used for realizing mutual transmission of data between the high-precision calculating module and the abstract sublayer, and the data quality detection module is used for detecting whether GNSS original data are valid data, namely whether the GNSS original data are valid data. The abstract sublayer transmits GNSS raw data to the GNSS data communication module through the first data callback interface, the GNSS data communication module transmits the GNSS raw data to the data quality detection module, the data quality detection module detects the GNSS raw data and transmits effective GNSS raw data to the data processing module, and the data processing module processes the GNSS raw data into RINEX raw data and transmits the RINEX raw data to the difference resolving module.
The high-precision calculating module further comprises a CORS service communication module, the CORS service communication module receives RTCM ephemeris data from a reference station at intervals and transmits the RTCM ephemeris data to the buffer area, when the data processing module receives GNSS original data, the data processing module simultaneously acquires the RTCM ephemeris data from the buffer area and processes the RTCM ephemeris data into RINEX ephemeris data, the data processing module transmits the RINEX original data and the RINEX ephemeris data to the differential calculating module, and the differential calculating module performs calculating by combining the RINEX original data and the RINEX ephemeris data to obtain first positioning result data. The CORS service communication module continuously acquires the latest RTCM ephemeris data (RTCM format data) from CORS cloud service at intervals of a certain time, decodes the latest RTCM ephemeris data into RINEX ephemeris data and stores the RINEX ephemeris data into a buffer area, and processes the RTCM ephemeris data in the RTCM format into RINEX ephemeris data in the RINEX format, so that the difference resolving module can resolve the data conveniently. The RTCM ephemeris data includes differential textual data and navigational textual data. Specifically, the differential calculation module selects navigation message data in RINEX ephemeris data to calculate to obtain first positioning result data, and the differential calculation module does not use the original satellite navigation data to calculate.
In an embodiment, when the network is not good, the buffer area of the CORS cloud service does not have the RTCM ephemeris data at this time, the data processing module simultaneously obtains the RTCM ephemeris data from the buffer area, and if the buffer area does not have the RTCM ephemeris data at this time, the data processing module only transmits the received GNSS raw data to the differential resolving module, the differential resolving module only resolves the GNSS raw data to obtain second positioning result data, specifically, the differential resolving module resolves the second positioning result data by combining the satellite raw navigation message data in the GNSS raw data, and the differential resolving module does not use the navigation message data in the RINEX ephemeris data. Therefore, the positioning accuracy of the second positioning result data is lower than that of the first positioning result data.
The positioning accuracy that obtains this moment second location result data compares the positioning accuracy of first location result data is low, then, the positioning accuracy that ordinary positioning system can reach only can reach the metre level, and high accuracy technique can let positioning system reach the precision of centimetre level, first location result data is exactly the process the high positioning result of precision that the module was solved to the high accuracy carries out the high accuracy and obtains after solving reaches the centimetre level. an app user can directly obtain high-precision positioning data through an android standard interface, so that various navigation apps can directly apply the high-precision first positioning result data, and user experience is improved.
The positioning accuracy of the first positioning result data is higher than that of the second positioning result data, the positioning accuracy of the first positioning result data is centimeter-level, the positioning accuracy of the second positioning result data is centimeter-level, and the intelligent terminal can be any mobile phone, automobile navigation terminal and the like provided with the android system.
In an embodiment, specifically, the RTCM ephemeris data is from the continuously running reference station, the reference station is a CORS cloud service, that is, network reference station system software is adopted to perform system comprehensive error correction modeling on coordinates and real-time observation data of a plurality of reference stations distributed in one point area, so as to eliminate system comprehensive errors of observation data of the flow stations in the area as much as possible.
In an embodiment, specifically, when the data processing module obtains the original satellite observation data and the original satellite navigation data from the GNSS data communication module, the data processing module obtains RTCM ephemeris data from the buffer at the same time, then the data processing module converts the formats of the received original satellite observation data, the original satellite navigation data, and the RTCM ephemeris data into a RINEX format, and then transmits the original satellite observation data, the original satellite navigation data, and the ephemeris data in the RINEX format to the differential resolving module, and the differential resolving module resolves to obtain first positioning result data by combining the original observation data in the RINEX format with the original satellite navigation data and the ephemeris data, where the first positioning result data is coordinate position data of the intelligent terminal.
The abstract sublayer further comprises a query detection module, after the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer, the query detection module judges whether the high-precision resolving module exists or not, and if the high-precision resolving module does not exist, the abstract sublayer directly reports the GNSS original data to the application framework layer.
When the inquiry detection module detects that the high-precision calculation module exists, the abstraction sublayer receives GNSS original data acquired by the hardware access layer from the kernel layer, transmits the GNSS original data to the high-precision calculation module for differential calculation to obtain positioning result data, and then transmits the positioning result data back to the abstraction sublayer, and the abstraction sublayer reports the positioning result data to the application layer for use by each app developer, so that a user of the intelligent terminal can use the positioning result data through each app, and the user of the intelligent terminal can conveniently realize experiences such as navigation with high precision.
The GNSS original data comprise satellite original observation data and satellite original navigation data, the number of the data callback interfaces of the abstract sublayer is three, the abstract sublayer transmits the satellite original observation data and the satellite original navigation data through two of the data callback interfaces respectively, and the abstract sublayer receives the positioning result data through the other data callback interface.
The data callback interface is obtained by modifying an abstract sub-layer, the HAL layer of the android comprises the abstract sub-layer and a hardware access layer, and the high-precision resolving module is obtained by adding the HAL layer of the android.
In an embodiment, specifically, when the intelligent terminal needs to be positioned, a positioning module of a positioning chip is started when a system process is started, the high-precision resolving module is started after an abstract sub-layer is started, and the high-precision resolving module acquires a callback gps _ get _ extension () method from the abstract sub-layer to obtain 3 pointers: the positioning method comprises the following steps of sGpsmmeasurementInterface, sGpsmNavigatitionInterface and sGpsmLocatenInterface, wherein the sGpsmmeasurementInterface and the sGpsmNavigatitionInterface can be arranged in an abstract sublayer, two types of data callback interfaces, namely callback interfaces GpsmeasurementCallbacks of GpsmNavigatitiondata and callback interfaces GpsmNavigatitionCallbacks of GpsmNavigatitionnAddress data are arranged, an sGpsLocatenInterface pointer can return a differential positioning result to the abstract sublayer, the abstract sublayer reports the positioning result to an upper layer application according to a normal flow of an Android system, and then, after the abstract sublayer is started, a CORS service communication module is started, the latest RTCM (RTCM data in an RTCM format) is continuously obtained from a CORS cloud service at intervals and decoded into NERIX (ephemeris format) differential data cached in a shared area.
In an embodiment, specifically, when the intelligent terminal needs to be positioned, an application layer initiates a positioning request, a Gps module starts positioning, receives GnssData and gpsinvigationmessage data, and then calls back to a dgnsmodule module through the registration of two callbacks, after receiving the data, the dgnsmodule performs data quality analysis and coding and decoding, and performs differential solution by combining with a calendar in a shared cache region, and the obtained positioning result returns a differential positioning result to the Gps module through an sGpsLocationInterface pointer, and then the Gps module reports the differential positioning result to an initiator of the application according to a normal system flow.
According to the method for realizing the high-precision positioning of the intelligent terminal based on the android system, the positioning precision of the intelligent terminal is high and reaches the sub-meter level or even the centimeter level, the intelligent terminal is prevented from positioning jumping points under a strict environment, and the positioning is continuous. Resolving is realized on the HAl layer, so that the intelligent terminal can realize high-precision positioning capability without an external positioning module device, is convenient to carry, and avoids the problem that the external device is not easy to carry.
The invention also discloses a computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of any of the methods described above.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above.
The various embodiments or features mentioned herein may be combined with each other as additional alternative embodiments without conflict, within the knowledge and ability level of those skilled in the art, and a limited number of alternative embodiments formed by a limited number of combinations of features not listed above are still within the scope of the present disclosure, as understood or inferred by those skilled in the art from the figures and above.
Finally, it is emphasized that the above-mentioned embodiments, which are typical and preferred embodiments of the present invention, are only used for explaining and explaining the technical solutions of the present invention in detail for the convenience of the reader, and are not used to limit the protection scope or application of the present invention.
Therefore, any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be covered within the protection scope of the present invention.

Claims (10)

1. A method for realizing high-precision positioning of an intelligent terminal based on an android system is characterized by comprising the following steps:
the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer;
the abstract sub-layer transmits the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface of the abstract sub-layer;
the high-precision resolving module resolves the GNSS original data to obtain positioning result data, and then transmits the positioning result data to the abstract sublayer;
the abstract sub-layer reports the positioning result data to an application framework layer through an android standard interface;
and the application framework layer reports the positioning result data to the application layer through an android standard interface.
2. The method of claim 1, wherein: the positioning result data comprises first positioning result data and second positioning result data, and the positioning precision of the first positioning result data is higher than that of the second positioning result data.
3. The method of claim 2, wherein: the high-precision resolving module comprises a GNSS data communication module, a data quality detection module, a data processing module, a differential resolving module and a CORS service communication module, wherein an abstract sublayer transmits GNSS raw data to the GNSS data communication module through a data callback interface of the abstract sublayer, the GNSS raw data are transmitted to the data quality detection module by the GNSS data communication module, the data quality detection module detects the GNSS raw data and transmits effective GNSS raw data to the data processing module, the data processing module processes the GNSS raw data into RINEX raw data, the CORS service communication module receives RTCM ephemeris data from a reference station at intervals and transmits the RTCM ephemeris data to a buffer area, when the data processing module receives the GNSS raw data, the data processing module simultaneously acquires the RTCM ephemeris data from the buffer area and processes the RTCM ephemeris data into the RINEX ephemeris data, and the data processing module transmits the RINEX raw data and the RINEX data to the differential resolving module, the RTCM ephemeris data comprise differential telegraph text data and navigation telegraph text data, and the differential calculation module is used for calculating by combining RINEX original data and RINEX ephemeris data to obtain the first positioning result data.
4. The method of claim 3, wherein: when the data processing module simultaneously acquires the RTCM ephemeris data from the buffer area, if the buffer area does not have the RTCM ephemeris data, the GNSS original data received by the data processing module at this time is transmitted to the differential resolving module, and the differential resolving module only resolves the GNSS original data to obtain the second positioning result data.
5. The method of claim 1, wherein: the abstract sublayer further comprises a query detection module, when the hardware access layer transmits the GNSS original data obtained from the kernel layer to the abstract sublayer, the query detection module is used for detecting whether the high-precision resolving module exists, and if the high-precision resolving module does not exist, the abstract sublayer directly reports the GNSS original data to the application framework layer.
6. The method of claim 1, wherein: the hardware access layer transmits GNSS original data to an abstract sublayer through an Android standard interface of the hardware access layer, and the positioning precision of the positioning result data is centimeter level.
7. The method of claim 1, wherein: the GNSS original data comprise satellite original observation data and satellite original navigation data, the number of the data callback interfaces of the abstract sublayer is three, the abstract sublayer transmits the satellite original observation data and the satellite original navigation data through two of the data callback interfaces respectively, and the abstract sublayer receives the positioning result data through the other data callback interface.
8. The method of claim 1, wherein: the data callback interface is obtained by modifying an abstract sublayer, the standard HAL layer of the android consists of the abstract sublayer and a hardware access layer, and the high-precision resolving module is the standard HAL layer embedded in the android.
9. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 8.
10. The utility model provides a system for realize intelligent terminal high accuracy location based on android system which characterized in that includes:
the hardware access layer is used for transmitting the GNSS original data obtained from the kernel layer to the abstraction sublayer;
the abstract sublayer is used for transmitting the GNSS original data to a high-precision resolving module of the HAL layer through a data callback interface;
the high-precision calculating module is used for calculating the GNSS original data to obtain positioning result data, and then transmitting the first positioning result data to the abstract sublayer;
the abstract sub-layer reporting module is used for reporting the positioning result data to an application framework layer through an android standard interface;
and the application framework layer reporting module is used for reporting the positioning result data to the application layer through an android standard interface.
CN201910712423.9A 2019-08-02 2019-08-02 Method and system for realizing high-precision positioning of intelligent terminal based on android system Active CN111050273B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910712423.9A CN111050273B (en) 2019-08-02 2019-08-02 Method and system for realizing high-precision positioning of intelligent terminal based on android system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910712423.9A CN111050273B (en) 2019-08-02 2019-08-02 Method and system for realizing high-precision positioning of intelligent terminal based on android system

Publications (2)

Publication Number Publication Date
CN111050273A true CN111050273A (en) 2020-04-21
CN111050273B CN111050273B (en) 2021-06-04

Family

ID=70231720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910712423.9A Active CN111050273B (en) 2019-08-02 2019-08-02 Method and system for realizing high-precision positioning of intelligent terminal based on android system

Country Status (1)

Country Link
CN (1) CN111050273B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463897A (en) * 2020-10-14 2021-03-09 麒麟软件有限公司 Method and system for redirecting positioning data
CN113253318A (en) * 2021-06-21 2021-08-13 四川中科川信科技有限公司 GNSS data remote super-calculation method
CN114416389A (en) * 2021-12-01 2022-04-29 荣耀终端有限公司 Activity identification method and related equipment
CN114422940A (en) * 2022-01-19 2022-04-29 北京百度网讯科技有限公司 Positioning method, positioning device, electronic equipment and medium
CN115639583A (en) * 2022-12-21 2023-01-24 深圳华大北斗科技股份有限公司 High-precision positioning device based on Android system
CN116708542A (en) * 2023-08-02 2023-09-05 福建福大北斗通信科技有限公司 High-precision position sharing system and method based on Android platform

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140070988A1 (en) * 2012-09-12 2014-03-13 Raytheon Company Method for maintaining integrity against erroneous ephemeris for a differential gps based navigation solution supporting fast system startup
CN104236579A (en) * 2014-10-09 2014-12-24 武汉大学 High-precision satellite navigation implementing method based on Android kernel layer
CN104598253A (en) * 2015-02-17 2015-05-06 武汉大学 Method for realizing GNSS (Global Navigation Satellite System)/INS (Inertial Navigation System) integrated navigation in Android kernel layer
CN105572704A (en) * 2014-10-13 2016-05-11 航天信息股份有限公司 Method for supporting Beidou module under Android platform
CN107704276A (en) * 2017-09-05 2018-02-16 千寻位置网络有限公司 High-precision solution method based on android system intelligent terminal

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140070988A1 (en) * 2012-09-12 2014-03-13 Raytheon Company Method for maintaining integrity against erroneous ephemeris for a differential gps based navigation solution supporting fast system startup
CN104236579A (en) * 2014-10-09 2014-12-24 武汉大学 High-precision satellite navigation implementing method based on Android kernel layer
CN105572704A (en) * 2014-10-13 2016-05-11 航天信息股份有限公司 Method for supporting Beidou module under Android platform
CN104598253A (en) * 2015-02-17 2015-05-06 武汉大学 Method for realizing GNSS (Global Navigation Satellite System)/INS (Inertial Navigation System) integrated navigation in Android kernel layer
CN107704276A (en) * 2017-09-05 2018-02-16 千寻位置网络有限公司 High-precision solution method based on android system intelligent terminal

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕阿璐 等: "基于RTX的实时数据库系统关键技术研究", 《电子设计工程》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463897A (en) * 2020-10-14 2021-03-09 麒麟软件有限公司 Method and system for redirecting positioning data
CN112463897B (en) * 2020-10-14 2023-06-02 麒麟软件有限公司 Method and system for redirecting positioning data
CN113253318A (en) * 2021-06-21 2021-08-13 四川中科川信科技有限公司 GNSS data remote super-calculation method
CN113253318B (en) * 2021-06-21 2021-09-28 四川中科川信科技有限公司 GNSS data remote super-calculation method
CN114416389A (en) * 2021-12-01 2022-04-29 荣耀终端有限公司 Activity identification method and related equipment
CN114416389B (en) * 2021-12-01 2023-03-03 荣耀终端有限公司 Activity identification method and related equipment
CN114422940A (en) * 2022-01-19 2022-04-29 北京百度网讯科技有限公司 Positioning method, positioning device, electronic equipment and medium
CN114422940B (en) * 2022-01-19 2024-05-14 北京百度网讯科技有限公司 Positioning method, positioning device, electronic equipment and medium
CN115639583A (en) * 2022-12-21 2023-01-24 深圳华大北斗科技股份有限公司 High-precision positioning device based on Android system
CN116708542A (en) * 2023-08-02 2023-09-05 福建福大北斗通信科技有限公司 High-precision position sharing system and method based on Android platform
CN116708542B (en) * 2023-08-02 2023-10-24 福建福大北斗通信科技有限公司 High-precision position sharing system and method based on Android platform

Also Published As

Publication number Publication date
CN111050273B (en) 2021-06-04

Similar Documents

Publication Publication Date Title
CN111050273B (en) Method and system for realizing high-precision positioning of intelligent terminal based on android system
US20050282557A1 (en) System and method for implementing a remote location acquisition application program interface
US20200173788A1 (en) Correcting location information using map data
CN108318905B (en) Method for realizing sub-meter positioning on smart phone and sub-meter positioning smart phone
EP2229016B1 (en) Communication device, communication method, program, information management device, and communication system
CN111399013B (en) Positioning method, positioning device, terminal and storage medium
US6714865B2 (en) Providing position information to a device
US20230061599A1 (en) Positioning method, electronic device and storage medium
CN108152839B (en) Android operating system-based Beidou data communication system and method
CN111781619B (en) Positioning method, device, equipment and storage medium based on near field communication network
CN114501313A (en) Terminal positioning method and device, electronic equipment and storage medium
WO2023142823A1 (en) Assisted positioning method and apparatus, and electronic device and storage medium
WO2017214979A1 (en) Mobile terminal and positioning method therefor
WO2022007901A1 (en) Cloud card distribution method and apparatus, electronic device, and storage medium
CN103220566A (en) Method for positioning smart television terminal, smart television and system
WO2014008494A1 (en) Communication of position data via text message
KR20140121939A (en) Differential global positioning system based on web service and
WO2011154769A1 (en) Handling data with limited applicability area
WO2014063584A1 (en) Method and device for transmitting ionospheric delay correction parameters, and navigation satellite
JP2018004434A (en) Positioning processing system, method, computer program, server device and user terminal
CN110365738B (en) Positioning method, device and storage medium based on Hybird architecture
CN101784007B (en) Locating method of mobile terminal and related device
CN104410951A (en) Intelligent terminal tracking locating method and intelligent terminal
CN110649958B (en) Method, apparatus, device and medium for processing satellite data
CN116017694B (en) Indoor terminal positioning method and device for multi-terminal signal interaction

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

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