MEMS IMU gyroscope constant zero offset estimation method and system

By constructing a three-axis gyroscope mode value buffer and calculating the variance value, and setting the threshold value in combination with the marble table, a low-complexity and high-precision MEMS IMU gyroscope constant zero deviation estimation is achieved, which solves the problem of insufficient accuracy in the existing technology and improves the accuracy of the gyroscope angular rate output.

CN120489175APending Publication Date: 2025-08-15HANGZHOU ZHUMA INNOVATION TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510693631.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-27
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In the prior art, the MEMS IMU gyroscope constant zero-bias estimation accuracy is insufficient, and the algorithm complexity and system complexity are relatively high, making it difficult to achieve high-precision estimation in real-time systems.

Method used

By collecting the three-axis gyroscope data of MEMS IMU, a three-axis gyroscope mode value buffer is constructed, the variance value is calculated and compared with the preset threshold value, the static state is determined and the three-axis gyroscope is calculated. The threshold is set using the marble platform to collect data to achieve low complexity and high precision zero-bias estimation.

Benefits of technology

It improves the accuracy and algorithm operation efficiency of MEMS IMU gyroscope constant zero-bias estimation, reduces system complexity, and achieves higher precision gyroscope angular rate output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120489175A_ABST
    Figure CN120489175A_ABST
Patent Text Reader

Abstract

The invention provides an MEMS IMU gyroscope constant value zero offset estimation method and system, and relates to the technical field of inertial navigation positioning, and the method comprises the following steps: collecting three-axis gyroscope data of an MEMS IMU, and calculating a three-axis gyroscope module value according to the three-axis gyroscope data; the method comprises the following steps: establishing a three-axis gyroscope module value buffer area, calculating a variance value according to data in the three-axis gyroscope module value buffer area, comparing the variance value with a preset variance threshold value, and judging that the MEMS IMU is in a static state when the variance value is smaller than the preset variance threshold value; and calculating the constant zero offset of the three-axis gyroscope according to the data of the three-axis gyroscope in the static state.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an inertial navigation and positioning technology, and in particular to a method and system for estimating a constant zero bias of a MEMS IMU gyroscope. Background Art

[0002] Gyro bias is the most important metric for evaluating a MEMS IMU, as it determines the rate of error divergence during long-term independent operation of the inertial navigation system. The constant gyro bias is a fixed value that remains unchanged after the gyro is manufactured. However, for consumer-grade MEMS IMU chips, it is impossible to calibrate and compensate each gyro individually. Therefore, when using a MEMS IMU, a reasonable method is required to effectively estimate the MEMS IMU's constant gyro bias and subsequently perform error compensation.

[0003] Currently, the estimation of the MEMS IMU gyro bias is primarily aided by other sensors. For example, authorized patent CN110017850B provides a gyro drift estimation method, device, and positioning system. This method uses IMU data and odometer data for dead reckoning and employs a Kalman filter to estimate the gyro bias in real time. However, this method requires the use of an odometer and lidar for auxiliary gyro bias estimation. Authorized patent CN108680189B provides a Kalman filter-based method for dynamic compensation of the MEMS gyro Z-axis bias. This method uses a Kalman algorithm to dynamically compensate for gyro bias, improving the accuracy of the MEMS gyroscope. However, this method's IMU static determination conditions are relatively simple, resulting in limited accuracy in estimating the MEMS IMU gyro bias.

[0004] Therefore, in order to achieve high-precision MEMS IMU gyro constant bias estimation in real-time systems, it is necessary to integrate the MEMS IMU gyro constant bias estimation accuracy and algorithm complexity to achieve MEMS IMU gyro constant bias estimation with low system complexity and low computing power requirements. Summary of the Invention

[0005] The embodiments of the present invention provide a method and system for estimating a constant zero bias of a MEMS IMU gyroscope, which can solve the problems in the prior art.

[0006] A first aspect of an embodiment of the present invention provides a method for estimating a MEMS IMU gyro constant bias, comprising: Collecting three-axis gyroscope data from the MEMS IMU, calculating a three-axis gyroscope modulus based on the three-axis gyroscope data; constructing a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size; calculating a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the mean of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean; Comparing the variance value with a preset variance threshold, and determining that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; A three-axis gyroscope constant zero bias is calculated based on the three-axis gyroscope data when the state is determined to be static, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing the result by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

[0007] In an optional embodiment, Calculating the three-axis gyroscope modulus value according to the three-axis gyroscope data includes: ; in, is the modulus value output by the three-axis gyroscope in the IMU at time k, is the angular velocity of the X-axis gyroscope at time k, is the angular velocity of the Y-axis gyroscope at time k, is the angular velocity of the Z-axis gyroscope at time k.

[0008] In an optional embodiment, Building a three-axis gyroscope modulus buffer includes: ; in, The buffer for the three-axis gyro modulus value at time k. When the IMU sampling rate is 100Hz, the buffer size is set to 30; is the modulus value output by the three-axis gyroscope in the IMU at the k-29 moment, is the modulus value output by the three-axis gyroscope in the IMU at the k-28 moment. It is the modulus value output by the three-axis gyroscope in the IMU at time k.

[0009] In an optional embodiment, Calculating the three-axis gyro constant bias based on the three-axis gyro data when it is determined to be in a static state includes: ; in, is the constant zero bias of the X-axis gyroscope at time k, is the constant zero bias of the Y-axis gyroscope at time k, is the constant zero bias of the Z-axis gyroscope at time k, is the static output of the X-axis gyroscope up to time k, is the static output sum of the Y-axis gyroscope up to time k, is the static output of the Z-axis gyroscope up to time k, is the number of times the gyro is detected to be static up to time k.

[0010] In an optional embodiment, The method further comprises: Gyro static detection is performed based on the variance of the three-axis gyro modulus values in the buffer. The expression for gyro static detection is: , Where, is the variance of the three-axis gyroscope modulus value in the buffer zone at time k, is the variance threshold of the gyroscope static detection, which can be calculated by placing the IMU on a marble table to collect static data.

[0011] In an optional embodiment, Calculating the variance value according to the data in the three-axis gyroscope modulus buffer includes: ; in, is the variance of the three-axis gyroscope modulus value in the buffer at time k, N is the size of the buffer, and it is set to 30 when the IMU sampling rate is 100Hz. is the modulus of the i-th three-axis gyroscope in the buffer, is the mean value of the three-axis gyroscope modulus in the buffer at time k.

[0012] In the second aspect of the embodiments of this application, Provides MEMS IMU gyro constant bias estimation system, including: The first unit is configured to collect three-axis gyroscope data from a MEMS IMU, calculate a three-axis gyroscope modulus based on the three-axis gyroscope data, construct a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size, and calculate a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the average of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean. A second unit is configured to compare the variance value with a preset variance threshold, and determine that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; The third unit is used to calculate a three-axis gyroscope constant zero bias based on the three-axis gyroscope data when it is determined to be in a static state, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing it by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

[0013] In the third aspect of the embodiments of this application, An electronic device is provided, comprising: processor; a memory for storing processor-executable instructions; The processor is configured to call the instructions stored in the memory to execute the aforementioned method.

[0014] In the fourth aspect of the embodiments of this application, A computer-readable storage medium is provided, on which computer program instructions are stored, wherein the computer program instructions implement the aforementioned method when executed by a processor.

[0015] The present application provides a method for estimating a constant zero bias of a MEMS IMU gyroscope, which solves the problem of insufficient accuracy of the existing MEMS IMU gyroscope constant zero bias estimation. The method first collects three-axis gyroscope data and calculates the three-axis gyroscope modulus, then constructs a three-axis gyroscope modulus buffer and calculates the variance of the three-axis gyroscope modulus in the buffer, then performs gyroscope static detection based on the variance of the three-axis gyroscope modulus in the buffer, and finally calculates the three-axis gyroscope constant zero bias based on the gyroscope static data. Experimental verification shows that the method has high reliability, strong versatility, high algorithm operation efficiency, simple operation, high accuracy and good practicality. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 Schematic diagram of the process of the method for estimating the constant zero bias of a MEMS IMU gyroscope according to an embodiment of the present invention; Figure 2 This is the output result diagram of the three-axis gyroscope of the measured experiment; Figure 3 This is a diagram showing the results of estimating the MEMS IMU gyro constant bias using the proposed method. Figure 4 Schematic diagram of the structure of the MEMS IMU gyro constant bias estimation system according to an embodiment of the present invention. DETAILED DESCRIPTION

[0017] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0018] The following specific embodiments are used to describe the technical solution of the present invention in detail. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0019] Figure 1 FIG. 1 is a flow chart of a method for estimating a constant bias of a MEMS IMU gyroscope according to an embodiment of the present invention. Figure 1 As shown, the method includes: Collecting three-axis gyroscope data from the MEMS IMU, calculating a three-axis gyroscope modulus based on the three-axis gyroscope data; constructing a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size; calculating a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the mean of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean; Comparing the variance value with a preset variance threshold, and determining that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; A three-axis gyroscope constant zero bias is calculated based on the three-axis gyroscope data when the state is determined to be static, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing the result by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

[0020] In an optional embodiment, Calculating the three-axis gyroscope modulus value according to the three-axis gyroscope data includes: ; in, is the modulus value output by the three-axis gyroscope in the IMU at time k, is the angular velocity of the X-axis gyroscope at time k, is the angular velocity of the Y-axis gyroscope at time k, is the angular velocity of the Z-axis gyroscope at time k.

[0021] In an optional embodiment, Building a three-axis gyroscope modulus buffer includes: ; in, The buffer for the three-axis gyro modulus value at time k. When the IMU sampling rate is 100Hz, the buffer size is set to 30; is the modulus value output by the three-axis gyroscope in the IMU at the k-29 moment, is the modulus value output by the three-axis gyroscope in the IMU at the k-28 moment. It is the modulus value output by the three-axis gyroscope in the IMU at time k.

[0022] In an optional embodiment, Calculating the three-axis gyro constant bias based on the three-axis gyro data when it is determined to be in a static state includes: ; in, is the constant zero bias of the X-axis gyroscope at time k, is the constant zero bias of the Y-axis gyroscope at time k, is the constant zero bias of the Z-axis gyroscope at time k, is the static output of the X-axis gyroscope up to time k, is the static output sum of the Y-axis gyroscope up to time k, is the static output of the Z-axis gyroscope up to time k, is the number of times the gyro is detected to be static up to time k.

[0023] In an optional embodiment, The method further comprises: Gyro static detection is performed based on the variance of the three-axis gyro modulus values in the buffer. The expression for gyro static detection is: , Where, is the variance of the three-axis gyroscope modulus value in the buffer zone at time k, is the variance threshold of the gyroscope static detection, which can be calculated by placing the IMU on a marble table to collect static data.

[0024] In an optional embodiment, Calculating the variance value according to the data in the three-axis gyroscope modulus buffer includes: ; in, is the variance of the three-axis gyroscope modulus value in the buffer at time k, N is the size of the buffer, and it is set to 30 when the IMU sampling rate is 100Hz. is the modulus of the i-th three-axis gyroscope in the buffer, is the mean value of the three-axis gyroscope modulus in the buffer at time k.

[0025] This application also provides a specific embodiment: S1. Collect the three-axis gyro data and calculate the three-axis gyro modulus. The calculation expression of the three-axis gyro modulus is: , Where, is the modulus value output by the three-axis gyroscope in the IMU at time k, is the angular velocity of the X-axis gyroscope at time k, is the angular velocity of the Y-axis gyroscope at time k, is the angular velocity of the Z-axis gyroscope at time k.

[0026] S2. Construct a three-axis gyroscope modulus buffer and calculate the variance of the three-axis gyroscope modulus in the buffer.

[0027] The specific operation steps of step S2 are: S201, constructing a three-axis gyroscope modulus buffer, the three-axis gyroscope modulus buffer is expressed as follows: , Where, The buffer for the three-axis gyroscope modulus value at time k. When the IMU sampling rate is 100 Hz, the buffer size is set to 30. is the modulus value output by the three-axis gyroscope in the IMU at the k-29 moment, is the modulus value output by the three-axis gyroscope in the IMU at the k-28 moment. It is the modulus value output by the three-axis gyroscope in the IMU at time k.

[0028] S202, calculate the variance of the three-axis gyroscope modulus value in the buffer zone, and the calculation expression is: , Where, is the variance of the three-axis gyroscope modulus value in the buffer at time k, N is the size of the buffer, and it is set to 30 when the IMU sampling rate is 100Hz. is the modulus of the i-th three-axis gyroscope in the buffer, is the mean value of the three-axis gyroscope modulus in the buffer at time k.

[0029] S3. Perform gyro static detection based on the variance of the three-axis gyro module value in the buffer. The expression for gyro static detection is: , Where, is the variance of the three-axis gyroscope modulus value in the buffer zone at time k, is the variance threshold of the gyroscope static detection, which can be calculated by placing the IMU on a marble table to collect static data.

[0030] S4. Calculate the three-axis gyro constant zero bias based on the gyro static data. The calculation expression of the three-axis gyro constant zero bias is: , Where, is the constant zero bias of the X-axis gyroscope at time k, is the constant zero bias of the Y-axis gyroscope at time k, is the constant zero bias of the Z-axis gyroscope at time k, is the static output of the X-axis gyroscope up to time k, is the static output sum of the Y-axis gyroscope up to time k, is the static output of the Z-axis gyroscope up to time k, is the number of times the gyro is detected to be static up to time k.

[0031] After the above steps S1 to S4, the MEMS IMU gyro constant bias estimation is completed.

[0032] In the experiment, the error comparison of the Z-axis gyro angular rate integral using the method of compensating the MEMS IMU gyro constant zero bias using the method of this application, compensating the MEMS IMU gyro constant zero bias using the initial data averaging method, and not compensating the MEMS IMU gyro constant zero bias is shown in Table 1 below.

[0033] Table 1: method Z-axis gyro angular rate integrated error (°) Uncompensated 3.2782 Initial data averaging method compensation 1.9202 The method of the present invention compensates 1.3895 From the comparison of Z-axis gyro angular rate integral errors in Table 1, it can be seen that the method of the present invention, after performing MEMS IMU gyro constant bias estimation and compensation, can achieve a higher-precision gyro angular rate output, thereby indicating that a higher-precision MEMS IMU gyro constant bias estimation can be achieved. Compared with the method of not compensating the MEMS IMU gyro constant bias, the method of the present invention reduces the Z-axis gyro angular rate integral error by 57.6% after performing MEMS IMU gyro constant bias estimation and compensation. Compared with the method of estimating and compensating the MEMS IMU gyro constant bias using the initial data averaging method, the method of the present invention reduces the Z-axis gyro angular rate integral error by 27.6%. Therefore, the effectiveness and correctness of the method provided by the present invention are verified.

[0034] refer to Figure 2 and Figure 3 ,like Figure 2 The figure shows the three-axis gyroscope output results from the actual measurement experiment. First, the MEMS IMU is placed on the three-axis turntable and kept stationary. Then it is rotated 50 times around the Z axis. Finally, it is also kept stationary for a period of time. By comparing the integral of the Z-axis gyroscope angular rate, the estimation of the gyroscope constant zero bias is compared.

[0035] like Figure 3 The figure shows the results of estimating the MEMS IMU gyro bias using the method of this application. As can be seen from the figure, as the MEMS IMU gyro bias estimation time increases, the estimated MEMS IMU gyro bias gradually converges to the true value and eventually stabilizes.

[0036] In the second aspect of the embodiments of this application, Provide MEMS IMU gyro constant bias estimation system, such as Figure 4 As shown, including: The first unit is configured to collect three-axis gyroscope data from a MEMS IMU, calculate a three-axis gyroscope modulus based on the three-axis gyroscope data, construct a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size, and calculate a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the average of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean. A second unit is configured to compare the variance value with a preset variance threshold, and determine that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; The third unit is used to calculate a three-axis gyroscope constant zero bias based on the three-axis gyroscope data when it is determined to be in a static state, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing it by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

[0037] According to a third aspect of the embodiments of the present invention, An electronic device is provided, comprising: processor; a memory for storing processor-executable instructions; The processor is configured to call the instructions stored in the memory to execute the aforementioned method.

[0038] According to a fourth aspect of the embodiments of the present invention, A computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the method described above is implemented.

[0039] The present invention may be a method, an apparatus, a system and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for executing various aspects of the present invention.

[0040] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A method for estimating a constant bias of a MEMS IMU gyroscope, characterized in that: include: Collecting three-axis gyroscope data from the MEMS IMU, and calculating a three-axis gyroscope modulus based on the three-axis gyroscope data; Constructing a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size; calculating a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the mean of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean; Comparing the variance value with a preset variance threshold, and determining that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; A three-axis gyroscope constant zero bias is calculated based on the three-axis gyroscope data when the state is determined to be static, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing the result by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

2. The method according to claim 1, characterized in that Calculating the three-axis gyroscope modulus value according to the three-axis gyroscope data includes: ; in, is the modulus value output by the three-axis gyroscope in the IMU at time k, is the angular velocity of the X-axis gyroscope at time k, is the angular velocity of the Y-axis gyroscope at time k, is the angular velocity of the Z-axis gyroscope at time k.

3. The method according to claim 1, characterized in that Building a three-axis gyroscope modulus buffer includes: ; in, The buffer for the three-axis gyro modulus value at time k. When the IMU sampling rate is 100Hz, the buffer size is set to 30; is the modulus value output by the three-axis gyroscope in the IMU at the k-29 moment, is the modulus value output by the three-axis gyroscope in the IMU at the k-28 moment. It is the modulus value output by the three-axis gyroscope in the IMU at time k.

4. The method according to claim 1, wherein Calculating the three-axis gyro constant bias based on the three-axis gyro data when it is determined to be in a static state includes: ; in, is the constant zero bias of the X-axis gyroscope at time k, is the constant zero bias of the Y-axis gyroscope at time k, is the constant zero bias of the Z-axis gyroscope at time k, is the static output of the X-axis gyroscope up to time k, is the static output sum of the Y-axis gyroscope up to time k, is the static output of the Z-axis gyroscope up to time k, is the number of times the gyro is detected to be static up to time k.

5. The method according to claim 1, wherein The method further comprises: Gyro static detection is performed based on the variance of the three-axis gyro modulus values in the buffer. The expression for gyro static detection is: , Where, is the variance of the three-axis gyroscope modulus value in the buffer zone at time k, is the variance threshold of the gyroscope static detection, which can be calculated by placing the IMU on a marble table to collect static data.

6. The method according to claim 1, characterized in that Calculating the variance value according to the data in the three-axis gyroscope modulus buffer includes: ; in, is the variance of the three-axis gyro modulus value in the buffer at time k, N is the size of the buffer, and it is set to 30 when the IMU sampling rate is 100Hz. is the modulus of the i-th three-axis gyroscope in the buffer, is the mean value of the three-axis gyroscope modulus in the buffer at time k.

7. A MEMS IMU gyro constant bias estimation system, configured to implement the method according to any one of claims 1 to 6, characterized in that: include: The first unit is configured to collect three-axis gyroscope data from a MEMS IMU, calculate a three-axis gyroscope modulus based on the three-axis gyroscope data, construct a three-axis gyroscope modulus buffer, wherein the three-axis gyroscope modulus buffer contains three-axis gyroscope modulus values at N consecutive sampling moments, where N is a preset buffer size, and calculate a variance value based on the data in the three-axis gyroscope modulus buffer, wherein the variance value is the average of the sum of squares of differences between the N three-axis gyroscope modulus values in the three-axis gyroscope modulus buffer and their mean. a second unit, configured to compare the variance value with a preset variance threshold, and determine that the MEMS IMU is in a static state when the variance value is less than the preset variance threshold, wherein the preset variance threshold is calculated by placing the MEMS IMU on a marble table and collecting static data; The third unit is used to calculate a three-axis gyroscope constant zero bias based on the three-axis gyroscope data when it is determined to be in a static state, wherein the three-axis gyroscope constant zero bias is obtained by accumulating the gyroscope data of each axis in the static state and dividing it by the accumulated number of static state determinations, and the three-axis gyroscope constant zero bias includes an X-axis gyroscope constant zero bias, a Y-axis gyroscope constant zero bias, and a Z-axis gyroscope constant zero bias.

8. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to call the instructions stored in the memory to execute the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • A dynamic compensation method for Z-axis bias of MEMS gyroscope based on Kalman filter

    CN108680189B