Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In recent decades, ocean resources have become international environmental, scientific and military issues. Therefore, an efficient underwater platform need to be developed for the exploitation of these resources, especially for applications such as oceanographic sampling [15] and related bathymetric purposes. The development of an underwater glider can fulfil these requirements because it is energy efficient and effective for long-term oceanographic sampling. The buoyancy-driven underwater glider concept was introduced in the late 1980s, which was formally proposed by oceanographer, Henry Stommel [1]. Currently, four underwater gliders are operational, which are known as the SLOCUM [2], Spray [3], Seaglider [4] and Deepglider [5]. The development of these gliders was inspired by the vision of Henry Stommel. These gliders were buoyancy propelled and had a similar design in terms of size, weight and configuration. However, the objective for each of these gliders is similar, which is to minimise energy consumption during the oceanographic exploration applications.

A typical underwater glider design consists of an ellipsoidal or cylindrical hull, wings, tail or rudder, internal electronic components and batteries. In addition, there are two internal actuators which consist of a ballast pump and a moving mass to control buoyancy and attitude respectively. These actuators enable the underwater glider to change buoyancy and weight to move vertically in the water column and use the hydrodynamic lift on the wings to create the forward motion. The hydrodynamic lift on the wings drives the glider forwards as it travels in a series of downward and upward glides. Due to the low power consumption, the buoyancy propulsion technique has the advantage of allowing the vehicles to undertake a mission of longer duration compared to that of conventional autonomous underwater vehicles (AUVs) [4, 6]. Although underwater gliders have demonstrated their greater efficiency, a change in vehicle configuration could further increase glider efficiency [7]. Due to this, research work on the underwater glider has experienced a substantial increase, and its related technologies are expanding rapidly.

Numerous underwater glider control techniques have been proposed by researchers, whether through simulation or actual experiment. Most existing gliders have used the PID and LQR controller to control the gliders attitude and motion [813]. In addition, the sliding mode control (SMC) has been used to control the underwater glider [14, 15], but the main constraint in SMC is the chattering effect, which can degrade the performance of the system, and make the system become unstable. Although these control systems have already demonstrated acceptable control results, they still have constraints in terms of control performance. The high nonlinearity of underwater vehicle dynamics and underwater disturbances are the main reasons that make it difficult to control the underwater glider [16, 17]. Due to this, it is highly desirable to design a controller that is robust and has an adaptive ability in order to deal with the constraints. Since the neural network is able to handle nonlinearity and is able to adapt to the changing conditions of the glider dynamics, we have chosen it as the controller for the motion control system of the buoyancy-driven USM underwater glider.

We have mathematically modelled the buoyancy-driven USM underwater glider and analysed the glider motion for the open-loop system in [18], and estimated the glider hydrodynamic coefficients and characteristics by using the Newtonian and Slender-body theory in [19]. In this work, the implementation of neural network control is implemented as the predictive control as well as the gain tuning algorithm. The simulations for both neural network approaches were performed by using Matlab. The motion characteristics for the glider were identified, and the neural network performance for both approaches were compared and analysed in the simulation results. In addition, we carried out a comparison of controller performance between the neural network controller and the LQR.

This chapter is organised as follows. In Sect. 2, the mathematical model and equations of motion for the USM buoyancy-driven underwater glider are presented. Section 3 describes the design of the neural network controller for the glider motion control system. Simulation results and discussion of analyses are presented in Sect. 4. Finally, a conclusion is given in Sect. 5.

2 Mathematical Model and Equation of Motion

In order to simulate and analyse the motion of the underwater glider, the dynamic parameters of the glider must first be modelled either using the analytical, experimental or computational method [2022]. In this work, the glider model was formulated by using the analytical method, which is based on Newtonian and Slender-body theory. Although, there are several dynamic models of the underwater glider, e.g. Graver [23] and Mahmoudian [24], in these models the disturbance of water currents is neglected. Therefore, we have included disturbance from water currents in the dynamic model of the glider.

2.1 Kinematic Model

The USM underwater glider has a cylindrical hull with fixed wings and a tail. In this model, the hydrodynamic forces and moments on the glider are composed of the forces and moments acting on the cylindrical hull, wings, and the rudder. The components configuration and the parameter values of the glider are shown in Fig. 1 and Table 1, respectively. The parameter values were obtained from calculation and Solidworks.

Fig. 1
figure 1

Components configuration of the buoyancy-driven USM underwater glider

Table 1 Principal characteristics of the underwater glider

In order to explain the kinematic model, Fig. 2 shows the frame of reference which was divided into a body-fixed frame (b-frame) and inertial frame (i-frame). The b-frame is a rotating frame with respect to the i-frame, which is considered as non-rotating frame in which the Newton’s laws of motion applies. The centre of buoyancy (CB) is located at the centre of the cylindrical hull (origin of b-frame), and the centre of gravity (CG) is slightly offset from the CB in order to create a constant gravitational moment.

Fig. 2
figure 2

Reference frame of the buoyancy-driven underwater glider

Referring to Fig. 2, the position of the glider with respect to the i-frame is denoted as \( \eta = [b, \Uptheta ]^{T} \), where \( b = [x, y, z]^{T} \) and \( \Uptheta = [\emptyset ,\theta , \psi ]^{T} \). The velocity of the glider is denoted as \( V = [\vartheta ,\omega ]^{T} \) where \( \vartheta = [u, v, w]^{T} \) and \( \omega = \left[ {p, q, r} \right]^{T} \). R is the rotational matrix that maps vector in b-frame into i-frame. Thus, the 6 DOF kinematic equations are defined as:

$$ \dot{\eta } = \left[ {\begin{array}{*{20}c} {R\Uptheta } & {0_{3x3} } \\ {0_{3x3} } & {T_{\Uptheta } \Uptheta } \\ \end{array} } \right] V, $$
(1)

where \( T_{\Uptheta } \Uptheta \) is the transformation matrix of the Euler angle. In the longitudinal model, the glider travels in the vertical x-z plane with the state of r or yaw moment is zero or small. As a result, the hydrodynamic effects of side force are neglected in the model. In addition, other lateral states such as \( v, p, \) \( \psi \) and \( \emptyset \) are also small.

2.2 Dynamic Model

The internal mass configuration of the glider is critical because the glider mass will change when travelling through the water column. There are three principal masses in the typical underwater glider: hull mass, \( m_{h} , \) internal moving point mass, \( m_{p} , \) and ballast point mass, \( m_{b} \). In some models of glider, such as in [24], the internal moving point mass is divided into two: sliding moving mass, \( m_{px} , \) and rotating moving mass, \( m_{py} \). However, for the USM underwater glider, only sliding moving mass is taken into account. Thus, the rigid body mass of the glider, \( m_{rb} , \) and net buoyancy, \( m_{0} \), are defined as:

$$ m_{{rb}} = m_{h} \, + \,m_{b} \, + \,m_{p} \;{\text{and}}\;m_{0} = m_{{rb}} \, - \,m $$
(2)

The variable m is the mass of fluid displaced. If \( m_{rb} \) is equal to m, the glider is neutrally buoyant. If \( m_{0} \) is greater than zero, that means the glider tends to sink because it is heavy in water. If \( m_{0} \) is lower than zero, the glider is buoyant and tends to rise. The position of \( m_{p} \) and \( m_{b} \) in the body frame is given by the vectors \( r_{p} \) and \( r_{b} \). Since the ballast mass is a variable mass with fixed position \( r_{b} \), therefore; \( \dot{r}_{b} = r_{b} = 0 \)

On the other hand, \( m_{p} \) has a fixed mass but variable position, \( r_{p} \). The sliding mass moves along the x-z plane for controlling the pitch, creating the following moving mass velocity vector:

$$ \dot{r}_{p} = [\dot{r}_{px} ,0,\dot{r}_{pz} ] $$
(3)

The internal sliding mass movement creates a gravitational moment on the glider’s body based on the amount of mass moved and the distance of its movement.

In order to model the dynamic forces and moments of the glider, there are four main components that need to be calculated. The components are the system inertia of the rigid body and added mass, M, Coriolis-centripetal of the rigid body and added mass, C(V), damping forces and moments, D(V), and gravitational and buoyancy forces and moments, \( g(n) \).

According to [25], the system inertia matrix with respect to the origin is formulated as:

$$ M = M_{RB} \, + \,M_{A} , $$
(4)

where \( M_{RB} \) is the rigid-body system inertia matrix and \( M_{A} \) is the added mass system inertia matrix.

In order to calculate the Coriolis forces and moments, \( C\left( V \right) \), the velocity of water currents, \( V_{c} \), is included in the equation as a disturbance. Thus, the Coriolis and centripetal force is defined as:

$$ C\left( V \right) = C_{RB} \left( V \right)V\, + \,C_{A} (V_{r} )V_{r} , $$
(5)

where

$$ V_{r} = V\, - \,V_{c} . $$
(6)

The \( C_{RB} \) and \( C_{A} \) represent the Coriolis of rigid body and added mass, respectively. On the other hand, the damping forces and moments, \( D\left( V \right) \), act at a centre of dissipative force. The dissipative force is equal to the product of pressure and area, therefore the velocity of water currents must be taken into account as a disturbance. Thus, the damping force and moment is defined as:

$$ D\left( V \right) = D\, + \,D_{n} (V_{r} ), $$
(7)

where \( D \) is the linear damping matrix and \( D_{n} (V_{r} ) \) is the nonlinear damping matrix.

The gravitational and buoyancy forces, \( g(n) \), are also called restoring forces. These forces occur due to weight, W, and buoyancy, B. The weight and buoyancy are defined as:

$$ W = m_{rb} g\;{\text{and}}\;B = \rho g\nabla , $$
(8)

where \( g \) is gravity, \( \rho \) is the water density and \( \nabla \) is the volume of the glider’s body. It is necessary to design the underwater glider with positive buoyancy (\( B > W \)), so that the glider will surface automatically in the case of an emergency situation such as power failure.

2.3 Equations of Motion

As stated in (3), the velocity vector of sliding mass is denoted as \( \dot{r}_{p} \). Therefore, the position of sliding mass is defined as \( r_{p} = \left[ {r_{px} ,r_{py} ,r_{pz} } \right] \) and the corresponding momentum is defined as \( p_{p} = \left[ {p_{px} ,p_{py} ,p_{pz} } \right] \). Let’s say that the rate of change of \( p_{p} \) is equal to the net force acting on the sliding mass, therefore the force of sliding mass is defined as:

$$ \overline{u} = \left[ {u_{x} ,u_{y} ,u_{z} } \right] = p_{p} \, \times \,q\, + \,m_{p} g\left( {R^{T} k} \right). $$
(9)

The control input for the ballast pump is denoted as \( u_{b} \), which is equal to the ballast mass rate, \( \dot{m}_{b} \). In addition to the control input of the actuators, we also include the velocity and acceleration of the water currents, \( V_{c} \), as the disturbance of the underwater glider plant. The current velocity and acceleration is defined as:

$$ V_{c} = [V_{cx} ,V_{cy} ,V_{cz} , \dot{V}_{cx} ,\dot{V}_{cy} ,\dot{V}_{cz} ] $$
(10)

Thus, the control input to the glider is denoted as:

$$ u = \left[ {\overline{u} ,V_{c} } \right] = \left[ {u_{x} ,0,u_{z} ,u_{b} ,V_{cx} ,V_{cy} ,V_{cz} , 0,0,0} \right] $$
(11)

According to the kinematic and dynamic model of the underwater glider, the 6 DOF nonlinear equations of motion for the generalized model of the underwater glider can be written as:

$$ \dot{\eta } = [\dot{x},\dot{y},\dot{z},\dot{\emptyset },\dot{\theta },\dot{\psi }] = J(\eta )V $$
(12)
$$ \dot{V} = \left[ {\dot{u},\dot{v},\dot{w},\dot{p},\dot{q},\dot{r}} \right] = M^{ - 1} ( - C(V) - D(V) - g(n)) $$
(13)

However, since the buoyancy-driven underwater glider glides vertically through the water column, we assumed that the motion in the horizontal plane is stable. Thus, several individual parameters in the equations of motion need to be rewritten and this can be done by referring to Graver [23]. In addition, the following differential equations of the sliding mass velocity and moment and the ballast mass rate also need to be included in the equations of motion.

$$ \dot{r}_{px} = \frac{1}{{m_{p} }}p_{px} \, - \,u\, - \,r_{pz} q, $$
(14)
$$ \dot{r}_{py} = \frac{1}{{m_{p} }}p_{py} \, - \,w\, + \,r_{px} q, $$
(15)
$$ \dot{p}_{px} = u_{x} , $$
(16)
$$ \dot{p}_{pz} = u_{z} , $$
(17)
$$ \dot{m}_{b} = u_{b} . $$
(18)

3 Neural Network Controller Design

The neural network controller has been applied to the AUV because of its robustness and adaptability to the highly nonlinearity and dynamics environment of the vehicle. There are several research works that have implemented neural networks to control AUV [17, 2629], but none of them are used to control the underwater glider. In this work, the neural networks is used for gain derivation and predictive control of the buoyancy-driven underwater glider motion control system.

3.1 Linearisation

In order to design the neural network controller, the nonlinear plant of the glider must be linearised. The linearisation is carried out about an operating point to obtain the state-space representation of the Multiple-Input-Multiple-Output (MIMO) system of the glider. In this work, the linearisation point is shown in Table 2.

Table 2 Linearisation operating point

This linearisation process produces the state-space that has 9 inputs, 17 states and 17 outputs. However, in order to control the glider motion and analyse it, only 6 inputs, 9 states and 9 outputs of interest were selected. Table 3 shows the selected states, inputs and outputs for the controller. The other states were not selected since they will not affect the dynamic of the underwater glider motion in the vertical plane.

Table 3 States, outputs and inputs of interest

3.2 Neural Network Controller for Gain Derivation

The objective of designing the neural network controller is to derive the gain, \( K \), for the glider motion control system. Therefore, we have designed the forward model of the neural network based on the mutlilayer perceptron (MLP) networks. Figure 3 shows the architecture of the forward model, where the model has one input layer, one hidden layer and one output layer. The input of the network is matrix B (desired control inputs) of the glider linear model and target output is matrix A (state outputs).

Fig. 3
figure 3

The forward model of the neural network controller

We used the sigmoid transfer functions in the hidden layer and output layer to estimate the output, and then used the states or outputs error to derive the gain for the controller. The state’s error between the desired states and actual states is defined as:

$$ E_{s} = \sum\nolimits_{i = 1}^{n} {A_{nn} \, - \,A_{ss} } , $$
(19)

where \( A_{nn} \) is the matrix A, which obtained from the neural network and \( A_{ss} \) is the matrix A, which obtained from the state-space. Thus, the gain, \( K \), is derived as:

$$ K = \, - (E_{s} /B), $$
(20)

where B is the matrix B from the input layer.

In order to select the network parameters, which are weights and biases, we have trained the network by using the backpropagation training procedure. The backpropagation training algorithm for the MLP networks is an optimisation procedure, which is based on the gradient descent. Thus, a mean square error performance index can be minimised, and it is defined as:

$$ w_{i,j}^{l} \left( {k\, + \,1} \right) = w_{i,j}^{l} \left( k \right)\, - \,\alpha s_{i}^{l} a_{j}^{l - 1} , $$
(21)
$$ b_{i}^{l} \left( {k\, + \,1} \right) = b_{i}^{l} \left( k \right)\, - \,\alpha s_{i}^{l} , $$
(22)

where \( \alpha \) is the learning rate and \( s \) is the sensitivity of transfer function to change in the network input at layer, \( l. \)

3.3 Neural Network Controller for Model Predictive Control (MPC)

The design objective of the MPC controller is to map the desired control input as well as achieving the target output of the reference model. The MPC is chosen because of its ability to handle the MIMO system of nonlinear plant, with low rates of control update. The MPC architecture requires two neural network models of the glider plant. The models are a neural network plant model (forward model) and a neural network controller (inverse model). In addition, a performance function and optimisation procedure, which is used to evaluate system responses and to select the best control input, are also taken into account.

The neural network controller learns to produce the plant inputs, which were selected by the optimisation process, and the optimisation process can be replaced by the neural network controller when the training process is completed. Figure 4 shows the block diagram of the MPC for the underwater glider, and Fig. 5 shows the inverse model of the neural network controller.

Fig. 4
figure 4

Model predictive control of the underwater glider motion

Fig. 5
figure 5

The inverse model of the neural network controller

The MPC system model of the underwater glider is given in the discrete time representation. The system outputs, \( y_{n} \), controlled outputs, \( z_{n} \), inputs, \( u_{n} \) and states, \( x_{n} \) are respectively defined as:

$$ x_{n} = A_{d} x_{n} \, + \,B_{d} u_{n} , $$
(23)
$$ y_{n} = C_{d} x_{n} , $$
(24)
$$ z_{n} = C_{z} x_{n} , $$
(25)

where \( n \) is the nth element of the system. In order to obtain the control input of the glider motion control system, the sampling time, control horizon and prediction horizon must be determined during the model prediction process. In this work, we have determined the value of sampling time, control horizon and prediction horizon as equal to 1, 15 and 5, respectively.

In addition, we have also specified the output constraints of the MPC control system in terms of the minimum and maximum value of the ballast mass, \( m_{b} \), and sliding mass vector, \( r_{px} \). These constraints are specified because the maximum value of ballast mass is 0.850 kg and the maximum value of sliding mass vector in \( x \)-direction is 0.40 m. Then, the MPC algorithm predicts the future system output at each sampling time for the predetermined prediction horizon. Finally, the control input at each sampling time is calculated based on the optimisation over the control horizon. Thus, there are three important steps that must be carried out in the implementation of the MPC algorithm. The steps are prediction, optimisation and control.

4 Results and Discussion

In this section, we demonstrate the simulation results of the neural network control of the glider. The simulation was programmed using Matlab, and the results are presented in terms of the neural network controller for gain derivation and model predictive control. In addition, a comparison of the control performance between the neural network controller and LQR controller is presented.

4.1 Model Predictive Control

We have simulated the model with a different value of desired outputs, where the range of the pitch angle, \( \theta \), was between −45° to 45°, and the range of surge velocity, \( u \), was between 0 to 1 m/s. However, in this chapter, we demonstrate and compare the results of two desired pitch angles of downward and upward motion with different desired surge velocity. Thus, there are four sets of desired outputs which have been simulated in order to obtain the plant control inputs and the plant outputs. Figure 6a, b shows the graph of plant control inputs and actual plant outputs, respectively, which resulted from the simulation of the first set of desired outputs. In this first set of desired outputs, the value of the desired pitch angle, \( \theta \), was −35° (−0.6109 rad) and the rest of the desired outputs were zero. According to the graph of plant output (Fig. 6b), the resulting or actual pitch angle converged to the desired angle, and the Fig. 6a shows the resulting control inputs, u = [0.1913, 0.1689, 0.1224, 1.1832, 0, −0.0596].

Fig. 6
figure 6

a Plant inputs, and b plant outputs for the desired pitch angle, \( \theta \) = −35°

Figure 7a, b shows the plant inputs and outputs for the upward motion, where the desired pitch angle was 35° and the rest of the desired outputs were zero. The graphs show that the neural network controller was able to achieve the desired pitch angle and was able to predict the control inputs. The graphs of plant inputs show that the control input for the desired motion is u = [−0.1926, 0.0209, 0.0513, −1.2088, 0, −0.0270].

Fig. 7
figure 7

a Plant inputs, and b plant outputs for the desired pitch angle, \( \theta \) = 35°

In the third simulation, the third set of desired outputs represent the downward motion, where the pitch angle was −25° and the surge velocity was 0.3 m/s. Figure 8a, b shows the resulting plant control inputs and actual plants outputs. The graphs show that the actual output for pitch angle and surge velocity are converged to the desired pitch angle and surge velocity, and the predicted control input is u = [0.1443, 0.1258, 0.0889, 1.8294, 0, −0.0720].

Fig. 8
figure 8

a Plant inputs, and b plant outputs for the desired pitch angle, \( \theta = - 2 5^{^\circ } \) and the desired surge velocity, \( u \) = 0.3 m/s

Finally, the plant inputs and outputs for the fourth set of desired outputs, are shown in Fig. 9a, b. In the fourth set of desired outputs, the pitch angle was 25°, the surge velocity was 0.6 m/s and the rest of the desired outputs were zero. As a result, the graph shows that the actual output for pitch angle and surge velocity are converged to the desired output, and the predicted control input is u = [−0.1218, −0.0390, −0.0230, 1.1140, 0, −0.0457].

Fig. 9
figure 9

a Plant inputs, and b plant outputs for the desired pitch angle, \( \theta \) = 25° and the desired surge velocity, \( u \) = 0.6 m/s

4.2 Neural Network Gain Tuner

In order to analyse which neural network control approaches produced better performance, we have compared the actual plant output of MPC with the neural network gain tuner and the LQR controller. Therefore, we used the predicted control input that we obtained from the four sets of MPC simulation. Figure 10 shows the glider motion for the first control inputs, which resulted when the desired pitch angle, \( \theta \), was −35° (−0.6109 rad). The graphs show that both the neural network gain tuner and the LQR controller produced the pitch angle value of −0.0218 rad and −0.0266 rad respectively, which means the desired pitch angle is not achieved.

Fig. 10
figure 10

Control response of the neural network gain tuner and the LQR controller based on MPC control input, u = [0.1913, 0.1689, 0.1224, 1.1832, 0, −0.0596]

Figure 11 presents the resulting upward motion of the glider when the second set of plant inputs from the MPC is entered as the control input of the neural network gain tuner and the LQR controller. The graphs show that the desired angle of 35° is not achieved for both controllers. The neural network gain tuner shows the resulting value of the pitch angle is 1.4° (0.0247 rad) and the value of the pitch angle for LQR is 1.5° (0.0271 rad).

Fig. 11
figure 11

Control response of the neural network gain tuner and the LQR controller based on MPC control input, u = [−0.1926, 0.0209, 0.0513, −1.2088, 0, −0.0270]

Figure 12 shows the downward motion of the glider for the third control inputs, which resulted when the desired pitch angle, \( \theta \), was −25° (−0.4363 rad) and the surge velocity was 0.3 m/s. The graphs show that both the neural network gain tuner and the LQR controller produced the pitch angle value of −0.0283 and −0.0323 rad, respectively, which means the desired pitch angle was not achieved. However, the surge velocity from the neural network gain tuner converged to the desired surge velocity, which is 0.3 m/s. On the other hand, the surge velocity from the LQR did not converge to the desired velocity, since the value is 0.44 m/s.

Fig. 12
figure 12

Control response of the neural network gain tuner and the LQR controller based the MPC control input, u = [0.1443, 0.1258, 0.0889, 1.8294, 0, −0.0720]

Finally, the resulting plant outputs from the neural network gain tuner and the LQR controller for the fourth control inputs of the MPC, are shown in Fig. 13. The graphs show that neither the desired pitch angle nor the desired surge velocity are achieved by either controller, where the error rate of pitch angle for neural network gain tuner is 98.1 % and the error rate for LQR is 96.8 %. On the other hand, the error rate of surge velocity for the neural network gain tuner is 23.5 % and the error rate for LQR is 41.3 %.

Fig. 13
figure 13

Control response of the neural network gain tuner and the LQR controller based on the MPC control input, u = [−0.1218, −0.0390, −0.0230, 1.1140, 0, −0.0457]

5 Conclusion

This chapter presents the neural network motion control system of the buoyancy-driven underwater glider in the vertical plane, which is based on the linearised model of the nonlinear underwater glider plant. In addition, the presence of water currents as a disturbance is also included in the glider model. In this work, the neural network controller is used for the MPC and gain tuning or derivation algorithm. In order to predict the plant control inputs and plant outputs, four sets of desired outputs are used in the MPC. The desired outputs consist of 9 states of the glider linearised model. The resulting plant control inputs were then used on the neural network controller for gain derivation and the LQR controller. Therefore, the controllers’ performance can be compared and analysed. According to the analysis, we found that the performance of the MPC is better than the neural network gain tuner and the LQR controller because of the efficient optimisation factor in the MPC. All the simulation results show that the glider model is stable, and the MPC able to compensate for disturbance and able to predict the control inputs and motion outputs, with a high accuracy rate of 94.5 %.