Keywords

1 Introduction

Dynamic Positioning (DP) Systems use sensors to measure the movement states and positions of ships and provide the propeller systems with a certain control amount by a controller, which can resistance the environmental interferences and maintain the lateral, longitudinal positions and heading angle [1, 2]. However, because of their strong dependence on the model and the complexity of the theory and the algorithm, many methods only stay in the theoretical simulation stage, having many shortcomings in practice [3]. Active Disturbance Rejection Controller (ADRC) doesn’t depend on an exact model of the controlled object [4, 5].

However, there are many adjustable parameters in nonlinear ADRC, which seriously affected the application of ADRC in the project. In order to solve this problem, RBF neural network control is used to improve ADRC in this paper. We uses RBF neural network to do online identification for the controlled object and design RBF Neural Network Identifier (RBFNNI). Then, use RBFNNI to adjust the controller’s parameters of NLSEF in real time. Compared with the traditional ADRC, this method greatly reduces the number of adjustable parameters, improves the control accuracy, and increases the anti-disturbance range of the control system.

2 Problem Formulation

2.1 Mathematical Model of Ship Manoeuvring

Generally, low frequency motion model is used in DP systems of ships [5]:

$$ \left\{ {\begin{array}{*{20}l} {\dot{\eta } = R\left( \psi \right)v} \\ {M\dot{v} + Dv = \tau } \\ \end{array} } \right. $$
(2.1)

where, \( \eta = [x{\text{ y }}\psi ]^{T} \) expresses a ship’s position, \( v = [u\,v\,r]^{T} \) is the velocity vector. \( R\left( \psi \right) \) is the conversion matrix of the inertial coordinate system and the ship coordinate system. \( M \) is the inertial matrix. \( D \) is the damping matrix. \( \tau = \tau_{T} + \tau_{W} + \cdots \) is the total force of the ship’s motion. \( \tau_{T} = [X_{T} \,Y_{T} \,N_{T} ]^{T} \) is the force calculated by the controller. \( \tau_{W} \) is the total interferences force and torque, generated by Wind, wave, flow and other environmental interference.

2.2 Mathematical Model of Disturbances

2.2.1 Wind, Wave and Flow

Marine environmental disturbances that can affect the location of the ship include second-order wave force, flow and average wind. The model is described as following [6]:

$$ \left\{ \begin{aligned}& X_{W} = F_{e} \cos \left( {\beta_{e} - \psi } \right) \hfill \\ & Y_{W} = F_{e} \sin \left( {\beta_{e} - \psi } \right) \hfill \\ & N_{W} = l_{x} \sin \left( {\beta_{e} - \psi } \right) - l_{y} \cos \left( {\beta_{e} - \psi } \right) \hfill \\ \end{aligned} \right. $$
(2.2)

where, \( F_{e} \) is the constant force, \( \beta_{e} \) is the average direction of disturbance change, \( \left( {l_{x} ,l_{y} } \right) \) is the position of the interference force acting on the ship.

2.2.2 System’s Unmodeled Dynamics

Considering the unmodeled dynamics of the system, the ship dynamic positioning linear model given by Formula (2.1) can be rewritten as:

$$ M\dot{v} + Dv = \tau_{\rm T} + \tau_{\rm M} + w $$
(2.3)

where, \( w = \left[ {w_{1} ,w_{2} ,w_{3} } \right]^{T} \) is the unmodeled dynamics.

$$ \left\{ \begin{aligned} & w = J^{T} \left( \eta \right)b \hfill \\ & \dot{b} = - T_{b}^{ - 1} b + E_{b} \omega_{b} \hfill \\ \end{aligned} \right. $$
(2.4)

where, \( b \in R^{3} \) is the deviation force and torque. \( E_{b} = diag\left\{ {E_{b1} ,E_{b2} ,E_{b3} } \right\} \) and \( \omega_{b} \) are Gaussian white noise vectors, \( T_{b} \) is a diagonal matrix.

Then, the ship’s motion model can be described as:

$$ \left\{ \begin{aligned}& \dot{\eta } = J(\eta )v = R\left( \psi \right)v \hfill \\ & M\dot{v} + Dv = \tau_{\rm T} + \tau_{\rm M} + w \hfill \\ \end{aligned} \right. $$
(2.5)

3 Controller Design

3.1 ADRC

ADRC includes Tracking Differentiator (TD), Extended State Observer (ESO) and Nonlinear State Error Feedback (NLSEF).

  1. 1.

    Tracking Differentiator (TD).

$$ {\text{TD}}\left\{ \begin{aligned} & \dot{x}_{1} = x_{2} \hfill \\ & \dot{x}_{2} = fhan\left( {x_{1} - v,x_{2} ,r,h_{0} } \right) \hfill \\ \end{aligned} \right. $$
(3.1)
  1. 2.

    Extended State Observer (ESO).

$$ \left\{ \begin{aligned} & e = z_{1} - y \hfill \\ & \dot{z}_{1} = z_{2} - \beta_{1} e \hfill \\ & \dot{z}_{2} = z_{3} - \beta_{2} fal\left( {e,\alpha_{1} ,\delta } \right) + bu \hfill \\ & \dot{z}_{3} = - \beta_{3} fal\left( {e,\alpha_{1} ,\delta } \right) \hfill \\ \end{aligned} \right. $$
(3.2)
  1. 3.

    Nonlinear State Error Feedback (NLSEF).

$$ u_{0} = \beta_{1} fal\left( {e_{1} ,\alpha_{1} ,\delta } \right) + \beta_{2} fal\left( {e_{2} ,\alpha_{2} ,\delta } \right) $$
(3.4)

Then, the final control is:

$$ u = u_{0} - \frac{{z_{3} }}{b} $$
(3.5)

3.2 RBF and ADRC Integrated Controller

There are many parameters in nonlinear ADRC, which is quite inconvenient to adjust. In this paper, RBF Neural Network Identifier (RBFNNI) is designed to identify the controlled object and adjust the controller parameters of NLSEF in real time, as shown in Fig. 1.

Fig. 1
figure 1

The structure of RBF neural network based on ADRC

3.2.1 RBF Neural Network

RBF neural network is a three-layer feed forward network of local approximation [7]. The mapping from the input layer to the output layer is non-linear and the mapping from the hidden layer to the output layer is linear, which can track any continuous function with arbitrary precision [7, 8].

In this chapter, the function of RBF neural network is Gaussian basis function. Then the output of the neurons in the hidden layer is:

$$ h_{j} = \exp \left( { - \frac{{||X - C_{j} ||^{2} }}{{2b_{j}^{2} }}} \right) $$
(3.5)

where, \( X = \left[ {x_{1} ,x_{2} , \ldots ,x_{n} } \right]^{T} \) is the input vector for the network. \( C_{j} \) is the center vector of node \( j \), \( C_{j} = \left[ {c_{j1} ,\,c_{j2} ,\, \ldots ,\,c_{ji} ,\, \ldots ,\,c_{jn} } \right]^{T} \), \( j = 1,\,2,\, \ldots ,\,m \). \( b_{j} \) is the base width parameter of node \( j \), \( b_{j} > 0 \).

Weight vector of the network is:

$$ W = \left[ {w_{1} ,\,w_{2} ,\, \ldots ,\,w_{j} ,\, \ldots ,\,w_{m} } \right]^{T} $$
(3.6)

The output of the network identification at time \( k \) is:

$$ y_{m} \left( k \right) = w_{1} h_{1} + w_{2} h_{2} + \cdots + w_{j} h_{j} + \cdots + w_{m} h_{m} $$
(3.7)

3.2.2 Design of RBFNNI and Parameters Setting for NLSEF

Select \( X = \left[ {u\left( k \right),\,y\left( k \right),\,y\left( {k - 1} \right)} \right]^{T} \) as input vector of RBFINN, in which, \( u\left( k \right) \) and \( y\left( k \right) \) are the control and output of the system respectively.

The performance index function of the identifier is:

$$ E\left( k \right) = \frac{1}{2}e\left( k \right)^{2} = \frac{1}{2}(y\left( k \right) - y_{m} \left( k \right))^{2} $$
(3.8)

According to the gradient descent method, the iterative algorithm of output weight vector, node center vector and node base width parameters are:

$$ \Delta w_{j} \left( k \right) = \eta (y\left( k \right) - y_{m} \left( k \right))h_{j} $$
$$ \omega_{j} \left( k \right) = \omega_{j} \left( {k - 1} \right) + \Delta w_{j} \left( k \right) + \alpha \left( {\omega_{j} \left( {k - 1} \right) - \omega_{j} \left( {k - 2} \right)} \right) $$
$$ \Delta b_{j} \left( k \right) = \eta (y\left( k \right) - y_{m} \left( k \right))\omega_{j} h_{j} \frac{{||X - C_{j} ||^{2} }}{{b_{j}^{3} }} $$
$$ b_{j} \left( k \right) = b_{j} \left( {k - 1} \right) + \Delta b_{j} + \alpha \left( {b_{j} \left( {k - 1} \right) - b_{j} \left( {k - 2} \right)} \right) $$
$$ \Delta c_{ji} \left( k \right) = \eta (y_{k} \left( k \right) - y_{m} \left( k \right))\omega_{j} \frac{{x_{i} - c_{ji} }}{{b_{j}^{2} }} $$
$$ c_{ji} (k) = c_{ji} (k - 1) + \Delta c_{ji} \left( k \right) + \alpha \left( {c_{ji} \left( {k - 1} \right) - c_{ji} \left( {k - 2} \right)} \right) $$

where, \( \eta \) is for the learning rate; \( \alpha \) is for the momentum factor.

Jacobian matrix from RBFNNI is as following

$$ \frac{\partial y\left( k \right)}{\partial u\left( k \right)} \approx \frac{{\partial y_{m} \left( k \right)}}{\partial u\left( k \right)} = \sum\limits_{j = 1}^{m} {w_{j} h_{j} \frac{{c_{ji} - x_{1} }}{{b_{j}^{2} }}} $$
(3.9)

where, \( x_{1} = u\left( k \right) \).

Gradient descent method is used to adjust \( \beta_{1} \) and \( \beta_{2} \):

$$ \Delta \beta_{1} \left( k \right) = - \eta \frac{\partial E}{{\partial \beta_{1} }} = - \eta \frac{\partial E}{\partial y}\frac{\partial y}{\partial u}\frac{\partial u}{{\partial \beta_{1} }} = \eta e\left( k \right)\frac{\partial y}{\partial u}fal\left( {e_{1} ,\alpha_{1} ,\delta } \right) $$
$$ \beta_{1} \left( k \right) = \beta_{1} \left( {k - 1} \right) + \Delta \beta_{1} \left( k \right) $$
$$ \Delta \beta_{2} \left( k \right) = - \eta \frac{\partial E}{{\partial \beta_{2} }} = - \eta \frac{\partial E}{\partial y}\frac{\partial y}{\partial u}\frac{\partial u}{{\partial \beta_{2} }} = \eta e\left( k \right)\frac{\partial y}{\partial u}fal\left( {e_{2} ,\alpha_{2} ,\delta } \right) $$
$$ \beta_{2} \left( k \right) = \beta_{2} \left( {k - 1} \right) + \Delta \beta_{2} \left( k \right) $$

4 Simulation Studies

In this paper, the controlled object is a rescue ship, named as Beihaijiu115. Its DP system with RBF-ADRC Controller gradient descent method is simulated in MATLAB. Combined with ADRC control, we conducted a comparative study in lower disturbance and higher disturbance of sea conditions environment, respectively.

The initial state of the ship is \( \left[ {x,\,y,\,\psi } \right]^{T} = \left[ {0{\text{m}}\, 0 {\text{m}}\, 0 {\text{rad}}} \right]^{T} \), the expected state is \( \left[ {x_{d} ,\,y_{d} ,\,\psi_{d} } \right]^{T} = \left[ {50{\text{m}}\, 5 0 {\text{m}}\, 1 0 {\text{rad}}} \right]^{T} \) and the total time is 100 s.

  1. 1.

    Under lower disturbance of sea conditions.

The parameters of the external slow disturbance simulated in Formula (2.2) are set as:

$$ F_{e} = 10,\,\beta_{e} = 120\sin \left( {0.3t} \right),\,\left( {l_{x} ,l_{y} } \right) = \left( {20m,5m} \right); $$

The parameters of unmodeled dynamic simulated in formula (2.4) are set as:

\( T_{b} = diag\left\{ {1000,1000,1000} \right\} \), \( E_{b} = diag\left\{ {1,1,1} \right\} \), The variance of \( \omega_{b} \) is 0.01.

The simulated results are shown in Fig. 2

Fig. 2
figure 2

Simulation result in lower disturbance of sea conditions

  1. 2.

    Under higher disturbance conditons.

Set the external slow disturbance as \( F_{e} = 100 \) to increase disturbance force of sea conditions. The simulated results are shown in Fig. 3.

Fig. 3
figure 3

Simulation result in higher disturbance of sea conditions

From Figs. 2 and 3, it can be seen that, in lower disturbance of sea conditions, ADRC controller and RBF-ADRC controller have the same result and can control the ship to maintain the desired position. In higher disturbance of sea conditions, RBF-ADRC controller still has a good result, the simulation curve is not change. However, the simulation curve of the ADRC controller has a large oscillation, the ship deviates from the desired position is 5 m, and the curve in the bow control is unstable. It can be seen that improved ADRC with RBF neural network has excellent control performance, which can increase the range of interference suppression of ADRC and improve the control accuracy, when the ship suffered a large disturbance.

5 Conclusions

RBF based ADRC control method is used to locate the low-frequency model of the ship with strong non-linear characteristics. When the system is disturbed, ADRC can automatically compensate for the disturbance, which has strong anti-interference ability. However, it is difficult to adjust so many parameters in ADRC and the suppression of interference intensity of ADRC is limited. Using RBF Neural Network Identifier to set the parameters of ADRC can reduce the number of adjustable parameters. What’s more, the simulation results demonstrate that RBF-ADRC can increase the range of interference suppression and improve the control accuracy of ship dynamic positioning system.