GNSS / INS (Global Navigation Satellite System / Inertial Navigation System) integrated navigation time asynchronization error compensation method and system
By collecting and adjusting the timestamps of IMU and GNSS data, calculating the time difference compensation and correcting the IMU sensor time, the problem of time asymmetry error in the GNSS/INS combined navigation system is solved, and the positioning accuracy and anti-interference of the system are significantly improved.
Patent Information
- Application Number
- CN202411803160.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-10
- Publication Date
- 2025-01-10
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The existing GNSS/INS combined navigation system has inconsistent transmission delays of inertial sensors and satellite receivers, resulting in time out-synchronization errors, affecting positioning accuracy.
By collecting the timestamps of IMU data and GNSS data, the time difference compensation is calculated, and the IMU sensor time is corrected using PPS signal to make the timestamp consistent, the IMU positioning result is adjusted according to the GNSS positioning result, and Kalman filtering is updated to generate the final positioning result.
It effectively reduces the impact of time difference on the positioning results, and improves the positioning accuracy and anti-interference ability of GNSS/INS combined navigation.
Smart Images

Figure CN119289975A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of GNSS / INS integrated navigation, and in particular to a GNSS / INS integrated navigation time asynchronous error compensation method and system, including collecting IMU data. Background Art
[0002] As an autonomous navigation system, inertial navigation does not rely on external information when working. However, inertial navigation information is generated by integral calculation, and the long-term positioning accuracy is poor. Satellite navigation can achieve high-precision positioning with global coverage, but the positioning results are easily affected by the environment. In the prior art, the two navigation methods are combined to form a GNSS / INS combined navigation system, which achieves long-term accurate positioning through complementary advantages and is unanimously considered to be the most ideal combined navigation system for flight vehicles.
[0003] The existing GNSS / INS integrated navigation system fusion algorithm is usually based on the error model of inertial navigation and uses the Kalman filter principle for data fusion. During data fusion, since the fusion processor needs to receive the inertial sensor data and satellite receiver data at the same time and perform fusion calculations, the data actually fused by the fusion processor is usually not the same data at the same time due to the inconsistent transmission delay between the inertial sensor and the satellite receiver, which results in time synchronization errors. , this error will lead to a decrease in the positioning accuracy of the integrated navigation system. Summary of the invention
[0004] In view of this, the problem to be solved by the present invention is to provide a GNSS / INS integrated navigation time asynchronization error compensation method and system, which can reduce the impact of the time asynchronization error between inertial navigation data and satellite navigation data and improve the positioning accuracy of GNSS / INS integrated navigation.
[0005] In order to solve the above technical problems, the technical solution adopted by the present invention is: a GNSS / INS integrated navigation time synchronization error compensation method, including collecting IMU data, continuously receiving IMU data and corresponding timestamp T_imu, calculating IMU positioning results according to IMU data and outputting them, and storing the IMU positioning results and timestamp T_imu in a buffer area, Collect GNSS data, continuously receive GNSS data and timestamp T_gnss, and calculate GNSS positioning results based on GNSS data; Generate error compensation, collect GNSS data and collect IMU data steps. Do you receive GNSS data and IMU data at the same time? No, do not take action. Yes, search the imu positioning result closest to the time in the buffer area based on the timestamp T_gnss, calculate the IMU positioning result based on the IMU data, and calculate the time difference compensation based on the IMU positioning result and the imu positioning result ; Calculate measurement compensation based on time difference compensation And GNSS positioning results compensate IMU positioning results.
[0006] Furthermore, the time synchronization error compensation method includes time normalization: including receiving a PPS signal from a satellite receiver, and correcting the IMU sensor time according to the PPS signal so that the time reference of the timestamp T_imu is consistent with the time reference of the timestamp T_gnss.
[0007] Furthermore, the IMU positioning result and the timestamp T_imu of the corresponding moment together form a set of positioning data, and the size of the buffer area is fixed and the positioning data is stored cyclically.
[0008] Furthermore, each time a set of positioning data is stored in the buffer area, the count value BufCount is increased by one, the interval time of the timestamp T_imu is fixed, and the imu positioning result at the same time as T_gnss is quickly determined based on the count value BufCount.
[0009] Furthermore, the calculation formula of the measurement compensation is: , in, Indicates the IMU positioning result, Indicates the GNSS positioning result. represents the accumulated error, ArmCompData represents the arm compensation, Indicates time difference compensation.
[0010] Furthermore, based on the accumulated error The imu positioning result is adjusted to generate a first IMU positioning result, the first IMU positioning result is updated by Kalman filtering, and the first IMU positioning result is adjusted based on the update result feedback to generate a second IMU positioning result and output.
[0011] A GNSS / INS integrated navigation time asynchronization error compensation system includes a GNSS operation unit for periodically collecting and publishing GNSS data and a timestamp T_gnss; IMU operation unit, used to periodically collect IMU data and timestamp Timu and publish them; The combined navigation unit is used to obtain IMU data and GNSS data, calculate and output the IMU positioning result based on the IMU data, or find the imu positioning result at or near the same time based on the timestamp T_gnss, calculate the GNSS positioning result based on the GNSS data, and correct the IMU positioning result by combining the imu positioning result and the GNSS positioning result and output it.
[0012] Furthermore, the IMU operation unit is provided with a storage module, and the storage module is used to store the IMU positioning result and the corresponding timestamp Timu.
[0013] Furthermore, the time asynchrony error compensation system is implemented based on the FreeRTOS operating system.
[0014] Furthermore, the operation period of the IMU operation unit is 1 ms, the operation period of the GNSS operation unit is 50 ms, and the operation period of the integrated navigation unit is 10 ms.
[0015] The advantages and positive effects of the present invention are: By obtaining the timestamps T_gnss and T_imu of the GNSS data and IMU data respectively, the imu positioning result closest to the time is obtained based on T_gnss. The GNSS positioning result at that moment can be calculated based on the GNSS data, and the time difference compensation can be calculated based on the imu positioning result and the IMU positioning result. , time difference compensation Adjusting the IMU positioning results together with the GNSS positioning results can effectively remove the influence of the time difference on the positioning results and improve the accuracy of GNSS / INS integrated navigation.
[0016] By using the PPS signal to correct the IMU sensor time, the time base between the timestamp T_imu and the timestamp T_gnss is made consistent, further reducing the time difference between the GNSS data and the imu data. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are used to provide a further understanding of the present invention and constitute a part of the specification. Together with the embodiments of the present invention, they are used to explain the present invention and do not constitute a limitation of the present invention. In the accompanying drawings: Figure 1 It is an overall principle diagram of a GNSS / INS integrated navigation time asynchronization error compensation method of the present invention; Figure 2 It is a system structure diagram of a GNSS / INS integrated navigation time asynchronization error compensation system of the present invention; Figure 3 It is an operating principle diagram of a GNSS / INS integrated navigation time asynchronization error compensation system and method of the present invention; Figure 4 It is the error curve diagram of GNSS / INS integrated navigation positioning and satellite navigation positioning when time synchronization error compensation is not performed; Figure 5 yes Figure 4 Horizontal velocity curve of mobile device in the middle; Figure 6 It is the error curve diagram of GNSS / INS integrated navigation positioning and satellite navigation positioning when performing time synchronization error compensation; Figure 7 yes Figure 6 Horizontal velocity curve of the mobile device. DETAILED DESCRIPTION
[0018] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in 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 creative work are within the scope of protection of the present invention.
[0019] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present invention belongs. The terms used herein in the specification of the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present invention. The term "and / or" used herein includes any and all combinations of one or more of the related listed items.
[0020] The present invention provides a GNSS / INS integrated navigation time asynchronization error compensation system, such as Figure 1 As shown in the figure, T_gnss represents the timestamp when GNSS data is generated, T_imu represents the timestamp when IMU data is generated, T_c represents the time when the fusion processor receives GNSS data and IMU data, and δt represents the generation time difference between GNSS data and IMU data. There is a calculation delay when generating GNSS data and IMU data, and there is a transmission delay when transmitting GNSS data and IMU data. The calculation delay and transmission delay together constitute the sampling time difference δt. Figure 4 and Figure 5 As shown, the size of the position error is positively correlated with the horizontal speed of the mobile device, and: the higher the horizontal speed of the mobile device, the longer the distance moved within the sampling time difference δt, and the larger the positioning error.
[0021] like Figure 2 As shown, it includes a GNSS operation unit, an IMU operation unit and an integrated navigation unit. The GNSS operation unit is used to periodically collect and publish GNSS data; the IMU operation unit is used to periodically collect and publish IMU data; the integrated navigation unit is used to obtain the published IMU data and GNSS data, perform data fusion and output long-term and accurate positioning results.
[0022] Due to the different output frequencies of the IMU sensor and the satellite receiver, the integrated navigation unit has two operating states: when the integrated navigation unit only receives IMU data, it calculates the IMU positioning result based on the IMU data and outputs it; when the integrated navigation unit receives GNSS data and IMU data at the same time, the integrated navigation unit calculates the GNSS positioning result and the IMU positioning result respectively, and obtains the imu positioning result at the same time or close to the GNSS positioning result, compensates the IMU positioning result based on the GNSS positioning result and the imu positioning result, uses the compensated IMU positioning result to perform Kalman filtering update, and adjusts the IMU positioning result based on the update result feedback, effectively removing the accumulated error of the IMU data and achieving long-term and accurate positioning.
[0023] The IMU operation unit is equipped with a cache module, which is used to store the IMU positioning results and the timestamp T_imu, which is used to indicate the generation time of the IMU data. The time synchronization error compensation system is implemented based on the FreeRTOS operating system.
[0024] like Figure 3 As shown in the figure, the operation process of the GNSS operation unit is: periodically collect GNSS data output by the satellite receiver through the serial port and obtain the corresponding timestamp T_gnss; publish GNSS data and set the flag indicating GNSS data update. The IMU operation unit and the integrated navigation unit determine whether the GNSS data is updated by judging whether the flag is set.
[0025] The operation process of the IMU operation unit is: periodically collect the IMU data output by the IMU sensor through the serial port, and obtain the corresponding timestamp T_imu; receive the IMU positioning result of the previous cycle, and store the IMU positioning result and the corresponding timestamp T_imu in the cache module.
[0026] Determine whether the GNSS data is updated. If not, it means that no GNSS data has been collected at the current moment, and the IMU data collected at the current moment is released; if yes, it means that GNSS data has been collected at the current moment, and the imu positioning result closest in time is searched in the cache module according to the corresponding timestamp T_gnss, and the imu positioning result and IMU data are released at the same time.
[0027] The operation process of the integrated navigation unit is: when only the IMU data released by the IMU operation unit is obtained, the IMU positioning result is calculated and output, and at the same time the IMU positioning result is sent to the IMU operation unit so that it is stored in the cache module.
[0028] When acquiring IMU data and GNSS data at the same time, calculate the GNSS positioning results and IMU positioning results, and send the IMU positioning results to the IMU operation unit; obtain the imu positioning data at the same time or close to the GNSS data from the cache area, use the GNSS positioning results and imu positioning data to perform error compensation on the IMU positioning results, and when updating the Kalman filter, adjust the IMU positioning results based on the update result feedback and output them.
[0029] Under normal circumstances, the operating frequency of the IMU sensor is 1kHz and the operating frequency of the satellite receiver is 10Hz. An embodiment of the present application is: the operating cycle of the IMU operating unit is 1ms, the operating cycle of the GNSS operating unit is 50ms, and the operating cycle of the combined navigation unit is 10ms. The above operating cycles can meet the requirements for collecting raw data from the IMU sensor and the satellite receiver.
[0030] One embodiment of the present application is: the FreeRTOS operating system can be used to respectively construct a GNSS operating unit, an IMU operating unit and a combined navigation unit to realize the construction of an asynchronous error compensation system.
[0031] The storage area of the storage module is fixed in size, and the IMU positioning results and corresponding timestamps T_gnss are stored in a loop to save storage space while searching for imu positioning data. Under normal circumstances, the sampling frequency of the IMU sensor is higher than that of the satellite receiver. According to experience, the storage time length of the cache module is 0.2s. Therefore, the total length of the cache space CountMax=0.2 / 0.001=200, that is, the total time length divided by the task cycle.
[0032] like Figure 1 and Figure 3 As shown, a GNSS / INS integrated navigation time synchronization error compensation method includes collecting IMU data, continuously receiving IMU data and corresponding timestamp T_imu, calculating and outputting IMU positioning results based on IMU data, and storing the IMU positioning results and timestamp T_imu in a cache area.
[0033] Receive the IMU data Xn output by the IMU sensor, and obtain the corresponding timestamp Tinsn at the same time. The timestamp Tinsn indicates the time when the IMU data Xn is generated. The IMU data Xn is inertially calculated to output the IMU positioning result Zinsn and output, and the IMU positioning result Zinsn and the corresponding timestamp Tinsn are stored in the buffer area.
[0034] Use the same method to obtain the next IMU data Xn+1, timestamp Tinsn+1 and calculate the IMU positioning result Zinsn+1, and store the IMU positioning result and timestamp in the cache area in turn.
[0035] Collect GNSS data, continuously receive GNSS data and timestamp T_gnss, and calculate GNSS positioning results based on the GNSS data.
[0036] Receive the GNSS data En output by the satellite receiver and obtain the corresponding timestamp Tgnssn at the same time. The timestamp Tgnssn indicates the time when the GNSS data En was generated. The IMU data Xn is used for satellite navigation calculation to output the GNSS positioning result Zgnssn. Use the same method to obtain the next GNSS data En+1, timestamp Tgnssn+1 and calculate the GNSS positioning result Zgnssn+1.
[0037] Generate error compensation, collect GNSS data and collect IMU data steps. Do you receive GNSS data and IMU data at the same time? No, do not take action. Yes, search the imu positioning result closest to the time in the buffer area based on the timestamp T_gnss, calculate the IMU positioning result based on the IMU data, and calculate the time difference compensation based on the IMU positioning result and the imu positioning result .
[0038] Monitor and collect GNSS data and IMU data. When only IMU data is received, it means that the accumulation time is short (the accumulation time does not exceed one operating cycle of the satellite receiver). There is no need for data fusion to correct the error. The IMU positioning result is directly calculated based on the IMU data, and the resulting IMU positioning result is used as the final positioning result and output.
[0039] When both steps receive data (when receiving GNSS data and IMU data at the same time), it means that the accumulated time exceeds one operating cycle of the satellite receiver. The storage area is searched based on the timestamp T_gnss of the GNSS data to determine the timestamp T_imu closest to the time indicated by the timestamp T_gnss. The corresponding imu positioning result is obtained based on the timestamp T_imu. The position increment and velocity increment are calculated based on the imu positioning result and the IMU positioning result. The position increment and velocity increment represent the time difference compensation. .
[0040] Calculate measurement compensation based on time difference compensation And GNSS positioning results compensate IMU positioning results.
[0041] By introducing time difference compensation and lever arm compensation, the cumulative error can be improved The specific calculation formula is: , in, Indicates the IMU positioning result, Indicates the GNSS positioning result. represents the accumulated error, ArmCompData represents the arm compensation, Indicates time difference compensation.
[0042] Based on the accumulated error The IMU positioning result is adjusted to generate a first IMU positioning result. The first IMU positioning result is updated by Kalman filtering. The first IMU positioning result is adjusted based on the update result feedback to generate and output a second IMU positioning result. The second IMU positioning result is the final positioning result after data fusion.
[0043] After executing the above four steps, the error update of the GNSS / INS integrated navigation is completed. With the periodic operation of the above four steps, the number of filtering iterations continues, the calculation accuracy of the time synchronization error gradually improves, and the positioning accuracy after the compensation of the integrated navigation system also improves accordingly. Through the above method, the error caused by the data time difference can be controlled within one IMU sensor cycle, greatly improving the accuracy of subsequent positioning results. Figure 4 and Figure 6 As shown in Figure 2, after data synchronization error compensation, the position error is reduced and the positioning accuracy is significantly improved. Figure 6 and Figure 7 As shown, the correlation between the position error and the horizontal speed is reduced, and the anti-interference ability of positioning is enhanced.
[0044] The time synchronization error compensation method includes time normalization: including receiving the PPS signal of the satellite receiver, correcting the IMU sensor time according to the PPS signal, making the time base of the timestamp T_imu consistent with the timestamp T_gnss, which can improve the time difference compensation The calculation accuracy.
[0045] The IMU positioning result and the timestamp T_imu of the corresponding moment are together a set of positioning data. In order to save the storage space of the buffer area, the number of positioning data that can be stored in the buffer area is set, and the positioning data is stored in a first-in-first-out form. While ensuring that the data can search for the imu positioning result normally, the storage space of the buffer area is saved.
[0046] In order to quickly find the imu positioning results, since the IMU sensor runs periodically, the interval of the timestamp T_imu is fixed, and the count value BufCount is set. Each time a set of positioning data is stored in the buffer, the count value BufCount is increased by one, and the imu positioning result at the same time as T_gnss is quickly determined directly based on the count value BufCount.
[0047] The search process is: get the current time T_sys and timestamp T_gnss, calculate the time difference δt=T_sys-T_gnss, know the current count value is BufCount and the time difference δt, according to the fixed interval, you can find the count value corresponding to T_imu, expressed as DelayCount. The T_imu corresponding to the buffer count value DelayCount should be the same as the time represented by T_gnss or not more than one IMU sensor operation cycle, which is used to determine whether the search for the imu positioning result is correct in the error compensation step.
[0048] The embodiments of the present invention are described in detail above, but the contents described are only preferred embodiments of the present invention and cannot be considered to limit the scope of implementation of the present invention. All equivalent changes and improvements made within the scope of the present invention should still fall within the scope of this patent.
Claims
1. A GNSS / INS integrated navigation time desynchronization error compensation method, characterized in that: It includes collecting IMU data, continuously receiving IMU data and corresponding timestamp T_imu, calculating and outputting IMU positioning results based on IMU data, and storing IMU positioning results and timestamp T_imu in a buffer area; Collect GNSS data, continuously receive GNSS data and timestamp T_gnss, and calculate GNSS positioning results based on GNSS data; Generate error compensation, collect GNSS data and collect IMU data steps. Do you receive GNSS data and IMU data at the same time? No, do not take action. Yes, search the imu positioning result closest to the time in the buffer area based on the timestamp T_gnss, calculate the IMU positioning result based on the IMU data, and calculate the time difference compensation based on the IMU positioning result and the imu positioning result ; Calculate measurement compensation based on time difference compensation And GNSS positioning results compensate IMU positioning results.
2. A GNSS / INS integrated navigation time desynchronization error compensation method according to claim 1, characterized in that: The time asynchronous error compensation method includes time normalization: including receiving a PPS signal from a satellite receiver, and correcting the IMU sensor time according to the PPS signal to make the time reference of the timestamp T_imu consistent with the time reference of the timestamp T_gnss.
3. The method for compensating time asynchronization error of GNSS / INS integrated navigation according to claim 1, characterized in that: The IMU positioning result and the timestamp T_imu of the corresponding moment together form a set of positioning data. The size of the buffer area is fixed and the positioning data is stored cyclically.
4. A GNSS / INS integrated navigation time desynchronization error compensation method according to claim 3, characterized in that: Each time a set of positioning data is stored in the buffer area, the count value BufCount is increased by one, the interval time of the timestamp T_imu is fixed, and the imu positioning result at the same time as T_gnss is quickly determined based on the count value BufCount.
5. The method for compensating time asynchronism error of GNSS / INS integrated navigation according to claim 1, characterized in that: The calculation formula for the measurement compensation is: , in, Indicates the IMU positioning result, Indicates the GNSS positioning result. represents the accumulated error, ArmCompData represents the arm compensation, Indicates time difference compensation.
6. A GNSS / INS integrated navigation time desynchronization error compensation method according to claim 5, characterized in that: Based on the accumulated error The imu positioning result is adjusted to generate a first IMU positioning result, the first IMU positioning result is updated by Kalman filtering, and the first IMU positioning result is adjusted based on the update result feedback to generate a second IMU positioning result and output.
7. A GNSS / INS integrated navigation time desynchronization error compensation system, based on a GNSS / INS integrated navigation time desynchronization error compensation method according to any one of claims 1 to 6, characterized in that: It includes a GNSS operation unit, which is used to periodically collect and publish GNSS data and timestamp T_gnss; IMU operation unit, used to periodically collect IMU data and timestamp Timu and publish them; The combined navigation unit is used to obtain IMU data and GNSS data, calculate and output the IMU positioning result based on the IMU data, or find the imu positioning result at or near the same time based on the timestamp T_gnss, calculate the GNSS positioning result based on the GNSS data, and correct the IMU positioning result by combining the imu positioning result and the GNSS positioning result and output it.
8. A GNSS / INS integrated navigation time asynchronization error compensation system according to claim 7, characterized in that: The IMU operation unit is provided with a storage module, and the storage module is used to store the IMU positioning result and the corresponding timestamp T_imu.
9. A GNSS / INS integrated navigation time asynchronization error compensation system according to claim 7, characterized in that: The time synchronization error compensation system is implemented based on the FreeRTOS operating system.
10. The GNSS / INS integrated navigation time asynchronization error compensation system according to claim 7, characterized in that: The operation cycle of the IMU operation unit is 1 ms, the operation cycle of the GNSS operation unit is 50 ms, and the operation cycle of the integrated navigation unit is 10 ms.
Citation Information
Patent Citations
Vehicle positioning method, terminal and computer readable storage medium
CN110332933A
SINS_GNSS integrated navigation method based on time synchronization compensation
CN112050807A
Data synchronization method and device of integrated navigation system
CN113783652A
Cited By
Multi-source heterogeneous sensor space-time alignment method based on kinematics bidirectional compensation
CN121594865A