MEMS-based IMU System Fault Identification Method, Device and Terminal
By acquiring the data of heterogeneous IMU sensors for temperature, cross-coupling and nonlinear compensation, combined with cross-checking, identifying the faults of the MEMS IMU system, solving the problems of untimely and inaccurate fault identification in the prior art, achieving higher recognition accuracy.
Patent Information
- Application Number
- CN202510138626.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-08
- Publication Date
- 2025-07-11
- Estimated Expiration
- 2045-02-08
AI Technical Summary
The existing MEMS-based IMU system fault identification method is difficult to ensure timeliness and accuracy.
By acquiring the data of the heterogeneous IMU sensor, temperature, cross-coupling and nonlinear compensation are performed, combined with cross-checking and testing, system failures are identified, including zero-bias jump, zero-bias drift, noise anomalies and scale abnormalities.
It improves the accuracy of IMU system fault identification, avoids the influence of environmental factors, and ensures timely detection and accurate judgment of faults.
Smart Images

Figure CN119573776B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of navigation technology, and particularly relates to a method, device, and terminal for fault identification of an IMU system based on MEMS. Background Art
[0002] Inertial measurement unit technology, abbreviated as IMU technology, is a navigation device based on the principle of inertial measurement. By integrating accelerometers and gyroscopes, it can accurately measure the acceleration and angular velocity of an object in three-dimensional space. IMU technology has been widely used in many fields, such as aerospace, automotive navigation, robotics, action cameras, and smartphones, significantly enhancing the motion tracking and stability of devices.
[0003] Microelectromechanical system technology, namely MEMS technology, is a cutting-edge technology that combines microelectronic technology with mechanical systems. MEMS technology inherently has the advantages of low cost, small size, and easy mass production, which makes MEMS-based IMU products have significant advantages such as small size, low power consumption, and high integration.
[0004] When using MEMS-based IMU products, it is crucial to identify and diagnose possible system failures, especially in complex automotive electrical and electronic systems. However, existing fault identification methods often struggle to ensure timeliness and accuracy. Summary of the Invention
[0005] Embodiments of this application provide a method, device, and terminal for fault identification of an IMU system based on MEMS to solve the problem that existing fault detection methods often struggle to ensure timeliness and accuracy.
[0006] This application is implemented through the following technical solutions:
[0007] In a first aspect, embodiments of this application provide a method for fault identification of an IMU system based on MEMS, including:
[0008] Obtain first data of a first IMU sensor and second data of a second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in a target MEMS-based IMU system.
[0009] Perform temperature, cross-coupling, and nonlinear compensation on the first data to obtain third data; perform temperature, cross-coupling, and nonlinear compensation on the second data to obtain fourth data.
[0010] Test the first IMU sensor based on the first data and the third data to obtain a first test result; test the second IMU sensor based on the second data and the fourth data to obtain a second test result.
[0011] Perform cross - verification on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and output the cross - verification result.
[0012] Determine the faults of the target MEMS - based IMU system based on the error codes in the first test result, the second test result, and the cross - verification result.
[0013] Combined with the first aspect, in some possible implementation manners, performing cross - verification on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and outputting the cross - verification result includes:
[0014] Based on the third data and the fourth data, cross - verify whether there is a bias jump in the two IMU sensors. If there is a bias jump, output the error code corresponding to the bias jump.
[0015] Based on the third data and the fourth data, cross - verify whether there is a bias drift in the two IMU sensors. If there is a bias drift, output the error code corresponding to the bias drift.
[0016] Based on the third data and the fourth data, cross - verify whether there is a noise anomaly in the two IMU sensors. If there is a noise anomaly, output the error code corresponding to the noise anomaly.
[0017] Based on the third data and the fourth data, cross - verify whether there is a scale - factor over - difference anomaly in the two IMU sensors. If there is a scale - factor over - difference anomaly, output the error code corresponding to the scale - factor over - difference anomaly, where the scale - factor over - difference anomaly characterizes the degree of difference in the collected data between the two IMU sensors.
[0018] Combined with the first aspect, in some possible implementation manners, based on the third data and the fourth data, cross - verify whether there is a bias jump in the two IMU sensors, including:
[0019] Calculate the difference between the gyroscope signal in the third data and the gyroscope signal in the fourth data at the same moment, and record it as the first difference.
[0020] Calculate the difference between the accelerometer signal in the third data and the accelerometer signal in the fourth data at the same moment, and record it as the second difference.
[0021] Select a sliding window in the time domain.
[0022] Calculate the mean and standard deviation of the first differences at all moments in the sliding window, denoted as the first mean and the first standard deviation, and calculate the mean and standard deviation of the second differences at all moments in the sliding window, denoted as the second mean and the second standard deviation.
[0023] If the first mean value is greater than the first threshold value and the first standard deviation is greater than the second threshold value, and / or the second mean value is greater than the third threshold value and the second standard deviation is greater than the fourth threshold value, it is determined that there is a zero-bias jump.
[0024] In combination with the first aspect, in some possible implementation manners, based on the third data and the fourth data, cross-verify whether there is zero-bias drift in two IMU sensors, including:
[0025] If the first mean value is greater than the first threshold value and the first standard deviation is less than or equal to the second threshold value, and / or the second mean value is greater than the third threshold value and the second standard deviation is less than or equal to the fourth threshold value, it is determined that there is zero-bias drift.
[0026] In combination with the first aspect, in some possible implementation manners, based on the third data and the fourth data, cross-verify whether there is noise anomaly in two IMU sensors, including:
[0027] Calculate the variance of the first differences at all moments in the sliding window, denoted as the first variance, and calculate the variance of the second differences at all moments in the sliding window, denoted as the second variance.
[0028] If the first variance is greater than the fifth threshold value, and / or the second variance is greater than the sixth threshold value, it is determined that there is noise anomaly.
[0029] In combination with the first aspect, in some possible implementation manners, based on the third data and the fourth data, cross-verify whether there is scale super-difference anomaly in two IMU sensors, including:
[0030] Denote the instantaneous value of the gyroscope signal in the third data as the first instantaneous value, denote the instantaneous value of the gyroscope signal in the fourth data as the second instantaneous value, denote the instantaneous value of the accelerometer signal in the third data as the third instantaneous value, and denote the instantaneous value of the accelerometer signal in the fourth data as the fourth instantaneous value.
[0031] When both the first instantaneous value and the second instantaneous value are greater than the seventh threshold value, or both the third instantaneous value and the fourth instantaneous value are greater than the eighth threshold value, determine whether there is scale super-difference anomaly according to the first instantaneous value, the second instantaneous value, the third instantaneous value, and the fourth instantaneous value.
[0032] If the ratio of the first instantaneous value to the second instantaneous value is greater than the ninth threshold value, and / or the ratio of the second instantaneous value to the first instantaneous value is greater than the ninth threshold value, and / or the ratio of the third instantaneous value to the fourth instantaneous value is greater than the ninth threshold value, and / or the ratio of the fourth instantaneous value to the third instantaneous value is greater than the ninth threshold value, it is determined that there is scale super-difference anomaly.
[0033] In combination with the first aspect, in some possible implementation manners, the first IMU sensor is tested based on the first data and the third data to obtain a first test result; the second IMU sensor is tested based on the second data and the fourth data to obtain a second test result, including:
[0034] The first IMU sensor is subjected to a startup test based on the first data. If there is an abnormality in the startup test, an error code corresponding to the startup test of the first IMU sensor is output.
[0035] The first IMU sensor is subjected to a periodic test based on the third data. If there is an abnormality in the periodic test, an error code corresponding to the periodic test of the first IMU sensor is output.
[0036] The second IMU sensor is subjected to a startup test based on the second data. If there is an abnormality in the startup test, an error code corresponding to the startup test of the second IMU sensor is output.
[0037] The second IMU sensor is subjected to a periodic test based on the fourth data. If there is an abnormality in the periodic test, an error code corresponding to the periodic test of the second IMU sensor is output.
[0038] In combination with the first aspect, in some possible implementation manners, the method further includes:
[0039] The system configuration parameters of the MEMS-based IMU system are tested and calibrated to obtain a configuration parameter error code.
[0040] Based on the error codes in the first test result, the second test result, and the cross-validation result, the faults of the target MEMS-based IMU system are determined, including:
[0041] Based on the error codes in the first test result, the error codes in the second test result, the error codes in the cross-validation result, and the configuration parameter error code, the faults of the target MEMS-based IMU system are determined.
[0042] In a second aspect, an embodiment of the present application provides a fault identification device for a MEMS-based IMU system, including:
[0043] A data acquisition module, configured to acquire the first data of the first IMU sensor and the second data of the second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in the target MEMS-based IMU system.
[0044] A data compensation module, configured to perform temperature, cross-coupling, and nonlinear compensation on the first data to obtain third data; perform temperature, cross-coupling, and nonlinear compensation on the second data to obtain fourth data.
[0045] A data testing module, configured to test a first IMU sensor based on first data and third data to obtain a first test result; and test a second IMU sensor based on second data and fourth data to obtain a second test result.
[0046] A cross-validation module, configured to perform cross-validation on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and output a cross-validation result.
[0047] A result output module, configured to determine a fault of a target MEMS-based IMU system based on error codes in the first test result, the second test result, and the cross-validation result.
[0048] In a third aspect, an embodiment of the present application provides a terminal device, including: a processor and a memory, where the memory is configured to store a computer program, and when the processor executes the computer program, the method for identifying a fault of a MEMS-based IMU system according to any item in the first aspect is implemented.
[0049] It can be understood that the beneficial effects of the above second aspect and third aspect can refer to the relevant descriptions in the first aspect above, and will not be elaborated here.
[0050] The beneficial effect of the embodiment of the present application compared with the prior art is:
[0051] By collecting data of two heterogeneous MEMS-based IMU sensors and obtaining a verification result through a cross-validation method, the present application can fully consider the influence of the environment on the sensors, avoid being unable to accurately determine a fault due to environmental problems, and ensure the accuracy of fault identification of the MEMS-based IMU system.
[0052] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit this specification. Description of the Drawings
[0053] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.
[0054] Figure 1 is a schematic flowchart of a method for identifying a fault of a MEMS-based IMU system provided by an embodiment of the present application;
[0055] Figure 2 is a schematic diagram showing the influence of errors on positioning accuracy provided by an embodiment of the present application;
[0056] Figure 3 is the flowchart of fault injection test provided by an embodiment of the present application;
[0057] Figure 4 is the flowchart of real vehicle test provided by an embodiment of the present application;
[0058] Figure 5 is the schematic structural diagram of a fault identification device for an IMU system based on MEMS provided by an embodiment of the present application;
[0059] Figure 6 is the schematic structural diagram of a terminal device provided by an embodiment of the present application. Detailed implementation manners
[0060] In the following description, specific details such as specific system structures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.
[0061] It should be understood that when used in the specification and claims of the present application, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.
[0062] It should also be understood that the term "and / or" as used in the specification and claims of the present application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.
[0063] As used in the specification and claims of the present application, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if detecting [the described condition or event]" can be interpreted as meaning "once determined", "in response to determining", "once detecting [the described condition or event]", or "in response to detecting [the described condition or event]" according to the context.
[0064] In addition, in the description of the specification and claims of the present application, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.
[0065] References to "one embodiment" or "some embodiments" etc. described in the specification of this application mean that specific features, structures or characteristics described in connection with that embodiment are included in one or more embodiments of this application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments" etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "comprising", "including", "having" and their variants all mean "including but not limited to", unless otherwise specifically emphasized.
[0066] An embodiment of this application provides a method for fault identification of a MEMS-based IMU system. Figure 1 It is a schematic flowchart of a method for fault identification of a MEMS-based IMU system provided by an embodiment of this application. Referring to Figure 1 , the detailed description of the method for fault identification of the MEMS-based IMU system is as follows:
[0067] Step 101, obtain first data of a first IMU sensor and second data of a second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in a target MEMS-based IMU system.
[0068] Exemplarily, two heterogeneous IMU sensors, MT6AGCS and ASM330LHB, can be used. Specifically, using heterogeneous IMU sensors can fully consider the influence of the environment on the sensors. For example, when an environment affects one type of IMU sensor, if another IMU sensor is the same as the previous one at this time, it will be affected in the same way, and if an abnormality occurs at this time, it may not be detected. However, heterogeneous IMU sensors will try to avoid the influence of the environment and ensure accuracy.
[0069] Step 102, perform temperature, cross-coupling and nonlinear compensation on the first data to obtain third data; perform temperature, cross-coupling and nonlinear compensation on the second data to obtain fourth data.
[0070] Exemplarily, temperature, cross-coupling and nonlinear compensation are conventional methods and are merely conventional processes for compensating the first data and the second data.
[0071] Step 103, test the first IMU sensor based on the first data and the third data to obtain a first test result; test the second IMU sensor based on the second data and the fourth data to obtain a second test result.
[0072] Exemplarily, step 103 may include:
[0073] Perform a startup test on the first IMU sensor based on the first data. If there is an abnormality during the startup test, output the error code corresponding to the startup test of the first IMU sensor.
[0074] Perform a periodic test on the first IMU sensor based on the third data. If there is an abnormality during the periodic test, output the error code corresponding to the periodic test of the first IMU sensor.
[0075] Perform a startup test on the second IMU sensor based on the second data. If there is an abnormality during the startup test, output the error code corresponding to the startup test of the second IMU sensor.
[0076] Perform a periodic test on the second IMU sensor based on the fourth data. If there is an abnormality during the periodic test, output the error code corresponding to the periodic test of the second IMU sensor.
[0077] Exemplarily, the startup test and the periodic test may specifically include the following test processes:
[0078] Test item 1: Accelerometer / gyroscope self-test
[0079] When the accelerometer self-test and the gyroscope self-test are enabled, apply a driving electrostatic force to the sensor to simulate the defined input acceleration and angular velocity. In this case, the sensor output shows a change in its DC level, and its sensitivity value is related to the selected range. By comparing this output with the standard output provided in the sensor user manual, the normal operation status of the sensor can be obtained.
[0080] At startup, execute the accelerometer and gyroscope self-test programs for the following two sensors. The scheme is as follows:
[0081] 20-sample-point driving force self-test (ACCE_IMU_1) + static detection (ACCE_IMU_2)
[0082] 20-sample-point driving force self-test (ACCE_IMU_2) + static detection (ACCE_IMU_1)
[0083] 20-sample-point driving force self-test (GYRO_IMU_1) + static detection (GYRO_IMU_2)
[0084] 20-sample-point driving force self-test (GYRO_IMU_2) + static detection (GYRO_IMU_1)
[0085] The thresholds for evaluating the static state are: the difference between the accelerometer modulus and the standard gravitational acceleration is 0.007g, the accelerometer standard deviation is 0.5g, and the gyroscope modulus is 0.5° / s.
[0086] If the static check conditions are not met, a specific error code of ERR_ST_GYR_NOT_STILL or ERR_ST_ACC_NOT_STILL is provided. In the case of being static but the self-check output fails, the specific error codes are ERR_ST_GYR_FAIL and ERR_ST_ACC_FAIL.
[0087] Test Item 2: IMU Status test
[0088] At startup, when the vehicle is stationary and the engine is off, check that the connected device, its ID, and the OTP are correctly loaded to confirm the correct startup procedure. Both of these checks are implemented through the safe read function, and the return values are:
[0089] ERR_DEV_ID: If the safe_read function reads an empty value when reading WHOAMI;
[0090] ERR_BOOT_FAIL: If the safe_read function reads an empty value when reading the status register.
[0091] Test Item 3: ACCEnorm_init test
[0092] The data buffer obtained from the accelerometer self-check program can be used at startup to evaluate the norm of the accelerometer. For the IMU static condition verified in Test Item 1, the norm can be calculated and compared with the standard one gravitational acceleration:
[0093] Specifically, if the absolute value of the difference between the smoothed norm and 1.0g exceeds a threshold (0.00433g), an error code is generated and ERR_ACC_BIAS is returned.
[0094] Test Item 4: GYROBias_init test
[0095] The data buffer obtained from the gyroscope self-check program can be used at startup to evaluate the bias on each axis of the gyroscope. For the IMU static condition verified in Test Item 1, the calculated bias can be verified and compared with the threshold.
[0096] Specifically, if the absolute value of any of the gyroscope axes after smoothing exceeds the threshold (0.1° / s), ERR_GYR_BIAS is generated and returned.
[0097] During operation, data integrity can be verified at runtime by evaluating the output data register and its refresh rate, as well as detecting communication problems.
[0098] Test Item 5: CTRL registers monitoring
[0099] During operation, any unexpected changes in the sensor configuration can be evaluated, and the integrity of the relevant registers can be verified. This is done within the FTT constraints. If an unexpected register access / change occurs, the diagnostic output will provide the error code ERR_CTRL.
[0100] Test Item 6: COMM diagnostic
[0101] During operation, after the startup check using Test Item 2, the communication failure detection of the sensor is performed. This is done within the FTT constraints. If a communication failure occurs, the diagnostic output will provide the error code ERR_COMM.
[0102] In this case, if the connection is re-established during data processing or the data re-acquisition is successful, the fault is considered not to be permanent.
[0103] Test Item 7: Stuck monitoring
[0104] An algorithm is used to evaluate whether the signals of the two IMUs are stuck at a value. The detection of stuck signals is based on a certain number of samples. This judgment is made within the FTT constraints. If a communication failure occurs, the diagnostic output will provide the error code ERR_STUCK.
[0105] The specific process is as follows: Set a sliding window, calculate the standard deviation of the sensor outputs in it. When stuck occurs, if the standard deviation of the sliding windows of the gyroscope and accelerometer is 0, it is considered that stuck has occurred.
[0106] Test Item 8: RESET monitoring
[0107] During operation, an unexpected hard reset of the IMU is detected by comparing the control registers.
[0108] Any unexpected reset will cause the default configuration to be loaded. If it occurs, the diagnostic output will provide the error code ERR_RESET.
[0109] During operation, the data accuracy needs to be evaluated through the following test items, which refers to evaluating the ability of the IMU to correctly output data (linear acceleration and angular velocity) according to the actual physical input.
[0110] Test Item 9: FS out of range
[0111] During operation, it is detected whether the output of the IMU has reached the saturation value or even exceeded the FS parameter configuration value (determined by the CTRL registers). In this case, the diagnostic output will provide the error code ERR_ACC_SAT or ERR_GYR_SAT.
[0112] Detection item 10: BIAS monitoring
[0113] During operation, the biases of the accelerometers and gyroscopes of the two IMUs are evaluated. In this case, since the validity of the calculated output depends on the vehicle stationary condition, a binary stable / unstable stationary flag signal is required to trigger the algorithm. In case of abnormal bias, the diagnostic output will provide the error code ERR_BIAS.
[0114] Detection item 11: Q-Stuck monitoring
[0115] During operation, it is detected whether the two IMUs present signals defined as quasi-stuck, which means the output is stuck at a constant value with small oscillations around it. In this case, the diagnostic output will provide the error code ERR_QUASI_STUCK.
[0116] The specific process is as follows: Set a certain sliding window, calculate the standard deviation of the sensor outputs within the sliding window. When quasi-sticking (oscillation) occurs, the standard deviation of the gyroscope is less than 0.0003° / s, or the standard deviation of the accelerometer is less than 0.0003 m / s 2 , then it is determined that quasi-sticking has occurred.
[0117] Step 104, perform cross-check on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and output the cross-validation result.
[0118] Exemplarily, the cross-check is only performed during operation.
[0119] Exemplarily, step 104 may include:
[0120] Based on the third data and the fourth data, cross-validate whether there is a bias jump in the two IMU sensors. If there is a bias jump, output the error code corresponding to the bias jump.
[0121] Based on the third data and the fourth data, cross-validate whether there is a bias drift in the two IMU sensors. If there is a bias drift, output the error code corresponding to the bias drift.
[0122] Based on the third data and the fourth data, cross-validate whether there is abnormal noise in the two IMU sensors. If there is abnormal noise, output the error code corresponding to the abnormal noise.
[0123] Based on the third data and the fourth data, cross-verify whether there is a scale super-difference anomaly in the two IMU sensors. If there is a scale super-difference anomaly, output the error code corresponding to the scale super-difference anomaly, where the scale super-difference anomaly characterizes the degree of difference in the collected data between the two IMU sensors.
[0124] Exemplarily, in some embodiments, the error codes corresponding to the zero-bias jump are: ERR_ACC_BIASJUMP and ERR_GYR_BIASJUMP. The error codes corresponding to the zero-bias drift are: ERR_ACC_BIASDRIFT and ERR_GYR_BIASDRIFT. The error codes corresponding to the noise anomaly are: ERR_ACC_NOISE and ERR_GYR_NOISE. The error codes corresponding to the scale super-difference anomaly are: ERR_ACC_SCALE and ERR_GYR_SCALE.
[0125] Exemplarily, based on the third data and the fourth data, cross-verify whether there is a zero-bias jump in the two IMU sensors, which may include:
[0126] Calculate the difference between the gyroscope signal in the third data and the gyroscope signal in the fourth data at the same moment, and record it as the first difference.
[0127] Calculate the difference between the accelerometer signal in the third data and the accelerometer signal in the fourth data at the same moment, and record it as the second difference.
[0128] Select a sliding window in the time domain.
[0129] Calculate the mean and standard deviation of the first differences at all moments in the sliding window, denoted as the first mean and the first standard deviation, and calculate the mean and standard deviation of the second differences at all moments in the sliding window, denoted as the second mean and the second standard deviation.
[0130] If the first mean is greater than the first threshold and the first standard deviation is greater than the second threshold, and / or the second mean is greater than the third threshold and the second standard deviation is greater than the fourth threshold, it is determined that there is a zero-bias jump.
[0131] Exemplarily, the first threshold can be 0.3° / s, the second threshold can be 0.2° / s, the third threshold can be 0.5m / s 2 , and the fourth threshold can be 0.3m / s 2 .
[0132] Exemplarily, based on the third data and the fourth data, cross-verify whether there is a zero-bias drift in the two IMU sensors, which may include:
[0133] If the first mean value is greater than the first threshold value and the first standard deviation is less than or equal to the second threshold value, and / or the second mean value is greater than the third threshold value and the second standard deviation is less than or equal to the fourth threshold value, it is determined that there is a zero bias drift.
[0134] Exemplarily, based on the third data and the fourth data, cross-verifying whether there is a noise anomaly in two IMU sensors may include:
[0135] Calculate the variance of the first differences at all times in the sliding window, denoted as the first variance, and calculate the variance of the second differences at all times in the sliding window, denoted as the second variance.
[0136] If the first variance is greater than the fifth threshold value, and / or the second variance is greater than the sixth threshold value, it is determined that there is a noise anomaly.
[0137] Exemplarily, the fifth threshold value may be 2° / s, and the sixth threshold value may be 2m / s 2 .
[0138] Exemplarily, based on the third data and the fourth data, cross-verifying whether there is a scale super-difference anomaly in two IMU sensors may include:
[0139] Denote the instantaneous value of the gyroscope signal in the third data as the first instantaneous value, denote the instantaneous value of the gyroscope signal in the fourth data as the second instantaneous value, denote the instantaneous value of the accelerometer signal in the third data as the third instantaneous value, and denote the instantaneous value of the accelerometer signal in the fourth data as the fourth instantaneous value.
[0140] When both the first instantaneous value and the second instantaneous value are greater than the seventh threshold value, or both the third instantaneous value and the fourth instantaneous value are greater than the eighth threshold value, determine whether there is a scale super-difference anomaly according to the first instantaneous value, the second instantaneous value, the third instantaneous value, and the fourth instantaneous value.
[0141] If the ratio of the first instantaneous value to the second instantaneous value is greater than the ninth threshold value, and / or the second instantaneous value to the first instantaneous value is greater than the ninth threshold value, and / or the third instantaneous value to the fourth instantaneous value is greater than the ninth threshold value, and / or the fourth instantaneous value to the third instantaneous value is greater than the ninth threshold value, it is determined that there is a scale super-difference anomaly.
[0142] Exemplarily, the seventh threshold value may be 3° / s, and the eighth threshold value may be 0.8m / s 2 , and the ninth threshold value may be 1.045.
[0143] Exemplarily, cross-verifying the data of two heterogeneous IMU sensors can avoid the influence of environmental factors and more accurately identify faults. By detecting the instantaneous values of the signals of two heterogeneous IMU sensors, faults can be identified in a timely manner and fault codes can be output, and accurate fault results can be obtained.
[0144] Specifically, the following analysis and tests were conducted to verify the rationality of the threshold in the cross-checking process:
[0145] Analysis:
[0146] 1. Influence of gyro zero-bias error on positioning accuracy
[0147] As Figure 2 shown in the schematic diagram of the influence of error on positioning accuracy. Assume that after the IMU reports a fault, the processing time of the subsequent system is 1 second; assume that a danger will occur when the position error is greater than 0.5 m; take the high-speed scenario as an example, the driving speed = 120 km / h.
[0148] In this scenario, the driving distance in 1 second is d = 33.3 m, and the allowable error circle radius e = 0.5 m. At this time, the angular error σ φ ≈ 0.5 m ÷ 33.3 m × 57.3 = 0.86°. That is, the gyro zero-bias error caused by jump or drift cannot be greater than 0.86° ÷ 1 s = 0.86° / s.
[0149] It is completely reasonable to set the threshold of the zero-bias jump and zero-bias drift gyro mean value to 0.3° / s, and it can be far better than the critical scenario.
[0150] 2. Influence of gyro scale error on positioning accuracy
[0151] As Figure 2 shown in the schematic diagram of the influence of error on positioning accuracy. The gyro scale error mainly has a greater influence in the case of turning; assume that after the IMU reports a fault, the processing time of the subsequent system is 1 second; assume that a danger will occur when the position error is greater than 0.5 m; for the extreme case of a large angular velocity turning scenario, with an angular velocity of 40° / s and a vehicle speed of 5 m / s, the driving distance in 1 second is 5 m. The angular error σ φ ≈ 0.5 m ÷ 5 m × 57.3 = 5.73°, and the corresponding scale error is: 5.73 ÷ 40 = 14.3%.
[0152] For the high-speed slow turning scenario, with an angular velocity of 5° / s and a vehicle speed of 120 Km / h, the driving distance in 1 second is 33.3 m. The angular error σ φ ≈ 0.5 m ÷ 33.3 m × 57.3 = 0.86°, and the corresponding scale error is: 0.86° / s ÷ 5° / s = 17.1%.
[0153] Through analysis, it can be seen that the scenario with relatively strict requirements for the scale error is the large angular velocity turning scenario. That is, for the most extreme scenario, the scale error not exceeding 14.3% can ensure takeover before danger occurs.
[0154] To sum up, in the worst case among the two extreme cases, the scale error should not be greater than 14.3%. Therefore, it is completely reasonable that the ninth threshold is 4.5%, and it can be far better than the critical scenario.
[0155] 3. Influence of accelerometer zero bias error on positioning accuracy
[0156] As Figure 2 shown in the schematic diagram of the influence of error on positioning accuracy. For the lateral error caused by acceleration, it is mainly obtained by integrating the velocity error.
[0157] Assume that after the IMU reports a fault, the processing time of the subsequent system is 1 second; assume that danger will occur when the position error is greater than 0.5 m;
[0158] The velocity error is: d vel = B * t (B is the error of the accelerometer, and t is the navigation time);
[0159] The position error is: d pos = 1 / 2 * B * t 2 ;
[0160] When t = 1 s and d pos = e = 0.5 m;
[0161] We can get B = 0.5 m * 2 / (1 s)^2 = 1.0 m / s 2 = 100 mg.
[0162] Considering that although there are auxiliary speed sensors such as wheel speed in the actual navigation process, the influence of the accelerometer zero bias on speed and positioning is considered separately. Therefore, it is completely reasonable that the threshold for zero bias jump, zero bias drift and accelerometer mean value is set to 0.5 m / s 2 and it can be far better than the critical scenario.
[0163] 4. Influence of accelerometer scale error on positioning accuracy
[0164] As Figure 2 shown in the schematic diagram of the influence of error on positioning accuracy. For the accelerometer scale, combined with the above analysis of the accelerometer zero bias, it is required that the accelerometer error does not exceed 100 mg within 1 second. In extreme cases, considering scenarios such as uphill and downhill or severe acceleration and deceleration, a large number of test data show that the acceleration change during driving will not be greater than 1 g. Therefore, the requirement for the scale error can be obtained as: 100 mg / 1 g = 10%. Therefore, it is completely reasonable that the ninth threshold is 4.5%, and it can be far better than the critical scenario.
[0165] Test:
[0166] 1. Functional safety test - fault injection test
[0167] Build a bench test environment to simulate a fault injection test system. Inject faults such as jumps, overlimits, jams, drifts, and noises into one of the instrument heads through the fault injection system, collect the IMU product through the host computer, and use software such as MATLAB to analyze the data to determine whether the corresponding flag bit for the given fault is set to 1. If it is set to 1, the test passes; if it is not set to 1, feedback to the development for version iteration, and re-perform the fault injection test on the system until the test passes. For the test process, see Figure 3 Fault injection test flow chart.
[0168] 2. Functional safety test - Real vehicle test
[0169] During the real vehicle test, to test the functional safety faults related to the vehicle's IMU and the threshold values of various faults. Build a real vehicle test platform to cover a variety of test scenarios, and conduct tests such as emergency braking, acceleration, smooth driving, and lane changing in scenarios such as highways, urban roads, mountain roads, and parking lots to check whether false alarms will be triggered for functional safety faults (drifts, jams, jumps, overlimits, noises, etc.) under normal or even extreme conditions; when a fault occurs in the IMU, whether the corresponding fault will trigger an alarm. At the same time, during the real vehicle test, use Labview to collect the original data of the IMU and display the status bit in real time. For the test process, see Figure 4 Real vehicle test flow chart.
[0170] Through a large number of actual experimental tests, it can be calculated that the typical value of its scale error (Z-axis difference moving average / Z-axis angular velocity value) is less than 1%, and when the angular velocity value is small, the maximum value is less than 1.5%, both of which are less than the detection standard of 4.5%, so false alarm problems cannot occur; it can be calculated that the typical value of its scale error (Y-axis difference moving average / Y-axis acceleration value) is less than 0.5%, which is less than the detection standard of 4.5%, so false alarm problems cannot occur.
[0171] Step 105, based on the error codes in the first test result, the second test result, and the cross-validation result, determine the faults of the target MEMS-based IMU system.
[0172] Exemplarily, the method may further include:
[0173] Test and calibrate the system configuration parameters of the MEMS-based IMU system to obtain configuration parameter error codes.
[0174] Based on the error codes in the first test result, the second test result, and the cross-validation result, determining the faults of the target MEMS-based IMU system includes:
[0175] Determine the faults of the target MEMS-based IMU system based on the error codes in the first test result, the error codes in the second test result, the error codes in the cross-validation result, and the configuration parameter error codes.
[0176] Exemplarily, the tests on the system configuration parameters are divided into detection at startup and detection during operation, specifically including the following three items:
[0177] 1. EEPParams Check1:
[0178] Check the correctness of the configuration structure of the EEPROM parameter area. After reading the EEPROM, the RAM parameter area will be scanned and judged for reasonableness. If the verification fails, the error code ERR_EEPPARAMS will be provided in the diagnostic output.
[0179] 2. EEPParams CRC Check:
[0180] Check the integrity of the configuration structure of the EEPROM parameter area. If the EEPROM read fails (storage block failure, CRC error, etc.) or the CRC value calculation of the parameters in the RAM after successful reading fails to match the target value during verification, the error code ERR_EEPPARAMS_CRC will be provided in the diagnostic output. During operation, it is necessary to judge whether the parameters in the memory meet the expectations.
[0181] 3. EEPParams Check2:
[0182] Regularly calculate the CRC of the parameters stored in the RAM and compare it with the stored CRC standard value to verify the parameter integrity. If they are inconsistent, the diagnostic output will provide the error code ERR_EEPPARAMS_CRC.
[0183] The above method for identifying faults in the MEMS-based IMU system can fully consider the influence of the environment on the sensors by collecting the data of two heterogeneous MEMS-based IMU sensors and obtaining the verification result through the cross-validation method, avoiding the inability to accurately determine faults due to environmental problems, and ensuring the accuracy of fault identification in the MEMS-based IMU system.
[0184] It should be understood that the magnitudes of the sequence numbers of the steps in the above embodiments do not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0185] Corresponding to the method for identifying faults in the MEMS-based IMU system described in the above embodiments, Figure 5The block diagram of the IMU system fault identification device provided by the embodiments of the present application is shown. For ease of description, only the parts related to the embodiments of the present application are shown.
[0186] Refer to Figure 5 , the MEMS-based IMU system fault identification device in the embodiments of the present application may include:
[0187] A data acquisition module 201, configured to acquire first data of a first IMU sensor and second data of a second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in a target MEMS-based IMU system.
[0188] A data compensation module 202, configured to perform temperature, cross-coupling, and nonlinear compensation on the first data to obtain third data; and perform temperature, cross-coupling, and nonlinear compensation on the second data to obtain fourth data.
[0189] A data testing module 203, configured to test the first IMU sensor based on the first data and the third data to obtain a first test result; and test the second IMU sensor based on the second data and the fourth data to obtain a second test result.
[0190] A cross-validation module 204, configured to perform cross-checking on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and output a cross-validation result.
[0191] A result output module 205, configured to determine the fault of the target MEMS-based IMU system based on the error codes in the first test result, the second test result, and the cross-validation result.
[0192] Exemplarily, the cross-validation module 204 may be used to:
[0193] Based on the third data and the fourth data, cross-validate whether there is a zero-offset jump in the two IMU sensors. If there is a zero-offset jump, output the error code corresponding to the zero-offset jump.
[0194] Based on the third data and the fourth data, cross-validate whether there is a zero-offset drift in the two IMU sensors. If there is a zero-offset drift, output the error code corresponding to the zero-offset drift.
[0195] Based on the third data and the fourth data, cross-validate whether there is noise abnormality in the two IMU sensors. If there is noise abnormality, output the error code corresponding to the noise abnormality.
[0196] Based on the third data and the fourth data, cross-verify whether there is a scale factor over-difference anomaly in the two IMU sensors. If there is a scale factor over-difference anomaly, output the error code corresponding to the scale factor over-difference anomaly, where the scale factor over-difference anomaly characterizes the degree of difference in the collected data between the two IMU sensors.
[0197] Exemplarily, the cross-validation module 204 can be used for:
[0198] Calculate the difference between the gyroscope signal in the third data and the gyroscope signal in the fourth data at the same moment, and denote it as the first difference.
[0199] Calculate the difference between the accelerometer signal in the third data and the accelerometer signal in the fourth data at the same moment, and denote it as the second difference.
[0200] Select a sliding window in the time domain.
[0201] Calculate the mean and standard deviation of the first differences at all moments in the sliding window, denoted as the first mean and the first standard deviation, and calculate the mean and standard deviation of the second differences at all moments in the sliding window, denoted as the second mean and the second standard deviation.
[0202] If the first mean is greater than the first threshold and the first standard deviation is greater than the second threshold, and / or the second mean is greater than the third threshold and the second standard deviation is greater than the fourth threshold, then it is determined that there is a bias jump.
[0203] Exemplarily, the cross-validation module 204 can be used for:
[0204] If the first mean is greater than the first threshold and the first standard deviation is less than or equal to the second threshold, and / or the second mean is greater than the third threshold and the second standard deviation is less than or equal to the fourth threshold, then it is determined that there is a bias drift.
[0205] Exemplarily, the cross-validation module 204 can be used for:
[0206] Calculate the variance of the first differences at all moments in the sliding window, denoted as the first variance, and calculate the variance of the second differences at all moments in the sliding window, denoted as the second variance.
[0207] If the first variance is greater than the fifth threshold, and / or the second variance is greater than the sixth threshold, then it is determined that there is a noise anomaly.
[0208] Exemplarily, the cross-validation module 204 can be used for:
[0209] Record the instantaneous value of the gyroscope signal in the third data as the first instantaneous value, record the instantaneous value of the gyroscope signal in the fourth data as the second instantaneous value, record the instantaneous value of the accelerometer signal in the third data as the third instantaneous value, and record the instantaneous value of the accelerometer signal in the fourth data as the fourth instantaneous value.
[0210] When both the first instantaneous value and the second instantaneous value are greater than the seventh threshold, or both the third instantaneous value and the fourth instantaneous value are greater than the eighth threshold, determine whether there is a scale super-difference anomaly based on the first instantaneous value, the second instantaneous value, the third instantaneous value, and the fourth instantaneous value.
[0211] If the ratio of the first instantaneous value to the second instantaneous value is greater than the ninth threshold, and / or the second instantaneous value to the first instantaneous value is greater than the ninth threshold, and / or the third instantaneous value to the fourth instantaneous value is greater than the ninth threshold, and / or the fourth instantaneous value to the third instantaneous value is greater than the ninth threshold, then it is determined that there is a scale super-difference anomaly.
[0212] Exemplarily, the data test module 203 can be used for:
[0213] Conduct a startup test on the first IMU sensor based on the first data. If there is an anomaly in the startup test, output the error code corresponding to the startup test of the first IMU sensor.
[0214] Conduct a periodic test on the first IMU sensor based on the third data. If there is an anomaly in the periodic test, output the error code corresponding to the periodic test of the first IMU sensor.
[0215] Conduct a startup test on the second IMU sensor based on the second data. If there is an anomaly in the startup test, output the error code corresponding to the startup test of the second IMU sensor.
[0216] Conduct a periodic test on the second IMU sensor based on the fourth data. If there is an anomaly in the periodic test, output the error code corresponding to the periodic test of the second IMU sensor.
[0217] Exemplarily, the MEMS-based IMU system fault identification device may further include a parameter correction module, and the parameter correction module can be used for:
[0218] Test and calibrate the system configuration parameters of the MEMS-based IMU system to obtain a configuration parameter error code.
[0219] Determine the faults of the target MEMS-based IMU system based on the error codes in the first test result, the second test result, and the cross-validation result, including:
[0220] Determine the faults of the target MEMS-based IMU system based on the error codes in the first test result, the error codes in the second test result, the error codes in the cross-validation result, and the configuration parameter error codes.
[0221] It should be noted that the information interaction, execution process, etc. between the above-mentioned devices / modules, due to being based on the same concept as the method embodiments of this application, for their specific functions and the technical effects brought, please refer to the method embodiment part for details, and will not be elaborated here.
[0222] Those skilled in the art can clearly understand that for the convenience and conciseness of description, only the above-mentioned division of each functional unit / module is used as an example. In actual applications, the above functions can be allocated to different functional units / modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit / module in the embodiment can be integrated in a processing unit, or each unit exists physically alone, or two or more units are integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit. In addition, the specific names of each functional unit / module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working process of the units / modules in the above system can refer to the corresponding process in the foregoing method embodiments and will not be elaborated here.
[0223] The embodiment of this application also provides a terminal device. Refer to Figure 6 , the terminal device 300 may include: at least one processor 310 and a memory 320. The memory 320 is used to store a computer program 321. The processor 310 is used to call and run the computer program 321 stored in the memory 320 to implement the steps in any of the above method embodiments, such as Figure 1 Steps 101 to 105 in the illustrated embodiment. Or, when the processor 310 executes the computer program, it implements the functions of each module / unit in the above device embodiments, such as Figure 5 The functions of the illustrated modules.
[0224] Exemplarily, the computer program 321 can be divided into one or more modules / units. One or more modules / units are stored in the memory 320 and executed by the processor 310 to complete this application. The one or more modules / units can be a series of computer program segments capable of completing specific functions, and these program segments are used to describe the execution process of the computer program in the terminal device 300.
[0225] Those skilled in the art can understand that Figure 6These are merely examples of terminal devices and do not constitute a limitation thereto. They may include more or fewer components than those shown in the figures, or combine certain components, or have different components, such as input / output devices, network access devices, buses, etc.
[0226] The processor 310 may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.
[0227] The memory 320 may be an internal storage unit of the terminal device or an external storage device of the terminal device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. The memory 320 is used to store the computer program and other programs and data required by the terminal device. The memory 320 may also be used to temporarily store data that has been output or is to be output.
[0228] The bus may be an industry standard architecture (ISA) bus, a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience in representation, the buses in the drawings of this application are not limited to only one bus or one type of bus.
[0229] The MEMS-based IMU system fault identification method provided by the embodiments of this application can be applied to terminal devices such as computers, wearable devices, vehicle-mounted devices, tablet computers, laptop computers, and netbooks. The embodiments of this application do not impose any restrictions on the specific types of terminal devices.
[0230] An embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps in the various embodiments of the above-mentioned MEMS-based IMU system fault identification method can be implemented.
[0231] An embodiment of the present application provides a computer program product. When the computer program product runs on a mobile terminal, the mobile terminal is caused to execute the steps in the various embodiments of the above-mentioned MEMS-based IMU system fault identification method.
[0232] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above-mentioned embodiment methods of the present application, a computer program can be used to instruct relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above-mentioned various method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the photographing device / terminal device, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, a USB flash drive, a mobile hard disk, a magnetic disk or an optical disc, etc.
[0233] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0234] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of the present application.
[0235] In the embodiments provided in the present application, it should be understood that the disclosed device / network device and method can be implemented in other ways. For example, the device / network device embodiments described above are merely illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the couplings or direct couplings or communication connections shown or discussed with each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical or other forms.
[0236] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0237] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.
Claims
1. A fault identification method for a MEMS-based IMU system, characterized in that, Including: Obtaining first data of a first IMU sensor and second data of a second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in a target MEMS-based IMU system; Performing temperature, cross-coupling, and nonlinear compensation on the first data to obtain third data; performing temperature, cross-coupling, and nonlinear compensation on the second data to obtain fourth data; Testing the first IMU sensor based on the first data and the third data to obtain a first test result; testing the second IMU sensor based on the second data and the fourth data to obtain a second test result; Performing cross-checking on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and outputting a cross-validation result; Determining a fault of the target MEMS-based IMU system based on error codes in the first test result, the second test result, and the cross-validation result; The performing cross-checking on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and outputting a cross-validation result includes: Based on the third data and the fourth data, cross-validating whether there is a zero-bias jump in the two IMU sensors. If there is a zero-bias jump, outputting an error code corresponding to the zero-bias jump; Based on the third data and the fourth data, cross-validating whether there is a zero-bias drift in the two IMU sensors. If there is a zero-bias drift, outputting an error code corresponding to the zero-bias drift; Based on the third data and the fourth data, cross-validating whether there is a noise anomaly in the two IMU sensors. If there is a noise anomaly, outputting an error code corresponding to the noise anomaly; Based on the third data and the fourth data, cross-validating whether there is a scale super-difference anomaly in the two IMU sensors. If there is a scale super-difference anomaly, outputting an error code corresponding to the scale super-difference anomaly, where the scale super-difference anomaly characterizes the degree of difference in the data collected between the two IMU sensors; The cross-validating whether there is a zero-bias jump in the two IMU sensors based on the third data and the fourth data includes: Calculating the difference between the gyroscope signal in the third data and the gyroscope signal in the fourth data at the same moment, denoted as the first difference; Calculating the difference between the accelerometer signal in the third data and the accelerometer signal in the fourth data at the same moment, denoted as the second difference; Selecting a sliding window in the time domain; Calculating the mean and standard deviation of the first differences at all moments in the sliding window, denoted as the first mean and the first standard deviation, and calculating the mean and standard deviation of the second differences at all moments in the sliding window, denoted as the second mean and the second standard deviation; If the first mean is greater than a first threshold and the first standard deviation is greater than a second threshold, and / or the second mean is greater than a third threshold and the second standard deviation is greater than a fourth threshold, it is determined that there is a zero-bias jump.
2. The method for fault identification of the MEMS-based IMU system according to claim 1, characterized in that, The cross-validating whether there is a zero-bias drift in the two IMU sensors based on the third data and the fourth data includes: If the first mean is greater than the first threshold and the first standard deviation is less than or equal to the second threshold, and / or the second mean is greater than the third threshold and the second standard deviation is less than or equal to the fourth threshold, it is determined that there is a zero-bias drift.
3. The method for fault identification of the MEMS-based IMU system according to claim 1, characterized in that, Based on the third data and the fourth data, cross-verify whether there is noise abnormality in the two IMU sensors, including: Calculate the variance of the first difference at all times in the sliding window, denoted as the first variance, and calculate the variance of the second difference at all times in the sliding window, denoted as the second variance; If the first variance is greater than the fifth threshold, and / or the second variance is greater than the sixth threshold, it is determined that there is noise abnormality.
4. The method for fault identification of the MEMS-based IMU system according to claim 1, characterized in that, Based on the third data and the fourth data, cross-verify whether there is scale-over-difference abnormality in the two IMU sensors, including: Denote the instantaneous value of the gyroscope signal in the third data as the first instantaneous value, denote the instantaneous value of the gyroscope signal in the fourth data as the second instantaneous value, denote the instantaneous value of the accelerometer signal in the third data as the third instantaneous value, and denote the instantaneous value of the accelerometer signal in the fourth data as the fourth instantaneous value; When both the first instantaneous value and the second instantaneous value are greater than the seventh threshold, or both the third instantaneous value and the fourth instantaneous value are greater than the eighth threshold, determine whether there is scale-over-difference abnormality according to the first instantaneous value, the second instantaneous value, the third instantaneous value, and the fourth instantaneous value; If the ratio of the first instantaneous value to the second instantaneous value is greater than the ninth threshold, and / or the ratio of the second instantaneous value to the first instantaneous value is greater than the ninth threshold, and / or the ratio of the third instantaneous value to the fourth instantaneous value is greater than the ninth threshold, and / or the ratio of the fourth instantaneous value to the third instantaneous value is greater than the ninth threshold, it is determined that there is scale-over-difference abnormality.
5. The method for fault identification of the MEMS-based IMU system according to claim 1, characterized in that Test the first IMU sensor based on the first data and the third data to obtain a first test result; Test the second IMU sensor based on the second data and the fourth data to obtain a second test result, including: Conduct a startup test on the first IMU sensor based on the first data. If there is an abnormality in the startup test, output the error code corresponding to the startup test of the first IMU sensor; Conduct a periodic test on the first IMU sensor based on the third data. If there is an abnormality in the periodic test, output the error code corresponding to the periodic test of the first IMU sensor; Conduct a startup test on the second IMU sensor based on the second data. If there is an abnormality in the startup test, output the error code corresponding to the startup test of the second IMU sensor; Conduct a periodic test on the second IMU sensor based on the fourth data. If there is an abnormality in the periodic test, output the error code corresponding to the periodic test of the second IMU sensor.
6. The method for fault identification of the MEMS-based IMU system according to claim 1, wherein, The method further includes: Test and calibrate the system configuration parameters of the MEMS-based IMU system to obtain a configuration parameter error code; Based on the error codes in the first test result, the second test result, and the cross-validation result, determine the faults of the target MEMS-based IMU system, including: Determine the faults of the target MEMS-based IMU system based on the error codes in the first test result, the error codes in the second test result, the error codes in the cross-validation result, and the configuration parameter error codes.
7. A fault identification device for a MEMS-based IMU system, characterized in that, Including: A data acquisition module for acquiring first data of a first IMU sensor and second data of a second IMU sensor; wherein, the first IMU sensor and the second IMU sensor are heterogeneous IMU sensors in the target MEMS-based IMU system; A data compensation module for performing temperature, cross-coupling, and non-linear compensation on the first data to obtain third data; and performing temperature, cross-coupling, and non-linear compensation on the second data to obtain fourth data; A data testing module for testing the first IMU sensor based on the first data and the third data to obtain a first test result; and testing the second IMU sensor based on the second data and the fourth data to obtain a second test result; A cross-validation module for performing cross-validation on the first IMU sensor and the second IMU sensor based on the third data and the fourth data, and outputting a cross-validation result; A result output module for determining the faults of the target MEMS-based IMU system based on the error codes in the first test result, the second test result, and the cross-validation result; The cross-validation module is further configured to: Based on the third data and the fourth data, cross-validate whether there is a zero-offset jump in the two IMU sensors. If there is a zero-offset jump, output the error code corresponding to the zero-offset jump; Based on the third data and the fourth data, cross-validate whether there is a zero-offset drift in the two IMU sensors. If there is a zero-offset drift, output the error code corresponding to the zero-offset drift; Based on the third data and the fourth data, cross-validate whether there is a noise anomaly in the two IMU sensors. If there is a noise anomaly, output the error code corresponding to the noise anomaly; Based on the third data and the fourth data, cross-validate whether there is a scale hyper-difference anomaly in the two IMU sensors. If there is a scale hyper-difference anomaly, output the error code corresponding to the scale hyper-difference anomaly, where the scale hyper-difference anomaly characterizes the degree of difference in the data collected between the two IMU sensors; The cross-validating whether there is a zero-offset jump in the two IMU sensors based on the third data and the fourth data includes: Calculating the difference between the gyroscope signal in the third data and the gyroscope signal in the fourth data at the same moment, denoted as the first difference; Calculating the difference between the accelerometer signal in the third data and the accelerometer signal in the fourth data at the same moment, denoted as the second difference; Selecting a sliding window in the time domain; Calculating the mean and standard deviation of the first difference at all moments in the sliding window, denoted as the first mean and the first standard deviation, and calculating the mean and standard deviation of the second difference at all moments in the sliding window, denoted as the second mean and the second standard deviation; If the first mean is greater than the first threshold and the first standard deviation is greater than the second threshold, and / or the second mean is greater than the third threshold and the second standard deviation is greater than the fourth threshold, it is determined that a zero-bias jump occurs.
8. A terminal device, comprising: A processor and a memory, where the memory stores a computer program that can run on the processor, characterized in that when the processor executes the computer program, it implements the MEMS-based IMU system fault identification method according to any one of claims 1 to 6.
Citation Information
Patent Citations
State detection method and device, storage medium and sensor
CN117268452A
Monitoring and detection of sensor errors in inertial measurement systems
CN119013533A