Satellite positioning data error compensation method, system and device and storage medium

By acquiring satellite positioning data and motion parameters of multiple mobile bodies, using error analysis model and long and short-term memory neural network model for error analysis and compensation, the problem of satellite positioning data error is solved, improving positioning accuracy and reducing costs.

CN120044564APending Publication Date: 2025-05-27SHANDONG EVERBRIGHT SPACE GEOGRAPHIC INFORMATION CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510107706.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-23
Publication Date
2025-05-27

AI Technical Summary

Technical Problem

In actual applications, satellite positioning data has errors due to factors such as atmospheric interference, multipath effect, satellite clock difference, etc., which affects the positioning accuracy and has an adverse impact on related applications.

Method used

By acquiring satellite positioning data, motion parameters and relative distances of multiple moving bodies, a pre-constructed error analysis model is used to perform positioning error analysis, and an error compensation value is generated based on the error. The method includes the process of data collection, error analysis and error compensation, using IoT and pre-trained long-term memory neural network models for data processing.

Benefits of technology

Real-time analysis and compensation of satellite positioning data errors is realized, positioning accuracy is improved, costs are reduced, and has a wide range of application prospects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120044564A_ABST
    Figure CN120044564A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of satellite positioning, and particularly provides a satellite positioning data error compensation method, system and device and a storage medium, and the method comprises the steps: obtaining the satellite positioning data and motion parameters of a first moving body and a second moving body; synchronously acquiring the distance between the first moving body and the second moving body; substituting the satellite positioning data, the motion parameters and the distance into a pre-constructed error analysis model to obtain a positioning error; and generating an error compensation value of the satellite positioning data based on the positioning error. According to the method, the satellite positioning data, the motion parameters and the relative distances of the multiple moving bodies are acquired, so that the error of the satellite positioning data can be analyzed, the interval time length of data acquisition is not required, the future error is predicted through the error sequences at different moments, and then the error compensation value is generated for the satellite positioning data in time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of satellite positioning technology, and in particular relates to a satellite positioning data error compensation method, system, device and storage medium. Background Art

[0002] With the widespread adoption and development of satellite positioning technology, its applications in navigation, location-based services, intelligent transportation, and other fields are becoming increasingly widespread. However, in practical applications, satellite positioning data often contains errors due to various factors, such as atmospheric interference, multipath effects, and satellite clock errors. These errors not only affect positioning accuracy but can also adversely impact applications that rely on positioning data. To improve the accuracy of satellite positioning data, base station positioning technology can be used to correct satellite positioning. However, this approach requires the addition of base station positioning chips and related hardware, increasing costs. Summary of the Invention

[0003] In view of the above-mentioned deficiencies in the prior art, the present invention provides a satellite positioning data error compensation method, system, device and storage medium to solve the above-mentioned technical problems.

[0004] In a first aspect, the present invention provides a method for compensating satellite positioning data errors, comprising: Acquiring satellite positioning data and motion parameters of the first mobile object and the second mobile object; synchronously acquiring the distance between the first moving object and the second moving object; Substituting the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain a positioning error; An error compensation value for satellite positioning data is generated based on the positioning error.

[0005] In an optional embodiment, the satellite positioning data, motion parameters, and distance are substituted into a pre-built error analysis model to obtain the positioning error, including: The error analysis model includes: ; in, is the distance between the first moving object and the second moving object at time t, ( , ) is the satellite positioning coordinate of the first mobile body at time t, ( , ) is the satellite positioning coordinate of the second mobile body at time t, is the x-coordinate error at time t, is the y-coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at the moment, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at the moment, for The y-coordinate error at the moment, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the velocity of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first mobile object and the second mobile object at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least squares method to obtain the x-coordinate error and the y-coordinate error at different times.

[0006] In an optional embodiment, generating an error compensation value for satellite positioning data based on the positioning error includes: Arrange the x-coordinate errors and y-coordinate errors at different times in chronological order as an error sequence; Inputting the error sequence into a pre-trained long short-term memory neural network model to obtain a prediction error; Based on the prediction error, a corresponding error compensation value is generated.

[0007] In an optional embodiment, the method further comprises: Collect satellite positioning data, motion parameters, and distances from surrounding mobile objects of multiple mobile objects through the Internet of Things; Using satellite positioning data, a mobile object whose distance from the first mobile object meets a screening limit range is selected as a second mobile object; Calculating a theoretical distance between the first mobile object and the second mobile object based on satellite positioning data thereof; The difference between the theoretical distance and the actual distance received is calculated. If the difference is within a set threshold range, the data of the first moving object and the second moving object are determined to be available. If the difference is not within the set threshold range, the second moving object is reselected.

[0008] In a second aspect, the present invention provides a satellite positioning data error compensation system, comprising: A first acquisition module is used to acquire satellite positioning data and motion parameters of the first mobile object and the second mobile object; A second acquisition module, configured to synchronously acquire the distance between the first moving object and the second moving object; An error analysis module is used to substitute the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain a positioning error; The compensation setting module is used to generate an error compensation value of the satellite positioning data based on the positioning error.

[0009] In an optional embodiment, the error analysis module includes: The error analysis model includes: ; in, is the distance between the first moving object and the second moving object at time t, ( , ) is the satellite positioning coordinate of the first mobile body at time t, ( , ) is the satellite positioning coordinate of the second mobile body at time t, is the x-coordinate error at time t, is the y-coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at the moment, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at the moment, for The y-coordinate error at the moment, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the velocity of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first mobile object and the second mobile object at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least squares method to obtain the x-coordinate error and the y-coordinate error at different times.

[0010] In an optional embodiment, the compensation setting module includes: A sequence generating unit, used for arranging the x-coordinate errors and y-coordinate errors at different moments into an error sequence in chronological order; An error prediction unit, configured to input the error sequence into a pre-trained long short-term memory neural network model to obtain a prediction error; The compensation generating unit is configured to generate a corresponding error compensation value based on the prediction error.

[0011] In an optional embodiment, the system further comprises: A data collection module is used to collect satellite positioning data, motion parameters, and distances from surrounding mobile objects of multiple mobile objects through the Internet of Things; a target screening module, configured to screen out, through satellite positioning data, a mobile object whose distance from the first mobile object meets a screening restriction range as a second mobile object; A theoretical calculation module, configured to calculate a theoretical distance between the first mobile object and the second mobile object based on satellite positioning data thereof; The trust judgment module is used to calculate the difference between the theoretical distance between the two and the actual distance received. If the difference is within the set threshold range, it is determined that the data of the first mobile object and the second mobile object are available. If the difference is not within the set threshold range, the second mobile object is reselected.

[0012] According to a third aspect, a device is provided, comprising: A memory for storing a satellite positioning data error compensation program; The processor is configured to implement the steps of the satellite positioning data error compensation method provided in the first aspect when executing the satellite positioning data error compensation program.

[0013] In a fourth aspect, a computer-readable storage medium is provided, on which a satellite positioning data error compensation program is stored. When the satellite positioning data error compensation program is executed by a processor, the steps of the satellite positioning data error compensation method provided in the first aspect are implemented.

[0014] The beneficial effect of the present invention is that the satellite positioning data error compensation method, system, device and storage medium provided by the present invention can analyze the errors of satellite positioning data by acquiring satellite positioning data, motion parameters and relative distances of multiple mobile objects, and has no requirements on the length of the interval time for data collection. Future errors are predicted through error sequences at different times, and error compensation values ​​are generated for satellite positioning data in a timely manner.

[0015] In addition, the present invention has a reliable design principle, a simple structure and a very broad application prospect. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0017] Figure 1 is a schematic flow chart of a method according to an embodiment of the present invention.

[0018] Figure 2 FIG. 4 is a schematic block diagram of a system according to an embodiment of the present invention.

[0019] Figure 3 A schematic structural diagram of a device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0020] In order to enable those skilled in the art to better understand the technical solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.

[0021] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art of the present invention. The terms used in this specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention.

[0022] The satellite positioning data error compensation method provided in the embodiment of the present invention is executed by a computer device. Accordingly, the satellite positioning data error compensation system runs in the computer device.

[0023] Figure 1 is a schematic flow chart of a method according to an embodiment of the present invention. Figure 1 The execution subject may be a satellite positioning data error compensation system. According to different requirements, the order of the steps in the flow chart may be changed, and some steps may be omitted.

[0024] like Figure 1 As shown, the method includes: S1. Obtain satellite positioning data and motion parameters of the first moving object and the second moving object.

[0025] S2. Synchronously obtain the distance between the first moving object and the second moving object.

[0026] S3. Substitute the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain the positioning error.

[0027] S4. Generate an error compensation value for satellite positioning data based on the positioning error.

[0028] In one embodiment of the present invention, reasonable selection of reference objects (the first moving object and the second moving object) is the basis for subsequent error analysis. The following is a detailed method for executing S1.

[0029] S101. Data Collection Install appropriate sensors and devices on each mobile object (including vehicles and drones). These include GPS receivers for satellite positioning data, accelerometers for measuring acceleration, gyroscopes for obtaining heading information, and radar for detecting the relative distance to surrounding objects. Ensure that these sensors and devices function properly and establish a stable connection with the cloud computing execution center through IoT communication modules.

[0030] S102.Data Collection and Transmission: A GPS receiver is used to obtain the satellite positioning data of the moving object in real time, including the longitude and latitude (x, y) and the altitude coordinate z. Since the two moving objects are close to each other, only the longitude and latitude (x, y) are used for distance calculation in subsequent processing, and the altitude coordinate z is ignored.

[0031] The accelerometer and gyroscope regularly collect motion parameters such as speed, acceleration, heading and other information.

[0032] The radar device continuously detects the relative distance between the moving object and the surrounding objects, and uploads the collected distance data to the cloud computing execution center through the Internet of Things communication protocol (such as MQTT, CoAP, etc.).

[0033] To ensure the reliability of data transmission, data retransmission and data verification mechanisms are used to ensure the integrity and accuracy of data during transmission. For example, a CRC checksum is added to the data transmission. The receiving end verifies the received data and requests retransmission if the check fails.

[0034] S102, Data Screening A database is established in the cloud computing execution center to store the location information and motion parameters of all mobile objects. When satellite positioning data is received from a mobile object, it is stored in the database and indexed by the mobile object's unique identifier (such as device ID).

[0035] Set a distance restriction condition, which is determined based on experience, such as setting it to a specific radius range R (unit: meter).

[0036] When the second moving object needs to be selected, the position of the first moving object (x1, y1) is used as the center, and a database query statement is used to find all moving objects that meet the following conditions: Calculate the distance d between the other moving object (x2, y2) and the first moving object using the formula: .

[0037] The moving objects satisfying 0≤d≤R are screened out as potential second moving objects.

[0038] S103. Theoretical distance calculation According to the principles of spherical trigonometry or geodesy, a suitable algorithm is selected to calculate the theoretical distance between the first moving object and the second moving object.

[0039] For spherical distance calculation, the Haversine formula can be used:

[0040]

[0041]

[0042] Where R is the radius of the Earth.

[0043] For geodetic methods, more accurate algorithms can be used that take into account factors such as the Earth's oblateness, such as the Vincenty formula.

[0044] The specific calculation process of the theoretical distance includes: The latitude and longitude information of the first moving object and the filtered second moving object are extracted from the database.

[0045] Call the selected distance calculation algorithm to calculate the theoretical straight-line distance or shortest path distance between them.

[0046] S104, Error Analysis and Compensation Module The actual distance collected through IoT technology (such as the distance detected and uploaded by radar) is compared with the calculated theoretical distance.

[0047] Set an error threshold T (unit: meter), which is determined according to the specific application scenario and accuracy requirements.

[0048] The difference between the two is calculated. If the absolute value of the difference does not exceed the set error threshold, it is determined that the data of the first moving object and the second moving object are usable and can be used for subsequent error analysis and compensation.

[0049] If the absolute value of the difference exceeds the set error threshold, the following actions are considered: Reselect the second moving object and repeat the data screening and theoretical distance calculation process.

[0050] Further verify the collected data, such as checking whether the sensor is working properly and whether there are any abnormalities in data transmission.

[0051] If data anomalies are found, the data can be compensated, for example, by correcting the data based on historical data and statistical laws.

[0052] In one embodiment, for step S2, the execution method is as follows: S201. Receive the distance between the first moving object and the second moving object detected by the first moving object, and the distance between the second moving object and the first moving object detected by the second moving object through the Internet of Things.

[0053] Choose a communication protocol suitable for the IoT environment, such as MQTT (Message Queuing Telemetry Transport) or CoAP (Constrained Application Protocol), to ensure data transmission stability and reliability in low-bandwidth and unstable network environments.

[0054] The communication modules on the first mobile body and the second mobile body are configured to enable them to send the detected distance data to a designated server or cloud platform.

[0055] Here, the distance detection method between a first moving object and a second moving object is described by taking the detection of the distance between the two as an example. Assuming that the first moving object and the second moving object are drones: Using a monocular camera to capture images, the distance is calculated using the principle of similar triangles, based on the known actual size of the target object and the pixel size in the image. Assuming the actual length of the target object (the second moving object) is L, the pixel length in the image is l, and the focal length of the camera is f, the distance between the drone (the first moving object) and the target object can be calculated using the formula s = f * L / l, according to the principle of similar triangles.

[0056] A monocular camera is installed on the drone and calibrated to obtain the camera's intrinsic parameters (including focal length, principal point coordinates, etc.) and extrinsic parameters (rotation matrix and translation matrix).

[0057] An image containing the second moving object is captured, and the target object is identified and its pixel size in the image is measured using image processing algorithms (such as edge detection and feature extraction).

[0058] Knowing the actual size of the target object, substitute it into the formula to calculate the distance.

[0059] In addition, a millimeter wave radar measurement method or a laser measurement method may also be used.

[0060] S202. Calculate the average of the two distances, and use the average as the final distance between the first moving object and the second moving object.

[0061] S203. Store the calculated final distance in a database and associate it with the corresponding moving object for subsequent use or further analysis.

[0062] After the average is calculated, it is stored in the database.

[0063] For relational databases (taking MySQL as an example): import mysql.connector # Connect to the database conn = mysql.connector.connect(host="localhost", user="root", password="password", database="iot_db" )cursor = conn.cursor() # Insert data sql = "INSERT INTO mobile_distances(mobile1_id, mobile2_id, final_distance) VALUES (%s, %s, %s)" val = ("mobile1", "mobile2", 100.15) cursor.execute(sql, val) conn.commit()cursor.close() conn.close().

[0064] In an embodiment of the present invention, based on step S3, a possible embodiment will be given below to illustrate its specific implementation scheme in a non-limiting manner.

[0065] Error analysis models include: ; in, is the distance between the first moving object and the second moving object at time t, ( , ) is the satellite positioning coordinate of the first mobile body at time t, ( , ) is the satellite positioning coordinate of the second mobile body at time t, is the x-coordinate error at time t, is the y-coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at the moment, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at the moment, for The y-coordinate error at the moment, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the velocity of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first mobile object and the second mobile object at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least squares method to obtain the x-coordinate error and y-coordinate error at different times. The specific solution process includes: Based on the predicted error compensation value, satellite positioning correction data of the first and second moving objects are generated. Based on the satellite positioning correction data of the first and second moving objects, the theoretical distance between the two is calculated. The difference between the theoretical distance and the actual distance is used as the loss function: ; in, is the theoretical distance, is the actual distance.

[0066] Initialization parameters: First, a set of initial values ​​is chosen for the unknown parameters in the model (in this case, the x-coordinate error and the y-coordinate error, for all time instants t). These initial values ​​can be random or based on some prior knowledge or assumptions.

[0067] Compute the predicted value and error: Substitute the satellite positioning coordinates and the assumed error into the distance formula to calculate the predicted distance d_ti at each moment. Then calculate the difference between the predicted distance and the actual observed distance, that is, the error.

[0068] According to the loss function formula mentioned above, the sum of the squares of the errors at all times is calculated to obtain the value of the loss function L.

[0069] Compute the gradient: In order to find the parameter value that minimizes the loss function, it is necessary to calculate the partial derivatives of the loss function with respect to each parameter. These partial derivatives constitute the gradient vector.

[0070] Update parameters: Use gradient descent or its variants (such as Gauss-Newton, Levenberg-Marquardt, etc.) to update the parameter values ​​according to the direction of the gradient vector.

[0071] The update step involves a learning rate (or step size) parameter that controls the magnitude of the parameter update. In iterative algorithms such as the Gauss-Newton method, this step can be more complex because it involves solving a system of linear equations to find the optimal update direction.

[0072] Check the stopping conditions: After each iteration, a check is performed to see if a certain stopping condition is met. These conditions include the loss function value decreasing by less than a certain threshold, the parameter value updating by less than a certain threshold, or the maximum number of iterations being reached.

[0073] If the stopping condition is met, the iteration process ends and a set of optimal parameter values ​​is obtained. Otherwise, the iteration continues.

[0074] Output: Finally, the optimal parameter values ​​are output, which can be used for further analysis or to predict new data points.

[0075] In an embodiment of the present invention, based on step S4, a possible embodiment will be given below to illustrate its specific implementation scheme in a non-limiting manner.

[0076] Formation of error sequence: Arranging the x- and y-coordinate errors at different moments in chronological order yields two error sequences: the x- and y-coordinate error sequences. These sequences not only record the magnitude of the errors but also preserve information about their evolution over time. Analysis of these sequences reveals characteristics such as error periodicity and trends, providing important insights for subsequent prediction and compensation.

[0077] Use SQL query statements to extract and sort data: import mysql.connector def fetch_error_sequences(): conn =mysql.connector.connect( host="localhost", user="root", password="password",database="iot_db" ) cursor = conn.cursor() cursor.execute("SELECT x_error,y_error FROM error_data ORDER BY timestamp ASC") error_sequences =cursor.fetchall() x_error_sequence = [row[0] for row in error_sequences]y_error_sequence = [row[1] for row in error_sequences]cursor.close()conn.close() return x_error_sequence, y_error_sequence x_error_sequence, y_error_sequence = fetch_error_sequences().

[0078] The fetch_error_sequences function uses a SQL query to extract error data from the database in ascending order by timestamp.

[0079] Store the extracted data in the x_error_sequence and y_error_sequence lists respectively.

[0080] Pre-trained long short-term memory neural network model: (1) Data preparation: Divide the error sequence into training, validation, and test sets. Typically, the ratio is set to a certain ratio (e.g., 70:15:15) to ensure sufficient training, validation, and testing of the model.

[0081] For time series data, a sliding window technique is used to convert the sequence data into input-output pairs. For example, for an error sequence of length N, using a window size of w, (Nw) input-output pairs can be generated. The input is the first w error values, and the output is the w+1th error value.

[0082] import numpy as np def create_sequences(data, window_size): X = [] y= []for i in range(len(data) - window_size): create_sequences(x_error_sequence[:int(0.7 * len(x_error_sequence))], window_size) x_val, y_val = create_sequences(x_error_sequence[int(0.7 * len(x_error_sequence)):int(0.85 * len(x_error_sequence))], window_size) x_test, y_test = create_sequences(x_error_sequence[int(0.85 * len(x_error_sequence)):], window_size).

[0083] The create_sequences function divides the error sequence into input and output pairs, where the input is the past window_size error values ​​and the output is the next error value.

[0084] The x-coordinate error sequence is divided into training set, validation set and test set respectively.

[0085] (2) Model construction: Build an LSTM model using a deep learning framework such as TensorFlow or PyTorch.

[0086] The model structure can include one or more LSTM layers, followed by a fully connected layer to output the predicted error value.

[0087] The code to build the model is: import tensorflow as tf from tensorflow.keras.models importSequential from tensorflow.keras.layers import LSTM, Dense def build_lstm_model(input_shape): model = Sequential() model.add(LSTM(units=50, return_sequences=False, input_shape=input_shape)) model.add(Dense(units=1))model.compile(optimizer='adam', loss='mse') return model input_shape =(window_size, 1) # The input shape is (window size, 1) lstm_model = build_lstm_model(input_shape).

[0088] Use the Sequential model, add an LSTM layer with 50 units, and do not return a sequence.

[0089] Then a Dense layer with 1 unit outputs the prediction error.

[0090] Compile using the adam optimizer and the mean squared error (MSE) loss function.

[0091] (3) Parameter tuning: Use the training set to train the model and the validation set to perform hyperparameter tuning.

[0092] You can use the EarlyStopping callback function to prevent overfitting and stop training when the validation loss stops decreasing.

[0093] Try different hyperparameters, such as the number of LSTM units, learning rate, batch size, etc., to find the best parameter combination.

[0094] Generation of prediction error: By inputting the resulting error sequence into a pre-trained LSTM model, we can obtain prediction error values ​​for future moments. These prediction error values ​​reflect the model's estimate of future errors and can be used to guide subsequent data correction and error compensation. It's important to note that the accuracy of prediction errors is affected by various factors, such as model complexity and the quantity and quality of training data. Therefore, in practical applications, the model needs to be fine-tuned and validated based on specific circumstances.

[0095] The prediction process involves applying the trained LSTM model to the test set or new error sequence data to generate predicted error values. For new error sequences, they are first converted to the input shape (using the create_sequences function) and then fed into the model for prediction.

[0096] Generation of error compensation value: Based on the prediction error value, a corresponding error compensation value can be generated. Error compensation values ​​refer to the amount of adjustment required to eliminate or reduce prediction error. During IoT data collection and processing, applying these compensation values ​​to the original data can improve data accuracy and reliability. The error compensation value generation method can be designed and adjusted based on specific application scenarios. For example, in path planning tasks, the trajectory of a moving object can be adjusted based on the prediction error value to reduce path deviation caused by the error.

[0097] Determine the method for generating the error compensation value based on the application scenario.

[0098] For example, in a path planning task, if the predicted x-coordinate error is e x and the y coordinate error is e y , can be calculated based on the current position (x, y) and speed (v x ,v y ) to adjust the motion trajectory.

[0099] The corresponding compensation factor β is set in advance according to different motion states. The motion states include acceleration, uniform speed and deceleration. For example, the acceleration state corresponds to β1, the uniform speed state corresponds to β2, and the deceleration state corresponds to β3. When the moving body is in the acceleration state, the coordinate after compensation is (x-β1e x ,y-β1e y ). The compensation methods in other motion states are similar.

[0100] In some embodiments, the satellite positioning data error compensation system may include a plurality of functional modules composed of computer program segments. The computer program of each program segment in the satellite positioning data error compensation system may be stored in a memory of a computer device and executed by at least one processor to perform (see Figure 1 Description) Function of compensating satellite positioning data errors.

[0101] In this embodiment, the satellite positioning data error compensation system can be divided into multiple functional modules according to the functions it performs, such as Figure 2As shown in FIG. The functional modules of system 200 may include: a first acquisition module 210, a second acquisition module 220, an error analysis module 230, and a compensation setting module 240. As used herein, a module refers to a series of computer program segments that can be executed by at least one processor and perform fixed functions, and is stored in a memory. In this embodiment, the functions of each module will be described in detail in subsequent embodiments.

[0102] A first acquisition module is used to acquire satellite positioning data and motion parameters of the first mobile object and the second mobile object; A second acquisition module, configured to synchronously acquire the distance between the first moving object and the second moving object; An error analysis module is used to substitute the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain a positioning error; The compensation setting module is used to generate an error compensation value of the satellite positioning data based on the positioning error.

[0103] Optionally, as an embodiment of the present invention, the error analysis module includes: The error analysis model includes: ; in, is the distance between the first moving object and the second moving object at time t, ( , ) is the satellite positioning coordinate of the first mobile body at time t, ( , ) is the satellite positioning coordinate of the second mobile body at time t, is the x-coordinate error at time t, is the y-coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at the moment, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at the moment, for The y-coordinate error at the moment, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the velocity of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first moving object and the second moving object at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least squares method to obtain the x-coordinate error and the y-coordinate error at different times.

[0104] Optionally, as an embodiment of the present invention, the compensation setting module includes: A sequence generating unit, used for arranging the x-coordinate errors and y-coordinate errors at different moments into an error sequence in chronological order; An error prediction unit, configured to input the error sequence into a pre-trained long short-term memory neural network model to obtain a prediction error; The compensation generating unit is configured to generate a corresponding error compensation value based on the prediction error.

[0105] Optionally, as an embodiment of the present invention, the system further includes: A data collection module is used to collect satellite positioning data, motion parameters, and distances from surrounding mobile objects of multiple mobile objects through the Internet of Things; a target screening module, configured to screen out, through satellite positioning data, a mobile object whose distance from the first mobile object meets a screening restriction range as a second mobile object; A theoretical calculation module, configured to calculate a theoretical distance between the first mobile object and the second mobile object based on satellite positioning data thereof; The trust judgment module is used to calculate the difference between the theoretical distance between the two and the actual distance received. If the difference is within the set threshold range, it is determined that the data of the first mobile object and the second mobile object are available. If the difference is not within the set threshold range, the second mobile object is reselected.

[0106] Figure 3The satellite positioning data error compensation method provided for the embodiment of the present application can be applied to a device. Those skilled in the art will understand that the device structure involved in the embodiment of the present invention does not constitute a limitation of the device, and the device may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. In the embodiment of the present invention, the device includes but is not limited to a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of the present application described and / or required herein.

[0107] The device 300 may include a processor 310, a memory 320, and a communication unit 330. These components communicate via one or more buses. Those skilled in the art will appreciate that the server structure shown in the figure does not limit the present invention. The server structure may be a bus structure or a star structure, and may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0108] The memory 320 can be used to store execution instructions of the processor 310. The memory 320 can be implemented by any type of volatile or non-volatile memory device, or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk, or optical disk. When the execution instructions in the memory 320 are executed by the processor 310, the device 300 can perform some or all of the steps in the above-described method embodiments.

[0109] The processor 310 is the control center of the storage device, which uses various interfaces and lines to connect various parts of the entire electronic device. It executes various functions of the electronic device and / or processes data by running or executing software programs and / or modules stored in the memory 320, and calling data stored in the memory. The processor can be composed of an integrated circuit (IC), for example, it can be composed of a single packaged IC, or it can be composed of multiple packaged ICs with the same or different functions. For example, the processor 310 can only include a central processing unit (CPU). In an embodiment of the present invention, the CPU can be a single computing core or multiple computing cores.

[0110] The communication unit 330 is configured to establish a communication channel so that the storage device can communicate with other devices, receive user data sent by other devices, or send user data to other devices.

[0111] The present invention also provides a computer storage medium, wherein the computer storage medium may store a program that, when executed, may include some or all of the steps of each embodiment provided herein. The storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).

[0112] Those skilled in the art will clearly understand that the techniques in the embodiments of the present invention can be implemented using software and a necessary general-purpose hardware platform. Based on this understanding, the technical solutions in the embodiments of the present invention, or the portion that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, among other media capable of storing program code, and includes instructions for causing a computer device (which can be a personal computer, a server, or a second device, a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present invention.

[0113] In this specification, the same or similar parts between the various embodiments can be referred to each other. In particular, for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.

[0114] In the several embodiments provided by the present invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of systems or modules, and can be electrical, mechanical or other forms.

[0115] The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.

[0116] In addition, each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0117] Although the present invention has been described in detail with reference to the accompanying drawings and in conjunction with preferred embodiments, the present invention is not limited thereto. Without departing from the spirit and essence of the present invention, persons of ordinary skill in the art may make various equivalent modifications or substitutions to the embodiments of the present invention, and such modifications or substitutions shall be within the scope of the present invention. Any changes or substitutions that can be easily conceived by persons skilled in the art within the technical scope disclosed in the present invention shall be within the scope of protection of the present invention.

Claims

1. A satellite positioning data error compensation method, characterized in that: include: Acquire satellite positioning data and motion parameters of the first moving object and the second moving object; synchronously acquiring the distance between the first moving object and the second moving object; Substituting the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain a positioning error; An error compensation value for satellite positioning data is generated based on the positioning error.

2. The method according to claim 1, characterized in that Substituting the satellite positioning data, motion parameters and distance into a pre-built error analysis model, the positioning error is obtained, including: The error analysis model includes: ; in, is the distance between the first moving body and the second moving body at time t, ( , ) is the satellite positioning coordinates of the first moving body at time t, ( , ) is the satellite positioning coordinates of the second mobile body at time t, is the x-coordinate error at time t, is the y coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at time, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at time, for The y coordinate error at time, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the speed of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first moving body and the second moving body at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least square method to obtain the x-coordinate error and the y-coordinate error at different times.

3. The method according to claim 2, characterized in that Generating an error compensation value of satellite positioning data based on the positioning error includes: Arrange the x-coordinate errors and y-coordinate errors at different times in chronological order as an error sequence; Inputting the error sequence into a pre-trained long short-term memory neural network model to obtain a prediction error; Based on the prediction error, a corresponding error compensation value is generated.

4. The method according to claim 1, characterized in that: The method further comprises: Collect satellite positioning data, motion parameters, and distances from surrounding mobile objects of multiple mobile objects through the Internet of Things; Screening out a moving object whose distance from the first moving object meets a screening restriction range as a second moving object through satellite positioning data; Calculating a theoretical distance between the first moving object and the second moving object based on satellite positioning data of the first moving object and the second moving object; The difference between the theoretical distance and the actual distance received is calculated. If the difference is within the set threshold range, it is determined that the data of the first moving body and the second moving body are available. If the difference is not within the set threshold range, the second moving body is reselected.

5. A satellite positioning data error compensation system, characterized in that: include: A first acquisition module, used to acquire satellite positioning data and motion parameters of the first moving object and the second moving object; A second acquisition module, used for synchronously acquiring the distance between the first moving object and the second moving object; An error analysis module, used to substitute the satellite positioning data, motion parameters and distance into a pre-built error analysis model to obtain a positioning error; The compensation setting module is used to generate an error compensation value of the satellite positioning data based on the positioning error.

6. The system according to claim 5, characterized in that The error analysis module comprises: The error analysis model includes: ; in, is the distance between the first moving body and the second moving body at time t, ( , ) is the satellite positioning coordinates of the first moving body at time t, ( , ) is the satellite positioning coordinates of the second mobile body at time t, is the x-coordinate error at time t, is the y coordinate error at time t; ; ; in,( , ) is the first moving body in Satellite positioning coordinates at time, ( , ) is the second moving body in Satellite positioning coordinates at the time, for The x-coordinate error at time, for The y coordinate error at time, is the velocity of the first moving body at time t, is the acceleration of the first moving body, is the speed of the second moving body at time t, is the acceleration of the second moving body, for The time difference between time t and time t; Substituting the acquired satellite positioning data and distance values ​​of the first moving body and the second moving body at different times into the error analysis model to establish a set of simultaneous equations; The system of simultaneous equations is solved using the least square method to obtain the x-coordinate error and the y-coordinate error at different times.

7. The system according to claim 6, characterized in that The compensation setting module comprises: A sequence generating unit, used for arranging the x-coordinate errors and y-coordinate errors at different moments into an error sequence in chronological order; An error prediction unit, used for inputting the error sequence into a pre-trained long short-term memory neural network model to obtain a prediction error; The compensation generating unit is used to generate a corresponding error compensation value based on the prediction error.

8. The system according to claim 5, characterized in that The system further comprises: A data collection module, used to collect satellite positioning data, motion parameters, and distances to surrounding moving objects of multiple moving objects through the Internet of Things; A target screening module, used for screening out a mobile object whose distance from the first mobile object meets a screening restriction range as a second mobile object through satellite positioning data; A theoretical calculation module, used for calculating the theoretical distance between the first moving body and the second moving body based on the satellite positioning data of the first moving body and the second moving body; The trusted judgment module is used to calculate the difference between the theoretical distance between the two and the actual distance received. If the difference is within the set threshold range, it is determined that the data of the first moving body and the second moving body are available. If the difference is not within the set threshold range, the second moving body is reselected.

9. A device, characterized in that: include: A memory, used for storing a satellite positioning data error compensation program; A processor is used to implement the steps of the satellite positioning data error compensation method as described in any one of claims 1 to 4 when executing the satellite positioning data error compensation program.

10. A computer-readable storage medium storing a computer program, characterized in that: The readable storage medium stores a satellite positioning data error compensation program, and when the satellite positioning data error compensation program is executed by the processor, the steps of the satellite positioning data error compensation method according to any one of claims 1 to 4 are implemented.