HTML
-
Robust control of discrete time uncertain nonlinear systems is a challenging task. Many studies have been proposed towards finding a controller that guarantees stability, robustness and satisfactory tracking performance. These ones include
$ H_\infty $ control[1, 2], robust adaptive control[3, 4], robust predictive control[5, 6] and sliding mode control[7, 8]. Moreover, neural networks have been proven useful and effective for the modeling and the control of a wide class of uncertain nonlinear systems due to their universal approximation capabilities. Thus, during the last decade, several studies dealing with the neural modeling of nonlinear system affected by uncertainties have been proposed[9-13]. Furthermore, robust control based on neural networks has attracted an ever increasing interest[14-17]. For example, in [18], a stable robust neural adaptive control scheme was proposed to achieve performance for a class of unknown single-input single-output (SISO) system with external disturbances. Later, Wang et al.[19] designed a new adaptive neuro-fuzzy sliding mode controller with tracking performance for uncertain nonlinear systems to attenuate the effects of unmodeled dynamics, disturbances and approximation errors. Internal model control (IMC) is also considered as a robust control technique. Indeed, Deng et al.[20] presented a novel neural internal model control for unknown non-affine discrete-time multi-input multi-output (MIMO) processes under model mismatch and disturbances. Of the many architectures associated with the neural based control schemes, the principal used type is the feedforward neural network (FNN)[21, 22] which is often trained by the popular backpropagation (BP) learning algorithm[23]. Several improvements were introduced to speed up and robustify this algorithm[24-27]. However, the performance of neural networks structure trained by backpropagation algorithm is not completely robust in the presence of strong external disturbances and parametric variations. The high performance of sliding mode control (SMC) in handling uncertainties and imprecision has motivated its use in training FNN[28]. Sira-Ramirez and Colina-Morles[29] proposed one of the earliest studies that suggests the use of sliding mode for adaptive learning in Adaline neural networks. This approach was further extended in [30] by removing the requirement of a priori knowledge of the upper bounds of bounded signals. In addition, this approach was extended to a more general class of multilayer networks with scalar output[31, 32].The first sliding mode learning algorithm considered for training FNN was proposed by Parma et al.[33] It differs from the algorithms presented in [29-32], by the use of separate sliding surfaces for each network layer. Parma et al.[34] developed an approach that is slightly different from the one suggested in [33] in order to speed up the convergence of the standard backpropagation algorithm.
Motivated by the results presented in [34], a robust training method of a direct neural model (DNM) and an inverse neural model (INM) will be proposed in this paper for the identification and the control of a class of single-input single-output discrete-time nonlinear systems affected by parameter uncertainties.
Indeed, the use of the sliding mode-backpropagation (SM-BP) algorithm in this work is not only to achieve high speed learning but also to develop a robust neural control strategy for the uncertain nonlinear system. According to the control scheme, a DNM is firstly used to emulate the behavior of the system, then an INM is synthesized and cascaded to the uncertain system as a robust controller. In the design step of the INM and the DNM networks, the specialized learning approach has been considered. The training of the DNM then the INM structures has been accomplished by four combinations of the two learning techniques BP and SM-BP (BP-BP, SMBP-BP, BP-SMBP and SMBP-SMBP). The rest of paper is organized as follows. Section 2 presents neural models training using BP and SM-BP. In Section 3, different combinations of the presented learning algorithms are tested to determine the best configuration for the robust neural control of an uncertain nonlinear system. In Section 4, simulation examples are provided to show the proposed control strategy's performance and comparisons between the two training algorithms are shown. Finally, conclusions are given in Section 5.
-
Consider the following single-input single-output uncertain nonlinear system expressed by
$ \begin{align} y(k+1)\, = \, &F[y(k), \cdots, y(k-n+1), u(k), \\ &u(k-1), \cdots, u(k-m+1), p] \end{align} $
(1) where
$ y(k) $ and$ u(k) $ denote respectively the output and the input of the system,$ n $ is the order of$ y(k) $ ,$ m $ is the order of$ u(k) $ ,$ F $ is an unknown nonlinear function to be estimated by a neural network and$ p $ is an uncertain parameters vector. A DNM is used to learn the behavior of system (1). -
The DNM builds a nonlinear function that estimates the output of the system through old data of its inputs and outputs. Two approaches often discussed in the literature are the series parallel model and the parallel one[13]. In this work, we are interested in series parallel model.
-
The inverse neural model can be generally presented in the following form:
$ \begin{align} u(k)\, = \, &F^{-1}[y(k+1), \cdots, y(k-n+1), u(k), \cdots, \\ &u(k-m+1), p]. \end{align} $
(2) To develop the INM, a neural network is trained to approximate the inverse behavior of the system.
-
The learning processes of the DNM and the INM is accomplished, firstly through the BP algorithm and secondly by the SM-BP one.
-
The block diagram of the DNM training process is shown in Fig. 1. The output of the DNM for system (1) can be expressed as
$ \begin{align} y_{m}(k+1)\, = \, &\hat{F}[y(k), \cdots, y(k-n+1), u(k-1), \cdots, \\ & u(k-m+1), p] \end{align} $
(3) where
$ y_{m} $ and$ \hat{F} $ denote respectively the output of the DNM and the estimate of$ F $ .The weights of the DNM are adjusted to minimize the cost function expressed as
$ \begin{align} J\, = \, \frac{1}{2}[{\rm e}^m]^2 \end{align} $
(4) where
$ {\rm e}^m\, = \, y(k+1)-y_m(k+1) $ is the error between the output of the system$ y(k+1) $ and the one of the DNM$ y_m(k+1) $ .BP algorithm for training the DNM
For the output layer, the following weight adjustment rule is defined as
$ \begin{align} W_{jh}^m(k+1)\, = \, &W_{jh}^m(k)+\varepsilon .{\rm e}^m(k+1).f^{m'}[V_j^m(k)].Y_{Hh}^m(k) \\ &j\, = \, 1, \, h\, = \, 1, \cdots, N_c^m. \end{align} $
(5) The index
$ m $ refers to DNM's parameters,$ W_{jh}^m $ represents the weight between the output node$ j $ and the hidden node$ h $ ,$ f^{m'} $ denotes the derivative of the output activation function,$ V_j^m $ is the global input of the output node$ j $ ,$ Y_{Hh}^m $ is the output of the hidden node$ h $ ,$ \varepsilon $ is the learning rate and$ N_c^m $ represents the number of neurons in the hidden layer.For the hidden layer, the weight adjustment is described as
$ \begin{align} & Z_{hi}^m(k+1)\, = \, Z_{hi}^m(k)+\varepsilon.{\rm e}^m(k+1).f^{m'}[V_j^m(k)]. \\ &\qquad \qquad \qquad W_{jh}^m(k).f_H^{m'}[R_h^m(k)].T_i^m(k) \\ & {\rm with} \; \; \; \; \; \; \; \; i\, = \, 1, \cdots, (n+m+1) \end{align} $
(6) where
$ Z_{hi}^m $ represents the weight between the hidden node$ h $ and the input node$ i $ ,$ f_H^{m'} $ denotes the derivative of the hidden activation function,$ R_h^m $ is the global input of the hidden node$ h $ and$ T_i^m $ is the input of the input node$ i $ .SM-BP algorithm for training the DNM
The SM-BP equations as defined by Parma et al.[33, 34] are presented by the following equations. In these equations, the sliding surfaces
$ S_j^m(k) $ and$ S_{Hh}^m(k) $ , based on sliding mode theory (SMT), are designed to force the weight trajectories into the sliding manifold.For the node
$ j $ from the output layer, the sliding surface is defined as[35]$ \begin{eqnarray} S_{j}^m(k)\, = \, X_{2j}^m(k)+C_0.X_{1j}^m(k) \end{eqnarray} $
(7) where
$ j $ is the output node,$ C_0 > 0 $ and$ \begin{eqnarray} X_{1j}^m(k)\, = \, [y(k)-y_m(k)].f^{m'}[V_j^m(k)] \end{eqnarray} $
(8) $ \begin{eqnarray} X_{2j}^m(k)\, = \, X_{1j}^m(k)-X_{1j}^m(k-1). \end{eqnarray} $
(9) For the node
$ h $ from the hidden layer, the following sliding surface is defined as$ \begin{eqnarray} S_{Hh}^m(k)\, = \, X_{2Hh}^m(k)+C_{0H}.X_{1Hh}^m(k) \end{eqnarray} $
(10) where
$ h $ is the hidden node,$ C_{0H} > 0 $ and$ \begin{eqnarray} X_{1Hh}^m(k)\, = \, X_{1j}^m(k).W_{jh}^m(k).f_H^{m'}[R_h^m(k)] \end{eqnarray} $
(11) $ \begin{eqnarray} X_{2Hh}^m(k)\, = \, X_{1Hh}^m(k)-X_{1Hh}^m(k-1). \end{eqnarray} $
(12) Thus, the weights update equations based on SM-BP are given as
$ \begin{eqnarray} \Delta W_{jh}^m(k)\, = \, \alpha_{m}.{\rm sgn}[S_{j}^m(k)].|X_{1j}^m(k)|.Y_{Hh}^m(k) \end{eqnarray} $
(13) $ \begin{eqnarray} \Delta Z_{hi}^m(k)\, = \, \beta_{m}.{\rm sgn}[S_{Hh}^m(k)].|X_{1Hh}^m(k)|.T_{i}^m(k) \end{eqnarray} $
(14) where
$ \alpha_{m} > 0 $ ,$ \beta_{m} > 0 $ , and defined as follows:The limits for gain
$ {\pmb\alpha_{\pmb m}} $ and$ {\pmb \beta_{\pmb m}} $ The upper limits of
$ \alpha_{m} $ and$ \beta_{m} $ can be obtained from the sliding mode condition. For a given surface$ S $ , delimited by the training data and the network topology, the upper limits for the gains$ \alpha_{m} $ and$ \beta_{m} $ can be easily obtained[36]. According to Utkin[35], the condition for existence of sliding mode and system stability is defined by$ \begin{eqnarray} S\frac{{\rm d}s}{{\rm d}t} <0. \end{eqnarray} $
(15) For discrete time case, Sarpturk et al.[37] defined (16), instead of (15) as the necessary and sufficient condition to guarantee the sliding manifold.
$ \begin{eqnarray} |S(k)| < |S(k-1)|. \end{eqnarray} $
(16) For the output layer, the substitution of (8) and (9) in (7), results in the equation as
$ \begin{align} S_{j}^m(k)\, = \, &f^{m'}[V_j^m(k)].[C_0(y(k)-y_m(k))+\\ &(\Delta y(k)-\Delta y_m(k))]+\Delta f^{m'}[V_j^m(k)].\\ &[y(k-1)-y_m(k-1)]. \end{align} $
(17) For the general case,
$ \Delta f(k)\, = \, f(k)-f(k-1) $ .Considering (13) and using the approximation
$ \frac{\partial y_m}{\partial W_{jh}^m}\, = \, \frac{\Delta y_m}{\Delta W_{jh}^m} $ , (18) could be obtained as$ \begin{align} \Delta y_m(k)\, = \, &f^{m'}[V_j^m(k)]. \alpha_{m}. {\rm sgn}[S_{j}^m(k)]. \\ &|X_{1j}^m(k)|.[Y_{Hh}^m(k)]^2. \end{align} $
(18) Substituting (18) into (17) yields
$ \begin{eqnarray} S_{j}^m(k)\, = \, -\alpha_{m}. {\rm sgn}[S_{j}^m(k)].B_j(k)+A_j(k) \end{eqnarray} $
(19) where
$ B_j(k) $ and$ A_j(k) $ are defined by$ \begin{eqnarray} B_j(k)\, = \, [f^{m'}(V_j^m(k)).Y_{Hh}^m(k)]^2.|X_{1j}^m(k)| \end{eqnarray} $
(20) $ \begin{align} A_j(k)\, = \, &f^{m'}[V_j^m(k)].[C_0(y(k)-y_m(k))+\\ &\Delta y(k)]+\Delta f^{m'}[V_j^m(k)].[y(k-1)-\\ &y_m(k-1)]. \end{align} $
(21) The application of the condition expressed by (16) for the sliding surface (19) gives the limits of
$ \alpha_m $ defined by[34, 38]$ \begin{eqnarray} 0<\alpha_{m}<\min\Big\{{\frac{|A_j(k)|}{B_j(k)}, \frac{|A_j(k-1)|-|A_j(k)|}{B_j(k-1)-B_j(k)}}\Big\}. \end{eqnarray} $
(22) For the hidden layer, the substitution of (11) into (12) leads to (23).
$ \begin{align} X_{2Hh}^m(k)\, = \, &f_H^{m'}[R_h^m(k)].[(\Delta y(k)-\Delta y_m(k)).\\ &f^{m'}(V_j^m(k)).W_{jh}^m(k)+(y(k-1)-\\ &y_m(k-1)).(\Delta f^{m'}(V_j^m(k)).W_{jh}^m(k)+\\ &f^{m'}(V_j^m(k)).\Delta W_{jh}^m(k)-\Delta f^{m'}(V_j^m(k)).\\ &\Delta W_{jh}^m(k))]+\Delta f_H^{m'}[R_h^m(k)].[(y(k-1)-\\ &y_m(k-1)).f^{m'}(V_j^m(k-1)).W_{jh}^m(k-1)]. \end{align} $
(23) Considering (14) and using the approximation
$ \frac{\partial y_m}{\partial Z_{hi}^m}\, = \, \frac{\Delta y_m}{\Delta Z_{hi}^m} $ , (24) could be obtained as$ \begin{align} \Delta y_m(k)\, = \, &f^{m'}[V_j^m(k)]. W_{jh}^m(k).f_H^{m'}[R_h^m(k)].\beta_{m}.\\ &{\rm sgn}[S_{Hh}^m(k)].|X_{1Hh}^m(k)|.[T_{i}^m(k)]^2. \end{align} $
(24) Substituting (11), (23) and (24) into (10) leads to (25) as
$ \begin{eqnarray} S_{Hh}^m(k)\, = \, -\beta_{m}.{\rm sgn}[S_{Hh}^m(k)].D_{Hh}(k)+N_{Hh}(k) \end{eqnarray} $
(25) where
$ D_{Hh}(k) $ and$ N_{Hh}(k) $ are defined by$ \begin{align} D_{Hh}^m(k)\, = \, &[f^{m'}(V_j^m(k)). W_{jh}^m(k).f_H^{m'}(R_h^m(k))\\ &T_{i}^m(k)]^2.|X_{1Hh}^m(k)| \end{align} $
(26) $ \begin{align} N_{Hh}^m(k)\, = \, &f_H^{m'}[(R_h^m(k))].[\Delta y(k).f^{m'}(V_j^m(k)).\\ &W_{jh}^m(k)+C_{0H}.X_{1j}^m(k).W_{jh}^m(k)+(y(k-1)-\\ &y_m(k-1)).(\Delta f^{m'}(V_j^m(k)).W_{jh}^m(k)+\\ &f^{m'}(V_j^m(k)).\Delta W_{jh}^m(k)-\Delta f^{m'}(V_j^m(k)).\\ &\Delta W_{jh}^m(k))]+\Delta f_H^{m'}[(R_h^m(k))].[(y(k-1)-\\ &y_m(k-1))f^{m'}(V_j^m(k-1)). W_{jh}^m(k-1)]. \end{align} $
(27) The application of the condition expressed by (16) for the sliding surface (25) gives the limits of
$ \beta_m $ expressed as[34, 38]$ \begin{align} 0<\beta_m< \min\Big\{\frac{|N_{Hh}(k)|}{D_{Hh}(k)}, \frac{|N_{Hh}(k-1)|-|N_{Hh}(k)|}{D_{Hh}(k-1)-D_{Hh}(k)}\Big\}. \end{align} $
(28) The limit values of
$ \alpha_m $ and$ \beta_m $ given by (22) and (28) guarantee the existence and the convergence of sliding surfaces described by (7) and (10). The weight updating rules defined by (13) and (14) can be used to train the DNM taking into consideration these limits for the gains. Any values within the two ranges are acceptable to guarantee the convergence of sliding surfaces and, consequently, the convergence of the training algorithm[34]. -
In the literature, the most common proposed process for training inverse neural models are the generalized method and the specialized one[39] shown in Figs. 2 and 3, respectively.
Generalized training process
In the generalized training, the INM is trained offline to minimize the following criterion:
$ \begin{eqnarray} J\, = \, \frac{1}{2}[u(k)-u^{\rm e}(k)]^2. \end{eqnarray} $
(29) Such structure has two major drawbacks. The first one relates to the approximation procedure which does not take into account the desired control signals, while for the second one, an incorrect inverse model will be obtained if the system parameters are variable[40].
To overcome such weaknesses, the specialized training approach is adopted in this work.
Specialized training process
To train the INM, the specialized training structure[39] is considered. Indeed, based on the DNM, which gives good representation of the system after satisfactory training, the INM is trained as shown in Fig. 3.
The cost function to be minimized in the training step is given by
$ \begin{eqnarray} J_c\, = \, \frac{1}{2}[{\rm e}^c]^2 \end{eqnarray} $
(30) where
$ {\rm e}^c\, = \, y^d(k+1)-y(k+1) $ is the error between the output of the DNM$ y(k+1) $ and the desired one$ y^d(k+1) $ .BP algorithm for the training of the INM
For the output layer, the weight adjustment is computed as follows:
$ \begin{align} W_{jh}^c(k+1)\, = \, &W_{jh}^c(k)- \varepsilon .\frac{\partial J_c(k+1)}{\partial y(k+1)}.\frac{\partial y(k+1)}{\partial W_{jh}^c(k)} \end{align} $
(31) where
$ W_{jh}^c $ is the weight between the output node$ j $ and the hidden node$ h $ of the INM.$ \begin{eqnarray} \frac{\partial J_c(k+1)}{\partial y(k+1)}\, = \, -[y^d(k+1)-y(k+1)] \end{eqnarray} $
(32) $ \begin{eqnarray} \frac{\partial y(k+1)}{\partial W_{jh}^c(k)}\, = \, \frac{\partial y(k+1)}{\partial u(k)} .\frac{\partial u(k)}{\partial W_{jh}^c(k)} \end{eqnarray} $
(33) $ \begin{align} \frac{\partial y(k+1)}{\partial u(k)}\, = \, &\gamma_h^m(k)\, = \, \sum\limits_{h\, = \, 1}^{N_c^m-1}f^{m'}[V_j^m(k)].\\ &W_{jh}^m(k).f_{Hh}^{m'}[R_h^m(k)].Z_{h1}^m(k) \end{align} $
(34) $ \begin{align} \frac{\partial u(k)}{\partial W_{jh}^c(k)}\, = \, &f^{c'}[V_j^c(k)].Y_{Hh}^c(k). \end{align} $
(35) The index
$ c $ refers to INM's parameters,$ f^{c'} $ denotes the derivative of the output activation function,$ V_j^{c} $ is the global input of the output node$ j $ ,$ Y_{Hh}^c $ represents the output of the hidden node$ h $ and$ N_c^m $ is the number of the DNM's hidden neurons.For the hidden layer, the weight adjustment is defined as
$ \begin{align} Z_{hi}^c(k+1)\, = \, &Z_{hi}^c(k)- \varepsilon .\frac{\partial J_c(k+1)}{\partial y(k+1)}.\frac{\partial y(k+1)}{\partial Z_{hi}^c(k)} \end{align} $
(36) where
$ Z_{hi}^c $ is the INM's weight between the hidden node$ h $ and the input node$ i $ .$ \begin{align} \frac{\partial y(k+1)}{\partial Z_{hi}^c(k)}\, = \, &\frac{\partial y(k+1)}{\partial u(k)} .\frac{\partial u(k)}{\partial Z_{hi}^c(k)} \end{align} $
(37) $ \begin{align} \frac{\partial u(k)}{\partial Z_{hi}^c(k)}\, = \, f^{c'}[V_j^c(k)].W_{jh}^c(k). f_H^{c'}[R_H^{c'}(k)].T_{i}^c(k) \end{align} $
(38) where
$ f_H^{c'} $ is the derivative of the hidden activation function,$ R_H^{c} $ denotes the global input of the hidden node$ h $ and$ T_i^c $ represents the input of the input node$ i $ of the INM.SM-BP algorithm for the training of the INM
Based on the SM-BP algorithm, updating rules for adjusting the INM's weights are expressed by the following equations:
Let the sliding surface for the node
$ j $ from the output layer be defined by$ \begin{eqnarray} S_{j}^c(k)\, = \, X_{2j}^c(k)+C_1.X_{1j}^c(k) \end{eqnarray} $
(39) where
$ j $ is the output node,$ C_1 > 0 $ .$ \begin{align} X_{1j}^c(k) = [y^d(k+1)-y(k+1)].\gamma_h^m(k).f^{c'}[V_j^c(k)] \end{align} $
(40) where the term
$ \gamma_h^m(k) $ has been defined by (34).$ \begin{eqnarray} X_{2j}^c(k)\, = \, X_{1j}^c(k)-X_{1j}^c(k-1). \end{eqnarray} $
(41) For the node
$ h $ from the hidden layer, the sliding surface is expressed as follows:$ \begin{eqnarray} S_{Hh}^c(k)\, = \, X_{2Hh}^c(k)+C_{1H}.X_{1Hh}^c(k) \end{eqnarray} $
(42) where
$ h $ is the hidden node,$ C_{1H} > 0 $ .$ \begin{eqnarray} X_{1Hh}^c(k)\, = \, X_{1j}^c(k).W_{jh}^c(k).f_H^{c'}[R_h^c(k)] \end{eqnarray} $
(43) $ \begin{eqnarray} X_{2Hh}^c(k)\, = \, X_{1Hh}^c(k)-X_{1Hh}^c(k-1). \end{eqnarray} $
(44) Thus, the weights update equations of the INM based on the SM-BP algorithm are given as
$ \begin{eqnarray} \Delta W_{jh}^c(k)\, = \, \alpha_c.{\rm sgn}[S_{j}^c(k)].|X_{1j}^c(k)|.Y_{Hh}^c(k) \end{eqnarray} $
(45) $ \begin{eqnarray} \Delta Z_{hi}^c(k)\, = \, \beta_c.{\rm sgn}[S_{Hh}^c(k)].|X_{1Hh}^c(k)|.T_{i}^c(k). \end{eqnarray} $
(46) The limits for gain
$ {\pmb \alpha_c} $ and$ {\pmb \beta_c} $ For the output layer, substituting (40) and (41) into (39) leads to (47).
$ \begin{align} S_{j}^c(k)\, = \, &f^{c'}[V_j^c(k)].\gamma_h^m(k).[C_1.(y^d(k+1)-\\ &y(k+1))+ (\Delta y^d(k+1)-\Delta y(k+1))]+\\ &[y^d(k)-y(k)].[f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k)+\\ &\Delta f^{c'}(V_j^c(k)).\gamma_h^m(k)-\Delta f^{c'}(V_j^c(k)).\\ &\Delta \gamma_h^m(k)]. \end{align} $
(47) Considering (45) and using the approximation
$ \frac{\partial y}{\partial W_{jh}^c}\, = \, \frac{\Delta y}{\Delta W_{jh}^c} $ , (48) is obtained as$ \begin{align} \Delta y(k+1)\, = \, &\gamma_h^m(k).f^{c'}[V_j^c(k)].\alpha_c. \rm{sgn}[S_{j}^c(k)].\\ &|X_{1j}^c(k)|.[Y_{Hh}^c(k)]^2. \end{align} $
(48) Substituting (48) into (47) yields
$ \begin{eqnarray} S_{j}^c(k))\, = \, -\alpha_c.{\rm sgn}[S_{j}^c(k)].F_j(k)+E_j(k) \end{eqnarray} $
(49) where
$ F_j(k) $ and$ E_j(k) $ are defined by$ \begin{eqnarray} F_j(k)\, = \, [f^{c'}[V_j^c(k)].\gamma_h^m(k).Y_{Hh}^c(k)]^2.|X_{1j}^c(k)| \end{eqnarray} $
(50) $ \begin{align} E_j(k)\, = \, &f^{c'}[V_j^c(k)].\gamma_h^m(k).[C_1.(y^d(k+1)-\\ &y(k+1))+\Delta y^d(k+1)]+[y^d(k)-y(k)].\\ &[f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k)+\Delta f^{c'}(V_j^c(k)).\\ &\gamma_h^m(k)-\Delta f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k)]. \end{align} $
(51) The application of the condition (16) for the sliding surface given by (49) gives the limit values of
$ \alpha_c $ as$ \begin{align} 0<\alpha_{c}<\min\Big\{{\frac{|E_j(k)|}{F_j(k)}, \frac{|E_j(k-1)|-|E_j(k)|}{F_j(k-1)-F_j(k)}}\Big\}. \end{align} $
(52) For the hidden layer, the substitution of (
$ 43 $ ) into (44) yields$ \begin{align} X_{2Hh}^c(k)\, = \, &f_H^{c'}[R_h^c(k)].[(\Delta y^d(k+1)-\Delta y(k+1)).\\ &f^{c'}(V_j^c(k)).\gamma_h^m(k).W_{jh}^c(k)+(y^d(k)-y(k)).\\ &(f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).W_{jh}^c(k)+\Delta f^{c'}(V_j^c(k)).\\ &\gamma_h^m(k).W_{jh}^c(k)-\Delta f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).\\ & W_{jh}^c(k)+f^{c'}(V_j^c(k)).\gamma_h^m(k).\Delta W_{jh}^c(k)-\\ & \Delta f^{c'}(V_j^c(k)).\gamma_h^m(k).\Delta W_{jh}^c(k)-\\ & f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).\Delta W_{jh}^c(k)+\\ & \Delta f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).\Delta W_{jh}^c(k)]+\\ & \Delta f_H^{c'}[R_h^c(k)].[y^d(k)-y(k)].\gamma_h^m(k-1).\\ & f^{c'}(V_j^c(k-1)).W_{jh}^c(k-1). \end{align} $
(53) Considering (46) and using the approximation
$ \frac{\partial y }{\partial Z_{hi}^c}\, = \, \frac{\Delta y}{\Delta Z_{hi}^c} $ , (54) is obtained as$ \begin{align} \Delta y(k+1) \, = \, &\delta_h^m(k).f^{c'}[V_j^c(k)]W_{jh}^c(k).f_H^{c'}[R_h^c(k)].\\ &\beta_c.{\rm sgn}[S_{Hh}^c(k)].|X_{1Hh}^c(k)|.[T_{i}^c(k)]^2. \end{align} $
(54) Substituting (53) and (54) into (42) leads to
$ \begin{eqnarray} [S_{Hh}^c(k)] \, = \, - \beta_c.{\rm sgn}[S_{Hh}^c(k)].P_{Hh}(k)+M_{Hh}(k) \end{eqnarray} $
(55) where
$ P_{Hh}(k) $ and$ M_{Hh}(k) $ are given by$ \begin{align} P_{Hh}(k) \, = \, & [\gamma_h^m(k).f^{c'}(V_j^c(k)).W_{jh}^c(k).f_H^{c'}(R_h^c(k)).\\ & T_{i}^c(k)]^2.|X_{1Hh}^c(k)| \end{align} $
(56) $ \begin{align} M_{Hh}(k) \, = \, &f_H^{c'}[R_h^c(k)].[C_{1H}.X_{1j}^c(k).W_{jh}^c(k) +\\ &\Delta y^d(k+1).f^{c'}(V_j^c(k)).\gamma_h^m(k).W_{jh}^c(k) +\\ &(y^d(k)-y(k)).(f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).W_{jh}^c(k)+\\&\Delta f^{c'}(V_j^c(k)).\gamma_h^m(k).W_{jh}^c(k)-\Delta f^{c'}(V_j^c(k)).\\ &\Delta \gamma_h^m(k).W_{jh}^c(k)+f^{c'}(V_j^c(k)).\gamma_h^m(k).\\ & \Delta W_{jh}^c(k)-\Delta f^{c'}(V_j^c(k)).\gamma_h^m(k).\Delta W_{jh}^c(k)-\\ & f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).\Delta W_{jh}^c(k)+\\ & \Delta f^{c'}(V_j^c(k)).\Delta \gamma_h^m(k).\Delta W_{jh}^c(k)]+\\ &\Delta f_H^{c'}[R_h^c(k)].[y^d(k)-y(k)].\gamma_h^m(k-1). \\ & f^{c'}(V_j^c(k-1)).W_{jh}^c(k-1). \end{align} $
(57) The application of the condition (16) for the sliding surface expressed by (55) gives the limit values of
$ \beta_c $ $ \begin{align} 0<\beta_{c}<\min\Big\{{\Big|\frac{M_{Hh}(k)}{P_{Hh}(k)}\Big|, \frac{|M_{Hh}(k-1)|- |M_{Hh}(k)|}{P_{Hh}(k-1)-P_{Hh}(k)}}\Big\}. \end{align} $
(58) The limit values of
$ \alpha_c $ and$ \beta_c $ given by (52) and (58) guarantee the existence and the convergence of sliding surfaces described in (39) and (42). The update equations (45) and (46) can be used to train the INM taking into consideration these limits for the gains.
2.1. Direct neural model
2.2. Inverse neural model
2.3. Neural models training
2.3.1. DNM training
2.3.2. INM training
-
The direct inverse control (DIC)[39], as shown in Fig. 4, is the adopted strategy to control the uncertain nonlinear system. Indeed, the INM must be trained before using it as a controller for the system.
-
According to the control scheme, the DNM of the system is trained in a first step, then based on this later the INM is trained. Different combinations of the above presented learning algorithms are tested to determine the best one for the control of uncertain nonlinear systems.
-
After satisfactory training, the synthesized INM is applied as a controller for the uncertain nonlinear system. This controller must guarantee that the output of the system follows the desired one despite the existence of the parametric variations.
3.1. INM synthesis
3.2. Control steps
-
In this section, simulation results are presented and discussed in order to illustrate the performance and the robustness of the SM-BP algorithm for the modelling and the control and to compare it with conventional BP algorithm. Two examples are considered. The first example is a numerical one described by a recurrent nonlinear equation inspired from [21] and the second example is surge tank model taken from [41] and [42].
-
Consider the nonlinear uncertain system given by (59) which is a modified version of the one presented in [21]:
$ \begin{eqnarray} y(k+1) \, = \, \frac{a(k).y(k)}{1+b(k).y^2(k)}+c(k).u^3(k). \end{eqnarray} $
(59) The variations of the parameters
$ a $ ,$ b $ and$ c $ are given by the following equations:$ \begin{align} \left\{ \begin{array}{llcl} a(k) & \, = \, & 1-0.75\sin\Big( \frac{2\pi k}{140}\Big) \\ b(k) & \, = \, & 1-0.5\sin\Big( \frac{2\pi k}{140}\Big) \\ c(k) & \, = \, & 1-0.05\sin\Big( \frac{2\pi k}{140}\Big). \end{array}\right.\\[-6mm] \end{align} $
(60) The variables
$ u(k) $ and$ y(k) $ indicate respectively the input and the output of the system at the instant$ k $ . Fig. 5 illustrates the variations of the variables$ a $ ,$ b $ and$ c $ . -
According to the control structure, the development of the DNM and the INM of the system is the preliminary step. These models will be used to determine the controller for the uncertain nonlinear system. The training of the neural models is assured first through the BP algorithm and secondly by SM-BP algorithm. FNN is the adopted architecture for neural modelling.
DNM synthesis
The development of the DNM consists in training a FNN to reproduce the dynamics of the uncertain system. The input vector of the DNM is composed by
$ y(k) $ and$ u(k) $ ,$ y_m(k+1) $ is the output. The input is a signal with an amplitude distributed over the interval$ [0, 2] $ . In order to ensure compromise between the quality of modeling and the time of convergence, the choice of the DNM's parameters has been done after several simulations. In fact, the number of neurons in the hidden layer is$ N_c^m\, = \, 5 $ . The database is divided into two parts, one serves to training$ N_{tr}\, = \, 140 $ and the other to testing$ N_{ts}\, = \, 70 $ . The activation function of the hidden and the output layer is the sigmoid one. Since both algorithms BP and SM-BP consider in this work fixed learning rate, several simulation results were carried out in order to find the best values for the two algorithms. Table 2 shows the training parameters used in this simulation. The deduction of the boundaries of$ \alpha_m $ and$ \beta_m $ is not shown here, nevertheless, the values chosen are within these boundaries.Table 2. DNM training parameters (first example)
Fig. 6 shows the evolution of the mean squared error model
$ MSE_1 $ for the two algorithms.$ \begin{eqnarray} MSE_1\, = \, \frac{1}{2}\sum\limits_{k\, = \, 1}^{N_{tr}}[y(k+1)-y_m(k+1)]^2. \end{eqnarray} $
(61) It is to be noted that SM-BP algorithm presents better convergence than the BP one.
INM synthesis
After satisfactory training of the DNM, it is used to train the INM. The different combinations of the above presented learning algorithms given by Table 1 have been tested to determine the best one for the control of the uncertain system.
Table 1. Different combinations of the INM synthesis
The input vector of the INM is composed by the desired output
$ y^d(k+1) $ and the output of the neural model$ y(k) $ , the hidden layer contains five hidden neurons$ N_c\, = \, 5 $ and$ u(k) $ is the output. The data used for the training and the testing consist of$ N_{tr}\, = \, 140 $ and$ N_{ts}\, = \, 70 $ elements respectively. The activation function of the hidden layer and the output layer is sigmoid one. INM training parameters are given by Table 3.Table 3. INM training parameters for different combinations of the INM synthesis (first example)
The evolution of the mean squared error
$ MSE_2 $ for the different combinations is shown by Fig. 7 where$ \begin{align} MSE_2\, = \, \frac{1}{2}\sum\limits_{k\, = \, 1}^{N_{tr}}[y^d(k+1)-y_m(k+1)]^2. \end{align} $
(62) It is noted from Fig. 7 that the third and the fourth combinations present the best convergence properties.
-
After satisfactory training, the synthesized INM is placed in cascade with the plant to be controlled, thus it is used as a neural controller of the uncertain nonlinear system. The evolution of the system output for the parametric variations given by (60) and the desired output are illustrated by Fig. 8. It is clear from Fig. 8 that the neural controller synthesized by the 4th combination presents the best performance despite the existence of the parametric variations.
Figure 8. Evolution of the system output controlled by the different neural controllers and the desired output (parametric variations of training set)
Fig. 9 shows the different control signals. In order to test the robustness of the synthesized neural controllers, other variations of the parameters
$ a $ ,$ b $ and$ c $ have been considered as given by Fig. 10. The evolution of the system output and the desired one are shown in Fig. 11.Figure 11. Evolution of the system output controlled by the different neural controllers and the desired output (parametric variations of validation set)
Fig. 12 presents the control signals provided by the INMs trained by the different combinations.
To show the performance of the different neural controllers, we propose to calculate the error between the desired output and the system one as
$ \begin{eqnarray} E\, = \, \frac{1}{70}\sum\limits_{k\, = \, 1}^{70}[y^d(k)-y(k)]^2 \end{eqnarray} $
(63) where
$ E $ and$ E_1 $ are respectively the errors between the desired output and the system one for the parametric variation given by Figs. 5 and 10. According to the obtained simulation results, we note that the SM-BP has really improved the standard BP. Thus, it is clear that the control process in case of training through the SM-BP is better than that of the BP. Indeed, referring to Table 4, the performance of the system controlled with the neural controller synthesized through the fourth combination (training process based on SM-BP for the DNM and the INM) is the best one.Table 4. Comparative results
-
A level control problem for a surge tank[41, 42] is presented in this section as shown in Fig. 13. The differential equation representing the dynamic of the surge tank can be given by
$ \begin{align} \frac{{\rm d}h}{{\rm d}t}\, = \, \frac{-\overline{d}\sqrt{2gh(t)}}{A(h(t))}+\frac{\overline{c}}{A(h(t))}q_e(t) \end{align} $
(64) where
$ q_e(t) $ is the input flow (control input),$ h(t) $ is the liquid level (the output of the system),$ A(h(t)) $ is the cross-sectional area of the tank,$ g\, = \, 9.8\, {\rm m/s}^2 $ is the gravitational acceleration,$ \bar{c}\in[0.9, 1] $ is the "clogging factor" for a filter in the pump actuator: if$ \bar{c}\, = \, 1 $ , the filter is clean so there is no clogging and$ \bar{d} > 0 $ is the parameter related to the diameter of the output pipe. Let$ h_d(t) $ be the desired liquid level in the tank and it is assumed that$ h(0)\, = \, 1 $ . Furthermore, the area of the tank is given as$ A(h(t))\, = \, \bar{a}h^2(t)+\bar{b} $ , assume also that$ \bar{a} $ and$ \bar{b} $ are unknown but that$ \bar{a}\in[a_1, a_2] $ ,$ \bar{b}\in[b_1, b_2] $ .$ a_1 > 0 $ ,$ b_1 > 0 $ , where$ a_1\, = \, 0.4\times10^{-3} $ ,$ a_2\, = \, 3.6\times10^{-3} $ ,$ b_1\, = \, 0.15 $ and$ b_2 $ = 0.25 are are all fixed. Using Euler approximation, the discrete-time uncertain nonlinear system is$ \begin{align} h(k+1)\, = \, &h(k)+T\frac{-\overline{d}(k)\sqrt{2gh(k)}}{\bar{a}(k)h^2(k)+\bar{b}(k)}+\\ &\frac{\bar{c}(k)}{\bar{a}(k)h^2(k)+\bar{b}(k)}q_e(k). \end{align} $
(65) $ T\, = \, 0.1 $ s denotes the sampling period[41]. Assume that the variations of the variables$ \bar{a} $ ,$ \bar{b} $ ,$ \bar{c} $ and$ \bar{d} $ are given by the equations as$ \begin{align} \left\{ \begin{array}{llcl} \bar{a}(k) \, = \, 0.002-0.001\, 6\sin\Big( \frac{2\pi k}{550}\Big) \\ \bar{b}(k) \, = \, 0.2+0.05\sin\Big( \frac{2\pi k}{550}\Big) \\ \bar{c}(k) \in [0.9\;, \; 1]\\ \bar{d}(k) \in [0.8\;, \; 1]. \end{array}\right.\\[-6mm] \end{align} $
(66) -
DNM synthesis
The DNM of the above presented system has two inputs
$ q_e(k) $ and$ h(k) $ , one hidden layer with four hidden neurons$ N_c^m\, = \, 4 $ and a single output$ h_m(k+1) $ . The input flow rate is constrained within the limits of 4-14$ {\rm m^3/s} $ . The liquid level as the input flow is also constrained within the limits of 0.8-10 m. The training samples and the testing ones contained$ N_{tr}\, = \, 550 $ and$ N_{ts}\, = \, 300 $ elements respectively. Table 5 shows the training parameters used in this simulation.Table 5. DNM training parameters (second example)
Figure 14. Variation of the variables
$ \bar{a} $ ,$ \bar{b} $ ,$ \bar{c} $ and$ \bar{d} $ for the training setFig. 15 shows the evolution of the mean squared error model
$ MSE_1 $ for the two algorithms.It is to be noted that SM-BP presents better convergence than the BP.
INM synthesis
Assume that we know the desired trajectory a priori, and suppose that
$ h_d(k+1)\in [1, 9] $ . Indeed, based on the DNM which gives acceptable performance after the training phase, the INM is trained. The different combinations of the above presented learning algorithms given by Table 1 have been tested to determine the best one that is able to force the output of the system following the desired liquid level under the parametric variations. The input vector of the INM is composed of the desired output$ h_d(k+1) $ and the output of the neural model$ h(k) $ , the hidden layer contains four hidden neurons$ N_c\, = \, 4 $ and$ q_e(k) $ is the output. The training samples and the testing ones contain$ N_{tr}\, = \, 450 $ and$ N_{ts}\, = \, 300 $ elements respectively. INM training parameters are given by Table 6.Table 6. INM training parameters for different combinations of the INM synthesis (second example)
The evolution of the mean squared error
$ MSE_2 $ for the different combinations is illustrated by Fig. 16.It is noted from Fig. 16 that the third and the fourth combinations present the best convergence properties.
-
After satisfactory training, the trained INM is used as a neural controller for the uncertain nonlinear system. The evolution of the tank liquid level for the different parametric variations given by (66) and the desired liquid level are illustrated by Fig. 17.
Figure 17. Evolution of the tank liquid level controlled by different neural controllers and the desired liquid level (parametric variations of training set)
The input flow generated by different neural controllers is described by Fig. 18.
In order to test the robustness of the trained neural controllers, other variations of the parameters
$ \bar{a} $ ,$ \bar{b} $ ,$ \bar{c} $ and$ \bar{d} $ have been considered as given by Fig. 19. The obtained results are shown in Fig. 20.Figure 19. Variation of the variables
$ \bar{a} $ ,$ \bar{b} $ ,$ \bar{c} $ and$ \bar{d} $ for the validation setFigure 20. Evolution of the tank liquid level controlled by different neural controllers and the desired liquid level (parametric variations of validation set)
Fig. 21 illustrates the evolution of the input flow of the surge tank provided by the INM trained by the different combinations. It is clear from the obtained results shown in Figs. 20 and 21 that the neural controller trained through the first and the second combinations (based on BP training algorithm) present an oscillatory behavior under the parametric variations of
$ \bar{a} $ ,$ \bar{b} $ ,$ \bar{c} $ and$ \bar{d} $ given by Fig. 19.To show the performance of the different neural controllers, we propose to calculate the error between the tank liquid level and the desired one as
$ \begin{align} E'\, = \, \frac{1}{300}\sum\limits_{k\, = \, 1}^{300}[h_d(k)-h(k)]^2 \end{align} $
(67) where
$ E' $ and$ E'_1 $ are respectively the errors between the tank liquid level and the desired one for the parametric variation given by Figs. 14 and 19.It can be seen from the simulation results of the second example that the control process in case of training through the SM-BP provides better performance than that of the BP. Indeed, the neural controller synthesized through the fourth combination shows that is able to guarantee satisfactory tracking performance (the overshot is attenuated) and robustness in spite of the existence of parametric variations.
Table 7. Comparative results
4.1. First example
4.1.1. Neural models synthesis
4.1.2. Control results
4.2. Second example
4.2.1. Neural models synthesis
4.2.2. Control results
-
In this paper, a robust neural control of uncertain nonlinear systems was presented. The base idea of this work was the synthesis of a robust neural controller based on training algorithm that combines standard BP and sliding mode theory. The applicability and the performance of the proposed control strategy were tested using two simulation examples. The above results showed the robustness of the developed neural controller under the parametric variations. As future work, the adaptation of the gains
$ \alpha $ and$ \beta $ will be considered and other neural control strategies will be studied to improve the control performance.