1. Introduction
In recent years, the unmanned aerial vehicle (UAV) swarm has been given more and more attention due to the tremendous application prospects. Compared with a single UAV, the UAV swarm is more efficient, reliable, flexible and intensive [
1,
2]. As a prerequisite for a UAV to complete various tasks, the navigation and positioning technology has been extensively studied by scholars. At present, the most popular navigation system usually consists of an inertial navigation system (INS) and a Global Navigation Satellite System (GNSS) [
3]. This system is very effective for improving navigation accuracy; however, its disadvantage of a fragile robustness due to the easy loss or disturbance of the GNSS signal limits its applications. When the GNSS signal is available, the Kalman filter (KF) is the most popular INS/GNSS data fusion algorithm. This paper aims to improve the fusion accuracy of the traditional KF and solve the problem of the UAV swarm navigation in the case of GNSS outage.
The Kalman filter uses the next observation to update the estimates of the current state variables, along with their uncertainties. KF corrects the noisy sensor data to a more realistic sensor output (with less noise) [
4]. However, the performance of KF is affected by the stochastic model describing the process noise and observation noise and the dynamic model describing the dynamics of the system over time [
5]. A variety of adaptive Kalman filters (AKF) has been proposed by scholars to improve the fusion precision of traditional Kalman filters when the stochastic model is inaccurate [
6]. The AKF based on the attenuation factor reduces the influence of historical data on the current results by adjusting the weight of the one-step prediction covariance matrix. In fact, the problem of the inaccurate noise model has not been solved [
7]. In most adaptive Kalman filtering algorithms, one of Q and R is usually fixed to adjust the other adaptively. For example, Li et al. proposed an adaptive Kalman filter based on the ensemble empirical mode (EMD) for X-ray pulsar navigation on the premise that the model has an accurate process noise covariance matrix Q [
8]. The adaptive Kalman filter algorithm based on an innovation sequence and pseudo-measurement vector method proposed by Zhang [
9] and the improving adaptive Kalman estimation algorithm based on a covariance-matching technology mentioned in [
10] are implemented on the assumption that R is completely known. The multi-model adaptive Kalman filter can estimate the unknown probability of measurement loss, but its premise is that both Q and R are clear and the calculation of the algorithm requires multiple Kalman filters [
11]. However, these three premises are difficult to achieve in practical applications.
Unfortunately, in case of GNSS outage, the INS/GNSS-integrated system does not work. The UAV position estimation based solely on the INS will drift significantly over time [
12]. At present, the artificial neural network (ANN) is the mainstream solution to deal with this situation. The introduction of the ANN was essentially to establish a nonlinear relationship between different inputs and outputs, and then estimate and correct inertial navigation errors when the GNSS is unavailable [
13]. For example, the author uses the position information output by the INS and the output of the interactive multi-model extended Kalman filter (IMM-EKF) to train the extreme learning machine when the GNSS is available. This training model can compensate for divergent position errors during GNSS outage [
14]. Wei et al. trained a wavelet neural network based on a random forest regression to provide the observation information for the AKF during a GNSS outage [
15]. Chen et al. introduced a wavelet neural network (WNN) to establish the time-varying characteristic model of INS error [
16]. In this system, historical error data were used to predict the current error when the GNSS signal was blocked. Abdolkarimi et al. [
17] introduced a neural network based on an extreme learning machine to compensate for INS errors during a GNSS outage, and improve the signal-to-noise ratio of the sensor measurements through wavelet transform. An ensemble learning method based on the multilayer perceptron (MLP) is proposed to provide a continuous position estimation for ships when GNSS signal is unavailable [
18]. However, as we all know, the prediction result of the neural network depends heavily on its own structure and training data. In addition, a lot of training time is also necessary to maintain a satisfactory accuracy.
The purpose of this paper is to provide a navigation solution that meets multiple situations (with or without GNSS). The main contents are as follows:
First, aiming at the situation that R and Q will affect each other when the adaptive Kalman filter works [
10], the dynamic adaptive Kalman filter (DAKF) based on ensemble empirical mode decomposition (EEMD) is designed. This method applies EEMD to the noise extraction of multi-channel GNSS signals and estimates the noise variance to dynamically adjust the observation noise covariance matrix R. Then, through the comparison of the actual and theoretical innovation sequences, Q is adaptively modified [
10]. Through the above work, the influence of the uncertain stochastic model on the performance of KF will be eliminated. A simulation will show that the DAKF has an effective improvement compared with the traditional KF.
Second, a network navigation algorithm (NNA) based on the distances among all UAVs is used. If a GNSS outage occur, the UAV swarm will automatically adjust from integrated navigation to network navigation. The NNA applies the translation–rotation approach between the measurement network with measured distances between nodes as edges and the inertial position network with inertial distances calculated from an INS output as edges to estimate the inertial positioning errors of each node in the swarm [
19]. The simulation will verify that NNA can significantly improve the UAV swarm positioning accuracy.
The main contributions of this paper are as follows:
Compared with the adaptive Kalman filter algorithm mentioned in [
7,
8,
9,
10,
11], the algorithm proposed in this paper can simultaneously estimate Q and R. This estimate changes dynamically with time and has a strong robustness to changing noise. The proposed algorithm also guarantees the positive semi-definiteness of the estimated state covariance matrix by using its Joseph’s form. In addition, compared with the EMD-based adaptive filtering method mentioned in [
8], the proposed algorithm has the following advantages: (1) EMD suffers from the problem of mode mixing, which causes insufficient decomposition of the original signal. The EEMD algorithm introduced in this paper is not bothered by this problem [
20]. This paper may be the first approach to introduce EEMD into the parameter solving of the Kalman filter in the field of integrated navigation. (2) All historical data were used for noise extraction in [
8], which will lead to that R cannot effectively follow the changes of environmental noise. The proposed algorithm adds a sliding window for noise extraction so that R can better respond to the changes of real noise. (3) The noise is calculated by the fixed number of the intrinsic mode function (IMF) components in [
8], which is unrealistic. The proposed algorithm uses the power spectral density (PSD) feature of the IMF to select different components to reconstruct the noise signal in different environments, which is adaptive [
21]. Compared with the multi-model adaptive Kalman filter in [
11], the algorithm proposed in this paper only needs one Kalman filter, which will save resources and time for calculation.
Compared with the neural network-based algorithm mentioned in [
14,
15,
16,
17,
18], this paper introduces the NNA to compensate the divergent position error of the UAV swarm during a GNSS outage. The proposed algorithm does not require a large number of network parameters and training resources, and the compensation result is not affected by historical data. In addition, this paper designs a simulation to prove the superiority of the proposed algorithm compared with the neural network-based algorithm.
The rest of the paper is organized as follows.
Section 2 introduces the EEMD and the adaptive Kalman filter. Then, a dynamic adaptive Kalman filter algorithm is derived.
Section 3 describes the principles of the networked navigation algorithm.
Section 4 provides the test results and analysis to show the superiority of the proposed methods. The conclusion is given in
Section 5.
2. Dynamic Adaptive Kalman Filter
When the observation noise covariance matrix matches the real noise, the adjustment of the process noise covariance matrix can help the KF perform better. However, in practical applications, it is extremely difficult to obtain the real noise which will vary with the measurement environment and sensor characteristics in the measurement process [
22]. This situation not only damages the performance of the Kalman filter itself, but also leads to an erroneous adjustment of Q, which makes the performance of the AKF inferior to the ordinary KF.
In order to solve this problem, a new adaptive algorithm that can simultaneously adjust Q and R in real time is introduced. When the GNSS signal changes under the environment influence or intentional jamming, the observation noise possesses the characteristics of non-linearity and non-uniformity. General signal processing methods, such as the Fourier transform, have difficulty dealing with this problem. Therefore, this paper introduces EEMD which is self-adaptive into the AKF to estimate the observation noise.
2.1. Ensemble Empirical Mode Decomposition
Huang invented a signal processing algorithm called EMD that can decompose a nonlinear signal into a series of near-orthogonal intrinsic mode functions (IMFs) [
23]. EMD is an adaptive time–frequency data processing algorithm, which is widely used to extract signals of interest from non-linear and non-stationary processes containing noise [
24,
25]. However, it is well known that EMD suffers from a mode mixing problem, which is defined as signals of different frequencies contained in a single IMF, that is, the decomposition of the original signal is not sufficient [
26]. To solve this problem, EEMD based on noise assistance is proposed [
20].
The principle of EEMD is very complete.
Adding white noise of limited amplitude to the original data will help the work of EMD. Signals of different scales can be automatically projected onto appropriate IMF components [
20]. This phenomenon depends on the statistical characteristics of the white noise itself [
27].
Since the added white noise in each experiment is random, after averaging the results of enough experiments, the influence of the added white noise on the original signal will be eliminated [
20].
By combining the original signal with white noise of limited amplitude, we can obtain a clearer IMF component [
26]. The pseudo-code implementation of the EEMD is listed in Algorithm 1.
Algorithm 1 EEMD |
Input: : The original signal; |
begin |
(1) //Add Gaussian noise series to the original signal ; is the Gaussian noise series with amplitude of ; |
(2) //Decompose noise-added signal into using EMD; |
(3) Repeat (1) and (2) times with different Gaussian noise series which have the same amplitude; |
(4) Get the means of corresponding of the decompositions as the final ; |
end |
As a result, the original signal is decomposed into the following form:
where
is the original signal,
is the
fth IMF signal and
is the residual signal.
2.2. Acquisition of Observation Noise Covariance Matrix R
The general steps of the acquisition of R are as follows:
The EEMD algorithm decomposes the GNSS signal within a fixed window size
into a series of IMF components (the introduction of the window makes the calculation of R pay more attention to the current noise situation instead of obtaining R from the data of the entire historical period, which wastes a lot of resources and is inaccurate). Then, the noise components are distinguished by comparing the power spectral density (PSD) of each component [
21] and the original noise is reconstructed by the summation of the noise components. At last, the observed noise covariance matrix R is estimated by the standard deviation of the reconstructed noise.
Since EEMD requires a suitable window size for the noise extraction, the setting of R is determined by the empirical value in the first seconds, but the inaccuracy of R within a short period of time will not have a significant impact on the final result.
The calculation process of the observation noise covariance matrix R using EEMD is listed in Algorithm 2.
Algorithm 2: observation noise covariance matrix by EEMD |
Input:
: a numeric sequence of GNSS signal; |
: a window size used for computing R; |
Output:
: observation noise covariance matrix at time k; |
begin |
(1) //Decompose input signal using EEMD; |
(2) // Use power spectral density (PSD) to select IMF [21]; |
(3) // Reconstruct the noise signal by summing ; |
(4) // Calculate the variance of ; |
(5) Return // return the estimated value of R at time k; |
end |
The inputs of this function are the GNSS signal and the window size for filtering, and the output is R at time k which changes with the actual noise.
2.3. INS Error Model
In this section, we will describe the INS error model in the east–north–up navigation reference frame. The error equation is as follows:
Navigation information errors include: the attitude error shown in the navigation frame the velocity error and the position error . is the output of the accelerometer. and are the radii of the earth in the latitude and longitude directions, respectively. and are the rotational angular velocities of the earth and navigation frame, respectively. and are the errors of the gyro and accelerometer, respectively. consists of the gyro bias and white noise . is composed of the accelerometer bias and white noise .
2.4. The Filtering Algorithm of Dynamic Adaptive Kalman Filter
Consider the following multivariable linear discrete system [
28]:
where
is the state vector (
),
is the transition matrix formed by the error equation described in
Section 2.3,
is the observation vector formed by the position difference of the GNSS receiver and the INS and
is the observation matrix.
and
are the Gaussian white noise sequences satisfying the following conditions:
where
is the process noise covariance matrix and
is the observation noise covariance matrix.
The prediction equations are:
where
is the predicted state vector;
is the estimated state vector;
is the predicted state covariance matrix;
is the estimated state covariance matrix.
The update equations are:
where
is the Kalman gain and
is the observation matrix. It is worth mentioning that in order to ensure the positive semi-definiteness of
, we used its Joseph’s form [
28].
In order to settle the uncertainty of the process noise, Ding et al. proposed an improving AKF based on the covariance matching method under the assumption that the observation noise is completely known and rewritten (7) as follows [
10].
where
is the scaling factor expressed as follows:
The innovation sequence
is defined as:
When is unknown or inaccurate, the calculation of the scaling factor will be affected. The adjustment of Q will become worse. When is accurately calculated by the proposed method, the solution of the scaling factor will be accurate. Therefore, Q will be adjusted more appropriately.
After substituting the
calculated by Algorithm 2 into (10) used to solve the scaling factor, the complete process of DAKF is shown in
Figure 1.
3. Network Navigation Algorithm
When the UAV swarm cannot receive the GNSS signal, the three-dimensional network navigation technology based on the distance information among all UAVs is introduced to reduce the error of the INS [
19].
The specific process of the algorithm is as follows:
By linearizing the difference between the inertial distances calculated from the INS output and the measured distance between nodes, the following Equation can be obtained [
29]:
where
is the measured distance between nodes
i and
j,
is the inertial distance between nodes
i and
j,
is the difference between these two distances,
is the INS output position of node
i and
is the position error of node
i; it is assumed that the error of distance difference
obeys a normal distribution. This assumption is based on the fact that the noise of the INS and the error of the measured distance between nodes obey a normal distribution.
is the error of distance difference
,
and
is the variance of the normal distribution [
29].
The matrix form of (12) is [
30]:
where
is the p-dimensional measurement vector,
is the p × 3a dimensional coefficient matrix (a is the number of nodes),
is the 3a-dimensional position error vector,
is the p-dimensional measurement error vector,
is the unit weight variance and
is the p × p dimensional measurement error covariance matrix of
.
According to the principle of least squares,
and
are replaced with their respective estimated values
and
. The model of the network navigation algorithm is established as follows [
29]:
The above formula can be rewritten as follows:
where
is the estimated position error vector.
However, the above formula can only prove that the shapes of the measurement network with measured distances between nodes as edges and the inertial position network with inertial distances calculated from the INS output as edges are the same.
To make the absolute positions of the two networks consistent in three-dimensional space, it is necessary to rotate and translate the two networks through the principle of the free network theory with rank deficiency mentioned in [
29].
According to this principle, the above rotation and translation process is equivalent to adding the following new solution conditions [
29]:
where
is a 3a × 3a dimensional weight matrix determined by the accuracy level of each node’s inertial navigation system. The expression of
is as follows:
where
is a matrix composed of six linearly independent eigenvectors corresponding to the zero eigenvalue of
.
satisfies the following conditions:
The first item in (18) can ensure that the added solution conditions (16) and the error Equation (15) are independent of each other. It can be seen from the second item in (18) that
is composed of the zero eigenvectors of
. The third item in (18) means that
supplements the error Equation (15) with six constraints caused by rotation and translation [
29].
The final estimated error of the node’s INS output can be expressed as:
According to the position
output by the INS and the error
estimated by the network navigation algorithm, the corrected value
of the node position can be obtained:
The theory of the network navigation algorithm has been well established, and the specific details can be found in [
30].