=Paper=
{{Paper
|id=Vol-3097/paper39
|storemode=property
|title=A Stepwise Simple Self-Calibration Method for Low-Cost MEMSIMU
|pdfUrl=https://ceur-ws.org/Vol-3097/paper39.pdf
|volume=Vol-3097
|authors=Shaobing Liu,Xinchun Ji,Dongyan Wei,Wenchao Zhang,Qifeng La
|dblpUrl=https://dblp.org/rec/conf/ipin/LiuJWZL21
}}
==A Stepwise Simple Self-Calibration Method for Low-Cost MEMSIMU==
A Stepwise Simple Self-Calibration Method for Low-Cost MEMS- IMU Shaobing Liu1,2, Xinchun Ji 2, Dongyan Wei1,2, Wenchao Zhang2, Qifeng Lai2 1 School of Optoelectronics, University of Chinese Academy of Sciences, Beijing 100049, China 2 Aerospace Information Research Institute, Chinese Academy of Sciences, Beijing 100094, China Corresponding author: Xinchun Ji (jixc@aircas.ac.cn) Abstract The low-cost MEMS-IMU is affected by the biases, the scale factors and the misalignment errors, which will cause the measurement errors of the IMU, and then cause the large system errors. Traditional calibration method based on laboratory turntable is complicated and expensive, so it has become a trend to study the self-calibration method without relying on special equipment such as turntable. In traditional self-calibration methods, 12 full error parameters of accelerometer are usually estimated at one time with optimization estimation algorithm, which will cause the problem of high complexity, long estimation time and low accuracy. In this paper, we proposed a stepwise self-calibration method by estimating the biases and other 9 error parameters step by step, under which the estimation accuracy can be improved and the algorithm complexity can also be reduced. In addition, considering the characteristics of gyroscope biases successive start fluctuation, online calibration strategy of the gyroscope biases is also adopted. Turntable experiment shows that the 24 error parameters of accelerometer and gyroscope can be calibrated quickly in 8 minutes by the method proposed in this paper. The estimation efficiency is 10~20 times faster than that of one-time estimation method. The calibration errors of the accelerometer are within 0.2 m/s2, the calibration errors of the gyroscope are within 0.5 °/s, and the calibration accuracy is more than 95%. Keywords 1 MEMS-IMU, simple self-calibration, stepwise algorithm 1. Introduction In recent years, the pedestrian dead reckoning (PDR) system [1] and motion capture system [2] based on low-cost MEMS-IMU have been widely and urgently applied in military and civilian fields. The measurement accuracy of IMU largely determines the accuracy of PDR system and motion capture system. Especially for MEMS-IMU, the large biases, scale factor errors, and misalignment errors seriously affect the accuracy and performance of the above-mentioned system. Therefore, if these errors can be identified and calibrated before IMU is used, their impact on IMU performance can be reduced. In [3]-[5], in order to achieve higher calibration accuracy, high-precision turntable or other professional external equipment are used, resulting in the cost of calibration often exceeds the cost of IMU hardware. In order not to introduce expensive professional equipment such as turntable, the external sensor observation, such as optical tracker, is introduced in [6][7] to assist IMU calibration, and its accuracy largely depends on the accuracy of the external sensor used. In order to completely get rid of the dependence on external equipment and sensors, the method based on multi position was first proposed in [8] to calibrate the biases and scale factors of accelerometer sensors in medical equipment. In [9], the multi-position method is improved, and the calibration of the misalignment errors is completed on the basis of the calibration of the biases and the scale factors, and the error model of the gyroscope is introduced, but it needs to rely on the single-axis turntable to assist the errors calibration IPIN 2021 WiP Proceedings, November 29 – December 2, 2021, Lloret de Mar, Spain EMAIL: liushaobing19@mails.ucas.ac.cn (Shaobing Liu) ; jixc@aircas.ac.cn (Xinchun Ji) ORCID: 0000-0002-6097-630X (Shaobing Liu) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) of gyroscope. In [10]-[12], the calibration of the gyroscope and accelerometer biases, scale factors, and misalignment errors can be completed only by manual rotation. However, it is necessary to design multiple data acquisitions for the accelerometer and the gyroscope, and the calibration process is relatively cumbersome. In addition, the calibration algorithm needs to estimate 12 error parameters of the accelerometer or gyroscope at the same time. The algorithm complexity is relatively high, and the running time is usually as long as half an hour or even an hour. In this paper, we proposed a stepwise self-calibration method for low-cost MEMS-IMU, which can calibrate the biases, scale factors, and misalignment errors of accelerometer and gyroscope. In the calibration process, there is no need to introduce external professional equipment and sensors as reference values, just manually rotate the MEMS-IMU to make it in different static positions. The whole data acquisition and parameter estimation process only takes about 8 minutes, and there is no need to separate data acquisition for the accelerometer and gyroscope. The stepwise identification and estimation of the accelerometer error parameters can reduce the complexity while improving the estimation accuracy. On the basis of self-calibration compensation, the online bias estimation method is used to minimize the impact of different startup conditions. This method is suitable for simple and fast calibration of IMU in PDR positioning (which based on smart phone, foot-mounted equipment), motion capture and other scenarios. 2. Sensor error models 2.1. Accelerometer error models For low-cost MEMS-IMU, the accuracy requirement is far lower than for high-performance IMU. We can build the accelerometer error model with three deterministic error parameters including the biases, scale factors, and misalignment errors: a = Ta ( A − ba ) (1) where a = [ax , a y , az ]T represent the calibrated values of the three axes of the accelerometer. A = [ Ax , Ay , Az ]T represent the raw measured values of the three axes of the accelerometer. ba = [bax , bay , baz ] represent the biases of the three axes of the accelerometer, that is, the output when the Sax yz zy input value is zero. Ta = xz Say zx , where Sax , Say , Saz represent the scale factors of the three axes of S xy yx az the accelerometer, that is, the proportional relationship between the raw measured value and the actual measured specific force of the accelerometer. yz , zy , xz , zx , xy , yx represent the misalignment errors between the accelerometer three axes and IMU carrier coordinate system, for example, yz represents the rotation offset of the y axis of the accelerometer around the x axis of the IMU carrier coordinate system, zy , xz , zx , xy and yx are similar. The details are shown in Figure 1. za zb zx zy yx xy ya xb yz yb xz xa Figure 1: Misalignment errors of the accelerometer Therefore, the accelerometer error parameters vector to be calibrated can be denoted as: acce = [Sax , Say , Saz , yz , zy , xz , zx , xy , yx , bax , bay , baz ] (2) In the static state, the ideal three-axis output values of accelerometer should be equal to the component of local gravity acceleration in its three-axis, so the cost function used to estimate the error parameters of the accelerometer can be denoted as: N L( acce ) = ( g − a ) 2 (3) n =1 where N represents the total number of static intervals in the data acquisition process, g represents the local acceleration of gravity (the unit is m/s2). 2.2. Gyroscope error models The error modeling of the MEMS gyroscope is similar to MEMS accelerometer. We can build the gyroscope error model with three deterministic error parameters including the biases, scale factors, and misalignment errors: = Tg (W − bg ) (4) where = [x , y , z ]T represent the calibrated values of the three axes of the gyroscope. W = [Wx ,Wy ,Wz ]T represent the raw measured values of the three axes of the gyroscope. bg = [bgx , bgy , bgz ] S gx yz zy represent the biases of the three axes of the gyroscope. Tg = xz S gy zx , where S gx , S gy , S gz represent S xy yx gz the scale factors of the three axes of the gyroscope, that is, the proportional relationship between the raw measured value of the gyroscope and the actual measured angular velocity. yz , zy , xz , zx , xy , yx represent the misalignment errors between the gyroscope three axes and IMU carrier coordinate system, for example, yz represents the rotation offset of the y axis of the gyroscope around the x axis of the IMU carrier coordinate system, zy , xz , zx , xy , yx are similar. For the gyroscope bias, we obtain it by the mean value of the initial static phase in this paper. After subtracting the bias from the original data of the gyroscope, the other error parameters can be estimated by optimization algorithm. So the other parameters of the gyroscope to be calibrated can be denoted as: gyro =[ S gx , S gy , S gz , yz , zy , xz , zx , xy , yx ] (5) Take the data k obtained by the gyroscope in the dynamic interval between the (k − 1)-th static interval and the k -th static interval and the gravity vector ua , k −1 after the accelerometer calibration at the initial moment of the dynamic interval as input. u g , k represents the gravity vector at the final moment of the dynamic interval calculated from the gyroscope data. Then there is: u g , k = (k , ua , k −1 ) (6) where is an operator which means converting k and ua , k −1 to u g , k , that is, converting the initial gravity vector and the rotation matrix calculated from gyroscope data to obtain the final gravity vector. We use quaternion to calculate the rotation matrix in this paper. Between two static intervals, the quaternion q ' at the next moment can be updated from the quaternion q at the current moment and the incremental quaternion q , which can be denoted as: q0 ' q0 − wx q1 − wy q2 − wz q3 q1 ' = q1 + 1 wx q0 + wz q2 − wy q3 (7) q2 ' q2 2 wy q0 − wz q1 + wx q3 q3 ' q3 wq +w q −w q z 0 y 1 x 2 where = [x , y , z ] can be calculated from the three-axis data of the gyroscope. By updating the quaternion of two static intervals, the final direction quaternion is qk = a, b, c, d , T and then the rotation matrix can be obtained: a 2 + b2 − c 2 − d 2 2(bc + ad ) 2(bd − ac) R = 2(bc − ad ) a 2 − b2 + c2 − d 2 2(cd + ad ) (8) 2(bd + ac) 2(cd − ab) a 2 − b 2 − c 2 + d 2 The gravity vector of the k -th static interval can be calculated from the rotation matrix R and the (k − 1)-th static interval gravity vector: u g , k = Rua , k −1 (9) Therefore, the cost function for estimating the error parameters of the gyroscope can be denoted as: N −1 L( gyro ) = ( ua , k − ug , k ) 2 (10) n =1 where ua , k represents the gravity vector which obtained by calibrated accelerometer in the k -th static interval, and u g , k represents the gravity vector calculated from the gyroscope data. 3. Self-calibration data acquisition method 3.1. Initial static time estimation based on Allan variance Gyroscope bias is one of the most important sources of gyroscope measurement errors. In the case of no external auxiliary equipment, we can take the average value of static gyroscope data as the gyroscope bias [13][14]. In this paper, we use Allan variance to determine the static time Tinit which is needed to estimate the three-axis biases of gyroscope. Allan variance is proposed by D. W. Allan for the study of oscillator stability. It can calculate the variance of the difference between the mean values of continuous interval data. We divide the data into different interval clusters, and the length of each interval is = 0 , 2 0 ,..., m 0 , where 0 represents the sample time of the IMU module. The Allan variance 2 can be denoted as [15] : 1 1 K 2 = 2 (k ( ) − k −1 ( ))2 = 2 K k =1 ( k ( ) − k −1 ( )) 2 (11) where <> represents to calculate the ensemble average, and ( ) represents the average of the k -th k interval. K represents the total number of intervals. In this paper, we calculate the Allan standard deviation for the static gyroscope three-axis data of the uncalibrated IMU module for 2 hours, and the result curves are shown in Figure 2. With the increase of the average time, the value of 2 gradually decreases and tends to be stable, which means that the gyroscope bias tends to stabilize during this period, so this period of time can be used as the static time for estimating the gyroscope bias. It can be seen from Figure 2 that it takes at least 100 seconds for the Allan standard deviation of the IMU module to stabilize to a stable value. Therefore, during our calibration, the IMU module is first placed statically for 120 seconds to collect data for estimating the biases of the gyroscope. Figure 2: The Allan standard deviation plot of the three-axis data of the uncalibrated gyroscope 3.2. Static and dynamic interval detection In this paper, we use the data of static interval to calibrate the error parameters of accelerometer and the biases of gyroscope, and use the data of dynamic interval to calibrate the scale factors and misalignment errors of gyroscope. Therefore, the result of the detection and division of the dynamic and static intervals has a great influence on the accuracy of the calibration results. In traditional interval detection methods, a quasi-static detection model is generally proposed by sequentially processing the accelerometer data with high-pass filtering, signal rectification and low-pass filtering. However, the result is not ideal in experimental application, small motion cannot be detected, and the choice of its threshold also has a greater impact on the result. The dynamic and static interval detection method proposed in this paper uses the sum of squares of the variance of the accelerometer data in the initial static time as the initial threshold, and then multiplies the threshold by an appropriate multiplier as the final threshold. The multiplier can be determined by the residual of accelerometer fitting results under different multipliers. The initial threshold can be denoted as: TSinit = ( init ( Ax ))2 + ( init ( Ay ))2 + ( init ( Az ))2 (12) where TSinit represented the initial threshold, which is calculated from the initial static accelerometer data within 120 seconds. init represents calculating the variance of the accelerometer data within the initial Tinit seconds. In order to complete the detection and division of static and dynamic intervals, we need to calculate the sum of squares of the variance of the accelerometer data in a fixed period of time: v = ( f ( Ax ))2 + ( f ( Ay ))2 + ( f ( Az ))2 (13) where f represents the output frequency of the IMU module, which is 100Hz in this paper. When v TSinit multiplier , it is regarded as dynamic, otherwise it is regarded as static. In addition, due to the manual movement and placement of modules for data collection, some unexpected jitters in a very short period of time cannot be avoided, which will result in the ideal division result cannot be obtained. For the division result by the above method, if the length of the dynamic interval is too small, it will be merged into the previous static interval. In the same way, when the length of the static interval is too small, it is merged into the previous dynamic interval, and the detection and division of the static and dynamic interval are finally completed. As shown in Figure 3, the black line represents the dynamic and static interval detection results, and the multiplier in Figure 3 is 2. Figure 3: The plot of static and dynamic interval detection 3.3. Manual data acquisition According to the calibration theory and method used in this paper, the following data acquisition method is proposed: 1) After the IMU module is turned on, it is first placed at rest for 120 seconds to calculate the threshold value which is required for the gyroscope biases and the dynamic and static interval division. 2) For accelerometers, we need to identify 3 biases, 3 scale factors, and 6 misalignment errors, a total of 12 parameters. Therefore, at least 12 sets of data at different positions are required. In order to achieve better optimization fitting and identification result, the IMU module should be placed in as many different positions as possible to make each error easier to be observed. We place the 6 faces and 12 edges of the IMU module vertically downwards, and we can get 18 sets of data in different positions. On the basis of 18 positions, putting each corner of the IMU module vertically downwards, we can get 8 sets of data in different positions, and finally a total of at least 26 sets of data in different positions can be obtained. As shown in Figure 4 and Figure 5, Figure 4 is the schematic diagram of each location, and Figure 5 is an example of the experimental IMU module placement. Since the IMU module is placed manually, the attitude of each position does not need to be placed strictly, but the attitude of each position should be significantly different as far as possible. z y z x z x x y a b c Figure 4: Schematic diagram of position arrangement Figure 5:The example of the experimental IMU module placement 3) In order to simplify the process of data acquisition, there is no need to collect data separately for the accelerometer and the gyroscope. Only the data of the rotation and movement of the IMU module during the switch between different positions in Section 3.3-2) are used as the data for the calibration of the gyroscope. During the rotation and movement process, the IMU module should be rotated at a large angle appropriately to make the errors accumulate more obviously. In addition, we can try to rotate only one axis of gyroscope, so as to calibrate the scale factor better. And try to rotate only two axes of gyroscope, so as to calibrate the misalignment errors better. 4. Stepwise calibration and biases online calibration method 4.1. Stepwise calibration method We use the Gauss Newton algorithm to optimize equation (3) and equation (10). The initial value setting of the parameter to be estimated has a great influence on the fitting speed and effect of the algorithm, and the algorithm may have a local minimum possible. But in order to meet the general situation, we set the initial value of the parameter to the default initial value, for example, the scale factor are set to 1 and other items are set to 0. During the experiment, it is found that if 12 parameters need to be identified and estimated at one time, the calculation amount is large, the calculation time is long and the fitting effect is poor. It can be observed from the error model in Section 2 that the accelerometer bias is relatively independent of other error parameters, similar to the gyroscope bias, so we propose the stepwise calibration method to estimate the acceleration error parameters. First, 3 bias parameters are estimated. Through the verification of many experimental results and comparison with the true value of turntable calibration, the estimated biases are close to the true value. And then the estimated biases are used as known items to assist in estimating the other 9 error parameters of the accelerometer. Since the initial value of the biases are close to the true value at this time, the estimation accuracy of the other 9 parameters will be better than the method of one-time estimation 12 parameters when the initial value of the biases are set to 0. In addition, the speed of stepwise method is obviously faster than the speed of one-time estimation. The specific stepwise estimation method is as follows. Assuming that the x-axis of the accelerometer coincides with the x-axis of the IMU carrier, and the y-axis lies on the x-y axis plane of the carrier coordinate system. Based on the above assumption, we first set xz , xy and yx to 0, and estimate the other nine parameters, that is, the parameter vector to be estimated is set to: acce = [ S ax , S ay , S az , yz , zy ,0, zx ,0,0, bax , bay , baz ] (14) The initial value is set to the default initial value, that is: acce = [1,1,1,0,0,0,0,0,0,0,0,0] (15) Firstly, the three-axis biases can be estimated through the Gauss Newton algorithm, and then we use the estimated three-axis biases bcali , bcali , bcali of the accelerometer as a known value, that is, the parameter ax ay az vector to be estimated is: acce = [ Sax , Say , Saz , yz , zy , xz , zx , xy , yx , baxcali , baycali , bazcali ] (16) Therefore, the initial value can be set to: acce = [1,1,1,0,0,0,0,0,0, baxcali , baycali , bazcali ] , Then the scale factors and misalignment errors can be estimated through the Gauss Newton algorithm. Estimating the accelerometer three biases and other nine error parameters by the stepwise estimation method can effectively improve the accuracy of errors identification and the efficiency of the algorithm. For the error parameters estimation of gyroscope, the biases are estimated by the mean value in the initial static phase, so the parameters involved in the optimization estimation algorithm are only nine other parameters except the three biases. And there is no need to adopt a stepwise estimation method. 4.2. Online calibration of gyroscope biases Gyroscope bias can generally be divided into two parts: static component and dynamic component. The dynamic component is caused by the bias instability during its work. The static component includes the constant value bias and the successive start bias, and the latter will fluctuate in a certain range due to the instability of successive startup and has a certain randomness. Especially for the low-cost MEMS gyroscope, the bias fluctuation is more obvious and the range is larger. The three-axis self-calibration biases of the IMU module used in the experiment every half a month are shown in Figure 6. Their fluctuation is more obvious, only relying on a certain self-calibration biases to compensate for them, the effect may not be ideal and will affect measurement accuracy of the IMU. In this paper, based on the self-calibration parameter compensation, we use the online calibration strategy for the gyroscope biases, that is, the average values of the three-axis of the gyroscope after the compensation of the self-calibration parameters with any static time greater than 20 seconds under the working state is taken as the gyroscope bias of online calibration. The combined use of self-calibration and online biases calibration can further improve the measurement accuracy of the MEMS-IMU. Figure 6: The plot of biases of gyroscope successive startup every half a month 5. Calibration experiment and verification 5.1. Self-calibration experiment We use the laboratory self-made IMU module shown in Figure 5 for self-calibration experiments. The model of the three-axis accelerometer of the IMU module is ADXL356B, the model of the x-axis and y-axis gyroscope is CRM100, and the model of the z-axis gyroscope is CRM200, and its index parameters are shown in Table 1. Table 1 The performance index parameters of IMU module parameters accelerometer gyroscope full-scale range 10g 900 s nonlinearity 0.1%FSR 0.16%FSR noise density 80 g Hz 0.018 s / Hz bias instability 0.1g 40 h velocity/angular random walk 45 m / s / h 0.28 h We use the scheme proposed in Section 3 for data acquisition. After powering on, we first place it at rest for 120 seconds, and then rotate in turn to include at least 26 positions described in Section 3.3. In order to fully identify the error parameters, the number of positions in the experiment is generally more than 30. The static time of each position is about 6~7 seconds, and the rotation process between each two positions is about 2~4 seconds. The rotation speed should include slow and fast rotation. We use our method to calibrate the IMU module. During the experiment, it is found that it generally takes 20~30 seconds to estimate 12 parameters of accelerometer by using stepwise method, and the time required to estimate 12 parameters at one time is about 400~500 seconds, which is 10~20 times of that of the stepwise method, and the accuracy of one-time estimation method is lower. In order to verify the consistency of the method, we have carried out 3 times calibration experiments. The results are shown in Table 2 and Table 3: Table 2 Self-calibration results of accelerometer 1 2 3 Mean Std bax -0.110533 -0.110643 -0.110285 -0.110487 1.834e-04 bay -0.113286 -0.112076 -0.111387 -0.112250 9.613e-04 baz -0.131303 -0.132407 -0.132657 -0.132122 7.205e-04 S ax 1.054552 1.054936 1.054534 1.054674 2.271e-04 S ay 1.060421 1.060540 1.060435 1.060465 6.504e-05 S az 1.049615 1.049810 1.049075 1.049500 3.808e-04 yz -0.001268 -0.001131 -0.001310 0.001236 9.361e-05 zy 0.000297 0.000320 0.000309 0.000309 1.150e-05 xz 0.001486 0.001401 0.001529 0.001472 6.514e-05 zx 0.000949 0.000923 0.001060 0.000977 7.276e-05 xy -0.001077 -0.000978 -0.001183 -0.001079 1.025e-04 yx 0.000555 0.000627 0.000576 0.000586 3.703e-05 Table 3 Self-calibration results of gyroscope 1 2 3 Mean Std bgx 0.075457 0.074130 0.075513 0.075033 7.828e-04 bgy -0.030843 -0.030711 -0.030874 -0.030809 8.656e-05 bgz -0.117457 -0.116761 -0.117314 -0.117177 3.676e-04 S gx 1.053946 1.053028 1.053878 1.053617 5.115e-04 S gy 1.053902 1.053446 1.053791 1.053713 2.378e-04 S gz 1.046642 1.046058 1.047067 1.046589 5.066e-04 yz 0.002485 0.002318 0.002211 0.002338 1.381e-04 zy -0.031031 -0.028960 -0.029970 -0.029987 0.001000 xz -0.011401 -0.011664 -0.011714 -0.011593 1.682e-04 zx 0.016304 0.017027 0.015572 0.016301 7.275e-04 xy -0.007958 -0.008698 -0.009015 -0.008557 5.424e-04 yx -0.014107 -0.013481 -0.014178 -0.013922 3.836e-04 5.2. Verification of the self-calibration results We use the turntable to verify the self-calibration results. For the accelerometer ,we install the IMU module tooling on the three-axis turntable, and keep the x, y, and z axis of the IMU facing north, east, and ground. Then we adjust the turntable in turn and make the angles between the three axes of the IMU and the north, east, and ground directions be 0, 0, 0 , 30, 0,30 , 60, 0, 60 and 90, 0, 0 respectively (the unit is degree (°)). Then we collect the data of each position, and the true value of the three axes in the corresponding position is 0, 0, -9.8016 , 4.9008, 0, -8.4884 , 8.4884, 0, -4.9008 and 9.8016, 0, 0 (which represent the component of gravity on each axis respectively, and the unit is m s 2 ). We use the self- calibration parameters to compensate accelerometer raw data. The raw value, self-calibration value and true value of the accelerometer are shown in Figure 7. At each position, the three-axis self-calibration value and the true value curve basically coincide. Figure 7 (a) and Figure 7 (c) show that the calibration results of biases and scale factors of accelerometer have high accuracy. Figure 7 (b) shows that the calibration result of the misalignment errors has high accuracy, so that the gravity component caused by the misalignment errors at each position is basically eliminated. The average errors between the compensation values and the true values of the x-axis, y-axis, and z-axis are 0.0279 m s 2 , 0.0122 m s 2 , and 0.0556 m s 2 respectively, and the compensation accuracy is more than 95%. (a) Compensation results of x-axis accelerometer (b) Compensation results of y-axis accelerometer (c) Compensation results of z-axis accelerometer Figure 7: Compensation results of accelerometer before and after self-calibration For the gyroscope, we adjust the turntable to make the z-axis of IMU vertically upward, and give the z-axis of IMU module a positive angular velocity of 0, 30, 60, 90 and 120 (the unit is °/ s), and the angular velocity of x-axis and y-axis are 0 °/ s. Then we collect the data of each angular velocity. We use the self-calibration parameters to compensate gyroscope raw data. The raw value, self-calibration value and true value of the gyroscope are shown in Figure 8. Similar to the accelerometer, the compensation value and the true value curve basically coincide at each angular velocity. Figure 8 (a) and Figure 8 (c) show that the calibration results of biases and scale factors of gyroscope have high accuracy. Figure 8 (b) shows that the calibration result of the misalignment errors has high accuracy, so that the angular velocity component caused by the misalignment errors at each angular velocity is basically eliminated. The average errors between the compensation values and the true values of the x-axis, y-axis, and z-axis are 0.0986°/s, 0.1265°/s, 0.2801°/s respectively, and the compensation accuracy is also more than 95%. (a) Compensation results of x-axis gyroscope (b) Compensation results of y-axis gyroscope (c) Compensation results of z-axis gyroscope Figure 8: Compensation results of gyroscope before and after self-calibration 6. Conclusion In this paper, we propose a stepwise simple self-calibration method for low-cost MEMS-IMU. In the calibration process, no auxiliary equipment is needed, and the calibration can be completed only by manually turning the IMU module. In order to reduce the complexity of the algorithm and improve the accuracy of the optimization estimation, we adopt a stepwise algorithm. In addition, in view of the problem that the bias is not stable when the MEMS gyroscope is started successively, the method of online calibration after the MEMS gyroscope's bias self-calibration compensation is adopted, which can further improve the measurement accuracy of the gyroscope. Through the real compensation test, the results show that the measurement accuracy of the MEMS-IMU after compensation can reach more than 95% of the true value, which is suitable for the self-calibration of MEMS-IMU in scenarios such as PDR positioning and motion capture systems. 7. References [1] W. C. Zhang, D. Y. Wei, H. Yuan and X. Y. Li, “A Survey of Pedestrian Autonomous Positioning Method Based on Inertial Recursion Principle,” Navigation Positioning and Timing, pp. 1-14, February 2021. [2] J. Ziegler, H. Kretzschmar, C. Stachniss, G. Grisetti and W. Burgard, “Accurate human motion capture in large areas by combining IMU- and laser-based people tracking,” IEEE, IROS 2011, San Francisco, CA, USA, September 2011. [3] R. M. Rogers, R. Rogers and C. R. Rogers, “Applied Mathematics in Integrated Navigation Systems,” American Institute of Aeronautics and Astronautics, 2007. doi: 10.1080/0020739700010302 [4] A. B. Chatfield, “Fundamentals of High Accuracy Inertial Navigation,” Progress in Astronautics & Aeronautics, pp. 15-32, 1997. doi: 10.2514/5.9781600866463.0015.0032 [5] J. J. Hall and R. L. Williams, “Case study: Inertial measurement unit calibration platform,” Journal of Robotic Systems, vol. 17, no. 11, pp. 623-632, 2000, [6] A. Kim and M. F. Golnaraghi, “Initial calibration of an inertial measurement unit using an optical position tracking system,” PLANS 2004, pp. 96–101, 2004. [7] E. M. Nebot and H. F. Durrant-Whyte, “Initial calibration and alignment of low-cost inertial navigation units for land vehicle applications,” Journal of Robotic Systems, vol. 16, no. 2, pp. 81– 92, 1999. [8] J. Lotters, J. Schipper, P. Veltink, W. Olthuis, and P. Bergveld, “Procedure for in-use calibration of triaxial accelerometers in medical applications,” Sensors and Actuators A: Physical, vol. 68, no. 1-3, pp. 221–228, 1998. [9] Z. F. Syed, P. Aggarwal, C. Goodall, X. Niu and N. El-Sheimy, “A new multi-position calibration method for mems inertial navigation systems,” Measurement Science and Technology, vol. 18, pp. 1897–1907, 2007. [10] W. Fong, S. Ong, and A. Nee, “Methods for in-field user calibration of an inertial measurement unit without external equipment,” Measurement Science and Technology, vol. 19, pp. 1–11, 2008. doi: 10.1088/0957-0233/19/8/085202 [11] C. M. Cheuk, T. K. Lau, K. W. Lin, and Y. Liu, “Automatic calibration for inertial measurement unit,” International Conference on Control Automation Robotics & Vision. IEEE, 2012. [12] D. Tedaldi, A. Pretto, and E. Menegatti. “A robust and easy to implement method for IMU calibration without external equipments,” ICRA 2014. IEEE, 2013. [13] N. El-Sheimy, H. Hou and X. Niu, “Analysis and Modeling of Inertial Sensors Using Allan Variance,” IEEE Transactions on Instrumentation & Measurement, vol. 57, no. 1, pp. 140-149, 2007. [14] W. L. Zuo, F. Hui, Y. U. Hao, X. Chen and S. Y. Zhang, “Research on Fiber Optic Gyroscope Allan Variance Bias Instability,” Navigation Positioning and Timing, vol. 2, no. 06, pp. 55-58, 2015. [15] S. H. Zhao, M. Q. Lu, and Z. M. Feng, “Allan variance analysi on error coefficients of MEME inertial components,” Science China: Phys, Mech & Astron, vol. 40, no.5, pp. 672-675, 2010.