Combined navigation positioning method, system, device and storage medium
Patent Information
- Application Number
- CN202310550716.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-16
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2043-05-16
AI Technical Summary
[0004]本申请提供了一种组合导航定位方法、系统、设备及存储介质,用以解决如何实现GNSS/INS组合导航的时间同步,提高组合导航的定位结果更新频率的问题
[0017] This application uses the second pulse signal as a reference to synchronize satellite signal time and inertial sensor time, triggering the integrated navigation to update positioning results based on the output frequency of the second pulse signal. By setting a high-frequency second pulse signal, the output delay of the integrated positioning results can be reduced, and the update frequency of the integrated navigation positioning results can be improved.
Smart Images

Figure CN116819592B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of navigation technology, specifically relating to a combined navigation and positioning method, system, device, and storage medium. Background Technology
[0002] GNSS (Global Navigation Satellite System) positions a vehicle by receiving GNSS satellite signals. It offers advantages such as all-weather operation, real-time performance, high accuracy, and no error accumulation over time. INS (Inertial Navigation System) is an autonomous navigation system that does not rely on external conditions. An INS system includes gyroscopes and accelerometers, acquiring the vehicle's attitude, velocity, and position by measuring its acceleration and angular velocity. INS is unaffected by external interference and highly autonomous; however, its positioning errors accumulate over time, limiting its ability to navigate independently for extended periods. The advantages and disadvantages of GNSS and INS are complementary. Therefore, combined GNSS and INS navigation can provide higher positioning rates and accuracy, a higher data update rate, and improved overall navigation reliability.
[0003] However, in existing GNSS / INS integrated navigation systems, the data update rate of GNSS cannot reach 100Hz or higher due to the limitations of current chip performance. While the IMU (Inertial Measurement Unit) has a high data output frequency, its sampling time cannot be aligned with absolute integer time. Therefore, the integrated navigation system can only output according to the GNSS update frequency, wasting the high-frequency data update rate of the IMU in the INS system. This directly affects the overall navigation performance of the integrated navigation system. Therefore, how to achieve time synchronization of GNSS / INS integrated navigation and improve the update frequency of positioning results is an urgent problem to be solved. Summary of the Invention
[0004] This application provides a combined navigation positioning method, system, device, and storage medium to solve the problem of how to achieve time synchronization of GNSS / INS combined navigation and improve the update frequency of positioning results of combined navigation.
[0005] To address the aforementioned technical problems, in a first aspect, this application provides a combined navigation and positioning method, the method comprising the following steps:
[0006] The system acquires satellite signals and outputs a second pulse signal. Using this second pulse signal as a reference, it synchronizes the satellite signal time with the inertial sensor time to obtain the GNSS time (tgnss) corresponding to the current second pulse signal output moment. nand inertial sensor GNSS time time timu n ;
[0007] Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment;
[0008] The GNSS time (tpps) corresponding to the next second pulse signal is generated based on the output frequency of the second pulse signal. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
[0009] Secondly, this application also provides a combined navigation and positioning system, characterized in that the system includes a baseband processor and an application processor;
[0010] The baseband processor is used to acquire satellite signals and output a second pulse signal;
[0011] The application processor is used to synchronize the satellite signal time and the inertial sensor time with the second pulse signal as a reference, and obtain the satellite signal GNSS time tgnss corresponding to the current second pulse signal output time. n and inertial sensor GNSS time time timu n ; Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment; the GNSS time (tpps) corresponding to the next second pulse signal moment generated based on the second pulse signal output frequency. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
[0012] Thirdly, this application also provides a combined navigation and positioning device, characterized in that it includes a processor and a memory, wherein:
[0013] The memory is used to store computer programs;
[0014] The processor is used to read the computer program in the memory and execute the steps of the combined navigation and positioning method described above.
[0015] Fourthly, this application also provides a computer-readable storage medium, characterized in that it stores a readable computer program thereon, which, when executed by a processor, implements the steps of the above-described integrated navigation and positioning method.
[0016] Compared with the prior art, the integrated navigation and positioning method, system, device and storage medium provided in this application have the following advantages:
[0017] This application uses the second pulse signal as a reference to synchronize satellite signal time and inertial sensor time, triggering the integrated navigation to update positioning results based on the output frequency of the second pulse signal. By setting a high-frequency second pulse signal, the output delay of the integrated positioning results can be reduced, and the update frequency of the integrated navigation positioning results can be improved. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only a part of the embodiments of this application, and not all of the embodiments. For those skilled in the art, other drawings obtained from these drawings without creative effort are all within the scope of protection of this application.
[0019] Figure 1 This is a flowchart of a combined navigation and positioning method provided in an embodiment of this application;
[0020] Figure 2 This is a schematic diagram of the structure of a combined navigation and positioning method provided in an embodiment of this application;
[0021] Figure 3 This is a flowchart illustrating the synchronization of satellite signal time and inertial sensor time using a second pulse signal as a reference in a combined navigation and positioning method provided in this application embodiment;
[0022] Figure 4 This is a schematic diagram illustrating the calculation of synchronizing satellite signal time and inertial sensor time using a second pulse signal as a reference in a combined navigation and positioning method provided in this application embodiment;
[0023] Figure 5 This is a schematic diagram of the structure of a combined navigation and positioning system provided in an embodiment of this application;
[0024] Figure 6 This is a schematic diagram of the structure of a combined navigation and positioning device provided in an embodiment of this application;
[0025] Figure 7 This is a schematic diagram of the structure of a computer-readable storage medium provided in an embodiment of this application. Detailed Implementation
[0026] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0027] To make the description of this disclosure more detailed and complete, illustrative descriptions of the implementation methods and specific embodiments of this application are provided below; however, this is not the only form of implementing or utilizing the specific embodiments of this application. The implementation methods cover the features of multiple specific embodiments and the method steps and their order for constructing and operating these specific embodiments. However, other specific embodiments can also be used to achieve the same or equivalent functions and step sequences. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in sequences other than those illustrated or described herein.
[0029] In the description of the embodiments of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The word "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more. Other quantifiers should be understood similarly. The preferred embodiments described herein are only for illustration and explanation of this application and are not intended to limit this application. Furthermore, the embodiments of this application and the features in the embodiments can be combined with each other without conflict.
[0030] To address the issue of time synchronization in GNSS / INS integrated navigation and improve the update frequency of positioning results, please refer to... Figures 1-4This application proposes a combined navigation and positioning method, which can be implemented based on a combined navigation and positioning system. Specifically, the combined navigation and positioning system is a system-on-a-chip with integrated functions. The system includes not only a baseband processor and an application processor, but also a clock-based counter, an IMU sensor, SRAM (Static Random-Access Memory), and SDRAM (Synchronous Dynamic Random-Access Memory).
[0031] Among them, SRAM memory can maintain its stored data as long as it is powered on, while the data stored in SDRAM needs to be updated periodically. Therefore, in this embodiment, the baseband processor executes the baseband program on the SRAM and the application processor executes the application program on the SDRAM.
[0032] It's important to clarify that INS and GNSS are two independent systems, each corresponding to a different time system. GNSS receivers use UTC (Coordinated Universal Time, the world's primary time standard for adjusting clocks and time), relying on the second point's consistency with UTC time to ensure the stability of their time intervals. INS, on the other hand, is an inertial navigation system with its own clock, using a crystal oscillator within its internal circuitry as a reference for timing. The counter mentioned in the aforementioned integrated navigation system uses a local crystal oscillator as its time reference, counting for more than 1 second, and can be accessed by both the baseband processor and the application processor to obtain the necessary time data.
[0033] Furthermore, the frequency at which a GNSS receiver acquires satellite signals is much lower than the update frequency of IMU data in an INS system. A GNSS receiver typically acquires satellite signals at a frequency of 1 Hz, while the update frequency of IMU data in an INS system can be as high as 200 Hz. The INS system may not have corresponding satellite signal data to combine with for positioning at every data update moment, which means that the integrated navigation can only output positioning results at the frequency of the GNSS receiver and cannot achieve high-frequency integrated positioning results output.
[0034] Therefore, please refer to further details. Figure 1 To address the aforementioned technical problems, this application provides a flowchart of a combined navigation and positioning method, which includes the following steps:
[0035] S1: Acquire satellite signals and output a second pulse signal. Synchronize the satellite signal time and the inertial sensor time with the second pulse signal as a reference to obtain the satellite signal GNSS time tgnss corresponding to the moment the second pulse signal is output. n and inertial sensor GNSS time time timu n .
[0036] As an optional implementation method, please refer to Figure 3 This is a flowchart illustrating the synchronization of satellite signal time and inertial sensor time using a second pulse signal as a reference in a combined navigation and positioning method provided in this application. The aforementioned output second pulse signal includes:
[0037] Step S11: Output the nth second pulse signal, and obtain the counter value C1 corresponding to the time when the nth second pulse signal is output. n ;
[0038] S12: Trigger a second pulse interrupt based on the received second pulse signal, and obtain the current counter value C2 at the moment the second pulse interrupt is triggered. n and the current crystal oscillator time S1 n .
[0039] In this embodiment of the application, the baseband processor acquires satellite signals and outputs a second pulse signal. The output frequency of the second pulse signal should, in principle, be greater than the acquisition frequency of the satellite signals. At the same time, the output frequency of the second pulse signal should be less than the IMU data update frequency of the inertial sensor. Taking the acquisition frequency of the satellite signals as 1 Hz and the IMU data update frequency of the inertial sensor as 200 Hz as an example, the output frequency of the second pulse signal is preferably set to 100 Hz.
[0040] Specifically, the baseband processor sends a PPS interrupt signal simultaneously with the output of the nth second pulse signal, locks the counter, and obtains the counter value C1 corresponding to the nth second pulse signal. n The PPS interrupt signal is sent to the application processor via interrupt broadcast.
[0041] Upon receiving the nth second pulse signal and the PPS interrupt signal, the application processing unit triggers a second pulse interrupt and obtains the current counter value C2 at the moment the second pulse interrupt is triggered. n It should be noted that the counter obtains its value C1 from the baseband processor. n The timing then continues until the application processor triggers a second pulse interrupt, at which point the counter value is locked again, and the current counter value C2 at the moment the second pulse interrupt is triggered is obtained. n Of course, both the baseband processor and the application processor can access the counter to obtain the required counter data.
[0042] As an optional implementation, the above-mentioned synchronization of satellite signal time and inertial sensor time based on the second pulse signal includes:
[0043] S13: Generate the GNSS time tgnss corresponding to the nth second pulse signal time based on the acquired satellite signal. n ;
[0044] S14: Obtain the IMU data of the inertial sensor at a certain moment before the arrival of the nth second pulse signal and the local crystal oscillator time S2 corresponding to the IMU data. n Combined with the current counter value C2 n Current crystal oscillator time S1 n and satellite signal time tgnss n The inertial sensor GNSS time timu corresponding to the nth second pulse signal is generated. n ;
[0045] Wherein, the timu n =tgnss n +(S2 n -S1 n ) / F+(C2 n -C1 n ) / F, where F is the frequency of the local crystal oscillator.
[0046] Please refer to further details. Figure 2 This is a schematic diagram of a combined navigation and positioning method provided in an embodiment of this application. The baseband processor outputs a PPS (Pulse Per Second) signal at a certain frequency, i.e., the pulse-per-second signal mentioned in step S1 above. Assuming the baseband processor outputs the nth PPS signal, at this time, the baseband processor locks the counter and reads the counter value C1 at the moment the nth PPS signal is output. n It sends the PPS interrupt signal to the application processor via interrupt broadcast.
[0047] Furthermore, the baseband processor captures satellite signals at a certain sampling frequency. Due to the limitations of radio frequency chips and baseband chips in traditional GNSS and INS combined positioning navigation systems, the data update rate of GNSS cannot reach 100Hz or higher due to the current chip performance. The IMU data output frequency is very high, but the sampling time cannot be aligned with the absolute integer time, so it can only be output according to the GNSS update frequency. Therefore, the positioning result data update rate of traditional GNSS and INS combined positioning is limited by the sampling rate of GNSS data and is difficult to reach 100Hz or higher, wasting the high-frequency data update rate of the IMU. Therefore, this application embodiment introduces the PPS signal to mark the IMU data and GNSS data with a common time stamp and adopt the same time system, that is, to realize the synchronization of satellite signal time and inertial sensor time with the second pulse signal as a reference.
[0048] In practical applications, the output frequency of the PPS signal can actually reach 100Hz, while the sampling frequency of the acquired satellite signal is much lower than the output frequency of the PPS signal, possibly only around 1Hz. Therefore, it is only necessary to have a set of PPS signals corresponding to the GNSS time tgnss within the periodic time. n and PPS counter value C1 n The application processor will then calculate the GNSS time (tgnss) corresponding to other PPS signals. n Assuming that the PPS signal is output for the nth time; or, as if the PPS signal output coincides with the satellite signal sampling time, the baseband processor obtains the GNSS time tgnss corresponding to that PPS signal. n and counter value C1 n The baseband processor will then process the GNSS time tgnss corresponding to the aforementioned PPS signal. n and counter value C1 n The signal is sent to the application processor via memory sharing; for other PPS signal outputs, the application processor can use the corresponding PPS and GNSS time (tgnss) within the cycle time. n The GNSS time corresponding to other PPS signals is calculated. The above process is to correct the satellite signal time based on the second pulse signal.
[0049] Furthermore, in a specific embodiment provided in this application, the application processor further includes a PPS interrupt handling module, an IMU (Inertial Measurement Unit) data processing module, a GNSS (Global Navigation Satellite System) data processing module, and a combined algorithm module; when the application processor receives the PPS interrupt signal, it immediately enters the PPS interrupt handling program and locks the current counter value C2 corresponding to the current moment of the counter. n And read the current crystal oscillator time S1 corresponding to the current moment. n and set the current counter value C2 as described above. n and the current crystal oscillator time S1 n Send to the combinatorial algorithm module.
[0050] Specifically, the GNSS data processing module in the application processor processes the received GNSS time (tgnss). n and counter value C1 n The data is sent to the combined algorithm module, where the IMU data processing module in the application processor reads the IMU data of the inertial sensor at a certain moment before the arrival of the nth second pulse signal and the next pulse signal, along with the local crystal oscillator time S2 corresponding to the IMU data. n Alternatively, you can directly read the IMU data of the inertial sensor at the current moment and the corresponding local crystal oscillator time S2. n The IMU data obtained above and the local crystal oscillator time S2 are then used to... n Send to the combined algorithm module.
[0051] It should be noted that the IMU data processing module acquires the IMU data of the inertial sensor at the current moment. Since the baseband processor outputs the nth second pulse signal but not the (n+1)th second pulse signal, the IMU data processing module acquires the IMU data of the inertial sensor at the current moment. That is, it acquires the IMU data of the inertial sensor at a certain moment between the nth second pulse signal and the (n+1)th second pulse signal, as mentioned above. It can also be understood as the IMU data of the inertial sensor at a certain moment before the arrival of the next second pulse signal. All of the above are feasible.
[0052] Furthermore, it is necessary to generate the GNSS time corresponding to the aforementioned IMU data. n Specifically, this includes generating the counter value C1 corresponding to the nth second pulse signal. n GNSS time tgnss n Combined with the current counter value C2 corresponding to the nth second pulse signal at the current momentn and the current crystal oscillator time S1 n The local crystal oscillator time S2 corresponding to the IMU data of the inertial sensor at a certain moment between the nth second pulse signal and the (n+1)th second pulse signal. n The GNSS time corresponding to the generated IMU data. n The above process is to calibrate the inertial sensor time based on the second pulse signal.
[0053] Wherein, the timu n =tgnss n +(S2 n -S1 n ) / F+(C2 n -C1 n ) / F, where F is the frequency of the local crystal oscillator.
[0054] This application embodiment uses the second pulse signal as a reference to obtain the satellite signal GNSS time tgnss corresponding to the output time of the current second pulse signal. n and inertial sensor GNSS time time timu n This means that the satellite signal time and the inertial sensor time are synchronized with the second pulse signal as a reference, so that the IMU data and the GNSS data received by the GNSS receiver are given a common time stamp and the same time system is used.
[0055] Step S2: Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment;
[0056] As an optional implementation, the above-described tgnss parsing... n The satellite positioning results and time corresponding to the time n The inertial sensor positioning results corresponding to the given time include:
[0057] tgnss is extracted from the satellite signal using the PVT algorithm. n The satellite positioning results corresponding to the given time;
[0058] The time is parsed from the IMU data according to the inertial navigation mechanical arrangement algorithm. n The inertial sensor positioning result corresponding to the given time.
[0059] Specifically, the GNSS data processing module in the baseband processor performs signal processing on the acquired satellite signals based on the raw observation information to obtain the aforementioned tgnss. nThe tgnss is extracted from the raw observation information corresponding to the given time using the PVT (Positioning, Velocity, and Timing) algorithm. n The satellite positioning results corresponding to the given time are sent to the combined algorithm module.
[0060] The baseband processing unit's combined algorithm module further calls the inertial navigation mechanical orchestration algorithm to parse the time from the aforementioned IMU data. n The INS location result corresponding to the time, i.e., the parsed time. n The inertial sensor positioning result corresponding to the given time.
[0061] Step S3: Generate the GNSS time tpps corresponding to the next second pulse signal time based on the second pulse signal output frequency. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
[0062] As an optional implementation of this application, the GNSS time tpps corresponding to the time of the next second pulse signal is generated based on the output frequency of the second pulse signal. n+1 ,include:
[0063] The (n+1)th second pulse signal is output according to the second pulse signal output frequency, and the counter value C1 corresponding to the time when the (n+1)th second pulse signal is output is obtained. n+1 ;
[0064] The second pulse interrupt is triggered based on the received (n+1)th second pulse signal, and the GNSS time (tpps) corresponding to the time of the (n+1)th second pulse signal is generated. n+1 ;
[0065] Among them, the tpps n+1 =tgnss n +(C1 n+1 -C1 n ) / F, where F is the frequency of the local crystal oscillator.
[0066] As an optional implementation of this application, the above-described tpps calculation n+1 The combined positioning results corresponding to the given time include:
[0067] Based on the extended Kalman filter algorithm, tgnss n The satellite positioning results and time corresponding to the time nThe inertial sensor positioning results at each time point are fused and calculated to determine the time points (tpps) corresponding to the next second pulse signal output. n+1 The combined positioning results at different times.
[0068] Specifically, the baseband processor outputs the (n+1)th PPS signal based on the second pulse signal output frequency, while simultaneously locking the counter and reading its value C1. n+1 The (n+1)th PPS interrupt signal is sent to the application processor via interrupt broadcasting. The (n+1)th PPS interrupt signal can also be sent to the application processor via broadcast forwarding.
[0069] After receiving the (n+1)th PPS signal and the interrupt signal, the PPS interrupt handling module in the application processor triggers a second pulse interrupt based on the received (n+1)th second pulse signal, which in turn triggers the combination algorithm module to generate the GNSS time tpps corresponding to the (n+1)th second pulse signal. n+1 Simultaneously, read the data corresponding to the (n+1)th PPS signal; for details, please refer to the above description of the nth PPS signal. For example, immediately lock the current counter value C2 corresponding to the current time counter. n+1 And read the current crystal oscillator time S1 corresponding to the current moment. n+1 and set the current counter value C2 as described above. n+1 and the current crystal oscillator time S1 n+1 Send to the combinatorial algorithm module.
[0070] The combination algorithm module uses the counter value C1 corresponding to the received nth PPS signal. n GNSS time tgnss n The counter value C1 corresponding to the (n+1)th second pulse signal n+1 Calculate the GNSS time tpps corresponding to the (n+1)th PPS signal. n+1 .
[0071] Calculate the GNSS time tpps corresponding to the (n+1)th PPS signal. n+1 Then, the combined algorithm module applies the extended Kalman filter algorithm to tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning results at each time point are fused and calculated to determine the time points (tpps) corresponding to the next second pulse signal output. n+1 The combined positioning results at different times.
[0072] It should be noted that the combined algorithm module uses IMU data between the nth PPS signal and the (n+1th PPS signal), and the corresponding GNSS time value for this IMU data is... nThe IMU data refers to the IMU data of the inertial sensor at a certain moment between the nth PPS signal and the (n+1)th PPS signal. This data is then used by the combined algorithm module to generate the time measurement using an inertial navigation mechanical orchestration algorithm. n The INS positioning result at time 1, that is, the combined algorithm module calls the inertial navigation mechanical orchestration algorithm to parse the above time from the IMU data. n The inertial sensor positioning result corresponding to the given time.
[0073] Furthermore, the combined algorithm module uses the tgnss data calculated by the GNSS data processing module. n GNSS positioning results at time, combined with timu n The INS positioning result corresponding to the given time is then combined with the GNSS positioning result and the INS positioning result using the extended Kalman filter algorithm to directly calculate the GNSS time tpps corresponding to the (n+1)th PPS signal. n+1 The corresponding combined positioning result enables the output of the combined positioning result corresponding to the (n+1)th PPS signal when the (n+1)th PPS signal arrives.
[0074] Furthermore, the above explanation uses the nth PPS signal to the (n+1)th PPS signal as an example. At this time, the output is the combined positioning result corresponding to the (n+1)th PPS signal. This can be extrapolated to the (n-1)th PPS signal to the nth PPS signal, where the output is the combined positioning result corresponding to the nth PPS signal. Similarly, the output can be extrapolated to the (n+1)th PPS signal to the (n+2)th PPS signal, where the output is the combined positioning result corresponding to the (n+2)th PPS signal. And so on. The specific calculation process will not be elaborated further in this application. This realizes the output of GNSS and INS combined positioning results based on the output frequency of the PPS signal, thereby improving the output frequency of combined positioning.
[0075] To facilitate a clearer understanding of the above calculation process by those skilled in the art, this application provides a specific embodiment for explanation. It is assumed that when the baseband processor outputs the nth PPS signal, the value of the locked counter, C1, is... n =0xBEEFE30, and this PPS signal output coincides with the satellite signal sampling time, which also corresponds to the GNSS time tgnss. n = 355376 seconds, that is, the satellite signal GNSS time tgnss corresponding to this PPS signal is obtained based on the second pulse signal. n The time is 355376 seconds, at which point the baseband processor will set the counter value C1 as specified above. n ,tgnss nThe collected satellite signals and the nth interrupt signal are sent to the application processor.
[0076] The PPS interrupt module in the baseband processor receives the interrupt signal generated by the nth PPS signal and locks the counter value C2 at this time. n =0xBEF7F18, and simultaneously record the local crystal oscillator time S1. n =0XCAF44030, obtain the IMU data of the inertial sensor and the corresponding local crystal oscillator time S2 between the nth PPS signal and the (n+1)th PPS signal. n =0XCAF4A750, calculate the GNSS time corresponding to this IMU data according to the formula. n Assuming the crystal oscillator frequency F = 22MHz, then according to the formula timu n =tgnss n +(S2 n -S1 n ) / F+(C2 n -C1 n ) / F=355376S+(0xCAF4A750-0xCAF44030) / (22MHZ)+(0xBEF7F18-0xBEEFE30) / (22MHZ)=355376S+0.0012S+0.0015s=355376.0027S, which is the GNSS time timu n The value is 355376.0027S, meaning the GNSS time corresponding to this PPS signal is obtained based on the second pulse signal. n It is 355376.0027S.
[0077] It should be noted that, because the frequency of the IMU data from the inertial sensor is much higher than the output frequency of the PPS signal, there will be multiple sets of IMU data between the nth and (n+1)th PPS signals. Each set of IMU data corresponds to a GNSS time unit (timu). n The calculation methods are the same as above. Simultaneously, the GNSS data processing module in the application processor parses the raw observation information from the received satellite signals, and then parses the tgnss data from the raw observation information using the PVT algorithm. n Satellite positioning results at time 355376.
[0078] Furthermore, the baseband processor outputs the (n+1)th PPS signal based on the output frequency of the PPS signal, locking the counter value C1. n+1 =0XBF25990, and trigger the (n+1)th PPS interrupt signal, setting the counter value C1. n+1=0XBF25990 is sent to the application processor, and the application processor receives the (n+1)th interrupt signal and C1. n+1 Then, the combined algorithm calculation module is triggered to calculate the GNSS time tpps corresponding to the (n+1)th PPS signal at this time. n+1 =tgnss n +(C1 n+1 -C1 n ) / F=355376.01S, the combined algorithm module calls the inertial navigation mechanical staging algorithm to resolve the time as timu n The INS positioning result corresponding to the IMU data at (355376.0027S) is then further processed by the combined algorithm module using the extended Kalman filter algorithm to determine the position at time tgnss. n (355376S) GNSS positioning results obtained from analysis and time n The INS positioning results corresponding to the IMU data of (355376.0027S) are fused and calculated to obtain the GNSS time tpps corresponding to the (n+1)th PPS signal. n+1 The combined positioning result corresponding to (355376.01S) realizes the output of combined navigation results based on the output frequency of the second pulse signal.
[0079] It should be noted that the aforementioned PVT algorithm, inertial navigation mechanical orchestration algorithm, and extended Kalman filter algorithm are all commonly used algorithms in this field for calculating combined positioning results. Furthermore, the focus of this application's embodiments is to improve the time synchronization accuracy of GNSS data and IMU data, and to increase the positioning update frequency of the combined navigation, based on the output frequency of the second pulse signal. The specific method for parsing the tgnss from the satellite signal using the PVT algorithm is not detailed here. n The satellite positioning result corresponding to the given time is used to parse the time from the IMU data using an inertial navigation mechanical orchestration algorithm. n The inertial sensor positioning result corresponding to the given moment is used to calculate the tpps corresponding to the next second pulse signal output moment using the extended Kalman filter algorithm. n+1 The combined positioning results of the time moments can be achieved using common algorithms in existing technologies, so this application will not elaborate further.
[0080] Please refer to further details. Figure 4 This is a schematic diagram illustrating the calculation of synchronizing satellite signal time and inertial sensor time using a second pulse signal as a reference in a combined navigation and positioning method provided in this application. In the diagram, Δt1 = (C2...) n -C1 n ) / F, Δt1 is the difference between the time when the application processor outputs the PPS signal and the time when the baseband processor actually obtains the PPS interrupt signal, Δt2 = (S2) / F. n-S1 n ) / F+(C2 n -C1 n ) / F, Δt2 is the relative time difference between the IMU data time and the output PPS signal time, Δt3=(C1 n+1 -C1 n ) / F, Δt3 is the time difference between the (n+1)th PPS signal and the nth PPS signal. Therefore, this application further derives the GNSS time timu corresponding to the IMU data. n =tgnss n +(S2 n -S1 n ) / F+(C2 n -C1 n ) / F, the GNSS time tpps corresponding to the (n+1)th PPS signal. n+1 =tgnss n +(C1 n+1 -C1 n ) / F.
[0081] In this embodiment, by adding a counter compensation term △t1 to the GNSS system time, the time error caused by the interrupt signal delay is corrected, improving the time accuracy of integrated navigation positioning from milliseconds to microseconds. The data output delay is small and the output jitter is small. Using the high-frequency PPS output signal as a reference, the PPS driver can output high-frequency integrated positioning results. In practical applications, since the integrated navigation positioning results can achieve the technical effect of data output delay of less than 3ms and data jitter output of less than 2ms, the output pulse of the integrated navigation positioning results in this embodiment can also be used as the trigger reference for other systems. Of course, the above is only a preferred application embodiment provided by this application, and this application does not impose any specific limitations on it.
[0082] Based on the above integrated navigation and positioning method, such as Figure 5 The diagram shown is a structural schematic of a combined navigation and positioning system provided in an embodiment of this application. The system includes a baseband processor 41 and an application processor 42.
[0083] The baseband processor 41 is used to acquire satellite signals and output a second pulse signal. The application processor 42 is used to synchronize the satellite signal time and the inertial sensor time with the second pulse signal as a reference, and obtain the satellite signal GNSS time tgnss corresponding to the current second pulse signal output time. n and inertial sensor GNSS time time timu n ;
[0084] Furthermore, application processor 42 is used to parse tgnss n The satellite positioning results and time corresponding to the timen The inertial sensor positioning result corresponding to the given moment; it is also used to generate the GNSS time (tpps) corresponding to the next second pulse signal based on the output frequency of the second pulse signal. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
[0085] The application processor 42 also includes a GNSS data processing module 421, an IMU data processing module 422, a combined algorithm module 423, and a PPS interrupt handling module 424.
[0086] Specifically, the baseband processor 41 is used to acquire satellite signals and output the nth second pulse signal, and to acquire the counter value C1 corresponding to the time when the nth second pulse signal is output. n .
[0087] The aforementioned PPS interrupt handling module 424 is used to trigger a second pulse interrupt based on the received second pulse signal, and the aforementioned GNSS data processing module 421 is used to obtain the current counter value C2 at the moment the second pulse interrupt is triggered based on the second pulse interrupt signal. n and the current crystal oscillator time S1 n The aforementioned GNSS data processing module 421 is further configured to generate the satellite signal GNSS time tgnss corresponding to the time of the nth second pulse signal based on the acquired satellite signal. n .
[0088] The aforementioned IMU data processing module 422 is used to acquire the IMU data of the inertial sensor at a certain moment before the arrival of the nth second pulse signal and the next pulse signal, and the local crystal oscillator time S2 corresponding to the IMU data. n Combined with the current counter value C2 n Current crystal oscillator time S1 n and satellite signal time tgnss n The inertial sensor GNSS time timu corresponding to the nth second pulse signal is generated. n ; wherein, the timu n =tgnss n +(S2 n -S1 n ) / F+(C2 n -C1 n ) / F, where F is the frequency of the local crystal oscillator.
[0089] The aforementioned GNSS data processing module 421 is also used to parse tgnss from the satellite signal according to the PVT algorithm. nThe satellite positioning result corresponding to the time; the above-mentioned combined algorithm module 423 is used to parse the time from the IMU data according to the inertial navigation mechanical arrangement algorithm. n The inertial sensor positioning result corresponding to the given time.
[0090] The baseband processor 41 is further configured to output the (n+1)th second pulse signal according to the second pulse signal output frequency, and obtain the counter value C1 corresponding to the time when the (n+1)th second pulse signal is output. n+1 The aforementioned PPS interrupt handling module 424 is used to trigger a second pulse interrupt based on the received (n+1)th second pulse signal, and the aforementioned combined algorithm module 423 is used to generate the GNSS time tpps corresponding to the time of the (n+1)th second pulse signal based on the second pulse interrupt signal. n+1 ; wherein, the tpps n+1 =tgnss n +(C1 n+1 -C1 n ) / F, where F is the frequency of the local crystal oscillator.
[0091] The aforementioned combined algorithm module 423 is also used to apply the extended Kalman filter algorithm to tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning results at each time point are fused and calculated to determine the time points (tpps) corresponding to the next second pulse signal output. n+1 The combined positioning results at different times.
[0092] For other details regarding the implementation of the above technical solutions by each module in the above integrated navigation and positioning system, please refer to the description in the integrated navigation and positioning method provided in the above embodiments of the invention, which will not be repeated here.
[0093] Based on the above integrated navigation and positioning method, such as Figure 6 As shown in the diagram, this application embodiment also provides a structural schematic of a combined navigation and positioning device. The identification device includes a processor 501 and a memory 502 coupled to the processor 502. The memory 502 stores a computer program. When the computer program is executed by the processor 501, the processor 501 performs the steps of the combined navigation and positioning method described in the above embodiment.
[0094] For other details regarding the implementation of the above technical solution by the processor 501 in the above-mentioned integrated navigation and positioning device, please refer to the description in the integrated navigation and positioning method provided in the above-mentioned embodiments of the invention, which will not be repeated here.
[0095] The processor 501 can also be called a CPU (Central Processing Unit). The processor 501 may be an integrated circuit chip with signal processing capabilities. The processor 501 may also be a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor may be a microprocessor, or the processor 501 may be any conventional processor.
[0096] like Figure 7 As shown in the diagram, this application also provides a schematic diagram of a computer-readable storage medium, on which a readable computer program 601 is stored. The computer program 601 can be stored in the storage medium in the form of a software product, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks or optical disks, ROM (Read-Only Memory), RAM (Random Access Memory), or terminal devices such as computers, servers, mobile phones, and tablets.
[0097] In the several embodiments provided in this application, it should be understood that the disclosed devices, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, or indirect coupling or communication connection between devices or units, and may be electrical, mechanical, or other forms.
[0098] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0099] This application provides a combined navigation and positioning method, system, device, and storage medium. By acquiring satellite signals and outputting a second-to-second pulse signal, the satellite signal time and inertial sensor time are synchronized using the second-to-second pulse signal as a reference to obtain the satellite signal GNSS time (tgnss) corresponding to the current second-to-second pulse signal output moment. n and inertial sensor GNSS time time timu n ; Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment; the GNSS time (tpps) corresponding to the next second pulse signal moment generated based on the second pulse signal output frequency. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning result corresponding to the given time. By using a high-frequency second pulse signal, the problem of low update frequency of traditional combined positioning results is solved. At the same time, the PPS drive outputs high-frequency combined positioning results, so that the GNSS and INS combined positioning results are output based on the frequency of the PPS signal, thereby improving the update frequency of the positioning results of the combined navigation and further reducing the output delay and jitter of the combined positioning results.
[0100] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A combined navigation and positioning method, characterized in that, The method includes the following steps: The system acquires satellite signals and outputs a second pulse signal. Using this second pulse signal as a reference, it synchronizes the satellite signal time with the inertial sensor time to obtain the GNSS time (tgnss) corresponding to the current second pulse signal output moment. n and inertial sensor GNSS time time timu n The output second pulse signal includes: simultaneously sending a PPS interrupt signal and locking the counter while outputting the nth second pulse signal, and obtaining the counter value C1 corresponding to the nth second pulse signal. n ; The synchronization of satellite signal time and inertial sensor time based on the second pulse signal includes: The satellite signal GNSS time tgnss corresponding to the nth second pulse signal time is generated based on the acquired satellite signal. n ; Acquire the IMU data of the inertial sensor at a certain moment before the arrival of the nth second pulse signal and the next pulse signal, and the local crystal oscillator time S2 corresponding to the IMU data. n Combined with the current counter value C2 n Current crystal oscillator time S1 n and satellite signal time tgnss n The inertial sensor GNSS time timu corresponding to the nth second pulse signal is generated. n ; wherein, the timu n = tgnss n + (S2 n -S1 n ) / F+(C2 n -C1 n ) / F, where F is the frequency of the local crystal oscillator; Upon receiving the nth second pulse signal and the PPS interrupt signal, a second pulse interrupt is triggered, and the current counter value C2 at the moment the second pulse interrupt is triggered is obtained. n and the current crystal oscillator time S1 n ; Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment; The GNSS time (tpps) corresponding to the next second pulse signal is generated based on the output frequency of the second pulse signal. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
2. The method as described in claim 1, characterized in that, The parsed tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning results corresponding to the given time include: tgnss is extracted from the satellite signal using the PVT algorithm. n The satellite positioning results corresponding to the given time; The time is parsed from the IMU data according to the inertial navigation mechanical arrangement algorithm. n The inertial sensor positioning result corresponding to the given time.
3. The method as described in claim 1, characterized in that, The GNSS time tpps corresponding to the moment of the next second pulse signal is generated based on the output frequency of the second pulse signal. n+1 ,include: The (n+1)th second pulse signal is output according to the second pulse signal output frequency, and the counter value C1 corresponding to the time when the (n+1)th second pulse signal is output is obtained. n+1 ; The second pulse interrupt is triggered based on the received (n+1)th second pulse signal, and the GNSS time (tpps) corresponding to the time of the (n+1)th second pulse signal is generated. n+1 ; Among them, the tpps n+1 = tgnss n +(C1 n+1 - C1 n ) / F, where F is the frequency of the local crystal oscillator.
4. The method as described in claim 1, characterized in that, The calculated tpps n+1 The combined positioning results corresponding to the given time include: Based on the extended Kalman filter algorithm, tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning results at each time point are fused and calculated to determine the time points (tpps) corresponding to the next second pulse signal output. n+1 The combined positioning results at different times.
5. The method as described in claim 1, characterized in that, The output frequency of the second pulse signal is greater than the acquisition frequency of the satellite signal, and the output frequency of the second pulse signal is less than the data update frequency of the inertial sensor.
6. A combined navigation and positioning system, characterized in that, Including baseband processor and application processor; The baseband processor is used to acquire satellite signals and output a second pulse signal; wherein, the output of the second pulse signal includes: simultaneously sending a PPS interrupt signal and locking a counter to acquire the counter value C1 corresponding to the nth second pulse signal. n Upon receiving the nth second pulse signal and the PPS interrupt signal, a second pulse interrupt is triggered, and the current counter value C2 at the moment the second pulse interrupt is triggered is obtained. n and the current crystal oscillator time S1 n ; The synchronization of satellite signal time and inertial sensor time based on the second pulse signal includes: The satellite signal GNSS time tgnss corresponding to the nth second pulse signal time is generated based on the acquired satellite signal. n ; Acquire the IMU data of the inertial sensor at a certain moment before the arrival of the nth second pulse signal and the next pulse signal, and the local crystal oscillator time S2 corresponding to the IMU data. n Combined with the current counter value C2 n Current crystal oscillator time S1 n and satellite signal time tgnss n The inertial sensor GNSS time timu corresponding to the nth second pulse signal is generated. n ; wherein, the timu n = tgnss n + (S2 n -S1 n ) / F+(C2 n -C1 n ) / F, where F is the frequency of the local crystal oscillator; The application processor is used to synchronize the satellite signal time and the inertial sensor time with the second pulse signal as a reference, and obtain the satellite signal GNSS time tgnss corresponding to the current second pulse signal output time. n and inertial sensor GNSS time time timu n ; Parse tgnss n The satellite positioning results and time corresponding to the time n The inertial sensor positioning result corresponding to the given moment; the GNSS time (tpps) corresponding to the next second pulse signal moment generated based on the second pulse signal output frequency. n+1 The satellite positioning results and inertial sensor positioning results are fused and calculated to deduce the TPPS. n+1 The combined positioning results corresponding to the given time.
7. A combined navigation and positioning device, characterized in that, Includes processor and memory, of which: The memory is used to store computer programs; The processor is used to read the computer program in the memory and execute the steps of the integrated navigation and positioning method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, It stores a readable computer program that, when executed by a processor, implements the steps of the integrated navigation and positioning method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Multi-source navigation signal synchronization method and synchronization device based on FPGA (Field Programmable Gate Array)
CN115208501A