Keywords

1 Introduction

Mono-geomagnetic aided navigation and mono-gravity gradient aided navigation have both been used for underwater navigation. Guo et al. proposed a geomagnetic navigation algorithm based on the Sage-Husa adaptive Kalman filter to adjust the measurement noise matrix adaptively to eliminate the influence of magnetic storms [1]. Xiong et al. proposed a gravity gradient aided navigation algorithm based on the extended Kalman filter to correct the inertial navigation system’s accumulated error [2]. Compared with geomagnetic aided navigation, gravity gradient aided navigation is insensitive to accelerations from various time-varying disturbances. Zheng et al. used a combined gravity- and geomagnetism-aided navigation method to improve the positioning success rate [3]. However, gravity aided navigation is affected by terrain fluctuations, and geomagnetic aided navigation is sensitive to time-varying noise. Considering various kinds of terrain fluctuations and time-varying noise, especially because the variations in gravity or geomagnetism are insufficient in some areas, it is better to combine the gravity gradient and geomagnetic information together to eliminate terrain fluctuations and time-varying disturbances. Based on such considerations, gravity gradient aided navigation and geomagnetism aided navigation are used as two local systems in an integrated navigation system. Then a kind of weighted least squares estimation algorithm is used to fuse information from each local system. Finally, the estimated optimal position and velocity values are used as feedback to update the estimated values of two local neural network-aided adaptive UKFs.

This paper is organized as follows. The adaptive UKF for neural network training is described in Sect. 2. The state model and measurement model of the integrated navigation system are introduced in Sect. 3. The information fusion algorithm is proposed in Sect. 4. Experimental results are discussed in Sect. 5, and conclusions are summarized in Sect. 6.

2 Adaptive UKF for Neural Network Training

As shown in Fig. 1, a multilayered Neural Network has K inputs \( x_{i} (i = 1,2, \ldots ,K) \) and M outputs \( y_{j} (j = 1,2, \ldots ,M) \) through the connecting weights w and the mapping function g(•).

Fig. 1.
figure 1

Multilayered neural network structure.

To apply Adaptive UKF to Neural Network training, the first step is to organize all the inputs, outputs, and network weights as state vectors. The Adaptive UKF estimates the weights of Neural Network, which in turn are used to modify the state estimate predictions of the filter as observations are processed. The training can then be described as a state estimate problem with the following dynamic and observation equations [4]

$$ \left\{ {\begin{array}{*{20}c} {w_{k} = w_{k - 1} } \\ {d_{k} = y_{k} + v_{k} = g(w_{k} ,x_{k} ) + v_{k} } \\ \end{array} } \right. $$
(1)

where d and y represent the desired and actual outputs, respectively; v denotes the random observation noise, and is assumed as zero-mean Gaussian and white with the covariance matrix R.

For the sake of brevity, herein we present the Adaptive UKF for Neural Network training in the following steps

  1. Step (1)

    Initialization

    $$ \left\{ {\begin{array}{*{20}c} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{0} = E[w_{0} ]} \\ {P_{0} = E[(w_{0} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{0} )(w_{0} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{w}_{0} )^{T} ]} \\ \end{array} } \right. $$
    (2)
  2. Step (2)

    Calculation of sigma points with corresponding weights

    $$ \left\{ {\begin{array}{*{20}l} {(\chi_{t}^{a} )_{0} = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t}^{a} } \hfill \\ {(\chi_{t}^{a} )_{i} = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t}^{a} + (\sqrt {(L + \lambda )P_{t}^{a} } )_{i} \quad \quad i = 1, \ldots ,L} \hfill \\ {(\chi_{t}^{a} )_{i} = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t}^{a} - (\sqrt {(L + \lambda )P_{t}^{a} } )_{i - L} \quad \quad i = L + 1, \ldots ,2L} \hfill \\ {W_{0}^{(m)} = \lambda /(L + \lambda )} \hfill \\ {W_{0}^{(c)} = \lambda /(L + \lambda ) + (1 - \alpha^{2} + \beta )} \hfill \\ {W_{i}^{(m)} = W_{i}^{(c)} = 1/\{ 2(L + \lambda )\} \quad \quad i = 1, \ldots ,2L} \hfill \\ \end{array} } \right. $$
    (3)
  3. Step (3)

    Time update

    $$ \left\{ {\begin{array}{*{20}l} {(\chi_{t + 1|t}^{a} )_{i} =\Phi [\text{(}\chi_{t}^{x} \text{)}_{i} \text{,(}\chi_{t}^{w} \text{)}_{i} \text{]}} \hfill \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1|t}^{a} = \sum\limits_{i = 0}^{2L} {W_{i}^{(m)} (\chi_{t + 1|t}^{a} )_{i} } } \hfill \\ {P_{t + 1|t}^{a} = \sum\limits_{i = 0}^{2L} {W_{i}^{(c)} [(\chi_{t + 1|t}^{a} )_{i} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1|t}^{a} ][(\chi_{t + 1|t}^{a} )_{i} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1|t}^{a} ]^{T} } } \hfill \\ {(y_{t + 1|t} )_{i} = H[(\chi_{t + 1|t}^{x} )_{i} ]} \hfill \\ {\hat{y}_{t + 1|t} = \sum\limits_{i = 0}^{2L} {W_{i}^{(m)} (y_{t + 1|t} )_{i} } }\end{array} } \right. $$
    (4)
  4. Step (4)

    Measurement update

    $$ \left\{ {\begin{array}{*{20}l} {P_{{y_{t + 1|t}\; y_{t + 1|t} }}^{a} = \sigma_{k} \sum\limits_{i = 0}^{2L} {W_{i}^{(c)} [(y_{t + 1|t} )_{i} - \hat{y}_{t + 1|t} ][(y_{t + 1|t} )_{i} - \hat{y}_{t + 1|t} ]^{T} } } \hfill \\ {P_{{x_{t + 1|t}\;y_{t + 1|t} }}^{a} = \sigma_{k} \sum\limits_{i = 0}^{2L} {W_{i}^{(c)} [(\chi_{t + 1|t}^{x} )_{i} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1|t}^{a} ][(y_{t + 1|t} )_{i} - \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{y}_{t + 1|t} ]^{T} } } \hfill \\ {V_{k}^{{\prime \prime }} = (z_{t + 1|t} )_{i} - \hat{z}_{t + 1|t} } \hfill \\ {\sigma_{k} = \left\{ {\begin{array}{*{20}l} {\sigma_{k} = 1\quad tr\left( {V_{k}^{{\prime \prime }} V_{k}^{{{\prime \prime }T}} } \right) \le tr\left( {P_{{x_{t + 1|t}\;y_{t + 1|t} }}^{a} } \right)} \hfill \\ {\sigma_{k} = \frac{{tr\left( {P_{{x_{t + 1|t}\;y_{t + 1|t} }}^{a} } \right)}}{{tr\left( {V_{k}^{{\prime \prime }} V_{k}^{{{\prime \prime }T}} } \right)}}tr\left( {V_{k}^{{\prime \prime }} V_{k}^{{{\prime \prime }T}} } \right) > tr\left( {P_{{x_{t + 1|t}\;y_{t + 1|t} }}^{a} } \right)} \hfill \\ \end{array} } \right.} \hfill \\ {\kappa_{t + 1} = P_{{x_{t + 1|t}\;y_{t + 1|t} }}^{a} \left( {P_{{y_{t + 1|t}\;y_{t + 1|t} }}^{a} } \right)^{ - 1} } \hfill \\ {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1}^{a} = \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{x}_{t + 1|t}^{a} + \kappa_{t + 1} (y_{t + 1} - \hat{y}_{t + 1|t} )} \hfill \\ {P_{{{t + 1} }}^{a} = P_{{{t + 1|t} }}^{a} - \kappa_{t + 1} P_{{y_{t + 1|t}\;y_{t + 1|t} }}^{a} \kappa_{t + 1}^{T} } \hfill \\ \end{array} } \right. $$
    (5)

    where the parameter \( \sigma_{k} \) is adopted to improve the robustness of UKF towards a large initial state error and time-vary noises from measurement sensors, and keep the measurement covariance matrix to be positive definite. Furthermore, using such parameter also makes UKF achieve stronger robustness under influences from outliers.

3 State Model and Measurement Model

The process and observation models of the autonomous underwater vehicle system exhibit significant nonlinearities. When the underwater vehicle is in a state of motion, the values of gravity gradient and of geomagnetism are measured at discrete points simultaneously using sensors fixed on underwater vehicles. An approach to model the integrated navigation system is

$$ \left\{ {\begin{array}{*{20}l} {x_{t + 1} =\Phi (t)x_{t} + n_{t} } \hfill \\ {{\mathbf{z}}_{t + 1} = H(x_{t + 1} ) + v_{t + 1} } \hfill \\ \end{array} } \right. $$
(6a,b)

Equation (6a, b) describes the propagation of system state in time, where \( x_{t} = [\delta r_{x} (t),\delta r_{y} (t),\delta r_{z} (t),\delta v_{x} (t),\delta v_{y} (t),\delta v_{z} (t)]^{T} \) is the state of the system at time step t; δ is defined as the error between the actual state and the reference state which is presented by INS; \( (r_{x} ,r_{y} ,r_{z} ) \) are the coordinates of the underwater vehicle’s position in the Cartesian reference frame in x, y and z directions, respectively; \( v_{x} \), \( v_{y} \) and \( v_{z} \) are the velocity components of the vehicle in x, y and z directions, respectively; \( \Phi (t) \) represents the state transition matrix, and \( n_{t} \) denotes the process noise of dynamic system. H is the measurement model of the integrated navigation system, \( v_{t + 1} \) is the measurement error of the dynamic system, z is the output measurement value of the system. Let \( e_{t} \) denote the error between the true model and the priori known mathematical model \( {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}\Phi }(x_{t} ) \) and \( e_{t} =\Phi (x_{t} ) - {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\Phi } }(x_{t} ) \). The Neural Network is used to approximate the error, and we adjust the weights of the Neural Network, when \( e_{t} - g(x_{t} ,w_{t} ) \to 0 \), the error \( e_{t} \) is well approximated. Then we have

$$ \begin{aligned} x_{t + 1} & = {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}\Phi }(x_{t} ) + g(x_{t} ,w_{t} ) \\ w_{t + 1} & = w_{t} \\ \end{aligned} $$
(7)
$$ \Phi \left( {x_{t} } \right) = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & {\Delta t} & 0 & 0 \\ 0 & 1 & 0 & 0 & {\Delta t} & 0 \\ 0 & 0 & 1 & 0 & 0 & {\Delta t} \\ 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 \\ \end{array} } \right] \times x_{t} $$
(8)

If we represent the augmented state vector as \( x_{t}^{a} = [x_{t}^{T} w_{t}^{T} ]^{T} \), then the Eq. (7) can be redefined as

$$ x_{t + 1}^{a} = \left[ {\begin{array}{*{20}c} {x_{t + 1} } \\ {w_{t + 1} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\frown}$}}{\Phi }(x_{t} ) + g(x_{t} ,w_{t} )} \\ {w_{t} } \\ \end{array} } \right] $$
(9)

The Eq. (6a, b) is the measurement equation, so we have

$$ \left\{ {\begin{array}{*{20}l} {{\mathbf{z}}\_geo = \delta geo = geo_{actual} - geo_{INS} } \hfill \\ {{\mathbf{z}}\_gg = \delta gg = gg_{actual} - gg_{INS} } \hfill \\ \end{array} } \right. $$
(10)

where geo represents geomagnetism, gg represents gravity gradient, and δ is the error between the actual geophysical signal (the gravity gradient vector and the geomagnetic vector) measured values and the referenced geophysical signals, which are given according to the INS state and the underwater gravity gradient/geomagnetism maps.

4 Information Fusion Algorithm Based on Gravity Gradient and Geomagnetism Measurement Information

As the state equation and measurement equation are nonlinear, a Neural Network-aided Adaptive UKF is used in each local filter. Equation (10) is taken to form two local NN-aided adaptive UKF filters for gravity gradient and geomagnetism measurement information separately. Using the weighted least squares estimation algorithm, a master filter fuses the local optimal state estimates \( \mu_{i} (k) \) (i = 1, 2) from the two local filters to obtain the entire optimal state estimate. A block diagram in Fig. 2 illustrates the information fusion algorithm of the integrated navigation system based on the gravity gradient and geomagnetism sub-filters.

Fig. 2.
figure 2

The block diagram of information fusion on the integrated navigation system.

After the positioning results from the gravity gradient local filter and the geomagnetism local filter have been obtained, denoted by p 1 and p 2 respectively, the weighted least squares estimation is utilized to combine the gravity gradient aided navigation sub-system and the geomagnetism aided navigation sub-system. They are affected by various errors, including measurement error, database error, and algorithm error. Such errors can be treated as Gaussian noise. Then the weighted least squares estimation method for the combined gravity gradient and geomagnetism measurement information can be constructed as

$$ WP = [w_{1} ,w_{2} ][p_{1} ,p_{2} ]^{T} $$
(11)

Where w 1 and w 2 are the weights of the gravity gradient position result and the geomagnetism position result, respectively. In other words, the mathematical expectation of the position result after fusion is the weighted expectation of the gravity gradient local filter and the geomagnetism local filter individually. The accuracy of the integrated navigation method is

$$ \left\{ {\begin{array}{*{20}l} {\delta_{T} = \sum {\sqrt {w_{i}^{2} \delta_{i}^{2} } } } \hfill \\ \sum{w_{i} = 1} \hfill \\ \end{array} } \right.\;\;i = 1,\,2 $$
(12)

Where \( \delta_{i} \) is the residual error of each local adaptive UKF filter. Thus a kind of conditional Lagrange multiplier extreme value equation F can be written as

$$ \left\{ {\begin{array}{*{20}l} {F = \sum {w_{i}^{2} \delta_{i}^{2} + \lambda (\sum {w_{i} - 1)} } } \hfill & {} \hfill \\ {\frac{\partial F}{{\partial w_{i} }} = 0} \hfill & {i = 1,\,2} \hfill \\ \end{array} } \right. $$
(13)

According to Eq. (13), the weights of gravity gradient and geomagnetism filters are obtained as follows

$$ w_{i} = \frac{1}{{\delta_{i}^{2} \sum {\frac{1}{{\delta_{i}^{2} }}} }},\quad \quad i = 1,\;2 $$
(14)

Then the final optimal state can be described as

$$ \left\{ \begin{aligned} \hat{\mu }_{g} (k) = \sum {w_{i} \mu_{i} (k)} \hfill \\ \hat{p}_{g} (k) = \sum {w_{i} p_{i} (k)} \hfill \\ \end{aligned} \right.\quad \quad i = 1,2 $$
(15)

Where \( \hat{\mu }_{g} (k) \) is the optimal state of local UKFs, and \( \hat{P}_{g} (k) \) is the optimal covariance matrix of state.

5 Experimental Results

This section presents the simulation conditions and shows the experimental results. The initial position and velocity errors are assumed zero. The parameters related to the local UKFs are shown in Table 1, where Q is the covariance of state process noise in the geomagnetic navigation system and Gravity Gradient Navigation system, q 1 is the position error, q 2 is the velocity error, R 1 is the covariance of measurement noise in the gravity gradient navigation system, and R 2 is the covariance of measurement noise in the geomagnetic navigation system. Disturbances and noise are assumed to be kinds of white noise. The underwater geomagnetic reference map is shown in Fig. 3, and the computed gravity gradient map from the DEM of the terrain-reference map (the method details in [5]) is illustrated in Fig. 4.

Table 1. Parameters of the integrated navigation simulation
Fig. 3.
figure 3

Underwater geomagnetic reference map.

Fig. 4.
figure 4

Computed gravity gradient map from the DEM of the terrain-reference map.

Considering various kinds of measurement noise which have particularly great influence on the integrated navigation system, some kinds of time-varying noise make the mono-geomagnetic and mono-gravity gradient navigation systems become unstable and the covariance matrix of state lose its positive definite character. In addition, a large time-varying disturbance introduces singularities into the two kinds of navigation system. To improve robustness of the integrated navigation, the weighted least squares estimation is utilized to adapt to the residual error of each local UKF and to restrict various kinds of sensor noise and time-varying disturbances. In particular, the weighted least squares algorithm is a good method for effectively updating each sub-UKF, and the optimal states are robust to the uncertainties of a complex integrated navigation system. At the same time, by using a kind of modified parameter σ k in the local filters, it makes the gravity gradient and geomagnetism sub-systems more robust towards time-varying noise and terrain fluctuations. Figure 5 shows clearly that the weighted least squares estimation combining with NN-Aided adaptive UKF is the most effective algorithm among the three algorithms examined. By achieving the optimal states, the integrated navigation system has improved its robustness and reduced certain disturbances to a controlled level.

Fig. 5.
figure 5

Comparison of the three information fusion algorithms.

6 Conclusions

This paper presents an integrated underwater navigation, which effectively combines gravity gradient aided navigation and geomagnetic aided navigation together. The proposed weighted least squares estimation and Neural Network-Aided adaptive UKF method exhibits better performance than the MMAE-UKF method and the adaptive-UKF method. A feasible explanation is that the proposed method takes full advantage of the two types of measurement and uses the weighted least squares algorithm to fuse the two local filters. Moreover, this method is simple for implementation and able to improve robustness of the integrated navigation. The simulation results demonstrate that this method is a suitable choice for autonomous underwater navigation.