A New Self-Calibration and Compensation Method for Installation Errors of Uniaxial Rotation Module Inertial Navigation System

Calibration and compensation techniques are essential to improve the accuracy of the strap-down inertial navigation system. Especially for the new uniaxial rotation module inertial navigation system (URMINS), replacing faulty uniaxial rotation modules introduces installation errors between modules and reduces navigation accuracy. Therefore, it is necessary to calibrate these systems effectively and compensate for the installation error between modules. This paper proposes a new self-calibration and compensation method for installation errors without additional information and equipment. Using the attitude, velocity, and position differences between the two sets of navigation information output from URMINS as measurements, a Kalman filter is constructed and the installation error is estimated. After URMINS is compensated for the installation error, the average of the demodulated redundant information is taken to calculate the carrier’s navigation information. The simulation results show that the proposed method can effectively assess the installation error between modules with an estimation accuracy better than 5”. Experimental results for static navigation show that the accuracy of heading angle and positioning can be improved by 73.12% and 81.19% after the URMINS has compensated for the estimated installation errors. Simulation and experimental results further validate the effectiveness of the proposed self-calibration and compensation method.


Introduction
The superiority of a strap-down inertial navigation system (SINS) is that no external reference is needed to determine the vehicle's attitude, velocity, or position, and no information is transmitted to the environment [1]. Therefore, it is extensively used in vehicles, submarines, missiles, aircraft and ships [2][3][4][5]. A global positioning system (GPS) is usually integrated with SINS to improve the carrier's navigation and positioning accuracy. However, GPS is unavailable in some environments, such as underwater navigation and indoor localization [6]. Compared with the GPS, the SINS has the advantages of good concealment and strong anti-interference capability and can be applied in GPS-denied environments such as underwater navigation [7,8]. However, the drawback of SINS is that navigation errors accumulate with time owing to the drift-bias error of internal sensors such as gyroscope and accelerometer, which deteriorates the navigation accuracy of SINS [9]. Since the carrier may work in a covert environment, no other information is available to fuse with the SINS to suppress errors. Furthermore, if sensors in the SINS fail, these failed sensors must be replaced and maintained for the system to function correctly. However, reinstalling new sensors introduces errors into the system. The traditional method of calibrating the system for various errors is to take the inertial navigation system back to the laboratory for recalibration [10], which is inconvenient and wastes time. Therefore, the self-calibration and self-compensation techniques of errors in the SINS are of great significance for improving the performance of SINS [11,12].
Nowadays, rotation modulation technology is the primary method to realize the selfcompensation of errors in the SINS, which can suppress the bias drift and other slowly changing errors of inertial sensors by periodic rotation [13,14]. The inertial sensors are rotated around one axis or multiple axes [15][16][17]. The uniaxial rotation modulated inertial navigation system (RMINS) has been widely studied and applied [18]. However, the inertial sensor's constant bias along the rotational axis cannot be suppressed and still influences the navigation accuracy of SINS [19]. The inertial sensors' constant errors are compensated in bi-axis and tri-axis RMINS, but the reliability of the RMINS is reduced due to the complex mechanics [20][21][22]. To avoid the complex multi-axis mechanism and enhance the accuracy and reliability of SINS, a novel triple rotary unit strap-down inertial navigation system (TRUSINS) was proposed. Each rotating unit of TRUSINS is uniaxial rotation, and the positioning accuracy of TRUSINS is improved by ten times compared to SINS [23]. It can be seen that the application of uniaxial rotation and data redundancy has a great development prospect in improving the accuracy of SINS. To improve the accuracy and configuration flexibility of SINS and simplify the design complexity of rotating shafting, a uniaxial rotation module inertial navigation system (URMINS) composed of several singleaxis rotating modules is proposed in this paper. The structure of URMINS is described in Section 2 of this article. This navigation system can be applied in GPS-denied environments, such as outdoor navigation of vehicles, ships, and autonomous underwater vehicles.
However, with structures such as TRUSINS and URMINS, installation errors between modules have a detrimental effect on the system's accuracy and must be compensated for [24]. The proposed methods used to calibrate errors of SINS are generally divided into direct and indirect methods. The direct calibration method uses the turntable to provide accurate reference information to SINS and estimates various error parameters in the system model by comparing the output of SINS with the reference information. For example, reference [25] used a single-axis turntable rotation to generate a reference angular rate for calibrating the gyro error. However, the calibration accuracy is related to the precision of the turntable [26]. The indirect calibration methods are used to determine error parameters by observing vehicle's attitude, velocity or position errors. For example, reference [16] proposed an estimation method for calibrating nonorthogonal angle in dualaxis rotational INS, which takes attitude, velocity and altitude errors output by SINS as measurement values and assumes that the carrier is in a stationary state during the calibration process. Another study ( [27]) based on the static environment used the attitude angle difference as the measurement value of a Kalman filter to estimate the error parameter to improve the attitude output accuracy. Once the carrier is in motion, the output of SINS contains the carrier's velocity, attitude, and position information. It is difficult to estimate the error without the assistance of other sensors.
Current calibration methods are usually based on laboratory turntables or external information-generated reference signals to calibrate installation errors in the SINS [28]. In recent years, to calibrate the error of inertial sensors accurately, some novel calibration methods based on machine learning have also been widely studied [29,30]. However, these methods generally use high-precision data to train a network model and then apply the model to low-precision data to improve performance. That is to say, the novel calibration method based on machine learning still needs some external information assistance to obtain the error model of the system or sensor. Therefore, the limitation of the existing approach is that it is difficult to estimate the installation error caused by module replacement under dynamic conditions without external information. For calibrating the SINS's error in a dynamic environment, a method was proposed to estimate the installation error by using the difference in navigation information output by two sets of SINS installed on the same carrier [31][32][33]. Nevertheless, the uniaxial rotation module (URM) consists of only two gyroscopes and two accelerometers, and a single module cannot output navigation information. Therefore, calibration methods for dynamic conditions cannot be directly applied to the URMINS to estimate installation errors caused by the replacement of a faulty module.
This paper proposes a new method for self-calibration and compensation of URMINS installation errors. Compared with existing methods, this proposed method can calibrate the installation error of URMINS in a dynamic environment without additional information sources or external devices. This approach uses the two sets of attitude, velocity, and position differences from URMINS as measurements. The Kalman filter is applied to estimate the installation error, given the linear URMINS error model and measurement error. The advantage of the Kalman filter is that it uses all measurements, regardless of their accuracy, to estimate system state values by properly weighting these measurements. However, we do not think that the Kalman filter is better than other filters when estimating installation errors. Many researchers have studied improvement algorithms of the traditional Kalman filter so that the performance of the Kalman filter has been improved [34].
The motivation behind and contributions of this paper are summarized as follows. First, to improve the navigation accuracy and system configuration flexibility of pure SINS and simplify the design of the rotating shaft, this paper proposes a URMINS composed of multiple URMs. Each URM can demodulate measurements from two gyroscopes and two accelerometers, with inertial sensor measurements oriented perpendicular to the axis of rotation. Second, to realize the replacement and maintenance of faulty URMs in a dynamic environment without relying on external equipment, this paper proposes a self-calibration and compensation method for the installation error caused by replacing faulty URMs. Using the difference between the two sets of navigation information output by URMINS as the measurement value of the Kalman filter, the installation error is stimulated by the movement of the carrier in the dynamic environment and is estimated. An indexing scheme is designed to suppress the inertial sensor's constant and slowly changing errors. Installation errors are compensated for during the demodulation of the URMINS information. Both simulation and experimental results show that the method can calibrate the URMINS installation errors and that the navigation accuracy is improved after the installation error are compensated significantly.
The rest of this paper is organized as follows. In Section 2, the configuration of URMINS is presented, and the installation error model is established and analyzed; In Section 3, the self-calibration and compensation scheme are given. Simulation results are provided in Section 4 to prove the method's validity. Experimental results and analysis are presented in Section 5. Finally, our conclusions are summarized in Section 6.

The Installation Error Modeling and Analysis
Next, some proper coordinate frames relevant to self-calibration, navigation, and mutual transformations are discussed.
The i-frame is the earth-centered inertial frame. The Earth-centered Earth-fixed frame is the e-frame which rotates along with the earth. The navigation frame, named n-frame, its axes aligned with the east, north, and up directions. The body frame is referred to as the b-frame. The bi-frame 1,2,3 represents the orthogonal coordinate system obtained after calibration in the laboratory turntable for each module. Bi-frame 1,2 represents the equivalent body coordinate system of the combined strap-down inertial navigation system (CSINS), including CSINS1 and CSINS2. The s0-frame is the rotation coordinate frame under the ideal installation conditions at the initial moment. The s-frame is the rotation coordinate frame under the ideal installation conditions at any time. The gframe and a-frame are the actual installation frames for the gyroscope and accelerometer, respectively. Here, the a-frame and g-frame are nonorthogonal coordinates, while the other frames are orthogonal. The coordinate frames mentioned above belong to the righthand coordinate system.
To describe the transformation between two coordinate systems clearly, the transformation matrix ( , , , 0, ; , 0, , , ) is introduced to represent the transformation from t-frame to k-frame. Since the internal structure of each module is the same, the direction of the rotation axis between modules is different. Therefore, take URM 1# as an example, and continue to analyze the installation error. In the b1-frame, the measured value of the accelerometer is . (1) And then, the transformation matrices in Equation (1) are written as follows.

The Installation Error Modeling and Analysis
Next, some proper coordinate frames relevant to self-calibration, navigation, and mutual transformations are discussed.
The i-frame is the earth-centered inertial frame. The Earth-centered Earth-fixed frame is the e-frame which rotates along with the earth. The navigation frame, named n-frame, its axes aligned with the east, north, and up directions. The body frame is referred to as the b-frame. The bi-frame (i = 1, 2, 3) represents the orthogonal coordinate system obtained after calibration in the laboratory turntable for each module. Bi-frame (i = 1, 2) represents the equivalent body coordinate system of the combined strap-down inertial navigation system (CSINS), including CSINS1 and CSINS2. The s0-frame is the rotation coordinate frame under the ideal installation conditions at the initial moment. The s-frame is the rotation coordinate frame under the ideal installation conditions at any time. The g-frame and a-frame are the actual installation frames for the gyroscope and accelerometer, respectively. Here, the a-frame and g-frame are nonorthogonal coordinates, while the other frames are orthogonal. The coordinate frames mentioned above belong to the right-hand coordinate system.
To describe the transformation between two coordinate systems clearly, the transformation matrix C k t (t = a, g, s, s0, b; k = s, s0, b, n, Bi) is introduced to represent the transformation from t-frame to k-frame. Since the internal structure of each module is the same, the direction of the rotation axis between modules is different. Therefore, take URM 1# as an example, and continue to analyze the installation error. In the b1-frame, the measured value of the accelerometer is f b1 .
And then, the transformation matrices in Equation (1) are written as follows.
In the transformation matrix C s a , the installation error angles β 1 zy and β 1 zx are zero since no sensor is mounted along the Z 1 a -axis. The rotation angle of the motor is indicated by the symbol θ i (i = 1, 2, 3), where i is the module number. The vector f a represents the measurement of the accelerometer installed in URM 1# in the a-frame, where there exists There are two types of installation errors in the URMINS, one is within the URM, and the other is between modules. The installation error inside the URM is introduced by the transformation from a nonorthogonal coordinate system, such as a-frame and g-frame, to an orthogonal coordinate system, such as b1-frame, b2-frame, and b3-frame. Take the transformation of the accelerometer's frame as an example. The modeling of installation errors from the a-frame to the s-frame is shown in Figure 2a. Here, the installation error angle is represented by β k ij (i, j = x, y, z; k = 1, 2, 3), representing the installation error angle obtained by rotating the i-axis of the a-frame around the j-axis of the s-frame. The installation error from the s0-frame to the b-frame is denoted by the symbol µ i k (i = 1, 2, 3; k = x, y, z), where i is the module number, and k represents the axis. Installation errors modeling of URM 1# from the s0-frame to b1-frame is shown in Figure 2b. When each module is calibrated on the same base, the b1-frame, the b2-frame, and the b3-frame coincide with the b-frame. Green cylinders represent sensors, including a gyroscope and an accelerometer. In the s0-frame, sensors are installed along the X-axis and the Y-axis. The Z-axis is the rotation axis without installing any sensors. Installation errors within the URM 2# and URM 3# are defined in the same way as URM 1#, and the rotation axes are the Y-axis and the X-axis, respectively.
In the transformation matrix , the installation error angles and are zero since no sensor is mounted along the -axis. The rotation angle of the motor is indicated by the symbol 1,2,3 , where i is the module number. The vector represents the measurement of the accelerometer installed in URM 1# in the a-frame, where there exists 0 .
There are two types of installation errors in the URMINS, one is within the URM, and the other is between modules. The installation error inside the URM is introduced by the transformation from a nonorthogonal coordinate system, such as a-frame and g-frame, to an orthogonal coordinate system, such as b1-frame, b2-frame, and b3-frame. Take the transformation of the accelerometer's frame as an example. The modeling of installation errors from the a-frame to the s-frame is shown in Figure 2a. Here, the installation error angle is represented by (i, j = , , ; k =1, 2, 3), representing the installation error angle obtained by rotating the i-axis of the a-frame around the j-axis of the s-frame. The installation error from the s0-frame to the b-frame is denoted by the symbol ( 1, 2, 3; , , ), where i is the module number, and k represents the axis. Installation errors modeling of URM 1# from the s0-frame to b1-frame is shown in Figure 2b. When each module is calibrated on the same base, the b1-frame, the b2-frame, and the b3-frame coincide with the b-frame. Green cylinders represent sensors, including a gyroscope and an accelerometer. In the s0-frame, sensors are installed along the X-axis and the Y-axis. The Z-axis is the rotation axis without installing any sensors. Installation errors within the URM 2# and URM 3# are defined in the same way as URM 1#, and the rotation axes are the Y-axis and the X-axis, respectively. The accelerometers' output errors of the X-axis and Y-axis in the b-frame due to the absence of the Z-axis are shown in Equation (5). Here, we only consider the primary term of the installation error. (5) Similarly, the accelerometers' output errors of the URM 2# and URM 3# can be deduced as follows. The derivation of Equations (6) and (7) is shown in Appendix A. The accelerometers' output errors of the X-axis and Y-axis in the b-frame due to the absence of the Z-axis are shown in Equation (5). Here, we only consider the primary term of the installation error.
Similarly, the accelerometers' output errors of the URM 2# and URM 3# can be deduced as follows. The derivation of Equations (6) and (7) is shown in Appendix A.
For the URM 1#, installation errors β 1 z can be calibrated in the laboratory, and the non-orthogonal installation error β k ij will not be changed by module reinstallation, so this paper only considers the variation of orthogonal installation error µ i k between modules. Here, the variation of the installation error angle introduced by the reinstallation of the module is defined as ∆µ i k (i = 1, 2, 3; k = x, y, z), and the installation error angle between b2-frame and b3-frame and b1-frame is shown in Figure 3a For the URM 1#, installation errors , , , , , can be calibrated in the laboratory, and the non-orthogonal installation error will not be changed by module reinstallation, so this paper only considers the variation of orthogonal installation error between modules. Here, the variation of the installation error angle introduced by the reinstallation of the module is defined as Δ 1, 2, 3; , , , and the installation error angle between b2-frame and b3-frame and b1-frame is shown in Figure 3a Since the installation error coupling terms and cannot be separated, they are treated as one term. The error term related to in Equation (5) is not compensated in a single module since there is no sensor mounted in the direction of the rotation axis. Hence, the absence of this measurement in a single module increases the navigation error. Similarly, the installation errors in URM 2# and URM 3# are the same as the analysis method in URM 1#. Therefore, it is necessary to study the self-calibration and compensation method of the installation error Δ , and a scheme will be given in Section 3.

Self-Calibration Scheme
This system comprises three URMs, including six gyroscopes and six accelerometers. Two sets of inertial navigation systems, CSINS1 and CSINS2, can be formed using redundant information. There are four ways to configure two groups of inertial navigation systems when all sensors' output information is applied. Using the difference in the navigation information of the two inertial navigation systems as a measure of the Kalman filter, the installation error caused by the module replacement is estimated.

Design of Kalman Filter
The angular velocity and specific force measured by the sensors perpendicular to the rotary axis are demodulated to the b-frame and output through the URM. Therefore, six angular velocities and specific forces from three URMs can be obtained in the b-frame, and there are two sets of measurements along with the directions , , and . Here, the CSINS1 consists of , of URM 1#, and of URM 3#, while , of URM 2#, and of URM 3# constitute the CSINS2. The two sets of CSINS calculate and output the Since the installation error coupling terms β 1 yz + µ 1 z and β 1 xz + µ 1 z cannot be separated, they are treated as one term. The error term related to f a z in Equation (5) is not compensated in a single module since there is no sensor mounted in the direction of the rotation axis. Hence, the absence of this measurement f a z in a single module increases the navigation error. Similarly, the installation errors in URM 2# and URM 3# are the same as the analysis method in URM 1#. Therefore, it is necessary to study the self-calibration and compensation method of the installation error ∆µ i k , and a scheme will be given in Section 3.

Self-Calibration Scheme
This system comprises three URMs, including six gyroscopes and six accelerometers. Two sets of inertial navigation systems, CSINS1 and CSINS2, can be formed using redundant information. There are four ways to configure two groups of inertial navigation systems when all sensors' output information is applied. Using the difference in the navigation information of the two inertial navigation systems as a measure of the Kalman filter, the installation error caused by the module replacement is estimated.

Design of Kalman Filter
The angular velocity and specific force measured by the sensors perpendicular to the rotary axis are demodulated to the b-frame and output through the URM. Therefore, six angular velocities and specific forces from three URMs can be obtained in the b-frame, and there are two sets of measurements along with the directions X b , Y b , and Z b . Here, the CSINS1 consists of X b1 , Y b1 of URM 1#, and Z b3 of URM 3#, while X b2 , Z b2 of URM 2#, and Y b3 of URM 3# constitute the CSINS2. The two sets of CSINS calculate and output the navigation information. The difference in navigation information of CSINS1 and CSINS2 is used as the measurement value to estimate the installation errors between modules. Assuming that the b-frame overlapped with the b1-frame of URM 1#, the installation errors ∆µ 1 x , ∆µ 1 y and ∆µ 1 z are zero. The state variable X is as follows.
The difference between the misalignment angles of CSINS1 and CSINS2 is written as The difference between the east and north velocity errors of CSINS1 and CSINS2 is noted as δV 12 The difference between the position errors of CSINS1 and CSINS2 is written as δp 12 The symbol ∆µ 2 k (k = x, y, z) represents the installation error angle between URM 2# and URM 1#. The symbol ∆µ 3 k (k = x, y, z) represents the installation error angle between URM 3# and URM 1#.
The attitude error equations are as follows. .
The east and north velocity error equations are shown below.
The positional error equations for longitude and latitude are as follows.
The symbol w n ie is the earth's rotation velocity projection under the n-frame, and its expression is w n ie = [w E w N w U ] T . R M and R N are the curvature radius of the meridian and prime vertical, respectively. The symbol f n ia is the specific force measured by the accelerometer in the n-frame, and its expression is The symbol δw n 12 represents the difference in measurement error under the n-frame caused by gyroscopes of the two CSINSs, and its expression is δw n 12 = δw n E12 δw n N12 δw n U12 T . The symbol δf n 12 represents the difference in measurement error under the n-frame caused by the accelerometer measuring the assembly of the two CSINSs, and its expression is T . The specific expressions of the difference in sensor measurement error are shown in Equations (16) and (17).
Take the measurement error of the accelerometer as an example. It can be obtained from Equations (5)- (7). Furthermore, the measurement error of the accelerometer caused by CSINS1 and CSINS2 are presented as δf B1 1 They are obtained from Equations (18) and (19). Here, there is In theory, there is C n B1 = C n B2 . The missing information in the third axis of each URM is determined by the average of the other two modules, whose expressions are shown in Equations (20)- (22). This method is also applicable to compensation installation errors of URMINS.
f a

Measurement Equation
By analyzing the structure of URMINS, it is obvious that the navigation information output by CSINS1 and CSINS2 comes from the same carrier. Therefore, there are: The symbols A, V n and p, respectively, represent the actual values of the carrier's attitude, velocity, and position, and the specific expressions are shown in Equation (24).
The symbols A 1 , δA 1 , A 2 and δA 2 represent the attitude and attitude error of CSINS1 and CSINS2, respectively. The symbols V n 1 , δV n 1 , V n 2 , δV n 2 , p 1 , δp 1 , p 2 , δp 2 have the similar definition as the symbols of attitude.
The difference between the output information of CSINS1 and CSINS2 can be obtained by Equation (25). The acceleration and angular velocity caused by the carrier's motion are not included in the measured values, so this method can estimate the installation error in a dynamic environment.
The measurement equation of the system is as follows.

Z(t)=H(t)X(t)+V(t)
where Z(t) represents the measurement vector of In this paper, to further demonstrate the effectiveness of the Kalman filter algorithm, observability analysis of the state variables in Kalman filter is essential. Here the attitude, velocity, and position errors φ 12 , δV 12 , and δp 12 are obtained from δ A 12 , δ V n 12 , and δ p 12 , respectively, so these navigation error terms are entirely observable. Analysis of Equations (18) and (19) shows that the installation error term ∆µ i k is related to the measurement value of the accelerometer, the encoder and the third-axis sensor of each module. Therefore, the linear motion, angular motion and design of the rotation scheme of the carrier can stimulate the installation error and improve the observability of the installation error of the system.

Compensation Scheme
For the installation error caused by replacing modules of URMINS, the block diagram of the installation error compensation method proposed in this paper is shown in Figure 4.
1 0 0 1 In this paper, to further demonstrate the effectiveness of the Kalman filter algorithm, observability analysis of the state variables in Kalman filter is essential. Here the attitude, velocity, and position errors , , and are obtained from , , and , respectively, so these navigation error terms are entirely observable. Analysis of Equations (18) and (19) shows that the installation error term Δ is related to the measurement value of the accelerometer, the encoder and the third-axis sensor of each module. Therefore, the linear motion, angular motion and design of the rotation scheme of the carrier can stimulate the installation error and improve the observability of the installation error of the system.

Compensation Scheme
For the installation error caused by replacing modules of URMINS, the block diagram of the installation error compensation method proposed in this paper is shown in Figure 4.  The rotation scheme of a URM needs to be designed, and the motor rotary speed of each module is set to 6°/s to achieve continuous rotation in one direction. Each module's inertial sensor measurement data are demodulated, and the sensor data, called actual demodulation information, is obtained in the navigation solution module. Firstly, installation errors Δ and Δ are compensated to get the equivalent information , , and along the rotation axis of each module. Among them, the calculation method of the equivalent information is as Equations (20)- (22). Equations (31) and (32) show the compensated error terms. Secondly, the installation error between modules associated with URM 2# and URM 3# is compensated by Equations (18) and (19), and the sensor's data under the b-frame after compensation is obtained. Finally, since the accuracy of the sensors of each module is the same, the average value is taken as the data output of each axis The rotation scheme of a URM needs to be designed, and the motor rotary speed of each module is set to 6 • /s to achieve continuous rotation in one direction. Each module's inertial sensor measurement data are demodulated, and the sensor data, called actual demodulation information, is obtained in the navigation solution module. Firstly, installation errors ∆µ 2 y and ∆µ 3 x are compensated to get the equivalent information f a x , f a y and f a z along the rotation axis of each module. Among them, the calculation method of the equivalent information is as Equations (20)- (22). Equations (31) and (32) show the compensated error terms. Secondly, the installation error between modules associated with URM 2# and URM 3# is compensated by Equations (18) and (19), and the sensor's data under the b-frame after compensation is obtained. Finally, since the accuracy of the sensors of each module is the same, the average value is taken as the data output of each axis on the b-frame, and the traditional algorithm of SINS is used to calculate the navigation information.
We explain the error compensation method in detail. The error compensation process is further introduced by taking the error δ f b x2 of the accelerometer of URM 2# as an example. The error terms presented by substituting URM 2# are shown in Equation (18). The algorithm in Section 2 can estimate the installation error ∆µ 2 k , and the encoder measures the rotation angle θ 2 . f a x2 and f a z2 can be measured by two accelerometers mounted in the URM 2#. The unknown quantity f a y needs to be supplied from URM 1# or URM 3# as shown in Equation (34). Here, the installation error caused by ∆µ 3 x needs to be compensated first, as shown in Equation (33). Furthermore, the error caused by the replacement of URM 2# can be paid by Equation (34). The error compensation method of the remaining axis is similar to the above procedure and will not be described in detail.

Simulation of Carrier Motion
Simulation experiments are implemented to verify the effectiveness of the installation error calibration method in Section 3.
The URMINS is mounted on moving carriers to effectively excite the calibration error to calibrate installation errors between modules. We consider the carrier's linear and angular motion, the simulated carrier's attitude, velocity, and trajectory change with time, as shown in Figures 5 and 6. In Figure 6, the starting point of the carrier is at the origin of the coordinates.
on the b-frame, and the traditional algorithm of SINS is used to calculate the navigation information.
We explain the error compensation method in detail. The error compensation process is further introduced by taking the error of the accelerometer of URM 2# as an example. The error terms presented by substituting URM 2# are shown in Equation (18). The algorithm in Section 2 can estimate the installation error ∆ , and the encoder measures the rotation angle . and can be measured by two accelerometers mounted in the URM 2#. The unknown quantity needs to be supplied from URM 1# or URM 3# as shown in Equation (34). Here, the installation error caused by needs to be compensated first, as shown in Equation (33). Furthermore, the error caused by the replacement of URM 2# can be paid by Equation (34). The error compensation method of the remaining axis is similar to the above procedure and will not be described in detail.

Simulation of Carrier Motion
Simulation experiments are implemented to verify the effectiveness of the installation error calibration method in Section 3.
The URMINS is mounted on moving carriers to effectively excite the calibration error to calibrate installation errors between modules. We consider the carrier's linear and angular motion, the simulated carrier's attitude, velocity, and trajectory change with time, as shown in Figures 5 and 6. In Figure 6, the starting point of the carrier is at the origin of the coordinates.

Calibration Results of Installation Errors
The carrier motion in Section 4.1 is used as an incentive for self-calibration of the mounting error. The parameters used in the simulation, including inertial sensors' errors and mounting errors, are shown in Table 1. The method to simulate inertial sensors' data North(m) Figure 6. The trajectory of the carrier.

Calibration Results of Installation Errors
The carrier motion in Section 4.1 is used as an incentive for self-calibration of the mounting error. The parameters used in the simulation, including inertial sensors' errors and mounting errors, are shown in Table 1. The method to simulate inertial sensors' data without noise was described in reference [35]. Here, inertial sensors' errors are simulated with noise models such as Gaussian white noise, random constant deviation and first-order Markov process. The sensor data used in the simulation are obtained by summing the noise-free raw data with the noisy data. This paper assumes that the b1-frame of URM 1# overlaps with the b-frame, then the installation error terms ∆µ 1 x , ∆µ 1 y , and ∆µ 1 z are set to zero. The initial alignment errors of CSINS1 and CSINS2 are the same, as shown in Table 2.  Assuming that the motor of each module is locked in a fixed position, the installation errors of URM 2# and URM 3# obtained by simulation are shown in Figure 7a,b, respectively. With the increase in simulation time, installation errors obtained by simulation present a stable trend. The covariance curves of installation error are shown in Figure 8. As shown in Figure 8, after the simulation time is 600 s, the covariance values of all installation errors are within 5". Therefore, the installation error can be estimated quickly and accurately using the self-calibration method proposed in this paper.  Furthermore, the effectiveness of the proposed calibration method was verified, and the installation error was simulated five times. The mean value of installation errors was calculated after 600 s, and the mean value and residual of installation errors were presented in Table 3. The maximum value of the residuals of all installation errors is 1.54″, There is something wrong with the layout of Figure 8 in the paper. We hope to modify it. See the modified Figure 8 for details.    Furthermore, the effectiveness of the proposed calibration method was verified, and the installation error was simulated five times. The mean value of installation errors was calculated after 600 s, and the mean value and residual of installation errors were presented in Table 3. The maximum value of the residuals of all installation errors is 1.54", which further verifies the algorithm's reliability. Table 3. The installation errors and residuals were obtained by simulation.

Compensation Results and Analysis
The evaluation method, called true root mean square (TRMS), was used to evaluate the accuracy of the URMINS. The attitude, velocity, and position error curves before and after compensating for the installation error are shown in Figure 9a-c. The simulation data were produced based on MATLAB for one hour under the static condition of the carrier. The motor speed of each module was set to 6 • /s. It can be seen from the simulation results of attitude angle errors in Figure 9a that, compared with before compensating for the installation error, the error of the misalignment angles is suppressed after compensating for the installation error. It can be seen from Figure 9b,c that after compensating for the installation error, both the speed errors and the position errors are significantly reduced. The positioning results before and after compensating for URMINS installation errors are shown in Figure 9d to demonstrate the advantages of positioning results after compensating for installation errors. After the installation error of URMINS is compensated, the positioning accuracy is higher. To verify the validity of the installation error compensation method of the URMINS the TRMS values of the five simulation results, including the attitude angle error, velocity error and position error, are listed in Table 4. It can be seen from Table 4 that the heading angle accuracy of the URMINS is improved by 2.61%, and the position accuracy of the URMINS is improved by 34.18%. In a word, the installation errors compensation method proposed in this paper can compensate for the installation errors of the URMINS without To verify the validity of the installation error compensation method of the URMINS, the TRMS values of the five simulation results, including the attitude angle error, velocity error and position error, are listed in Table 4. It can be seen from Table 4 that the heading angle accuracy of the URMINS is improved by 2.61%, and the position accuracy of the URMINS is improved by 34.18%. In a word, the installation errors compensation method proposed in this paper can compensate for the installation errors of the URMINS without relying on external information in a dynamic environment. At the same time, the navigation accuracy of the URMINS can be improved.

Experimental Results of Self-Calibration
An experiment with the proposed method was performed using the URMINS fabricated by our laboratory to demonstrate the effectiveness of the self-calibration method in practical applications. In this paper, two modules are used to form URMINS to achieve selfcalibration, and the experimental prototype is shown in Figure 10. A computer collected the data output by the URMINS at 100 Hz. The self-calibration method proposed in this paper does not depend on external references, such as turntable and GPS. It only needs the carrier to be dynamic to stimulate the installation error. To verify the effectiveness of the proposed self-calibration algorithm, we installed the URMINS on a dual-axis turntable. The turntable was controlled to provide a sway randomly motion for the URMINS, simulating the angular motion of the carrier. The installation error is estimated by applying a selfcalibration algorithm. The two-axis turntable used in the experiment is 2TD-550 fabricated by the Jiujiang Precision Test Technology Research Institute, and the specific parameters of this turntable are shown in Table 5.

Experimental Results of Self-Calibration
An experiment with the proposed method was performed using the URMINS fabricated by our laboratory to demonstrate the effectiveness of the self-calibration method in practical applications. In this paper, two modules are used to form URMINS to achieve self-calibration, and the experimental prototype is shown in Figure 10. A computer collected the data output by the URMINS at 100 Hz. The self-calibration method proposed in this paper does not depend on external references, such as turntable and GPS. It only needs the carrier to be dynamic to stimulate the installation error. To verify the effectiveness of the proposed self-calibration algorithm, we installed the URMINS on a dual-axis turntable. The turntable was controlled to provide a sway randomly motion for the URMINS, simulating the angular motion of the carrier. The installation error is estimated by applying a self-calibration algorithm. The two-axis turntable used in the experiment is 2TD-550 fabricated by the Jiujiang Precision Test Technology Research Institute, and the specific parameters of this turntable are shown in Table 5.   Here, the CSINS1 consists of X b2 , Z b2 of URM 2#, and Y b3 of URM 3#, while X b2 , Z b3 of URM 3#, and X b2 of URM 2# constitute the CSINS2. The structure of each module is consistent with that described in Section 2.1. The difference in navigation information of CSINS1 and CSINS2 was used as the measurement value to estimate the installation errors between modules. Assuming that the b-frame overlapped with the b2-frame of URM 2#, the installation error ∆µ 2 k is zero. Reinstall URM 3# and use the dynamic self-calibration method proposed in this paper to estimate the installation error ∆µ 3 k . The motor of each module was controlled to stop at a position where the angle information output by the encoder is zero. The turntable is controlled to sway randomly to simulate the random motion of the carrier. The attitude of the carrier is shown in Figure 11.  Figure 11. The attitude of the carrier was simulated by the sway of the turntable.
The data along the -axis of the carrier were obtained through URM 2# and URM 3# by this experimental prototype, and only the information along the -axis was redundant. These data along the -axis and -axis were reused in CSINS1 and CSINS2. Therefore, by further analyzing the error term of Equation (19), it can be concluded that installation errors and are fully observable, while is unobservable. The experimental results of the installation error for URM 3# are shown in Figure 12. and tend to be stable over time, while cannot be estimated. The covariance curve of the installation error is shown in Figure 13, which also proves that is unobservable, and and are gradually converging over time. The mean value of the installation error was calculated after 800 s, and the mean values of and were −544.72" and −871.52", respectively. Therefore, the experimental results agree with the theoretical analysis, which proves the effectiveness of the proposed self-calibration method.  The data along the Z b -axis of the carrier were obtained through URM 2# and URM 3# by this experimental prototype, and only the information along the Z b -axis was redundant. These data along the X b -axis and Y b -axis were reused in CSINS1 and CSINS2. Therefore, by further analyzing the error term δ f b z3 of Equation (19), it can be concluded that installation errors ∆µ 3 x and ∆µ 3 y are fully observable, while ∆µ 3 z is unobservable. The experimental results of the installation error for URM 3# are shown in Figure 12. ∆µ 3 x and ∆µ 3 y tend to be stable over time, while ∆µ 3 z cannot be estimated. The covariance curve of the installation error is shown in Figure 13, which also proves that ∆µ 3 z is unobservable, and ∆µ 3 x and ∆µ 3 y are gradually converging over time. The mean value of the installation error was calculated after 800 s, and the mean values of ∆µ 3 x and ∆µ 3 y were −544.72" and −871.52", respectively. Therefore, the experimental results agree with the theoretical analysis, which proves the effectiveness of the proposed self-calibration method. The data along the -axis of the carrier were obtained through URM 2# and URM 3# by this experimental prototype, and only the information along the -axis was redundant. These data along the -axis and -axis were reused in CSINS1 and CSINS2. Therefore, by further analyzing the error term 3 of Equation (19), it can be concluded that installation errors 3 and 3 are fully observable, while 3 is unobservable.
The experimental results of the installation error for URM 3# are shown in Figure 12. 3 and 3 tend to be stable over time, while 3 cannot be estimated. The covariance curve of the installation error is shown in Figure 13, which also proves that 3 is unobservable, and 3 and 3 are gradually converging over time. The mean value of the installation error was calculated after 800 s, and the mean values of 3 and 3 were −544.72" and −871.52", respectively. Therefore, the experimental results agree with the theoretical analysis, which proves the effectiveness of the proposed self-calibration method.

Compensation Results and Analysis
Compensate for the installation error of URMINS with the estimated mean values of 3 and 3 . Since 3 cannot be calculated, this value is set to zero. The experimental data were collected for one hour under the static condition of the carrier. The motor's speed of each module was set to 5.32°/s. From the experimental results of the navigation errors in Figure 14a-c, it is found that the attitude angle error, velocity error and position error are suppressed after compensating for the installation error compared to before compensating for the installation error. The positioning results before and after compensating for the URMINS installation error are shown in Figure 14d to further demonstrate the advantages of the positioning results after compensating for the installation error. The positioning accuracy is higher after compensating for the installation error of URMINS.

Compensation Results and Analysis
Compensate for the installation error of URMINS with the estimated mean values of ∆µ 3 x and ∆µ 3 y . Since ∆µ 3 z cannot be calculated, this value is set to zero. The experimental data were collected for one hour under the static condition of the carrier. The motor's speed of each module was set to 5.32 • /s. From the experimental results of the navigation errors in Figure 14a-c, it is found that the attitude angle error, velocity error and position error are suppressed after compensating for the installation error compared to before compensating for the installation error. The positioning results before and after compensating for the URMINS installation error are shown in Figure 14d to further demonstrate the advantages of the positioning results after compensating for the installation error. The positioning accuracy is higher after compensating for the installation error of URMINS.

Compensation Results and Analysis
Compensate for the installation error of URMINS with the estimated mean values of and . Since cannot be calculated, this value is set to zero. The experimental data were collected for one hour under the static condition of the carrier. The motor's speed of each module was set to 5.32°/s. From the experimental results of the navigation errors in Figure 14a-c, it is found that the attitude angle error, velocity error and position error are suppressed after compensating for the installation error compared to before compensating for the installation error. The positioning results before and after compensating for the URMINS installation error are shown in Figure 14d to further demonstrate the advantages of the positioning results after compensating for the installation error. The positioning accuracy is higher after compensating for the installation error of URMINS.  To digitally present the improvement effect of navigation accuracy, the experimental results, including the TRMS values of attitude angle error, velocity error, and position error, are statistics in Table 6. Among the navigation error parameters, the accuracy improvement range of the eastward misalignment angle is the lowest at 53.51%, and the suppression ranges of the other navigation error parameters are higher than this value. It can be seen from Table 6 the heading angle accuracy of the URMINS was enhanced by 73.12%, and the position accuracy of the URMINS was improved by 81.19%. In conclusion, the experimental results demonstrate that the installation error compensation method proposed in this paper can compensate for the installation error of URMINS without relying on external information and improve the navigation accuracy.

Conclusions
This paper presents a new self-calibration and compensation method for URMINS installation error, which can estimate the installation error caused by the replacement of a faulty module without additional equipment and significantly improve the navigation accuracy of the system. In this paper, the installation error model of URMINS was established and analyzed. Then, three URMs were combined with URMINS, and the system was designed to output two sets of navigation information. The difference in attitude, speed, and position between two groups of CSINS was taken as the measurement value of the Kalman filter, and the installation error between modules was estimated. After demodulation, the average value of redundant information was taken to calculate the carrier's attitude, velocity, and position. The simulation and experimental results show that the installation errors caused by module replacement can tend to the exact value with this method. Compared with the static navigation results without compensating for the installation error, both simulation and experiment prove that the carrier's attitude, speed, and position accuracy significantly improve after paying for the installation error. The experimental results show that after compensating for the installation error, the heading angle accuracy and horizontal positioning accuracy of URMINS are improved by 73.12% and 81.19%, respectively. The self-calibration method proposed in this paper can be applied in a real situation where the carrier is in a dynamic environment and the inertial sensor has information redundancy. The estimation of the installation error can be realized without relying on the external reference. In addition, the URMINS is easy to maintain and can suppress errors in pure INSs, which provides convenience for carriers to achieve long-term, high-precision navigation in concealed environments.

Data Availability Statement:
The data that support the findings of this study are available from the corresponding author upon reasonable request.

Acknowledgments:
The authors would like to thank Shangru Duan of the College of Biomedical Engineering and Instrument Science of Zhejiang University for assistance with simulation verifications related to this work.

Conflicts of Interest:
The authors declare no conflict of interest.

Appendix A
The accelerometers' output errors of the X-axis and Z-axis in the b-frame due to the absence of the Y-axis are shown in Equation (6). Here, we only consider the primary term of the installation error. In the b2-frame, the measured value of the accelerometer is f b2 .
And then, the transformation matrices in Equation (A1) are written as follows. In transformation matrix C s2 a2 , the installation error angles β 2 yz and β 2 yx are zero since no sensor is mounted along the Y 2 a2 -axis. The rotation angle of the motor is indicated by the symbol θ 2 . The vector f a2 represents the measurement of the accelerometer installed in URM 2# in the a2-frame, where there exists f a2 = f a x2 0 f a z2 T .
The accelerometers' output errors of the Y-axis and Z-axis in the b-frame due to the absence of the X-axis are shown in Equation (7). Here, we only consider the primary term of the installation error. In the b3-frame, the measured value of the accelerometer is f b3 .
And then, the transformation matrices in Equation (A5) are written as follows. In transformation matrix C s3 a3 , the installation error angles β 3 xz and β 3 xy are zero since no sensor is mounted along the X 3 a3 -axis. The rotation angle of the motor is indicated by the symbol θ 3 . The vector f a3 represents the measurement of the accelerometer installed in URM 3# in the a3-frame, where there exists f a3 = 0 f a y3 f a z3 T .