Real-time integrated navigation method and system based on RT-Thread

By using the real-time combined navigation method of RT-Thread in the combined navigation system, the IMU and GNSS data collected at different frequencies are synchronized and fusion, the problem of increasing error in the navigation system during long-term use is solved, and a higher accuracy and real-time navigation effect is achieved.

CN119779283APending Publication Date: 2025-04-08SOUTH SURVEYING & MAPPING INSTR
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411944291.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The existing combined navigation system will experience drift errors in the inertial measurement unit (IMU) data during long-term use, and the Global Satellite Navigation System (GNSS) has weak or lost signals in complex environments, making it impossible to provide accurate navigation in most scenarios.

Method used

Using a real-time combined navigation method based on RT-Thread, IMU and GNSS data are collected through different frequencies and transmitted to the message queue for synchronization. Then, the inertial measurement data and satellite navigation data are fused using the extended state Kalman filtering algorithm to update the position information of the target device.

Benefits of technology

It improves the real-time and accuracy of the navigation system, reduces errors in data processing, adapts to navigation needs in various dynamic environments, and realizes millisecond-level data processing when resources are limited.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119779283A_ABST
    Figure CN119779283A_ABST
Patent Text Reader

Abstract

The invention discloses a real-time integrated navigation method and system based on RT-Thread. The method comprises the following steps: collecting inertial measurement data of target equipment at a first frequency, and collecting satellite navigation data of the target equipment at a second frequency; transmitting the inertial measurement data and the satellite navigation data to a message queue based on an RT-Thread memory pool; fusing the inertial measurement data and the satellite navigation data through an extended state Kalman filtering algorithm to obtain current pose information of the target equipment; and completing navigation of the target equipment according to the current pose information. According to the method, the continuous pose data and the high-precision pose data are synchronized and fused, so that the navigation precision is further improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of satellite navigation, and specifically relates to a real-time combined navigation method and system based on RT-Thread. Background Art

[0002] With the advancement of technology, the demand for high-precision, low-latency integrated navigation technology is increasing. Integrated navigation systems generally use inertial measurement units (IMUs) and global satellite navigation systems (GNSS) for data fusion, so integrated navigation systems have greater advantages in navigation accuracy than single navigation systems.

[0003] Although IMU can provide continuous posture data in a short period of time and has a certain degree of real-time performance, it will drift significantly after long-term use, resulting in increased posture data errors; GNSS has long-term accuracy, but is limited by sampling frequency and signal blocking, and faces problems such as weak or lost signals in complex environments. Therefore, the above technology only has certain advantages in certain specific scenarios, but cannot provide accurate combined navigation solutions in most scenarios. In order to achieve higher-precision navigation, it is necessary to combine the advantages of the information provided by IMU and GNSS to improve the performance of the navigation system in various dynamic environments and achieve high-precision real-time navigation. Summary of the invention

[0004] This application proposes a real-time combined navigation method and system based on RT-Thread, which further improves navigation accuracy by synchronizing and fusing continuous posture data and high-precision posture data.

[0005] The first aspect of the present application provides a real-time integrated navigation method based on RT-Thread, the method comprising:

[0006] collecting inertial measurement data of the target device at a first frequency and collecting satellite navigation data of the target device at a second frequency;

[0007] Transmitting the inertial measurement data and the satellite navigation data to a message queue based on an RT-Thread memory pool;

[0008] The inertial measurement data and the satellite navigation data are fused by an extended state Kalman filter algorithm to obtain current position information of the target device;

[0009] The navigation of the target device is completed according to the current posture information.

[0010] The above scheme collects the inertial measurement data of IMU and the satellite navigation data of GNSS at different frequencies, ensuring that the high-priority continuous inertial measurement data can be quickly responded and processed first, improving the real-time performance of navigation. Then both the inertial measurement data and the satellite navigation data are stored in the message queue to complete the synchronization of the two types of information. The continuous and real-time inertial measurement data and the high-precision satellite navigation data are then fused through the extended state Kalman filter algorithm to accurately update the position estimation of the target device and achieve more accurate and reliable navigation.

[0011] In a possible implementation method of the first aspect, inertial measurement data of the target device is collected at a first frequency, and satellite navigation data of the target device is collected at a second frequency, specifically:

[0012] According to the motion state of the target device, the first frequency and the second frequency are set; wherein the first frequency is higher than the second frequency; and the operating state includes low-frequency motion and high-frequency motion;

[0013] When the motion state is a preset low-frequency motion, reducing the first frequency and the second frequency;

[0014] When the motion state is a preset high-frequency motion, the first frequency and the second frequency are increased.

[0015] The above scheme is based on high-frequency collection of inertial measurement data and low-frequency collection of satellite navigation data, ensuring that the continuous and real-time inertial measurement data can be processed quickly to improve the real-time accuracy of navigation; and the collection frequency is set according to the operating conditions of the target device. When the target device moves at a low frequency, the target's posture does not change much, so the frequency of data collection is reduced to reduce the power consumption of data collection; when the target device moves at a high frequency, the target's posture changes greatly, so real-time and rapid data collection is required to ensure the accuracy of navigation.

[0016] In a possible implementation method of the first aspect, the inertial measurement data and the satellite navigation data are transmitted to a message queue based on an RT-Thread memory pool, specifically:

[0017] Transmitting the inertial measurement data and the satellite navigation data within the same time period to the message queue;

[0018] When the message queue receives new data, a memory block is allocated to the message queue through the RT-Thread memory pool, and the memory block is used to store the new data;

[0019] When the memory block does not store any data, the memory block is reclaimed through the RT-Thread memory pool.

[0020] The above scheme synchronizes data by storing the inertial measurement data and the satellite navigation data in the same period in the message queue. When the message queue stores new data, a memory block is allocated for it, and the memory block is released when it is not in use. The RT-Thread memory pool is used to reduce the overhead of allocating and releasing memory, avoiding the memory fragmentation problem that may occur during long-term operation.

[0021] In a possible implementation method of the first aspect, the inertial measurement data and the satellite navigation data are fused by an extended state Kalman filter algorithm to obtain current posture information of the target device, specifically:

[0022] Reading the inertial measurement data and the satellite navigation data from the message queue;

[0023] Integrating the inertial measurement data through an extended state Kalman filter algorithm to predict a current posture change of the target device and obtain a posture prediction result;

[0024] According to the position information of the target device in the satellite navigation data, the integral error of the posture prediction result is corrected to obtain the current posture information.

[0025] The above scheme first integrates the inertial measurement data and estimates the position and posture of the target device. Since the inertial measurement data is continuous and real-time, the position and posture prediction results are real-time. However, due to the accumulation of time during the integration process, errors will be generated. Therefore, satellite navigation data with long-term accuracy is needed to correct the errors of the position and posture prediction results, thereby improving the accuracy of the data.

[0026] In a possible implementation method of the first aspect, the inertial measurement data is integrated by an extended state Kalman filter algorithm, specifically:

[0027] Angular velocity data and acceleration data of the target device in the inertial measurement data are extracted, and the angular velocity data and acceleration data are continuously integrated.

[0028] In a possible implementation method of the first aspect, the method further includes: a priority of collecting and storing the inertial measurement data is higher than a priority of collecting and storing the satellite navigation data.

[0029] The second aspect of the present application provides a real-time integrated navigation system based on RT-Thread, the system comprising: a data acquisition module, a data storage module, a posture estimation module and a navigation module;

[0030] The data acquisition module is used to acquire inertial measurement data of the target device at a first frequency and to acquire satellite navigation data of the target device at a second frequency;

[0031] The data storage module is used to transmit the inertial measurement data and the satellite navigation data to a message queue based on the RT-Thread memory pool;

[0032] The posture estimation module is used to fuse the inertial measurement data and the satellite navigation data through an extended state Kalman filter algorithm to obtain the current posture information of the target device;

[0033] The navigation module is used to complete navigation of the target device according to the current posture information.

[0034] The third aspect of the present application provides a terminal device, which includes: a terminal device including a processor and a memory, the memory storing a computer program, and the processor implementing the steps of a real-time combined navigation method based on RT-Thread as described in any one of the embodiments of the present application when executing the computer program.

[0035] A fourth aspect of the present application provides a storage medium, which stores computer-readable program code. When the computer-readable program code is executed, the steps of a real-time combined navigation method based on RT-Thread as described in any one of the embodiments of the present application are implemented. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the technical solution of the present application, the drawings required for use in the implementation manner will be briefly introduced below. Obviously, the drawings described below are only some implementation manners of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0037] Figure 1 It is a specific flow chart of a real-time combined navigation method based on RT-Thread provided in a certain embodiment of the present application;

[0038] Figure 2 It is a specific structural diagram of a real-time integrated navigation system based on RT-Thread provided in a certain embodiment of the present application;

[0039] Figure 3 A structural diagram of a terminal device is provided for a certain embodiment of the present application. DETAILED DESCRIPTION

[0040] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0041] It should be understood that the step numbers used in this article are only for the convenience of description and are not intended to limit the order in which the steps are executed.

[0042] First embodiment

[0043] Existing navigation systems generally use inertial measurement units (IMUs) and global satellite navigation systems (GNSS) for real-time navigation. IMUs can provide continuous position and posture data, but the data error will increase over time; while GNSS can provide more accurate data, but due to sampling frequency and signal shielding, the real-time performance of the data provided is poor. Therefore, in order to combine the advantages of these two types of data, the embodiments of the present application aim to optimize the fusion process of IMU data and GNSS data, improve the performance of the navigation system in various dynamic environments, and achieve efficient processing and fusion of navigation data.

[0044] like Figure 1 As shown, Figure 1 A specific flow chart of a real-time integrated navigation method based on RT-Thread is provided for a certain embodiment of the present application. The real-time integrated navigation method based on RT-Thread of the embodiment of the present application includes steps S1 to S4, which are described in detail as follows:

[0045] Step S1, collecting inertial measurement data of a target device at a first frequency, and collecting satellite navigation data of the target device at a second frequency.

[0046] In the embodiment of the present application, three threads are mainly designed, namely, IMU thread, GNSS thread and data fusion thread. By setting priorities and timed start functions for multiple threads, real-time data collection is achieved and the synchronization of different data in the fusion process is guaranteed.

[0047] Among them, the IMU thread is set to a high priority to collect inertial measurement data at a higher frequency to improve the real-time performance of the navigation system and ensure that the system can quickly respond to and process inertial measurement data. At the same time, the IMU thread also transmits the collected data to the message queue based on the RT-Thread memory pool for the data fusion thread to read.

[0048] The GNSS thread is set to a low priority and is used to collect satellite navigation data at a lower frequency to ensure that when the demand for inertial measurement data collection is high, it will not take up too many resources and affect the overall performance of the navigation system. The GNSS thread also transfers the collected satellite navigation data to the message queue to synchronize the inertial measurement data and satellite navigation data in the same period.

[0049] Therefore, in the embodiment of the present application, the inertial measurement data of the target device is continuously collected by the sensor at a higher frequency, and the satellite navigation data of the target device is regularly collected at a lower frequency. In addition, the inertial measurement data includes but is not limited to the acceleration data and angular velocity data of the target device. The satellite navigation data includes but is not limited to the longitude and latitude of the target device, the positioning quality indicator (positioning type), the number of satellites and other information.

[0050] As an improvement of the above scheme, the embodiment of the present application not only sets the priority in the data collection process, but also sets the specific value of the data collection frequency according to the motion state of the target device. When the target device is in a static or low-frequency motion scene, the data collection frequency and other task processing frequency of the IMU thread and GNSS thread will be automatically reduced to reduce the overall power consumption of the navigation system; when the target device is in a high-frequency motion scene, the data collection frequency and other task processing frequency of the IMU thread and GNSS thread will be quickly increased according to actual needs to ensure that the navigation system can provide high-precision navigation information when the target device changes its posture quickly.

[0051] By setting the frequency of data collection based on the motion state of the target device, task priority management and low-power design of the system are effectively achieved, ensuring that the navigation system can still operate stably under limited resources.

[0052] Step S2: transmitting the inertial measurement data and the satellite navigation data to a message queue based on an RT-Thread memory pool.

[0053] In an embodiment of the present application, the IMU thread and the GNSS thread transmit the collected posture data to a message queue based on the RT-Thread memory pool, and the message queue stores the data in a unified manner, so that the inertial measurement data and the satellite navigation data collected by different threads are synchronized.

[0054] The message queue is allocated memory through the RT-Thread mechanism. Among them, the RT-Thread mechanism is an open source real-time operating system, and the thread is the smallest scheduling unit of this operating system. In the embodiment of the present application, it includes an IMU thread, a GNSS thread, and a data fusion thread. Based on the efficient scheduling mechanism of RT-Thread, the IMU thread and the GNSS thread can complete the processing of data within milliseconds, which adapts to the real-time navigation requirements in high-speed dynamic environments. This high real-time performance ensures that the system can respond to changes in the external environment in a timely manner and effectively improve navigation safety.

[0055] RT-Thread's memory management mechanism provides an efficient memory pool allocation method, avoiding memory fragmentation problems and improving system stability. Specifically, the RT-Thread memory pool is used to reduce the overhead of the navigation system when allocating and releasing memory. When the message queue needs to store new data, the RT-Thread memory pool will allocate a fixed-size memory block to the message queue; when the navigation system no longer uses certain data in the message queue or a certain memory block does not store any data, the memory block will be reclaimed through the RT-Thread memory pool, avoiding memory fragmentation caused by dynamic memory application.

[0056] In addition, when data is stored through message queues, no additional data copy operations are required, further reducing processing delays.

[0057] The embodiment of the present application implements dynamic memory management through the memory management mechanism of RT-Thread, ensuring the stability of the system during long-term operation and reducing the risk of memory leakage. This design makes the navigation system suitable for scenarios with extremely high stability requirements such as drones and autonomous driving.

[0058] Step S3, fusing the inertial measurement data and the satellite navigation data through an extended state Kalman filter algorithm to obtain current posture information of the target device.

[0059] In an embodiment of the present application, the data fusion thread first reads the inertial measurement data and satellite navigation data from the message queue, and then uses the extended state Kalman filter algorithm to fuse the inertial measurement data and satellite navigation data, and updates the navigation system's estimate of the position state of the target device to achieve accurate and real-time navigation of the target device.

[0060] Among them, the data fusion thread is called regularly under the RT-Thread mechanism to ensure real-time data processing, so the fusion and extraction of inertial measurement data and satellite navigation data are also regular. Compared with other traditional operating systems, through priority scheduling and timed calling mechanisms, the navigation system provided by the embodiment of the present application can achieve millisecond-level data processing on resource-constrained devices, provide higher performance under the same hardware conditions, and reduce energy consumption, which is suitable for navigation devices that run for a long time.

[0061] Specifically, the data fusion thread first extracts the angular velocity data and acceleration data of the target device from the inertial measurement data, and uses the extended state Kalman filter algorithm to continuously integrate the angular velocity data and acceleration data to estimate the current posture change of the target device and obtain the posture prediction result. Because the data collected by the IMU thread will continue to increase the error over time, it is necessary to use higher-precision satellite navigation data to correct the integral error of the posture prediction result to further improve the accuracy of the data.

[0062] In the extended state Kalman filter algorithm, inertial measurement data is used as the core prediction data of the navigation system, and satellite navigation data is used as the key source of error correction. Through this data fusion method, navigation accuracy can be effectively improved without increasing the computational burden.

[0063] Among them, the extended state Kalman filter algorithm is called Error-State Kalman Filter (ESKF for short), which is a positioning algorithm used for multi-sensor fusion, mainly used in the field of navigation. ESKF can minimize the error by estimating the error of the state.

[0064] By introducing the extended state Kalman filter algorithm, it is possible to accurately fuse IMU and GNSS data within a higher dynamic range, significantly reducing errors in data processing. Moreover, the pose estimation accuracy in high-dynamic scenes is higher, and it can effectively deal with situations such as sharp turns and rapid acceleration.

[0065] Step S4, completing navigation of the target device according to the current posture information.

[0066] In an embodiment of the present application, after predicting the current position information of the target device, the navigation system will provide the user with information such as the distance to the target device and the movement trend of the target device based on the current position information.

[0067] Implementing the embodiments of the present application has the following beneficial effects:

[0068] The embodiment of the present application collects the inertial measurement data of IMU and the satellite navigation data of GNSS at different frequencies respectively, ensuring that the high-priority continuous inertial measurement data can be quickly responded and processed first, thereby improving the real-time performance of navigation. Then both the inertial measurement data and the satellite navigation data are stored in the message queue to complete the synchronization of the two types of information. Then, the continuous and real-time inertial measurement data and the high-precision satellite navigation data are fused through the extended state Kalman filter algorithm to accurately update the position and posture estimation of the target device, thereby achieving more accurate and reliable navigation without increasing the computational burden. In addition, the data collection, storage and fusion are processed through the priority scheduling and timing scheduling of the RT-Thread mechanism, thereby avoiding the problem of memory fragmentation and achieving millisecond-level data processing under resource-constrained conditions.

[0069] Second embodiment

[0070] Further, in order to execute the real-time integrated navigation system based on RT-Thread corresponding to the above method embodiment to achieve corresponding functions and technical effects, Figure 2 A structural diagram of a real-time integrated navigation system based on RT-Thread is provided. For ease of description, only the parts related to this embodiment are shown. The real-time integrated navigation system based on RT-Thread provided by the embodiment of the present application includes:

[0071] The data acquisition module 201 is used to acquire inertial measurement data of the target device at a first frequency, and to acquire satellite navigation data of the target device at a second frequency.

[0072] In an embodiment of the present application, the first frequency and the second frequency are set according to the motion state of the target device; wherein the first frequency is higher than the second frequency; and the operating state includes low-frequency motion and high-frequency motion.

[0073] When the motion state is a preset low-frequency motion, reducing the first frequency and the second frequency;

[0074] When the motion state is a preset high-frequency motion, the first frequency and the second frequency are increased.

[0075] The data storage module 202 is used to transmit the inertial measurement data and the satellite navigation data to a message queue based on the RT-Thread memory pool.

[0076] In an embodiment of the present application, the IMU thread and the GNSS thread transmit the collected posture data to a message queue based on the RT-Thread memory pool, and the message queue stores the data in a unified manner, so that the inertial measurement data and the satellite navigation data collected by different threads are synchronized.

[0077] The message queue is allocated memory through the RT-Thread mechanism. Among them, the RT-Thread mechanism is an open source real-time operating system, and the thread is the smallest scheduling unit of this operating system. In the embodiment of the present application, it includes an IMU thread, a GNSS thread, and a data fusion thread. Based on the efficient scheduling mechanism of RT-Thread, the IMU thread and the GNSS thread can complete the processing of data within milliseconds, which adapts to the real-time navigation requirements in high-speed dynamic environments. This high real-time performance ensures that the system can respond to changes in the external environment in a timely manner and effectively improve navigation safety.

[0078] RT-Thread's memory management mechanism provides an efficient memory pool allocation method, avoiding memory fragmentation problems and improving system stability. Specifically, the RT-Thread memory pool is used to reduce the overhead of the navigation system when allocating and releasing memory. When the message queue needs to store new data, the RT-Thread memory pool will allocate a fixed-size memory block to the message queue; when the navigation system no longer uses certain data in the message queue or a certain memory block does not store any data, the memory block will be reclaimed through the RT-Thread memory pool, avoiding memory fragmentation caused by dynamic memory application.

[0079] In addition, when data is stored through message queues, no additional data copy operations are required, further reducing processing delays.

[0080] The embodiment of the present application implements dynamic memory management through the memory management mechanism of RT-Thread, ensuring the stability of the system during long-term operation and reducing the risk of memory leakage. This design makes the navigation system suitable for scenarios with extremely high stability requirements such as drones and autonomous driving.

[0081] The posture estimation module 203 is used to fuse the inertial measurement data and the satellite navigation data through an extended state Kalman filter algorithm to obtain the current posture information of the target device.

[0082] In an embodiment of the present application, the inertial measurement data and the satellite navigation data are read from the message queue;

[0083] Integrating the inertial measurement data through an extended state Kalman filter algorithm to predict a current posture change of the target device and obtain a posture prediction result;

[0084] According to the position information of the target device in the satellite navigation data, the integral error of the posture prediction result is corrected to obtain the current posture information.

[0085] The navigation module 204 is used to complete navigation of the target device according to the current posture information.

[0086] In an embodiment of the present application, after predicting the current position information of the target device, the navigation system will provide the user with information such as the distance to the target device and the movement trend of the target device based on the current position information.

[0087] In some embodiments, the data acquisition module 201 further includes:

[0088] In the embodiment of the present application, three threads are mainly designed, namely, IMU thread, GNSS thread and data fusion thread. By setting priorities and timed start functions for multiple threads, real-time data collection is achieved and the synchronization of different data in the fusion process is guaranteed.

[0089] Among them, the IMU thread is set to a high priority to collect inertial measurement data at a higher frequency to improve the real-time performance of the navigation system and ensure that the system can quickly respond to and process inertial measurement data. At the same time, the IMU thread also transmits the collected data to the message queue based on the RT-Thread memory pool for the data fusion thread to read.

[0090] The GNSS thread is set to a low priority and is used to collect satellite navigation data at a lower frequency to ensure that when the demand for inertial measurement data collection is high, it will not take up too many resources and affect the overall performance of the navigation system. The GNSS thread also transfers the collected satellite navigation data to the message queue to synchronize the inertial measurement data and satellite navigation data in the same period.

[0091] Therefore, in the embodiment of the present application, the inertial measurement data of the target device is continuously collected by the sensor at a higher frequency, and the satellite navigation data of the target device is regularly collected at a lower frequency. In addition, the inertial measurement data includes but is not limited to the acceleration data and angular velocity data of the target device. The satellite navigation data includes but is not limited to the longitude and latitude of the target device, the positioning quality indicator (positioning type), the number of satellites and other information.

[0092] As an improvement of the above scheme, the embodiment of the present application not only sets the priority in the data collection process, but also sets the specific value of the data collection frequency according to the motion state of the target device. When the target device is in a static or low-frequency motion scene, the data collection frequency and other task processing frequency of the IMU thread and GNSS thread will be automatically reduced to reduce the overall power consumption of the navigation system; when the target device is in a high-frequency motion scene, the data collection frequency and other task processing frequency of the IMU thread and GNSS thread will be quickly increased according to actual needs to ensure that the navigation system can provide high-precision navigation information when the target device changes its posture quickly.

[0093] By setting the frequency of data collection based on the motion state of the target device, task priority management and low-power design of the system are effectively achieved, ensuring that the navigation system can still operate stably under limited resources.

[0094] In some embodiments, the posture estimation module 203 further includes:

[0095] In an embodiment of the present application, the data fusion thread first reads the inertial measurement data and satellite navigation data from the message queue, and then uses the extended state Kalman filter algorithm to fuse the inertial measurement data and satellite navigation data, and updates the navigation system's estimate of the position state of the target device to achieve accurate and real-time navigation of the target device.

[0096] The data fusion thread is called periodically under the RT-Thread mechanism to ensure real-time data processing. Compared with other traditional operating systems, the navigation system provided by the embodiment of the present application can achieve millisecond-level data processing on resource-constrained devices through priority scheduling and timed calling mechanisms, and can provide higher performance under the same hardware conditions while reducing energy consumption, which is suitable for navigation devices that run for a long time.

[0097] Specifically, the data fusion thread first extracts the angular velocity data and acceleration data of the target device from the inertial measurement data, and uses the extended state Kalman filter algorithm to continuously integrate the angular velocity data and acceleration data to estimate the current posture change of the target device and obtain the posture prediction result. Because the data collected by the IMU thread will continue to increase the error over time, it is necessary to use higher-precision satellite navigation data to correct the integral error of the posture prediction result to further improve the accuracy of the data.

[0098] In the extended state Kalman filter algorithm, inertial measurement data is used as the core prediction data of the navigation system, and satellite navigation data is used as the key source of error correction. Through this data fusion method, navigation accuracy can be effectively improved without increasing the computational burden.

[0099] Among them, the extended state Kalman filter algorithm is called Error-State Kalman Filter (ESKF for short), which is a positioning algorithm used for multi-sensor fusion, mainly used in the field of navigation. ESKF can minimize the error by estimating the error of the state.

[0100] By introducing the extended state Kalman filter algorithm, it is possible to accurately fuse IMU and GNSS data within a higher dynamic range, significantly reducing errors in data processing. Moreover, the pose estimation accuracy in high-dynamic scenes is higher, and it can effectively deal with situations such as sharp turns and rapid acceleration.

[0101] Implementing the embodiments of the present application has the following beneficial effects:

[0102] The embodiment of the present application collects the inertial measurement data of IMU and the satellite navigation data of GNSS at different frequencies respectively, ensuring that the high-priority continuous inertial measurement data can be quickly responded and processed first, thereby improving the real-time performance of navigation. Then both the inertial measurement data and the satellite navigation data are stored in the message queue to complete the synchronization of the two types of information. Then, the continuous and real-time inertial measurement data and the high-precision satellite navigation data are fused through the extended state Kalman filter algorithm to accurately update the position and posture estimation of the target device, thereby achieving more accurate and reliable navigation without increasing the computational burden. In addition, the data collection, storage and fusion are processed through the priority scheduling and timing scheduling of the RT-Thread mechanism, thereby avoiding the problem of memory fragmentation and achieving millisecond-level data processing under resource-constrained conditions.

[0103] Furthermore, Figure 3 This is a structural diagram of a terminal device provided in one embodiment of the present application. Figure 3 As shown, the terminal device 3 of this embodiment includes: at least one processor 30 (in Figure 3 Only one is shown) and a memory 31 and a computer program 32 stored in the memory 31 and executable on the at least one processor. When the processor 30 executes the computer program 32, the steps of a real-time combined navigation method based on RT-Thread described in any one of the embodiments of the present application can be implemented.

[0104] The terminal device 3 may be a computing device such as a desktop computer, a cloud server, or a laptop computer. The computing device may include but is not limited to a processor 30 and a memory 31 . Figure 3 This is merely an example of the terminal device 3 and does not constitute a limitation on the terminal device 3 , which may include more or fewer components than those shown in the figure.

[0105] An embodiment of the present application provides a storage medium, which stores computer-readable program codes. When the computer-readable program codes are executed, the steps of the above-mentioned real-time combined navigation method based on RT-Thread are implemented.

[0106] The specific embodiments described above further describe the purpose, technical solutions and beneficial effects of the present application in detail. It should be understood that the above description is only a specific embodiment of the present application and is not intended to limit the scope of protection of the present application. It is particularly pointed out that for those skilled in the art, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims

1. A real-time integrated navigation method based on RT-Thread, characterized in that: include: collecting inertial measurement data of the target device at a first frequency and collecting satellite navigation data of the target device at a second frequency; Transmitting the inertial measurement data and the satellite navigation data to a message queue based on an RT-Thread memory pool; The inertial measurement data and the satellite navigation data are fused by an extended state Kalman filter algorithm to obtain current position information of the target device; The navigation of the target device is completed according to the current posture information.

2. The real-time integrated navigation method based on RT-Thread according to claim 1, characterized in that: The inertial measurement data of the target device is collected at the first frequency, and the satellite navigation data of the target device is collected at the second frequency, specifically: According to the motion state of the target device, the first frequency and the second frequency are set; wherein the first frequency is higher than the second frequency; and the operating state includes low-frequency motion and high-frequency motion; When the motion state is a preset low-frequency motion, reducing the first frequency and the second frequency; When the motion state is a preset high-frequency motion, the first frequency and the second frequency are increased.

3. The real-time integrated navigation method based on RT-Thread according to claim 1, characterized in that: The transmitting the inertial measurement data and the satellite navigation data to the message queue based on the RT-Thread memory pool is specifically: Transmitting the inertial measurement data and the satellite navigation data within the same time period to the message queue; When the message queue receives new data, a memory block is allocated to the message queue through the RT-Thread memory pool, and the memory block is used to store the new data; When the memory block does not store any data, the memory block is reclaimed through the RT-Thread memory pool.

4. The real-time integrated navigation method based on RT-Thread according to claim 1, characterized in that: The inertial measurement data and the satellite navigation data are fused by the extended state Kalman filter algorithm to obtain the current position information of the target device, specifically: Reading the inertial measurement data and the satellite navigation data from the message queue; Integrating the inertial measurement data through an extended state Kalman filter algorithm to predict a current posture change of the target device and obtain a posture prediction result; According to the position information of the target device in the satellite navigation data, the integral error of the posture prediction result is corrected to obtain the current posture information.

5. The real-time integrated navigation method based on RT-Thread according to claim 4, characterized in that: The inertial measurement data is integrated by using an extended state Kalman filter algorithm, specifically: Angular velocity data and acceleration data of the target device in the inertial measurement data are extracted, and the angular velocity data and acceleration data are continuously integrated.

6. The real-time integrated navigation method based on RT-Thread according to claim 4, characterized in that: Also includes: Data fusion is performed using the extended state Kalman filter algorithm at a preset frequency.

7. The real-time integrated navigation method based on RT-Thread according to any one of claims 1 to 6, characterized in that: Also includes: The priority of collecting and storing the inertial measurement data is higher than the priority of collecting and storing the satellite navigation data.

8. A real-time integrated navigation system based on RT-Thread, characterized in that: include: Data acquisition module, data storage module, posture estimation module and navigation module; The data acquisition module is used to acquire inertial measurement data of the target device at a first frequency and to acquire satellite navigation data of the target device at a second frequency; The data storage module is used to transmit the inertial measurement data and the satellite navigation data to a message queue based on the RT-Thread memory pool; The posture estimation module is used to fuse the inertial measurement data and the satellite navigation data through an extended state Kalman filter algorithm to obtain the current posture information of the target device; The navigation module is used to complete navigation of the target device according to the current posture information.

9. A terminal device, characterized in that: It comprises a processor and a memory, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of a real-time combined navigation method based on RT-Thread described in any one of claims 1 to 7 are implemented.

10. A storage medium, characterized in that: The storage medium stores computer-readable program codes, which, when executed, implement the steps of a real-time combined navigation method based on RT-Thread according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • INS auxiliary Beidou signal capturing method

    CN103344968A

  • Positioning signal transmitting method and device

    CN105307252A

  • Landslide disaster monitoring equipment

    CN112987057A

  • Integrated navigation method, device and system and storage medium

    CN114111773A

  • Activity track acquisition method and device, computer equipment and storage medium

    CN118091720A