1. Introduction
Strapdown Inertial Navigation Systems (SINS) have been widely used in many aspects of navigation [
1]. The SINS has some irreplaceable advantages, such as high autonomy, and it provides continuous and comprehensive navigation information. Therefore, SINS is widely applied in ships and airplanes [
2]. For the purpose of realizing the alignment and navigation algorithms of the SINS. The IMU errors have to be calibrated prior to utilization. In an ideal IMU, accelerometers, and gyroscopes coordinate with the same orthogonal sensitivity axes, while the scale factor converts the digital quantity measured by each sensor into the real physical quantity (accelerations and angular rates) [
3,
4]. However, the IMU is usually affected by non-accurate sensor biases [
5], the navigation errors (attitude, velocity and position errors) of the SINS diverge with time [
6]. Therefore, the calibration of biases in IMU is a very effective way to enhance the navigation accuracy of SINS.
In [
7], Han et al. proposed a method for bias calibration using a single-axis turning table. The disadvantage of this method is that the calibration accuracy depends highly on the turntable accuracy. In current SINS implementations, in order to overcome the non-observability of the biases of the IMU biases, an analytic calibration of IMU biases with two-position is utilized widely [
8]. Many works have been done in the field of IMU calibration. In [
9], an eight-position self-calibration method was proposed. Emel’yantsev et al. calibrated in-rum drifts of SINS with uniaxial modulation rotation of measurement unit. Since the low end IMU model is nonlinear, some researchers use an adaptive Kalman filter to estimate IMU biases [
10,
11,
12,
13,
14,
15]. Wang et al. utilized a new online calibration method for integrated navigation systems [
16]. In [
17], a rotation test was utilized to enhance the observability of KF in order to calibrate the IMU biases. However, KF is an unbiased estimation method based on the assumption of GWN while IMU sensors noise is irregular [
18,
19,
20]. In [
21], an autocovariance least-squares (ALS) technique was proposed to estimate the process noise of IMU. In [
22], particle swarm method was utilized in gyro drift estimation. For high-dimensional systems especially for those with weak observability. The adaptive estimation of IMU biases tend to diverge. In order to solve the problem, further researches are needed on this issue.
Allan variance has been widely utilized in the analysis of gyroscopes [
23]. Allan variance can provide different types and magnitude information on various noise terms. Due to analogies to IMU sensors, Allan variance has been adapted to the random-drift characterization of a variety of inertial devices [
24,
25,
26]. Allan variance is a method of representing the root mean square (RMS) random-drift errors as a function of averaging time. However, the equivalent white noise characteristics do not equal the sum of the various noise characteristics analyzed by Allan variance. Thus, the method of using Allan variance to estimate IMU biases is not feasible.
In order to solve the above problems, a KF-based AdaGrad calibration algorithm is proposed. Gradient descent is an iterative optimization algorithm for finding the minimum value of the objective function. For a complex dynamical system, the gradient descent method is utilized to obtain the minimum value of the constructed cost function. In [
27,
28,
29,
30], researchers proposed a gradient descent approach to solve complex dynamic system problems. The difficulty of the gradient descent method lies in constructing the cost function of a complex dynamic system. In this paper, (1) in order to solve the problem of setting step size, this paper utilized adaptive subgradient methods (AdaGrad); (2) we derive a KF-based AdaGrad numerical cost function in which the objective function is the velocity and position errors; and (3) utilizing the above two theories we propose a novel method called KF-based AdaGrad algorithm. Finally, static tests and field tests are carried out to verify the feasibility and applicability of the investigated method.
The remainder of this paper is organized as follows.
Section 2 presents a brief overview of the calibration process of IMU and an analysis of the observability of IMU biases. In
Section 3, we derive a KF-based AdaGrad numerical cost function and propose a KF-based AdaGrad calibration algorithm. Rotation tests and car-mounted field tests are carried out in
Section 4 to compare the proposed method and the existing calibration method. The conclusions are given in
Section 5.
2. Two-Position Calibration Modeling
The navigation performance of the SINS relies on a high-precision IMU. Error models have been developed for the IMU in [
7,
8]. Under the condition of the static base, the velocity of the navigation solution is the velocity error. According to the SINS error transformation model, the misalignment angle error can be derived from the velocity error. Since the inertial navigation system has no obvious movement of the geographical position, the velocity of the inertial navigation system approaches zero. Therefore, in the calibration process, the SINS navigation algorithm can be replaced by some simplified equations.
In a SINS, the IMU is directly mounted on the vehicle or the carrier without a stable platform. The angular velocity and acceleration in the body frame (denoted by b) are measured by the gyroscopes and accelerometers. Choose the local geographical frame (East-North-Vertical frame) as the navigation frame (denote by n).
Let
to get the simplified attitude algorithm:
is the direction cosine matrix to transform vector from b-frame (IMU body orthogonal frame which aligned with Right-North-Up axes) to n-frame (navigation frame which aligned with East-North-Vertical axes). The subscript i denotes the inertial-frame. represents the angular velocity measured by the gyroscope in the b-frame. is the self-rotation angular velocity.
Specific force equation as one of the basic equations of the SINS can be written as:
where
,
g is the gravity acceleration of the earth. Let
to obtain the simplified velocity algorithm:
Following the above derivation, the attitude error equation and the velocity error equation can be written as:
where
is the misalignment angle vector and
is the velocity error vector.
is the gyroscope equivalent constant bias and the
is the accelerometer equivalent constant bias. The expressions for
and
are written as follows:
where
denotes the elements of
.
and
are the gyroscope and accelerometer equivalent constant bias.
In the above equation, there is no cross-linking relationship between the Equation (
) and the other equations. It can be concluded that the vertical velocity error does not have any effect on the misalignment angle estimation. Therefore, in the analysis of the misalignment angle estimation, the influence of the vertical velocity and vertical accelerometer bias can generally be ignored. By expanding the
and
to the state, the calibration state space model can be established as follows:
where
According to the designed two-position calibration scheme, the actual system is time-varying system. PWCS method and SVD method are both employed for the two-position calibration scheme. The rank of this observability matrix is 7 [
26,
27]. Five states
,
,
,
and
are considered unobservable. In order to improve the observability, two-position calibration is needed. This is equivalent to changing the
of the SINS. Furthermore, changing the SINS error equation from a stationary system to a time-varying system, which is beneficial to improve the observability of the IMU biases. The scale factor errors of the three gyros and accelerometers are not observable during the process of two-position calibration. Therefore, we do not consider the scale factor errors in Equation (
7).
Using the piece-wise constant system (PWCS) observability analysis method [
27], the rank of the observability matrix is 11 except
.
The value of the elements of the process noise matrix [
29,
30,
31], which is the directly determined by the value of the elements in the
W matrix. As is shown in Equation (
12), the covariance of the
W matrix is
Q. Furthermore, the accuracy of the KF is determined by the reliability of the
Q information.
W and
Q can be written as:
However, KF is an unbiased estimation method based on the assumption of GWN while IMU sensor noise is irregular. In order to obtain the optimal solution of IMU biases, this paper presents a novel method for the calibration of IMU biases utilizing the KF-based AdaGrad algorithm in
Section 4.
3. KF-Based AdaGrad Algorithm
3.1. Gradient Descent Algorithm
Gradient descent is an iterative algorithm to minimize an objective function. If the multi-variable function
is defined and differentiable. Given an initial point, and then follow the negative of the gradient of the function at every iteration. When the point moves to a critical point where the point does not change anymore (or change a value that approaches zero), it has reached the desired local minimum. The basic algorithm is written as follow:
where
is the variable vector and
is the step size.
However, setting the step size of gradient descent is a key issue. An inappropriate step size may cause the function easily trapped in saddle points. In this paper, the sampling rate of the IMU is 200 Hz. Therefore the sampling time is 0.005 ms. In order to ensure that there are no large values at the beginning. The step size we set is 0.005 at the beginning.
In order to solve this problem, we utilized two methods: line search and adaptive subgradient methods (AdaGrad).
3.2. Line Search
Line search is an approach is to adapt the step size at every iteration. The line search will calculate the descent direction
and the step size
to move in this direction. The following condition must be satisfied:
so that the function
can be guaranteed to fall along this direction. Furthermore, the search direction can be written as:
. The step size
should minimize the following function:
However, it is difficult to obtain the that minimizes the above equation, and the amount of calculation is relatively large. The commonly used method is to obtain a larger step size as much as possible with an acceptable amount of calculation, in order to reduce the value of as much as possible. The general line search method consists of the following two steps:
The KF-based AdaGrad algorithm is very computationally intensive. Even though the above method can reduce a lot of calculations, a faster step-size adaptive approach is needed. Thus, we utilized AdaGrad to solve this problem.
3.3. Adaptive Subgradient Methods (AdaGrad)
The basic idea of AdaGrad is to use different step sizes at every iteration. The step size is large at the beginning for rapid gradient descent. As the optimization process progresses, the step size is reduced for the gradient that has fallen significantly, and the larger step size is maintained for the gradient that has not decreased so much.
For the basic Gradient descent, the vectorized algorithm can be written as:
AdaGrad multiplies the step size by a parameter that varies with the number of iterations:
where
is a small value to prevent the denominator to be zero.
It is easy to discover that as the algorithm continues to iterate, will grow larger, and the step size will grow smaller. The AdaGrad algorithm starts with the convergence of high speed and ends with a small step size.
Since we proposed a KF-based AdaGrad numerical cost function
, the AdaGrad algorithm needs to be discretized. The Algorithm flowchart is shown in
Figure 1.
Given as an initial value and then enters the loop. When the gradient value is close to zero (this paper selects 10e-8 as the critical value). The function jumps out of the loop and the output is . In this paper, , where is the process Noise Covariance Matrix. is the KF-based numerical function, it is the function which consists of two database and multiple iterations of one KF, we will derive it in the next subsection.
The psudocode is listed in the Algorithm 1 and is shown as follows:
Algorithm 1: AdaGrad algorithm. |
Input: The state vector before AdaGrad algorithm. |
Output: The estimated state vector. Initialization: |
1: , , , |
2: repeat: |
Calculate : |
3: |
Update : |
4: |
Update |
5: |
6: until |
3.4. KF-Based AdaGrad Calibration Algorithm
AdaGrad is a good method to obtain the minimum value of a function. Setting the IMU biases accurately could improve the accuracy of SINS. In order to obtain the optimal solution of IMU biases, we derives a numerical data function . As reaches its minimum value, the IMU reaches its biases optimal solution.
In practical utilization, the effective compensation method of IMU biases is conducted as the following steps:
SINS (contains IMU and navigation micro-computer) stiffly fixed on a static platform, power up and start navigation.
Since the real velocity is 0 under the static platform condition, the pure inertial navigation output velocity is the velocity error. According to the principle of inertial navigation, the velocity error curve will show the form of Schuler oscillation.
In the oscillation process of the velocity error curve, the velocity error and positioning error shows the effect of calibration.
As is shown in Algorithm 1, the estimation of
can be written as:
In summary, if the minimum RMSE of the position error can be obtained, and then the bias compensation effect reaches its optimal. Utilizing a two-position calibration algorithm, IMU biases can be obtained when the process noise matrix is determined. We have derived the KF-based AdaGrad numerical function
and show the diagram of the numerical function in
Figure 2. The pseudocode of the KF-based numerical function is listed in Algorithm 2 and is shown as follows.
As is shown in
Figure 2, the entire KF-based numerical function
can be divided into two major processes: (1) two-position calibration process and (2) SINS navigation process. A detailed explanation of these two processes is as follows:
After the above process, the numerical function output
can be obtained by the input
. Correspondingly we have derived the KF-based numerical function
. Bring
into the algorithm flow chart shown in
Figure 1. Let
, where
is the IMU biases vector value.
. Afterwards, the minimum
can be obtained by the AdaGrad algorithm, and the
is the optimal value.
Algorithm 2: KF-based numerical function. |
Input: state vector |
Output: position root mean square error |
1. loop 1 (Two position calibration process): SINS algorithm: |
2. |
3. |
4. |
5. |
Kalman filtering: |
6. |
7. |
8. |
9. |
10. until calibration data base is used up. |
return end loop 1 |
11. input into loop 2. |
12. loop 2 (SINS navigation process): |
SINS navigation process: |
13. |
14. |
15. |
16. |
|
|
17. calculate |
18. until SINS static data base is used up |
return |
end loop 2 |
4. Analysis of Experimental Tests
For the purpose of verifying the feasibility and evaluating the calibration accuracy of the KF-based AdaGrad algorithm. Both turntable rotation tests and field tests are performed with the KF-based AdaGrad algorithm. The rotation tests were carried out on the three-axis turntable. The sampling rate of the SINS is 4000 Hz, and the ring laser gyros are with an accuracy of h (1) and accelerometers are with 50 (1).
The gyro signal (lasting 8 h) analysis utilizing Allan variance is shown in
Figure 3.
As is shown in
Figure 3, the three elements of Allan variance are quantization noise, angle random walk and bias instability. While KF is based on the hypothesis of GWN, the gyros we use usually have irregular noise.
For the purpose of analyzing the influence of the IMU biases on navigation errors. We list two tables to represent the error propagation including long-term navigation and short-term navigation. The long-term navigation error propagation is shown in
Table 1 and the short-term navigation error is shown in
Table 2.
As are shown in
Table 1 and
Table 2, the IMU biases would cause navigation error both in long-term navigation and short-term navigation. In order to verify the calibration effect, we need to carry out long-term navigation and short-term navigation experiments.
Through the comparison between
Table 1 and
Table 2. We can find out that in the short-term navigation, the gyro bias of the upward gyro does not affect the navigation accuracy in static condition. The position error of the long-term navigation process is affected by many error sources. Therefore, it is difficult to decompose the influence of IMU errors using conventional decoupling method.
Three car-mounted field tests were carried out in Xi’an, Shaanxi province and Chongqing to verify the effectiveness of the calibration methods. The car-mounted field tests in Xi’an are short-term experiments and the test in Chongqing is a long-term experiment. We utilized a DPGS with an accuracy of 3 cm as the reference position information. Compared with line search and two-position methods, the experimental results can prove the feasibility of the calibration method [
32,
33,
34,
35].
4.1. Static Tests
According to
Section 3, this paper introduces two improved methods for gradient descent algorithm. In order to obtain the minimum value of the KF-based numerical function
in a stable way, an algorithm performance analysis among these algorithms is needed.
In this subsection, static tests were utilized to obtain
. As is shown in
Figure 4, SINS is stiffly fixed on a three-axis turntable. After confirming the fixation, calibration is started. The recorded data were saved as a calibration database and SINS static database. The flowchart of AdaGrad and the diagram of KF-based numerical function are also displayed in this paper. Static tests and calibration processes were carried out in a three-axis turntable.
The raw data including three gyros and three accelerometers from the experiment was collected by data collection computer. The collected data was utilized as the calibration database. Afterward, the static tests were carried out for 1 h, the IMU raw data was collected as SINS static database to build the numerical function
. We utilized the numerical function to compare line search and AdaGrad. Set
equals zero vector as the initial value and
as the function result. The number of iterations was set as 5000 because too many iterations are too much burden for a normal experiment computer. Results are shown in
Table 3.
The IMU biases estimation curves utilizing AdaGrad are shown in
Figure 5 and
Figure 6.
The self-rotation angular rate we set in the static test is 20
/s. In
Figure 5, we can see the gyro biases converge slowly. Gyro biases converge after about 4000 iterations. In contrast, the accelerometer biases converge very fast after about 1000 iterations which are shown in
Figure 6.
We do not compare with the gradient descent method because in
Table 3, the gradient descent method clearly entered into a locally optimal solution. Experimental results show that the convergence speed of line search is slower than AdaGrad. Due to the limit of iterations, the accuracy of the line search is lower than the AdaGrad method. The velocity and position errors show that the two-position calibration method is more accurate than the line search. AdaGrad has faster convergence rate and higher accuracy in static tests. In order to fully verify the calibration results in dynamic environment, 8 h static tests were carried out. The experimental results were shown in
Figure 11,
Figure 12,
Figure 13 and
Figure 14.
The velocity and position errors show that KF-based AdaGrad calibration method is more accurate than the line search and the two-position calibration method. The 8 h test shows the peak value of each north and east position errors. AdaGrad has higher accuracy in static test.
4.2. Field Tests
The static test only considers the angular motion. In order to fully verify the proposed method in this paper, we need to consider the case with linear motion. The field tests were conducted in this subsection. As is shown in
Figure 15, the SINS and the DGPS are equipped on the experimental car. The scale factors and installation angles were accurately calibrated before the field tests were carried out.
Three field tests were carried out and the corresponding trajectories are shown in
Figure 16.
Table 4 shows the field test arrangements. During the maneuvering process of the vehicle, we utilize the SINS/GPS integrated algorithm to provide precise velocity and position information as the velocity and position reference. In order to compare the two-position algorithm, line search and AdaGrad, we utilize the same trajectories to compare the three algorithms.
Field test 1 is a straight-line road test and field test 2 contained several turns and one sharp turn. The test vehicle had no obstruction on the test roads thus the GPS signal is consistent and effective thus the SINS/DGPS integrated algorithm can provide stable position information and velocity information.
We list the RMS and peak value of velocity and position error of test 1 in
Table 5 and
Table 6.
In field test 1,
Figure 17 and
Figure 18 shows that the east and north velocity errors of which the utilized KF-based AdaGrad are the smallest among the three methods. The two-position method is more accurate than the line search method. The position error is similar to the velocity error.
Figure 19 and
Figure 20 show that the east and north position error which utilized the two-position method smaller than the error of which utilized line search. The method utilized KF-based AdaGrad has the smallest position error.
In field test 2,
Figure 21 and
Figure 22 show that the east and north velocity error utilizing KF-based AdaGrad is the smallest among the three methods. The line search method is more accurate than the two-position method. The position errors are shown in
Figure 23 and
Figure 24, the east and north position error which utilized KF-based AdaGrad are obviously smaller than the other two methods. The position error of which utilized line search is smaller than the error of which utilized two-position method. The results of RMS and maximum values of velocity and position error are shown in
Table 7 and
Table 8.
For the purpose of fully verifying the effectiveness of the KF-based AdaGrad calibration method in the long-term navigation process, an 8 h field test was carried out in Chongqing to excite all three parts with different periods and amplitude. Due to the unstable GPS signal in field test 3, we only compare position errors because of the low accuracy of GPS velocity. The 8 h position error curve can fully verify the estimated accuracy of IMU biases.
In field test 3, the east and north position errors that utilized KF-based AdaGrad are smaller than the other two methods. Under long maneuvering condition, the line search and two-position calibration method have similar estimation accuracy.
The peak value of
Figure 25 and
Figure 26 is easy to figure out, we need to analyze the RMS of the position error.
Table 9 shows the RMS of position errors in field test 3.
The results differences between field test 1 and field test 2 are the line search and two-position method because test 2 is more dynamic than test 1. Navigation errors due to IMU biases can be excited out more easily so the convergence rate of line search is faster in test 2. The AdaGrad has the highest accuracy among the three methods. In conclusion, under the severe maneuvering condition line search has higher accuracy than two-position method while under low maneuvering conditions the traditional method two-position is more accurate than line search. Both static tests and car-mounted tests show the proposed method can achieve a more accurate estimated velocity and position than the other two methods, which denotes that the KF-based AdaGrad can estimate the IMU biases more accurately. The convergence rate and accuracy of line search are greatly affected by the external dynamic condition. Thus, the line search is not fittable in IMU biases calibration.