CN114814913A - Android platform big dipper high accuracy positioning control system - Google Patents

Android platform big dipper high accuracy positioning control system Download PDF

Info

Publication number
CN114814913A
CN114814913A CN202210410955.9A CN202210410955A CN114814913A CN 114814913 A CN114814913 A CN 114814913A CN 202210410955 A CN202210410955 A CN 202210410955A CN 114814913 A CN114814913 A CN 114814913A
Authority
CN
China
Prior art keywords
server
differential data
data
layer
module
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.)
Pending
Application number
CN202210410955.9A
Other languages
Chinese (zh)
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.)
Datang Terminal Technology Co Ltd
Original Assignee
Datang Terminal 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 Datang Terminal Technology Co Ltd filed Critical Datang Terminal Technology Co Ltd
Priority to CN202210410955.9A priority Critical patent/CN114814913A/en
Publication of CN114814913A publication Critical patent/CN114814913A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40Correcting position, velocity or attitude
    • G01S19/41Differential correction, e.g. DGPS [differential GPS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention provides an Android platform Beidou high-precision positioning control system which comprises a data exchange layer, a system framework layer, a hardware adaptation layer, a driving layer and a Beidou module; the data exchange layer is connected with the system framework layer, the system framework layer is connected with the hardware adaptation layer, the hardware adaptation layer is connected with the driving layer, and the driving layer is connected with the Beidou module. The system framework layer is used for receiving the broadcast sent by the data exchange layer, analyzing the differential data and sending the differential data to the hardware adaptation layer; the hardware adaptation layer is used for receiving the differential data of the system framework layer and issuing the data; the driving layer is used for receiving and transmitting data between the system and the Beidou module. The invention compatibly supports the access of a plurality of high-precision differential data providers and provides more service providers for customers. The system-level Beidou high-precision position service can be used without integrating a high-precision service provider (SDK) and secondary development of third-party application.

Description

Android platform big dipper high accuracy positioning control system
Technical Field
The invention relates to the technical field of navigation and positioning, in particular to a Beidou high-precision positioning control system with an Android platform.
Background
Android is a Linux-based free and open operating system, is mainly used for mobile devices such as smart phones and tablet computers, and has become the largest mobile phone software platform at present. In recent years, industry terminals based on the Android system are increasingly serving government departments and important national economy fields such as petrochemical industry, coal, water conservancy, electric power, railways, roads, aviation and the like. With the construction and development of the Beidou satellite navigation system in China, the Beidou satellite navigation system is increasingly used for positioning and navigation in the fields of agriculture, transportation, marine fishery, hydrological monitoring, weather forecasting, geographic information mapping, forest fire prevention, communication systems, power dispatching, disaster relief and reduction, emergency search and rescue and the like, and the requirement on the precision of position service is higher and higher. Under the influence of factors such as the atmosphere, the multipath effect, the number and the geometric distribution of visible satellites, the clock error of the satellites, the orbital error of the satellites, the human interference and the like, the precision of the common civil positioning service can only reach about 10 meters, and the requirement of industrial users cannot be met. The foundation enhancement system adopts a difference technology to realize high-precision positioning, utilizes a plurality of receivers to carry out synchronous observation, utilizes the known precise position of a reference station, and eliminates the influence of partial interference factors by making single difference or double differences between observed values, thereby achieving the purpose of improving the positioning precision.
In order to timely and accurately obtain the differential data, the mobile terminal needs to send the position information data of the mobile terminal to a data center of a differential service provider in real time through a wireless network, and the data center generates differential correction information of a user according to a user request and sends the differential correction information to the mobile terminal. Before the service provider provides the service data, user identity authentication is required, and the authentication mode of each service provider is different. In addition, there are different requirements in terms of formats for receiving user location information, and the like. As a general industry terminal, the terminal needs to compatibly support services provided by a plurality of high-precision difference service providers, provides a plurality of choices for industry users, and is a technical problem to be solved.
The mobile terminal receives the differential data of the service provider, the differential data need to be forwarded through a system architecture layer, a hardware adaptation layer and a driving layer, and finally the differential data are issued to the Beidou module in a serial port communication mode. A native GPS data transmission mechanism is arranged in an Android platform, and how to transmit differential correction information required by an external Beidou module by using a conventional data channel is used for improving the utilization rate, so that the method is a key technical problem to be solved by a mobile terminal.
Disclosure of Invention
The object of the present invention is to solve at least one of the technical drawbacks mentioned.
Therefore, the invention aims to provide an Android platform Beidou high-precision positioning control system to solve the problems in the background art and overcome the defects in the prior art.
In order to achieve the above object, an embodiment of the invention provides an Android platform big dipper high-precision positioning control system, which includes a data exchange layer, a system frame layer, a hardware adaptation layer, a driving layer and a big dipper module; the data exchange layer is connected with the system framework layer, the system framework layer is connected with the hardware adaptation layer, the hardware adaptation layer is connected with the driving layer, and the driving layer is connected with the Beidou module.
The system framework layer is used for receiving the broadcast sent by the data exchange layer, analyzing the differential data and sending the differential data to the hardware adaptation layer; the hardware adaptation layer is used for receiving the differential data of the system framework layer and issuing the data; the driving layer is used for receiving and transmitting data between the system and the Beidou module.
The data exchange layer comprises an account configuration module, a server interaction module, a position information acquisition module and a differential data issuing module; the account configuration module is used for configuring information in the management server; the position information acquisition module is used for acquiring current position information; the server interaction module is used for controlling information interaction between the system and the server; and the differential data issuing module is used for receiving the differential data received by the server interaction module and sending the differential data to the system framework layer.
Preferably, the account configuration module is configured to configure an IP address, management port information, mounting point information, a user account, and password information of the server.
In any of the above schemes, preferably, the server interaction module is configured to control connection and disconnection between the system and the server and account information authentication, periodically send local positioning information to the server, and receive differential data responded by the server in real time.
In any of the above solutions, preferably, the server interaction module includes a system service unit, a task management unit, and an Ntrip component.
In any of the above solutions, it is preferable that the system service unit is configured to receive system broadcasts and instantiate task management to perform flow control.
In any of the above schemes, preferably, the task management unit is configured to control a service flow, detect a system location service switch, an external beidou switch, a high-precision setting switch, and a network connection state, apply for and release a system wake-up lock, register and unregister a location update listener, an Nmea listener, and a location service state change listener by a system location service manager, manage a receiving account of differential data by an NTrip component, and send GGA location information data to a server.
In any of the above schemes, preferably, the Ntrip component includes an Ntrip management unit 14, an Ntrip setting unit, and an Ntrip interaction unit.
The NTrip management unit 14 is configured to manage the differential data receiving account, run the NTrip interaction unit through an asynchronous task mechanism, and periodically send GGA location information to the server.
The NTrip setting unit is used for managing different service provider data and managing account numbers and authentication information in a differentiated mode.
The NTrip interaction unit is used for data interaction of the server and controlling the business process through the state machine.
In any of the above schemes, preferably, the NTrip interaction unit includes the following processes:
firstly, connecting a server, using a server IP address and a port of an account configuration module, wherein the state is the state of connecting the server, and after the server is successfully connected, the state is changed into the state of successfully connecting the server.
And secondly, generating different authentication information according to different service provider account settings by using the account number, the password and the mounting point information of the account number configuration module, and sending the authentication information to the server, wherein the state is an unauthenticated state, and if the returned data of the server contains information of successful authentication, the authentication is indicated to be successful, and the state is converted into the authentication which is successful.
Next, GGA location information is sent to the server, and finally, differential data is received.
In any of the above schemes, preferably, when the NTrip interaction unit sends GGA location information to the server, the NTrip interaction unit removes blank characters and line breaks from the head and tail of the collected NMEA statement, and sends the removed blank characters and line breaks to the server together with a line break, thereby controlling the frequency of sending data to the server to be at least one second interval.
In any of the above schemes, preferably, the hardware adaptation layer includes an abstract interface, a service interface, and a module interface, where the abstract interface is used to define a differential data interface, the service interface is used to convert data and call the module interface, and the module interface is used to write in a serial port, so as to implement a task of issuing differential data.
In any of the above schemes, preferably, the differential data issuing module includes: firstly, defining system broadcast, secondly, setting differential data carried by the broadcast, secondly, setting the length of the differential data carried by the broadcast, and finally, sending the system broadcast.
In any of the above aspects, preferably, the system frame layer includes: firstly, receiving differential data, secondly, extracting the length of the differential data, and finally, sending the differential data to a hardware adaptation layer.
Compared with the prior art, the invention has the advantages and beneficial effects that:
1. the Android platform Beidou high-precision positioning control system compatibly supports access of multiple high-precision difference data providers and provides more service providers for customers. The system-level Beidou high-precision position service can be used without integrating a high-precision service provider (SDK) and secondary development of third-party application, and the system-level Beidou high-precision position service is good in compatibility and high in positioning precision.
2. According to the Android platform Beidou high-precision positioning control system, the server interaction module operates in a data exchange layer service, the background is triggered to start under the conditions of system startup, mobile data network change, system time change and the like, the server is automatically connected to perform user authentication and data receiving and sending after single-point positioning, and the processing efficiency is high.
3. Based on the original positioning data transmission mechanism of the Android platform, an interface for issuing differential data of the external Beidou module is added on a system framework layer and a hardware adaptation layer, and the cost is low.
Additional aspects and advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
Drawings
The above and/or additional aspects and advantages of the present invention will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
FIG. 1 is a flow structure diagram of an Android platform Beidou high-precision positioning control system according to the embodiment of the invention;
fig. 2 is a diagram of a data exchange layer structure shown in fig. 1 for an Android platform Beidou high-precision positioning control system number according to an embodiment of the present invention;
FIG. 3 is a structural diagram of a server interaction module shown in FIG. 2 of an Android platform Beidou high-precision positioning control system according to an embodiment of the invention;
fig. 4 is a structural diagram of interaction between an NTrip component and a server in an Android platform big dipper high accuracy positioning control system according to the embodiment of the present invention;
FIG. 5 is a satellite diagram of a disc bridge running track on a highway according to an embodiment of the invention;
FIG. 6 is a satellite diagram of the travel path on the ramp on the highway according to an embodiment of the invention;
FIG. 7 is a satellite diagram of the rocket bridge travel path on a highway in accordance with an embodiment of the present invention;
FIG. 8 is a satellite view of a running track of a cowshed bridge exiting a highway in accordance with an embodiment of the present invention;
FIG. 9 is a satellite diagram of a driving track of a calf house bridge driving into a highway according to an embodiment of the invention;
FIG. 10 is a satellite diagram of a driving track at a gateway of a side road according to an embodiment of the present invention;
FIG. 11 is a satellite plot of the travel trajectory of a right turn exclusive lane in accordance with an embodiment of the present invention;
FIG. 12 is a satellite diagram of the travel trajectory of a left turn exclusive lane in accordance with an embodiment of the present invention;
FIG. 13 is a satellite view of a travel path for driving into a gate in accordance with an embodiment of the present invention;
FIG. 14 is a satellite map of a travel track for heavily congested road segments in accordance with an embodiment of the present invention;
FIG. 15 is a satellite plot of a narrow road versus travel trajectory in accordance with an embodiment of the present invention;
FIG. 16 is a satellite map of north road clearance travel trajectory in accordance with an embodiment of the present invention;
FIG. 17 is a satellite view of a U-turn driving trajectory of a southward G7 highway of a North five-ring arrow pavilion bridge according to an embodiment of the present invention;
FIG. 18 is a diagram of national garden west road travel track satellites in accordance with an embodiment of the present invention.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the drawings are illustrative and intended to be illustrative of the invention and are not to be construed as limiting the invention.
As shown in fig. 1 and 2, the Android platform big dipper high-precision positioning control system according to the embodiment of the present invention includes a data exchange layer 1, a system framework layer 2, a hardware adaptation layer 3, a driving layer 4, and a big dipper module 5; the data exchange layer 1 is connected with the system framework layer 2, the system framework layer 2 is connected with the hardware adaptation layer 3, the hardware adaptation layer 3 is connected with the driving layer 4, and the driving layer 4 is connected with the Beidou module 5;
the data exchange layer 1 is used for exchanging differential data with the server 6, and the system framework layer 2 is used for receiving the broadcast sent by the data exchange layer 1, analyzing the differential data and sending the differential data to the hardware adaptation layer 3; the hardware adaptation layer 3 is used for receiving the differential data of the system framework layer 2 and issuing the data; the driving layer 4 is used for receiving and transmitting data between the system and the Beidou module 5.
The data exchange layer 1 comprises an account configuration module 10, a server interaction module 8, a position information acquisition module 7 and a differential data issuing module 9; the account configuration module 10 is used for configuring information in the management server 6; the position information acquisition module 7 is used for acquiring current position information; the server interaction module 8 is used for controlling information interaction between the system and the server 6; the differential data sending module 9 is configured to receive the differential data received by the server interaction module 8, and send the differential data to the system framework layer 2.
The server interaction module 8 is respectively connected with the position information acquisition module 7, the differential data issuing module 9 and the account configuration module 10. The position information acquisition module 7 sends the position information to the server interaction module 8, the server interaction module 8 sends the position information to the server 6, the server 6 sends the differential data to the server interaction module 8, and the server interaction module 8 sends the differential data to the differential data sending module 9.
According to the Android platform Beidou high-precision positioning control system, Beidou high-precision positioning service is realized on an Android platform, all functions of account management, position information acquisition, server 6 authentication and data transmission, differential data issuing to an external Beidou positioning module and the like are integrated, compatibility is good, positioning precision is high, and the use of different users is met.
Specifically, the account configuration module 10 is configured to configure an IP address of the server 6, manage port information, mounting point information, an account of the personal user, and password information, and provide information input, modification, and storage functions. The result is stored in the user space and used for the server interaction module 8 to connect the server 6 and account authentication.
Specifically, the server interaction module 8 is configured to provide key functions such as server 6 connection, user authentication, location information transmission, and differential data reception. And under the conditions of system startup, network connection state change, system time change and the like, automatically completing the business process according to the states and current positioning information of the position information service switch and the external Beidou module 5 switch. The position information acquisition module 7 is used for acquiring current positioning information, and the differential data issuing module 9 issues the differential data received from the server 6 to the system framework layer 2. And after the Beidou module 5 resolves the high-precision result, the reported result is automatically updated.
The location information acquisition module 7 is responsible for acquiring local location information, and can acquire Nmea statement information by registering Nmea monitor, filter out a specific beginning statement, specifically filter out statements beginning with $ GNGGA, "$ BDGGA or $ GPGGA, analyze statement contents, and determine whether positioning has been successful according to positioning quality value. If the positioning quality is 0, the positioning is not performed, and the GGA data is not sent; if the positioning quality is greater than 0, indicating that the positioning is successful, and starting the service flow through NTrip management. The acquired GGA data is frequency limited and is controlled to be not acquired within one second, i.e. the frequency is in one second interval.
Further, the server interaction module 8 is configured to control connection and disconnection between the terminal and the server and account information authentication, periodically send local positioning information to the server 6, and receive differential data responded by the server 6 in real time.
As shown in fig. 3, the server interaction module 8 includes a system service unit 11, a task management unit 12, and an Ntrip component 13;
the system service unit 11 is used for performing flow control of task management; the system service unit 11 is the basis of the whole server interaction module 8, and is used for keeping background operation and instantiating task management to perform flow control.
The system service unit 11 receives the system broadcast and starts the system service; when the system is started, the network connection state changes, the date and time of the system changes, the position information service switch is turned on/off, the external Beidou module 5 is turned on/off and the like, the system service unit 11 receives system broadcasting.
The task management unit 12 is used for controlling the business process. The system comprises a detection system position service switch, an external Beidou switch, a high-precision setting switch and a network connection state, applies and releases a system awakening lock, registers and cancels a position updating monitor, an Nmea monitor and a position service state change monitor through a system position service manager, manages a receiving account of differential data through an NTrip component 13, respectively registers and cancels the receiving account of the differential data, and sends GGA position information data to a server.
Specifically, the Ntrip component 13 includes an Ntrip management unit 14, an Ntrip setting unit 15, and an Ntrip interaction unit 16;
the NTrip management unit 14 is configured to manage differential data receiving accounts, register and cancel the differential data receiving accounts, operate the NTrip unit through an asynchronous task mechanism, and periodically send GGA location information to the server;
the NTrip setting unit 15 is configured to manage data of different service providers, and manage account numbers and authentication information in a differentiated manner.
For the satellite public server, the User-Agent needs to include: NTRIP StarCart Android-SDK/1.0.
For the thousand-search location server, the User-Agent needs to include: NTRIP _ QX TRACK _ RANDOM number, and in addition, the SDK type is ANDROID _ RTCM _ SDK, and the SDK version number is 2.1.5.
Further, as shown in fig. 4, the NTrip interaction unit 16 is used for data interaction of the server, and controls the service flow through the state machine, where the specific states are as follows:
NTRIP _ STATUS _ NONE: indicating a stateless, i.e. idle, state.
NTRIP _ authored: and the account authentication is passed, and the GGA position information can be sent to the server.
NTRIP _ unautorized: indicating unauthenticated or failed authentication, expired account or incorrect account or password.
NTRIP _ CONNECTING: indicating that the server is being connected, and a connection request is initiated to the server and waits for a response from the server.
NTRIP _ CONNECTED: indicating that a connection to the server has been made, authentication information may be sent to the server.
NTRIP _ DISCONNECTED: indicating that it has been disconnected and needs to be reconnected.
The specific data interaction process comprises the following steps: first, the server is CONNECTED, using the server IP address and port of the account configuration module 10, and the state is the state of being CONNECTED to the server (NTRIP _ CONNECTING), and when the server is successfully CONNECTED, the state is changed to the state of being successfully CONNECTED to the server (NTRIP _ CONNECTED).
Secondly, user authentication is carried out, account number, password and mounting point information of the account number configuration module 10 are used, different authentication information is generated according to different service provider account number settings and is sent to the server, the state is an unauthenticated state (NTRIP _ UNTHORIZED), if the returned data of the server contains information of successful authentication, the information of successful authentication is marked as '200 OK', and when the information of '200 OK' is contained, the authentication is successful, and the state is converted into the state of successful authentication (NTRIP _ AUTHORIZED).
And secondly, sending GGA position information to the server, finally, receiving differential data, and directly calling onRcmDatachanged interface function after receiving the differential data of the server.
Specifically, when GGA position information is sent to the server, blank characters and line feed characters are removed from the head and the tail of the collected NMEA statement, and a line feed character is added to the NMEA statement and sent to the server, so that the frequency of sending data to the server is controlled to be at least one second interval.
GGA position information is sent to a server, and different Android platforms have different processing modes for the end character of the NMEA statement. In order to ensure that the statement sent to the server only contains one line break character, the head and the tail of the collected NMEA statement need to be removed with blank characters and line break characters, and then the NMEA statement is sent to the server after one line break character is added, so that the problem that server differential data cannot be received can be avoided. In addition, it is necessary to control the frequency of data transmission to the server, and generally, control the data transmission no longer within one second, that is, control the frequency of data transmission to the server to be at least one second interval. The server is specifically a differencing server. The optional Beidou module 5 adopts a positioning module with the model of MXT906A or MXT 906B. For platforms of Android7 and above, according to the requirement of a new function, the SELinux system authority configuration is added.
The differential data issuing module is responsible for receiving the differential data received by the server interaction module and sending the differential data to a system Framework layer (Framework) in a system broadcast mode, and the specific steps are as follows:
firstly, system broadcast is defined, and the ACTION name is ACTION _ SET _ DGNSS, which is specifically defined as follows:
Intent intent=new Intent(Constants.ACTION_SET_DGNSS);
secondly, setting differential data carried by broadcast, wherein the specific format is as follows:
intent.putExtra("dgnss-data",rtcmData.getBuffer());
secondly, setting the length of the differential data carried by the broadcast, wherein the specific format is as follows:
intent.putExtra("dgnss-len",rtcmData.getBuffer().length);
finally, the system broadcast is sent, and the specific format is as follows:
mContext.sendBroadcast(intent)。
a system Framework layer (Framework) receives broadcast in a positioning service provider (GnssLocationProvider) of the android system, analyzes differential data, calls a local function sendbei doudgnss if the differential data is not null, and sends the local function sendbei doudgnss to a Java local interface, namely the implementation of a JNI function, and the specific steps are as follows:
first, differential data is received.
Next, the length of the difference data is extracted.
Secondly, judging whether the differential data is a null value, if not, calling a SendBeiDouDgnss function in the android system to send the differential data to a Java local interface, namely realizing the JIN function.
The function for issuing the differential data to a Java Native Interface (JNI) includes: and judging whether the differential data is null or not, or whether the length of the differential data is smaller than zero, if the split data is not null or the length of the differential data is larger than zero, calling a local function native _ set _ dgnss to send the differential data to a Java local interface, namely JIN function implementation, and if the differential data is null or the length of the differential data is smaller than zero, executing function return.
Specifically, java and c + + interface function conversion processing is performed in a system framework layer to facilitate function processing inside the android system, and the method specifically comprises the following steps:
first, add the issued differential data interface function android _ location _ GnssLocationProvider _ set _ dgnss in the com _ android _ server _ location _ GnssLocationProvider.
Finally, mapping the native _ set _ dgnss of the local function as:
android _ location _ GnssLocationProvider _ set _ dgnss, the specific format is as follows:
{"native_set_dgnss","([BI)I",reinterpret_cast<void*>(android_location_Gnss LocationProvider_set_dgnss)}。
specifically, the specific implementation process of the JNI function is as follows: first, a function is defined, the format being as follows:
static jint android_location_GnssLocationProvider_set_dgnss(JNIEnv*env,jobject obj,jbyteArray dgnss,jint length)。
secondly, judging whether the mGnssDttSetDgnss function pointer definition is a null value, if not, executing the next step, and if so, returning.
And secondly, converting the differential data pointer to convert the Java type data into JNI data type jbyte.
Secondly, executing a setDgnssData function in the android system, and issuing the differential data to a hardware adaptation layer:
and finally, releasing the memory.
Furthermore, the hardware adaptation layer realizes the task of sending the differential data by three layers of structures including an abstract interface, a service interface and a module interface.
The abstract interface is used for defining the function of issuing the differential data interface setDgnssData. An interface file IGnsDttSetDgnss.hal is newly added, which is specially used for defining and issuing a differential data interface function setDgnssData, and specifically comprises the following steps:
first, a setDgnssData function is defined, one parameter being a string type for transferring differential data and the other being a 32-bit integer type for transferring differential data length.
Secondly, a get function getExtensionGnssDttSetDgnss is added to an IMtkGnss interface in the existing IMtkGnss.
And finally, performing software compiling configuration. In the android.bp file, IGnssDttSetDgnss.hal is added into the src field of hidl _ interface, so that the newly added differential data interface file IGnssDttSetDgnss.hal can participate in system compilation.
Specifically, the service interface is used for data conversion and calling the module interface, and specifically includes:
firstly, a class definition file GnsDttSetDgnss.h is added, a GnsDttSetDgnss class is defined, the public inherits an IGnssDttSetDgnss interface, a differential data function setDgnssData is declared and issued in the class definition, and a private interface pointer mGnsdgnssoface is declared.
Secondly, a class realization file GnsdTTSetDgnss. cpp is added, a setDgnssData function is realized, and input parameters are differential data and the length of the differential data.
Secondly, whether the interface pointer is empty is judged. And if not, creating a new memory with the length being the same as the length of the differential data.
Secondly, obtaining the memory address of the differential data.
Next, the differential data is copied to a new memory.
And secondly, calling a set _ dgnss function to transmit the differential data to the module interface.
And finally, releasing the memory.
In the existing MtkGnss.cpp file of the android system, get function of interface is provided
getExtensionGssDttSetDgnss, which realizes data transmission, comprises:
firstly, judging whether the Beidou interface function pointer is a null value, if not, executing the next step, and if so, executing the return.
Secondly, judging whether the differential data issuing function INTERFACE is a null value, and if the differential data issuing function INTERFACE is a null value, obtaining the differential data issuing function INTERFACE through a get _ extension function designated parameter DTT _ BEIDOU _ DGNSS _ INTERFACE.
And finally, judging whether the differential data issuing function interface is a null value, if so, returning, otherwise, generating a differential data issuing function object through the differential data issuing function interface.
Further, the module interface is used for serial port writing, and specifically realizes a differential data issuing task, and specifically includes:
firstly, in the locbd.c of the android system, a differential data issuing interface structure sdttsetdgnsinterface is initialized, and the content includes a structure size, an initialization function loc _ dgnss _ init and a differential data issuing function pointer loc _ set _ dgnss _ data.
Secondly, the difference data is issued to the module through functions loc _ set _ dgnss _ data and send _ dgnss _ command:
secondly, the function loc _ set _ dgnss _ data for realizing the differential data issuing has two input parameters, namely the differential data of the unsigned character pointer and the differential data length of an integer type.
Secondly, judging whether the differential data is a null value or not, simultaneously judging that the length of the differential data is smaller than the specified length, executing the next step on the meeting requirements, and directly returning the meeting requirements.
Then, it is judged whether or not the differential data length is larger than a predetermined size, and if the differential data length exceeds the predetermined data length, the differential data length is modified to the predetermined data length.
Secondly, initializing a variable of the local differential data structure body, and clearing all member data of the variable.
And secondly, copying the differential data into a data member variable of the local differential data structure, wherein the length of the data member variable is the length of the differential data.
Next, the end symbols '\ r' and '\ n' are filled in at the tail of the differential data.
Second, the local differential data structure length variable value is incremented by 2.
Next, the local differential structure new data flag variable is set to 1.
And finally, calling a send-difference data command function send _ dgnss _ command, and sending the difference data to the driving layer.
The command function for issuing the differential data is defined as static void send _ dgnss _ command (void), and specifically includes:
firstly, judging whether a new mark of the local differential data is '1', and if the new mark of the local differential data is '1', executing the next step; if not "1", then return. Finally, the differential data is written to the driver layer through a socket write function, specifying timeout and retry conditions.
Furthermore, the driver layer realizes the transceiving of serial port data between the android system and the Beidou module through a predefined serial port ttyS 1. The specific definition is as follows:
#define BD_TTY_DEVICE_NAME "ttyS1"
#define GPS_POWER_NAME "/sys/aeon_mode/aeon_mode"
#define MODULE_MODE_PARA "persist.sys.outside_mode"
the working principle of the invention is as follows: the differential server is arranged in the environment range for implementing positioning, the data exchange layer and the differential server are connected and authenticated, after the connection authentication is successful, the data exchange layer receives differential data from the server and then sends the differential data to the system framework layer, the system framework layer analyzes the differential data and then sends the differential data to the hardware adaptation layer, the hardware adaptation layer realizes serial port conversion and writing of the differential data, the differential data is sent to the driving layer, the driving layer sends the differential data to the Beidou module, the Beidou module calculates position information through correction and then sends the information to the driving layer, the driving layer feeds the information back to the hardware adaptation layer, the hardware adaptation layer reports the information to the system framework layer, the system framework layer sends the position information to the data exchange layer, the data exchange layer sends the position information to the server, and the server sends the differential data, the Beidou module is used for continuously correcting the position information in a circulating reciprocating mode, so that more accurate positioning information can be obtained.
As an application of an embodiment of the present invention, the following tests and comparisons will be made in conjunction with specific real-world applications.
The method comprises the steps of high-precision testing, and multi-wheel road testing is performed on various complex road conditions such as turning of a disk bridge, entrance and exit of a ramp, narrow roads and the like in the driving process of a motor vehicle. Extracting NMEA position information data through a capture system log, drawing lines on a Google high-definition satellite map point by point, and marking detailed information points every 10 seconds.
1. When the disk bridge runs, as shown in fig. 5, the driving track of the upper-clear bridge on the north five-ring main road of the G6 expressway is higher in fit with the ring road displayed on the map.
2. The ramp runs on a Madian bridge, and the G6 expressway is covered by the northern three rings, and the running track is shown in figure 6.
3. The arrow pavilion bridge runs on a G7 highway on the north pentacle, and the running track is shown in figure 7.
4. The calf house bridge runs out of the G7 expressway, and runs into the north clear road through a left turn under the bridge, and the running track is shown in figure 8.
5. When the calf house is driven on the bridge, the ox house drives into the G7 expressway by turning right on the north road, and the driving track is shown in figure 9.
6. Running at the entrance and the exit of the auxiliary road: the north clear road drives out of the main road from east to west and drives into the auxiliary road, and then drives into the main road of the north clear road from the auxiliary road immediately, and the driving track is shown in fig. 10.
7. Driving on a right-turning special lane: the north Qing-Yongze-north road intersection turns right from the east, and the special right-turn lane turns right to enter the north Zealand road, and the running track is shown as 11.
8. Left-turn lane driving: the north clear road-Yongze north road intersection turns left from north to east, and the special lane for turning left from the north zerk turns left to turn left to enter the north clear road, and the running track is shown as 12.
9. Driving into a gate: and the No. 6 Hojia north road enters the gate from the right side, and the driving track is shown in figure 13.
10. And (3) running on a heavily congested road section: the north five-ring arrow pavilion bridge, the G7 expressway and the north five-ring connecting ramp have serious congestion in the next working period, the test vehicle runs from north to south and approaches the first lane on the left side, and the running track is as shown in fig. 14.
And secondly, using G70 as a comparison machine, placing the comparison machine and the vehicle-mounted antenna of the testing machine at the same horizontal position, and not starting the high-precision positioning function. The red track is a high-precision track of the tester, and the blue track is not opened.
1. Narrow road comparison: on the rich east road, the test vehicle runs from west to east, the running track is shown in fig. 15, and the backward running is displayed by comparing the track of the test vehicle with the track of the test vehicle, wherein the mark P is the positioning track of the common positioning software, the mark i is the positioning track of the invention, and as can be seen from fig. 15, the positioning precision of the track marked by the mark i is higher.
2. And (3) comparison of the access of the auxiliary road: the north is clear, the main road is driven out from east to west and then drives into the auxiliary road, the auxiliary road drives into the main road of the north clear road immediately, the test vehicle drives to the right all the time, the high-precision result is high in line coincidence degree with the line, and the driving track is shown in figure 16.
3. And comparing turning positions of the expressway: the turning position of the south G7 highway of the North five-ring arrow pavilion bridge is driven by the north to the south and the right lane, and the left first lane is driven after the turning, so that the high-precision result is high in line coincidence degree, the driving track is shown in figure 17, wherein the mark P is a positioning track of common positioning software, the mark i is a positioning track of the invention, and the positioning precision of the track marked by the mark i is higher as can be seen from figure 17.
4. Shielding and comparing the high-rise buildings: the national garden west road runs from west to east on the first lane, the high-precision result is higher in line coincidence degree, the running track is as shown in fig. 18, retrograde motion is displayed compared with the machine track, wherein the mark P is the positioning track of common positioning software, the mark i is the positioning track of the invention, and as can be seen from fig. 18, the positioning precision of the track marked by the mark i is higher.
Compared with the prior art, the invention has the following beneficial effects:
based on the existing GPS data transmission channel of the Android system, data exchange service is added in the system application layer; and corresponding data interfaces are added on a system framework layer, a hardware adaptation layer and a driving layer and used for transmitting differential data to the Beidou positioning module. The method saves more space resources, thereby saving more cost, having high utilization rate and high positioning precision, compatibly supporting the services provided by a plurality of high-precision differential service providers and providing a plurality of choices for industrial users.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
It will be understood by those skilled in the art that the present invention includes any combination of the summary and detailed description of the invention described above and those illustrated in the accompanying drawings, which is not intended to be limited to the details and which, for the sake of brevity of this description, does not describe every aspect which may be formed by such combination. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made in the above embodiments by those of ordinary skill in the art without departing from the principle and spirit of the present invention. The scope of the invention is defined by the appended claims and equivalents thereof.

Claims (10)

1. A big dipper high-precision positioning control system of an Android platform is characterized by comprising a data exchange layer, a system framework layer, a hardware adaptation layer, a driving layer and a big dipper module; the data exchange layer is connected with the system framework layer, the system framework layer is connected with the hardware adaptation layer, the hardware adaptation layer is connected with the driving layer, and the driving layer is connected with the Beidou module;
the data exchange layer is used for exchanging differential data with a server, and the system framework layer is used for receiving the broadcast sent by the data exchange layer, analyzing the differential data and sending the differential data to the hardware adaptation layer; the hardware adaptation layer is used for receiving the differential data of the system framework layer and issuing the data; the driving layer is used for receiving and transmitting data between the system and the Beidou module;
the data exchange layer comprises an account configuration module, a server interaction module, a position information acquisition module and a differential data issuing module; the account configuration module is used for configuring information in the management server; the position information acquisition module is used for acquiring current position information; the server interaction module is used for controlling information interaction between the system and the server; and the differential data issuing module is used for receiving the differential data received by the server interaction module and sending the differential data to the system framework layer.
2. The Android platform Beidou high-precision positioning control system according to claim 1, wherein the account configuration module is used for configuring an IP address, management port information, mounting point information, a user account and password information of a server.
3. The Android platform Beidou high-precision positioning control system according to claim 1, wherein the server interaction module is used for controlling connection and disconnection between the system and the server and account information authentication, periodically sending local positioning information to the server and receiving differential data responded by the server in real time.
4. The Android platform big dipper high accuracy positioning control system of any of claims 1-3, characterized in that the server interaction module includes a system service unit, a task management unit and an Ntrip component;
the system service unit is used for receiving system broadcast and instantiating task management to perform flow control;
the task management unit is used for controlling a business process, detecting a system position service switch, an external Beidou switch, a high-precision setting switch and a network connection state, applying and releasing a system awakening lock, registering and canceling a position updating monitor, an Nmea monitor and a position service state change monitor through a system position service manager, managing a receiving account of differential data through an NTrip component and sending GGA position information data to a server.
5. The Android platform Beidou high-precision positioning control system of claim 4,
the Ntrip component comprises an NTrip management unit 14, an NTrip setting unit and an Ntrip interaction unit;
the NTrip management unit 14 is configured to manage the differential data receiving account, run the NTrip interaction unit through an asynchronous task mechanism, and periodically send GGA location information to the server;
the NTrip setting unit is used for managing different service provider data, and managing account numbers and authentication information in a differentiation mode;
and the NTrip interaction unit is used for data interaction of the server and controlling a service flow through the state machine.
6. The Android platform big dipper high accuracy positioning control system of claim 5, characterized in that the NTrip interaction unit includes the following procedures:
firstly, connecting a server, and using a server IP address and a port of an account configuration module, wherein the state is the state of connecting the server, and after the server is successfully connected, the state is changed into the state of successfully connecting the server;
secondly, using the account number, the password and the mounting point information of the account number configuration module, setting according to different service provider account numbers, generating different authentication information, sending the authentication information to the server, wherein the state is an unauthenticated state, if the server returns data containing information of successful authentication, the authentication is represented to be successful, and the state is converted into successful authentication;
next, GGA location information is sent to the server, and finally, differential data is received.
7. The Android platform big dipper high accuracy positioning control system of claim 6, characterized in that the NTrip interaction unit removes blank characters and line break characters from the head and tail of the collected NMEA statement when sending GGA location information to the server, and sends a line break character to the server, controlling the frequency of sending data to the server to be at least one second interval.
8. The Android platform Beidou high-precision positioning control system according to claim 1, wherein the hardware adaptation layer comprises an abstract interface, a service interface and a module interface, the abstract interface is used for defining a differential data interface, the service interface is used for data conversion and module interface calling, and the module interface is used for serial port writing to achieve differential data issuing tasks.
9. The Android platform big dipper high accuracy positioning control system of claim 1, characterized in that the differential data issuing module includes: firstly, defining system broadcast, secondly, setting differential data carried by the broadcast, secondly, setting the length of the differential data carried by the broadcast, and finally, sending the system broadcast.
10. The Android platform big dipper high accuracy positioning control system of claim 1, characterized in that the system framework layer includes: firstly, receiving differential data, secondly, extracting the length of the differential data, and finally, sending the differential data to a hardware adaptation layer.
CN202210410955.9A 2022-04-19 2022-04-19 Android platform big dipper high accuracy positioning control system Pending CN114814913A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210410955.9A CN114814913A (en) 2022-04-19 2022-04-19 Android platform big dipper high accuracy positioning control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210410955.9A CN114814913A (en) 2022-04-19 2022-04-19 Android platform big dipper high accuracy positioning control system

Publications (1)

Publication Number Publication Date
CN114814913A true CN114814913A (en) 2022-07-29

Family

ID=82505034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210410955.9A Pending CN114814913A (en) 2022-04-19 2022-04-19 Android platform big dipper high accuracy positioning control system

Country Status (1)

Country Link
CN (1) CN114814913A (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140308976A1 (en) * 2013-04-15 2014-10-16 Qualcomm Incorporated Varying processes to control transmission characteristics for position determination operations
CN104236579A (en) * 2014-10-09 2014-12-24 武汉大学 High-precision satellite navigation implementing method based on Android kernel layer
CN106357889A (en) * 2016-08-22 2017-01-25 杭州字节信息技术有限公司 Intelligence framework of Beidou satellite communication and navigation based on Android system and application
CN107704276A (en) * 2017-09-05 2018-02-16 千寻位置网络有限公司 High-precision solution method based on android system intelligent terminal
CN108152839A (en) * 2017-12-22 2018-06-12 西安烽火电子科技有限责任公司 Big Dipper data communication system and method based on Android operation system
CN108318905A (en) * 2018-01-05 2018-07-24 北京北方联星科技有限公司 The method of sub_meter position and sub- rice positioning intelligent mobile phone are realized on smart mobile phone
CN111901470A (en) * 2019-05-06 2020-11-06 千寻位置网络有限公司 Terminal testing method and system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140308976A1 (en) * 2013-04-15 2014-10-16 Qualcomm Incorporated Varying processes to control transmission characteristics for position determination operations
CN104236579A (en) * 2014-10-09 2014-12-24 武汉大学 High-precision satellite navigation implementing method based on Android kernel layer
CN106357889A (en) * 2016-08-22 2017-01-25 杭州字节信息技术有限公司 Intelligence framework of Beidou satellite communication and navigation based on Android system and application
CN107704276A (en) * 2017-09-05 2018-02-16 千寻位置网络有限公司 High-precision solution method based on android system intelligent terminal
CN108152839A (en) * 2017-12-22 2018-06-12 西安烽火电子科技有限责任公司 Big Dipper data communication system and method based on Android operation system
CN108318905A (en) * 2018-01-05 2018-07-24 北京北方联星科技有限公司 The method of sub_meter position and sub- rice positioning intelligent mobile phone are realized on smart mobile phone
CN111901470A (en) * 2019-05-06 2020-11-06 千寻位置网络有限公司 Terminal testing method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴凯: "基于智能终端的北斗高精度导航系统的设计与实现", 中国优秀硕士学位论文全文数据库, 15 February 2022 (2022-02-15), pages 136 - 692 *

Similar Documents

Publication Publication Date Title
US10798669B2 (en) Method of enabling a wireless information device to access location data
US20230072669A1 (en) Vehicle positioning using pseudo range observation and doppler observation values
US10778748B2 (en) Rapid reconfiguration of device location system
US20030148771A1 (en) Efficient location determination for mobile units
CN111050273B (en) Method and system for realizing high-precision positioning of intelligent terminal based on android system
CN105160191B (en) A kind of two-dimensional assemblage method and device based on spatial position
CN111143715B (en) Real-time position query system for truck
CN102202392A (en) Auxiliary global positioning system (GPS)
Rani et al. Location based services in android
US20200174135A1 (en) Positioning Method, Device, and System
CN106357758A (en) Positioning method, positioning system and terminal
CN108152839B (en) Android operating system-based Beidou data communication system and method
CN101365210A (en) Palm GSM integrated road measurement apparatus based on intelligent mobile phone
CN101777266B (en) Spatial and geographic information-based vehicle monitoring system and method
CN114814913A (en) Android platform big dipper high accuracy positioning control system
CN112702690A (en) Correction positioning method for mobile terminal, mobile terminal and terminal system
CN112904390A (en) Positioning method, positioning device, computer equipment and storage medium
KR20140121939A (en) Differential global positioning system based on web service and
Sage Future positioning technologies and their application to the automotive sector
CN113419266B (en) Positioning method and device, electronic equipment and computer readable storage medium
Metkar et al. RTOS based vehicle tracking system
CN105224791B (en) A kind of two-dimensional assemblage method and system based on communication pattern
Liu A Java-based wireless framework for location-based services applications
Jiang et al. Multi-sensor based vehicle autonomous navigation for vehicle infrastructure integration: Concept and simulation analysis
WO2023160036A1 (en) Positioning method and apparatus, and device and storage medium

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