Inertial sensor, method for self-calibration of an inertial sensor, and computer-readable medium

By using a computer implementation method of self-calibration in inertial sensors, artificial neural networks combining linear and nonlinear activation functions, the problem of sensitivity deviation of inertial sensors is solved, achieving more accurate calibration and avoiding overfitting.

CN112577515BActive Publication Date: 2025-05-30ROBERT BOSCH GMBH
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202011055044.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-09-30
Filing Date
2020-09-29
Publication Date
2025-05-30
Estimated Expiration
2040-09-29

AI Technical Summary

Technical Problem

The sensitivity of the inertial sensor will deviate from the expected value during use due to changes in mechanical and thermal loads, resulting in inaccurate measurements, especially in the absence of a dedicated test bench.

Method used

Using a self-calibration computer implementation method, through the combination of the first and second artificial neural networks, linear and nonlinear activation functions are used, combined with the upper limit value and the lower limit value, to avoid overfitting, and to achieve more accurate calibration of the sensitivity of the inertial sensor.

Benefits of technology

Effectively avoid overfitting, improves the accuracy of inertial sensor sensitivity calibration, reduces fatal errors, and allows self-calibration without the need for a dedicated test bench.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112577515B_ABST
    Figure CN112577515B_ABST
Patent Text Reader

Abstract

The present invention relates to a computer-implemented method for self-calibration of an inertial sensor. The method has the following steps: determining data related to the inertial sensor; dividing the data into training data and test data; setting a first target accuracy value for a first artificial neural network with a linear activation function; training the first artificial neural network with the training data; inputting the test data into the trained first artificial neural network to obtain a first output value of the first artificial neural network; determining a first output accuracy value based on a comparison result between the first output value and the test data; if the first output accuracy value is greater than the first target accuracy value, storing the weights of the first artificial neural network and the linear activation function in a storage unit of the inertial sensor, or if the first output accuracy value is lower than the first target accuracy value, training the first artificial neural network again with the training data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a computer-implemented method for self-calibration of an inertial sensor. Furthermore, the present invention relates to an inertial sensor for performing the method, a computer program, and a computer-readable medium. Background Art

[0002] Generally, the sensitivity of an inertial sensor is not constant, but deviates from the expected value after welding and during the entire service life due to fluctuations in mechanical and thermal loads. In particular, the ratio between the sensor output value and the sensor input value changes, which results in inaccurate sensor measurements. After installing a microelectromechanical system device (abbreviated as "MEMS device" in English) with an inertial sensor into a target product (such as a smartphone, a drone), it is mostly no longer possible for the customer to accurately characterize and correct the sensitivity of the inertial sensor with the help of a specific test bench, because customers rarely have a dedicated, specific test bench.

[0003] The detection sensitivity of an inertial sensor describes the electrical response to a physical excitation, such as the rotational speed or yaw rate of a gyroscope, or the acceleration of an accelerometer. The sensitivity of an electrical test signal describes the electrical response to an electrical test signal. The two sensitivities mentioned above are two different measures, but they are closely related. The change in the detection sensitivity of an inertial sensor is mainly caused by geometric and structural changes in the structure of the micro-system, such as changes in the spacing between electrodes and sensor elements.

[0004] In a multi-axis gyroscope, at least one pair of test electrodes can be implemented for each of its axes, and the change in the electrical sensitivity of the test signal can be determined for each axis. It has been proposed to apply a first-order linear fit to estimate the sensitivity deviation of each axis. The linear fit is easy to implement. However, the linear fit has low accuracy and cannot model non-linear distortion.

[0005] To handle non-linear behavior, machine learning methods can be applied. A solution for calibrating the thermal pre-stress of a micro-system gyroscope is known from "MEMS gyros temperature calibration through artificial neural networks" by Rita Fontanellaa et al.

[0006] Linear fitting is limited by its complexity. Therefore, linear fitting is not suitable for learning complex functional relationships between data. If the linear function of the relationship between the input and output cannot be approximated appropriately, the model shows poor prediction. Nonlinear activation functions are commonly used in conventional artificial neural networks (English "artificial neural networks" or "ANN"). Through these artificial neural networks, excellent approximations can be achieved, by means of which any type of complex and cumbersome tabular data can be calculated and learned. They represent any non-linear function mapping between the input and output. However, if the number of inputs and / or layers increases, the output suffers from unwanted overfitting (English "overfitting"), which leads to a serious reduction in the accuracy of sensor measurements.

[0007] According to Figure 2 , for example, a comparison of the distributions 80, 90 showing the final sensitivity of an inertial sensor is shown, and the final sensitivity is corrected using a linear fitting function (which approximates the distribution 80 shown by a dashed line) and an artificial neural network with a nonlinear activation function (which approximates the distribution 90 shown by a solid line) respectively. From a statistical point of view, both distributions are symmetric and unimodal. Distribution 80 has a lower probability density and a narrower total range at the mean value of 1.0, while distribution 90 has a higher value at the mean (see the difference 91 shown), but it has a larger total range due to the outliers 92 caused by overfitting. The increased number of points at the mean value of distribution 90 is the desired improvement achieved by the nonlinear activation function.

[0008] Document US 2015 / 0121990A1 discloses a yaw rate sensor, which includes a movable mass structure, a driving component suitable for moving the movable mass structure, and an analysis component suitable for detecting the response of the movable mass structure to the yaw rate. Summary of the Invention

[0009] The present invention realizes a computer-implemented method for self-calibration of an inertial sensor, an inertial sensor for performing the method, a computer program, and a computer-readable medium.

[0010] Preferred extensions are the subject of improved embodiments.

[0011] According to a first aspect, the present invention relates to a computer-implemented method for self-calibration of an inertial sensor. The method has the following steps: determining data related to the inertial sensor; dividing the data into training data and test data; setting a first target accuracy value for a first artificial neural network having a linear and / or non-linear activation function; training the first artificial neural network with the training data; inputting the test data into the trained first artificial neural network in order to obtain a first output value of the first artificial neural network; determining a first output accuracy value based on a comparison result between the first output value and the test data; if the first output accuracy value is greater than the first target accuracy value, storing the weights of the first artificial neural network and the linear and / or non-linear activation function in a storage unit of the inertial sensor, or, if the first output accuracy value is less than the first target accuracy value, training the first artificial neural network again with the training data; determining an upper limit value and a lower limit value for a second artificial neural network having a non-linear activation function based on a pre-given constant and the first output value of the first artificial neural network; training the second artificial neural network with the training data; inputting the test data into the trained second artificial neural network in order to obtain a second output value of the second artificial neural network; comparing the second output value of the second artificial neural network with a value range from the upper limit value to the lower limit value; if the second output value lies within the value range, determining a third output value according to the second output value, and if the second output value does not lie within the value range, determining a third output value according to the first output value; storing the weights and the non-linear activation function of the second artificial neural network and the pre-given constant in the storage unit.

[0012] According to the present invention, a data-based method for estimating a sensitivity error or inaccurate sensitivity of an inertial sensor is proposed. By means of the method according to the present invention, in particular by using the upper limit value and the lower limit value, an undesired overfitting in the prior art is effectively avoided. The cooperation according to the present invention of the first and second artificial neural networks and the strategy according to the present invention for making a decision on the output values of the two neural networks enable an improved correction or calibration of the sensitivity of the inertial sensor.

[0013] Advantageously according to the present invention: when the inertial sensor detects a signal, due to the configuration of the first and second artificial neural networks, the final sensitivity distribution of the inertial sensor does not have outliers due to overfitting, which avoids a fatal error regarding the sensitivity of the inertial sensor.

[0014] In the method according to the invention, as much information as possible related to the inertial sensor is considered and relevant features are automatically extracted, and additional complex measurements do not have to be performed on a dedicated specific test bench. The information includes, for example, the test signals of the inertial sensor and environmental changes, process tolerances, structural asymmetries, and other inherent characteristics that are difficult to process by linear functions obtained during the service life (by the sensor's analysis and processing ASIC). In a multi-axis sensor, due to mechanical and electrical couplings introduced during the design, manufacturing process, and packaging of different axes, the method according to the invention also considers the relationships between the axes. In other words, the method according to the invention uses information about other axes to estimate the biased sensitivity of each axis. Therefore, compared with using a linear fitting function, the sensitivity error or sensitivity deviation of the inertial sensor can be predicted more accurately according to the invention.

[0015] According to the invention, it is furthermore advantageous to set the first target accuracy value to the desired value during the training phase of the first artificial neural network for comparison with the first output accuracy value as the actual value. This ensures the desired training result of the first artificial neural network.

[0016] In a preferred embodiment of the method according to the invention, it is provided that the method further has the following steps: setting a second target accuracy value for the second artificial neural network; determining a second output accuracy value based on the comparison result between the third output value and the test data; if the second output accuracy value is greater than the second target accuracy value, storing the weights, non-linear activation function, and pre-given constants of the second artificial neural network in the storage unit, or if the second output accuracy value is less than the second target accuracy value, retraining the second artificial neural network with the training data.

[0017] Particularly advantageously, the second target accuracy value is set to the desired value during the training phase of the second artificial neural network for comparison with the second output accuracy value as the actual value. This ensures the desired training result of the second artificial neural network.

[0018] In another preferred embodiment of the method according to the invention, it is provided that a statistical model is established based on the weights and linear and / or non-linear activation functions of the first artificial neural network, the weights and non-linear activation functions of the second artificial neural network, and the pre-given constants stored in the storage unit. With the aid of this model, the sensitivity deviation can be identified after the inertial sensor is installed in the device, and the sensor can be self-calibrated.

[0019] In another preferred embodiment of the method according to the invention, it is provided that the signal is detected by an inertial sensor and a statistical model is applied in such a way that the detected signal is input into the model and the model outputs a fourth output value. This fourth output value can be used as the calibrated output value of the inertial sensor according to the invention.

[0020] In another preferred embodiment of the method according to the invention, it is provided that the detected signal is input into a first artificial neural network and a second artificial neural network of the model in order to obtain a fifth output value of the first artificial neural network and a sixth output value of the second artificial neural network.

[0021] In another preferred embodiment of the method according to the invention, it is provided that if the sixth output value lies within a value range obtained on the basis of the fifth output value and a pre-given constant, the fourth output value is determined according to the sixth output value; or if the sixth output value does not lie within this value range, the fourth output value is determined according to the fifth output value. In this way, self-calibration of the inertial sensor can be achieved.

[0022] According to a second aspect, the invention relates to an inertial sensor for carrying out the method according to the first aspect of the invention. The inertial sensor has at least one storage unit, a control unit and a multiply-accumulate unit.

[0023] In a preferred embodiment of the inertial sensor according to the invention, it is provided that the storage unit is provided for storing the weights and linear and / or non-linear activation functions of the first artificial neural network, the weights and non-linear activation functions of the second artificial neural network, the pre-given constant and the detected signal; the control unit is provided for generating addresses in the storage unit and controlling memory access; and the multiply-accumulate unit is provided for multiplying the detected signal or the neural output by the corresponding weights and adding the corresponding products.

[0024] According to a third aspect, the invention relates to a computer program which includes instructions which, when the program is implemented by a computer, cause the computer to carry out the method according to the first aspect of the invention.

[0025] According to a fourth aspect, the invention relates to a computer-readable medium which includes instructions which, when implemented by a computer, cause the computer to carry out the method according to the first aspect of the invention. Description of the Drawings

[0026] The invention is further explained below on the basis of embodiments illustrated in schematic diagrams. The drawings show:

[0027] Figure 1 A highly simplified block diagram showing the basic elements of an embodiment of a computer-implemented method according to the invention;

[0028] Figure 2 Show two distributions of the calibrated sensitivity in the case of using a linear fitting function and an artificial neural network with a non-linear activation function;

[0029] Figure 3 Show the structure of a conventional artificial neural network;

[0030] Figure 4 Show a flowchart of another embodiment of a computer-implemented method according to the present invention;

[0031] Figure 5 Show a flowchart of another embodiment of a computer-implemented method according to the present invention;

[0032] Figure 6 Show a schematically illustrated block diagram of a part of an embodiment of an inertial sensor according to the present invention;

[0033] Figure 7 Show a schematically illustrated embodiment of a computer program according to the present invention;

[0034] Figure 8 Show a schematically illustrated embodiment of a computer-readable medium according to the present invention. Detailed Description

[0035] In the drawings, the same reference numerals denote the same or functionally identical elements.

[0036] In Figure 1 The basic elements of the embodiment of the computer-implemented method according to the present invention shown are a first artificial neural network 10, a second artificial neural network 20 and a unit 25, in particular a processor, which is used to control the limit value of the output of the second artificial neural network 20 and to determine the final output value.

[0037] The first and second artificial neural networks 10, 20 can be respectively constructed on a conventional artificial neural network, and the structure of the conventional artificial neural network looks, for example, as Figure 3 shown. Figure 3 The conventional artificial neural network shown in has an input layer 11 with three inputs 13, a hidden layer 15 with three neurons 17 and an output layer 27 with one neuron 19. The output of the neuron 19 is denoted by the reference numeral 21. Each neuron has an activation function 23.

[0038] The input data 2 is provided not only to the first artificial neural network 10 but also to the second artificial neural network 20 (see Figure 1 ). The first artificial neural network 10 uses a linear activation function to generate a prediction y cThe second artificial neural network 20 uses a non-linear activation function to generate a prediction y f In unit 25, based on the prediction y in the following manner c and a pre-given constant c 0 an upper limit value b and a lower limit value b are generated for the second artificial neural network 20 U L :

[0039] b U = y c + c 0 ,

[0040] b L = y c – c 0

[0041] These two limit values define the allowed range of the prediction y f within which the prediction y f is considered not to be overfitted. The prediction y f is compared with the upper and lower limits. If the prediction y f lies between the two, the prediction is accepted as a valid output 4. Otherwise, the prediction y f is considered to be a value with a high probability of overfitting and is not accepted as a valid output. In this case, alternatively, the prediction y c is used as the valid output 4 to correct the sensitivity bias.

[0042] Before applying the method according to the invention to the self-calibration of an inertial sensor using the inertial sensor, the corresponding first and second artificial neural networks 10, 20 must first be trained. For this purpose, existing measurement data is used.

[0043] Figure 4 Fig. shows a flowchart of an embodiment of a computer-implemented method according to the invention. In step S10, the measurement data related to the inertial sensor is determined as described above. In step S20, the measurement data is divided into training data and test data, and a first target accuracy value is set for the first artificial neural network 10. In step S30, the first artificial neural network 10 is initialized, and the first artificial neural network 10 is trained with the training data.

[0044] In step S40, test data is input into the trained first artificial neural network 10 to obtain a first output value of the first artificial neural network 10, and a first output accuracy value is determined based on the comparison result between the first output value and the test data. In step S50, if the first output accuracy value is greater than the first target accuracy value, the weights and linear activation function of the first artificial neural network 10 are stored in the storage unit of the inertial sensor. Otherwise, that is, if the first output accuracy value is less than the first target accuracy value, the first artificial neural network 10 is retrained with the training data in step S35.

[0045] If the weights and linear activation function of the first artificial neural network 10 have been saved, an upper limit value and a lower limit value for the second artificial neural network 20 are determined based on a pre-given constant and the first output value of the first artificial neural network 10. A second target accuracy value is set for the second artificial neural network 20. In step S60, the second artificial neural network 20 is initialized, wherein the second artificial neural network 20 is trained with the training data.

[0046] In step S70, test data is input into the trained second artificial neural network 20 to obtain a second output value of the second artificial neural network 20. The second output value of the second artificial neural network 20 is compared with the value range from the upper limit value to the lower limit value. If the second output value is within this value range, the third output value or the final output 4 is determined as the second output value. Otherwise, that is, if the second output value is not within this value range, the final output 4 is determined as the first output value. A second output accuracy value is determined based on the comparison result between the third output value and the test data. If the second output accuracy value is greater than the second target accuracy value, in step S80, the weights, non-linear activation function and pre-given constant of the second artificial neural network 20 are stored in the storage unit. Otherwise, in step S65, the second artificial neural network 20 is retrained with the training data.

[0047] Figure 5 An example showing how the method according to the invention is used for the self-calibration of an initial sensor with multiple axes is presented. The application-specific integrated circuit (ASIC) of the initial sensor measures the electrical sensitivity for each axis, determines the current temperature and other necessary system parameters. The real-time measured data 30 and the stored parameters or measured data 32 are combined into an input vector. Based on the model parameters obtained during training, the first and second artificial neural networks 10, 20 generate their outputs y C and y F . Additionally, an upper limit value b C and a lower limit value and b U are generated based on the output y L . By comparing the output yF with the limit value b U and b L is compared, and a decision on the final result is made in step S90. If the output y F is located between b U and b L , then the output y F is regarded as the final valid output. Otherwise, the output y C is used.

[0048] Figure 6 FIG. schematically shows a block diagram showing a part of an embodiment of an inertial sensor according to the present invention. The inertial sensor has three storage units 34, 36, 38, a control unit 40, and a multiply-accumulate operation unit 42.

[0049] The first storage unit 34 can be set to store the weights of the two artificial neural networks 10, 20 obtained during the training process, pre-given constants, and the activation functions of the first artificial neural network 10, such as Relu and / or Satlin. Alternatively, simple non-linear activation functions such as Relu and / or Satlin can be directly used by programming without storage. This simplifies the process. The second storage unit 36 is used to buffer the signals detected in real time and the outputs of the neurons during the calculation. The third storage unit 38 is a look-up table, which is set to store complex non-linear activation functions such as the Sigmoid function and / or the Tansig function.

[0050] The control unit 40 generates addresses for the storage units 34, 36, 38 and controls which address to access in each step. The multiply-accumulate operation unit 42 multiplies the detected signal or neural output by its corresponding weight and adds the product to the previous product to form an accumulated sum.

[0051] In each step, the control unit 40 generates two addresses respectively denoted by reference numerals 48, 50 to access the storage units 34, 36. Based on the address 48, the storage unit 34 outputs the weight coefficient w i . Based on the address 50, the storage unit 36 generates the value x i , which is either the measured value or the output of the previous neuron. The multiply-accumulate operation unit 42 obtains the accumulated sum as follows:

[0052] p i,j+1 =x i,j ×w i,j +p i,j ,

[0053] where i and j represent the i-th neuron and the j-th input / weight of the neuron. p i,Involves the sum of the accumulations of all products for the i-th neuron in the j-th step. For each neuron, the first accumulated product sum p i,0 is zero. This calculation is repeated until all inputs for that neuron have been involved (see step S92). After that, the final product sum of the i-th neuron is sent as an input to the lookup table 38, and the final output of the i-th neuron is determined as n i . This value is provided for the next calculation of the control unit 36. This calculation is repeated until all neurons of the neural network have been processed. The output y C stored in the buffer 44 of the first artificial neural network 10 U and the limit values b L and b

[0054] are used to make a final decision for the final output 4 at the decision maker 46. Figure 7 An embodiment of the computer program 200 according to the present invention, shown in Figure 4 , includes instructions 250 that, when the program 200 is implemented by a computer, cause the computer to implement the method according to

[0055] In Figure 8 An embodiment of the computer-readable medium 300 according to the present invention, shown in Figure 4 , includes instructions 350 that, when implemented by a computer, cause the computer to implement the method according to

[0056] Although the present invention has been fully described above according to preferred embodiments, the present invention is not limited thereto, but can be modified in various ways. For example, the method according to the present invention can also be used to monitor the system state in order to identify functional failures of defective chips. The method according to the present invention can also be used to predict new system parameters.

Claims

1. A computer-implemented method for self-calibration of an inertial sensor, the computer-implemented method having the following steps: Determine (S10) data related to the inertial sensor; Divide (S20) the data into training data and test data; Set a first target accuracy value for a first artificial neural network (10) having a linear and / or non-linear activation function; Train (S30) the first artificial neural network (10) with the training data; Input (S40) the test data into the trained first artificial neural network (10) to obtain a first output value of the first artificial neural network (10); Determine a first output accuracy value based on a comparison result between the first output value and the test data; If the first output accuracy value is greater than the first target accuracy value, store (S50) the weights of the first artificial neural network (10) and the linear and / or non-linear activation function in the storage unit (34, 36, 38) of the inertial sensor, or, if the first output accuracy value is less than the first target accuracy value, retrain (S35) the first artificial neural network (10) with the training data; Determine an upper limit value and a lower limit value for a second artificial neural network (20) having a non-linear activation function based on a pre-given constant and the first output value of the first artificial neural network (10); Train (S60) the second artificial neural network (20) with the training data; Input (S70) the test data into the trained second artificial neural network (20) to obtain a second output value of the second artificial neural network (20); Compare the second output value of the second artificial neural network (20) with a value range from the upper limit value to the lower limit value; If the second output value is within the value range, determine a third output value according to the second output value, or, if the second output value is not within the value range, determine the third output value according to the first output value; Store (S80) the weights of the second artificial neural network (20), the non-linear activation function, and the pre-given constant in the storage unit (34, 36, 38).

2. The computer-implemented method according to claim 1, wherein, the computer-implemented method further has the following steps: Set a second target accuracy value for the second artificial neural network (20); Determine a second output accuracy value based on a comparison result between the third output value and the test data; If the second output accuracy value is greater than the second target accuracy value, store (S80) the weights of the second artificial neural network (20), the non-linear activation function, and the pre-given constant in the storage unit (34, 36, 38), or, if the second output accuracy value is less than the second target accuracy value, retrain the second artificial neural network (20) using the training data again (S65).

3. The computer-implemented method according to claim 1 or 2, wherein, a statistical model is established based on the weights of the first artificial neural network (10), the linear and / or non-linear activation function, the weights of the second artificial neural network (20), the non-linear activation function, and the pre-given constant stored in the storage unit.

4. The computer-implemented method according to claim 3, wherein, a signal is detected by the inertial sensor, and the statistical model is applied by: inputting the detected signal into the model and the model outputs a fourth output value.

5. The computer-implemented method according to claim 4, wherein, the detected signal is input into the first artificial neural network (10) and the second artificial neural network (20) of the model to obtain a fifth output value of the first artificial neural network (10) and a sixth output value of the second artificial neural network (20).

6. The computer-implemented method according to claim 5, wherein, a value range is obtained based on the fifth output value and the pre-given constant, and if the sixth output value is within the value range, the fourth output value is determined according to the sixth output value; or, if the sixth output value is not within the value range, the fourth output value is determined according to the fifth output value.

7. An inertial sensor for performing the method according to any one of claims 1 to 6, the inertial sensor having at least one storage unit (34, 36, 38), a control unit (40), and a multiply-accumulate operation unit (42).

8. The inertial sensor according to claim 7, wherein, the storage unit (34, 36, 38) is configured to store the weights of the first artificial neural network (10), the linear and / or non-linear activation function, the weights of the second artificial neural network (20), the non-linear activation function, the pre-given constant, and the detected signal; the control unit (40) is configured to generate an address in the storage unit (34, 36, 38) and control memory access; the multiply-accumulate operation unit (42) is configured to multiply the detected signal or neural output by the corresponding weights and add the corresponding products.

9. A computer program product (200), the computer program product comprising instructions (250) that, when the computer program product (200) is implemented by a computer, cause the computer to implement the method according to any one of claims 1 to 6.

10. A computer-readable medium (300), the computer-readable medium comprising instructions (350) that, when implemented by a computer, cause the computer to implement the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Self-test for yaw rate sensors

    US20150121990A1

  • Microprocessors, devices, and methods for use in monitoring of physiological analytes

    US20050069925A1

  • Perception device

    US20190034762A1