Keywords

1 Introduction

In practical control engineering, fuzzy system based adaptive control methodologies have received much attention for controlling uncertain and nonlinear dynamical systems. Based on the universal approximation theorem [1], during the last two decades, several adaptive fuzzy control schemes for a class of multi-input multi-output (MIMO) nonlinear uncertain systems are investigated [24]. Conceptually, there are two distinct approaches that have been formulated in the design of a fuzzy adaptive control system: direct and indirect schemes. The direct approach consists to approximate the ideal control law by a fuzzy system [5, 6]. However, in the indirect approach the nonlinear dynamics of the system are approximated by fuzzy systems to develop a control law based on these systems [3, 7]. In the indirect adaptive schemes, the possible controller singularity problems are usually met.

In the aforementioned papers, the adjustable parameters of the fuzzy systems are updated by adaptive laws based on a Lyapunov approach, i.e., the parameter adaptive laws are designed in such a way to ensure the convergence of a Lyapunov function. However, for an effective adaptation, it is more judicious to directly base the parameter adaptation process on the identification error between the unknown function and its adaptive fuzzy approximation [6].

Inspired by [6, 8], this paper presents indirect adaptive fuzzy control schemes for a class of continuous-time uncertain MIMO nonlinear dynamical systems. The proposed scheme is based on the results in [6] such that the fuzzy systems are used to approximate the system’s unknown nonlinearities. To achieve the tracking of a desired output, new learning algorithms are proposed in the presented controller which permits superior control performance compared to the same class of controllers [8, 9]. In the proposed controller, a robustifying control term is added to the basic fuzzy controller to deal with approximation errors. The regularized inverse matrix is employed to solve problem of singularity and the stability of the closed-loop system is studied using Lyapunov method.

The outline of the paper is as follows. Section 2 presents the problem formulation. Section 3 presents a brief description of the used fuzzy system. In Sect. 4, a new control law and adaptive algorithms are proposed and stability analysis is given. Simulation examples are illustrated in Sect. 5. The conclusion is finally given in Sect. 6.

2 Problem Formulation

Let we consider a class of uncertain MIMO nonlinear systems modeled by

$$ \begin{array}{*{20}l} {y_{1}^{r1} = f_{1} (x) + \sum\nolimits_{j = 1}^{p} {g_{1j} (x)u_{j} } } \hfill \\ \vdots \hfill \\ {y_{p}^{rp} = f_{p} (x) + \mathop \sum \limits_{j = 1}^{p} g_{pj} (x)u_{j} } \hfill \\ \end{array} $$
(1)

where

\( x = \left[ {y_{1} ,\dot{y}_{1} , \ldots ,y_{1}^{{(r_{1} - 1)}} , \ldots y_{p} ,\dot{y}_{p} , \ldots ,y_{p}^{{(r_{p} - 1)}} } \right]^{T} \) is the overall state vector which is assumed available for measurement, \( u = [u_{1} , \ldots ,u_{p} ]^{T} \) is the control input vector, \( y = [y_{1} , \ldots ,y_{p} ]^{T} \) is the output vector, and \( f_{i} (x) \) et \( g_{ij} (x),i,j = 1, \ldots ,p \) are unknown smooth nonlinear functions.

Let us denote

$$ y^{(r)} = \left[ {y_{1}^{{(r_{1} )}} \ldots y_{p}^{{(r_{p} )}} } \right] $$
$$ F(x) = \left[ {f_{1} (x) \ldots f_{p} (x)} \right]^{T} $$
$$ G(x) = \left[ {\begin{array}{*{20}c} {g_{11 } (x)} & \ldots & {g_{1p} (x)} \\ \vdots & \ddots & \vdots \\ {g_{p1 } (x)} & \ldots & {g_{pp } (x)} \\ \end{array} } \right] $$

Then, dynamic system (1) can be written in the following compact form

$$ y^{(r)} = F(x) + G(x)u $$
(2)

The control objective is to design adaptive control \( u_{i} (t) \) for system (1) such that the output \( y_{i} (t) \) follows a specified desired trajectory \( y_{di} (t) \) under boundedness of all signals.

Assumption 1:

The matrix \( G(x) \) is symmetric positive definite and bounded as \( G(x){ \ge }\sigma_{0} I_{P} \), where \( \sigma_{0} \) is a positive constants.

Assumption 2:

The desired trajectory \( y_{di} (t), i = 1, \ldots ,P \), is a known bounded function of time with bounded known derivatives \( y_{di}^{ \cdot } (t), \ldots ,y_{di}^{{(r_{i} )}} \) i.e. \( y_{di} (t) {\mathcal{C}}^{{r_{i} }} \).

Remark 1:

Notice that Assumption 1 is a sufficient condition ensuring that the matrix \( G(x) \) is always regular and, therefore, system (1) is feedback linearizable by a static state feedback. Although this assumption restricts the considered class of MIMO nonlinear systems, many physical systems, such as robotic system [10], fulfill such a property.

Define the tracking errors as

$$ \begin{array}{*{20}l} {e_{1} (t) = y_{d1} (t) - y_{1} (t)} \hfill \\ \vdots \hfill \\ {e_{p} (t) = y_{dp} (t) - y_{p} (t)} \hfill \\ \end{array} $$
(3)

while the feedback control is given by:

$$ u = G(x)^{ - 1} [ - F(x) + V] $$
(4)

where

$$ V = \left[ {\begin{array}{*{20}c} {v_{1} } \\ \vdots \\ {v_{p} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {y_{d1}^{{(r_{1} )}} + k_{1r1} e_{1}^{{(r_{1} - 1)}} + \ldots + k_{11} e_{1} } \\ \vdots \\ {y_{dp}^{{(r_{p} )}} + k_{prp} e_{p}^{{(r_{p} - 1)}} + \ldots + k_{p1} e_{p} } \\ \end{array} } \right] $$
(5)

we can write

$$ \left\{ {\begin{array}{*{20}l} {e_{1}^{{(r_{1} )}} + k_{1r1} e_{1}^{{(r_{1} - 1)}} + \ldots + k_{11} e_{1} = 0} \hfill \\ {\quad \vdots } \hfill \\ {e_{p}^{{(r_{p} )}} + k_{prp} e_{p}^{{(r_{p} - 1)}} + \ldots + k_{p1} e_{p} = 0} \hfill \\ \end{array} } \right.. $$
(6)

where the coefficients k ij are chosen such that all the polynomials in Eq. 6 are of the type Hurwitz. So we can conclude that \( \mathop {\lim }\limits_{t \to \infty } e_{i} (t) = 0 \) which is the main objective of the command. However in this case, the nonlinear functions \( f_{i} (x) \) and \( g_{i} (x) i = 1, \ldots ,p \) are assumed unknown, then obtaining the feedback control law (4) is difficult. For this reason the dynamics of these functions is approximated by using fuzzy systems.

3 Description of Fuzzy Systems

In this work we will consider a fuzzy zero order (TS0).

Each rule has a numerical conclusion, the total output of the fuzzy system is obtained by calculating a weighted average, and in this manner the time consumed by the procedure of defuzzification is avoided. Then the output of fuzzy system is given by following relationship [1315]:

$$ y(x) = \frac{{\mathop \sum \nolimits_{k = 1}^{N} \mu_{k} (x)f_{k} (x)}}{{\mathop \sum \nolimits_{k = 1}^{N} \mu_{k} (x)}} $$
(7)

with \( \mu_{k} (x) = \prod\nolimits_{i = 1}^{n} {\mu_{{\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{F}_{i}^{k} }} } \), \( \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{F}_{i}^{k} \in \{ F_{i}^{1} , \ldots ,F_{i}^{{m_{i} }} \} \) which represents the degree of confidence or activation rule \( R_{k} \) and \( f_{k} (x) \) is a polynomial of zero order.

$$ f_{k} (x) = a^{k} $$
(8)

We can simplify the output of fuzzy system as follows:

$$ y(x) = \frac{{\mathop \sum \nolimits_{k = 1}^{N} \mu_{k} (x)a^{k} }}{{\mathop \sum \nolimits_{k = 1}^{N} \mu_{k} (x)}} $$
(9)

By introducing the concept of fuzzy basis functions [16], the output of fuzzy system TS0 can be written as:

$$ y(x) = w^{T} (x)\theta $$
(10)

with

  • \( \theta = [a^{1} \ldots a^{ N} ] \): Vector of parameters of the conclusion of rules fuzzy part.

  • \( w(x) = [w_{1} (x) \ldots w_{N} (x)]^{T} \):Basic function of the vector each component is given by:

$$ w_{N} (x) = \frac{{\mu_{k} (x)}}{{\mathop \sum \nolimits_{j = 1}^{N} \mu_{j} (x)}} ,k = 1, \ldots ,N $$
(11)

4 Indirect Adaptive Fuzzy Control

In this section we propose to indirectly approximate the unknown ideal (4) by identifying the unknown functions \( f_{i} (x) \) and \( g_{ij} (x) \) using fuzzy systems.

$$ \hat{f}_{i} (x,\theta ) = w_{{f_{i} }}^{T} (x)\theta_{{f_{i} }} ,\,i = 1, \ldots ,p $$
(12)
$$ \hat{g}_{ij} (x,\theta ) = w_{{g_{ij} }}^{T} (x)\theta_{{g_{ij} }} ,i,j = 1, \ldots ,p $$
(13)

With \( w_{{f_{i} }}^{T} \) and \( w_{{g_{ij} }}^{T} \) are vectors of fuzzy basic functions supposed properly fixed in prior by the user,\( \theta_{{f_{i} }} \) and \( \theta_{{g_{ij} }} \) are vectors of the fitted parameters. The functions \( f_{ij} (x) \) and \( g_{ij} (x) \) can be expressed in terms of fuzzy approximations in the following manner:

$$ \left\{ {\begin{array}{*{20}l} {f_{i} (x) = \hat{f}_{l} \left( {x,\theta_{fi}^{*} } \right) + \varepsilon_{{f_{i} }} (x)} \hfill \\ {g_{ij} (x) = \hat{g}_{ij} \left( {x,\theta_{{g_{ij} }}^{*} } \right) + \varepsilon_{{g_{ij} }} \left( x \right)} \hfill \\ \end{array} } \right. $$
(14)

With \( \varepsilon_{{f_{i} }} (x) \) and \( \varepsilon_{{g_{ij} }} (x) \) represent the fuzzy approximation errors, \( \theta_{{f_{i} }}^{*} \) and \( \theta_{{g_{ij} }}^{*} \) are respectively of the optimum parameters of \( \theta_{{f_{i} }} \) and \( \theta_{{g_{ij} }} \), the values ​​of parameters \( \theta_{{f_{i} }} \) and \( \theta_{{g_{ij} }} \) respectively minimizing the approximation errors \( \varepsilon_{{f_{i} }} (x) \) and \( \varepsilon_{{g_{ij} }} (x) \). These optimal parameters satisfy:

$$ \theta_{fi}^{*} = arg\mathop { \hbox{min} }\limits_{{\theta_{{f_{i} }} }} \left\{ {{{ \sup }_{x}} \left| {f_{i} (x) - \hat{f}_{i} (x,\theta_{{f_{i} }} )} \right|} \right\} $$
(15)
$$ \theta_{gij}^{*} = arg\mathop { \hbox{min} }\limits_{{\theta_{{f_{i} }} }} \left\{ {\mathop { \sup }\limits_{x} \left| {g_{ij} (x) - \hat{g}_{ij} (x,\theta_{gij} )} \right|} \right\} $$
(16)

Note that the optimal parameters \( \theta_{{f_{i} }}^{*} \) and \( \theta_{{g_{ij} }}^{*} \) are unknown constants artificial introduced only to the theoretical study of the stability of the control algorithm. In fact, the knowledge of their values is not necessary for implementation of adaptive control law. From the above analysis, we can write:

$$ f_{i} (x) - \hat{f}_{i} (x,\theta_{{f_{i} }} ) = w_{{f_{i} }}^{T} (x)\tilde{\theta }_{{f_{i} }} + \varepsilon_{{f_{i} }} (x) $$
(17)
$$ g_{ij} (x) - \hat{g}_{ij} (x,\theta_{gij} ) = w_{{g_{ij} }}^{T} (x)\tilde{\theta }_{{g_{ij} }} + \varepsilon_{{g_{ij} }} (x) $$
(18)

where

\( \tilde{\theta }_{{f_{i} }} = \theta_{{f_{i} }}^{*} - \theta_{{f_{i} }} \) and \( \tilde{\theta }_{{g_{ij} }} = \theta_{{g_{ij} }}^{*} - \theta_{{g_{ij} }} \), are the parameter estimation errors.

Assumption 3:

The fuzzy approximation errors \( \varepsilon_{{f_{i} }} (x) \) and \( \varepsilon_{{g_{ij} }} (x) \) are bounded for all \( x\epsilon\Omega _{x} \) as \( \left| {\varepsilon_{{f_{i} }} (x)} \right| \le \bar{\varepsilon }_{{f_{i} }} \) and \( \left| {\varepsilon_{{g_{ij} }} (x)} \right| \le \bar{\varepsilon }_{{g_{ij} }} \), where \( \bar{\varepsilon }_{{f_{i} }} \) and \( \bar{\varepsilon }_{{g_{ij} }} \) are unknown positive constants.

This assumption is reasonable, since we assume that fuzzy systems used for approximating unknown functions have the universal approximator property.

Denote

$$ \hat{F}(x,\theta_{f} ) = \left[ {\hat{f}_{1} (x,\theta_{f1} ) \ldots \hat{f}_{p} (x,\theta_{fp} )} \right]^{T} $$
$$ \hat{G}(x,\theta_{g} ) = \left[ {\begin{array}{*{20}c} {\hat{g}_{11 } (x)} & \ldots & {\hat{g}_{1p} (x)} \\ \vdots & \ddots & \vdots \\ {\hat{g}_{p1 } (x)} & \ldots & {\hat{g}_{pp } (x)} \\ \end{array} } \right] $$
$$ \theta_{f} = \left[ {\theta_{f1} , \ldots ,\theta_{fp} } \right]^{T} ;\, \theta_{f}^{*} = \left[ {\theta_{f1}^{*} , \ldots ,\theta_{fp}^{*} } \right]^{T} $$
$$ \theta_{g} = \left[ {\begin{array}{*{20}c} {\theta_{g11} } & \ldots & {\theta_{g1p} } \\ \vdots & \ddots & \vdots \\ {\theta_{gp1} } & \ldots & {\theta_{gpp} } \\ \end{array} } \right] $$
$$ \theta_{g}^{*} = \left[ {\begin{array}{*{20}c} {\theta_{g11}^{*} } & \ldots & {\theta_{g1p}^{*} } \\ \vdots & \ddots & \vdots \\ {\theta_{gp1}^{*} } & \ldots & {\theta_{gpp}^{*} } \\ \end{array} } \right] $$
$$ W_{f} (x) = diag[w_{f1} (x), \ldots ,w_{fp} (x)] $$
$$ W_{g} (x) = diag[w_{g1} (x), \ldots ,w_{gp} (x)] $$
$$ \varepsilon_{f} (x) = \left[ {\varepsilon_{f1} (x) \ldots \varepsilon_{fp} (x)} \right]^{T} $$
$$ \varepsilon_{g} (x) = \left[ {\begin{array}{*{20}c} {\varepsilon_{g11} (x)} & \ldots & {\varepsilon_{g1p} (x)} \\ \vdots & \ddots & \vdots \\ {\varepsilon_{gp1} (x)} & \ldots & { \varepsilon_{gpp} (x)} \\ \end{array} } \right] $$
$$ \overline{{\varepsilon_{f} }} = \left[ {\bar{\varepsilon }_{f1} \ldots \bar{\varepsilon }_{fp} } \right]^{T} $$
$$ \bar{\varepsilon }_{g} = \left[ {\begin{array}{*{20}c} {\bar{\varepsilon }_{g11} } & \ldots & {\bar{\varepsilon }_{g1p} } \\ \vdots & \ddots & \vdots \\ {\bar{\varepsilon }_{gp1} } & \ldots & {\bar{\varepsilon }_{gpp} } \\ \end{array} } \right] $$
$$ F(x) - \hat{F}(x,\theta_{f} ) = \hat{F}(x,\theta_{f}^{*} ) - \hat{F}(x,\theta_{f} ) + \varepsilon_{f} (x) $$
(19)
$$ G(x) - \hat{G}\left( {x,\theta_{g} } \right) = \hat{G}\left( {x,\theta_{g}^{*} } \right) - \hat{G}\left( {x,\theta_{g} } \right) + \varepsilon_{g} (x) $$
(20)

Now we can write an expression for the adaptive law

$$ u_{c} = \hat{G}^{T} (x,\theta_{g} )\left( {\varepsilon_{0} I_{P} + \hat{G}\left( {x,\theta_{g} } \right)\hat{G}^{T} \left( {x,\theta_{g} } \right)} \right)^{ - 1} \left[ { - \hat{F}\left( {x,\theta_{f} } \right) + V} \right] $$
(21)

where \( \varepsilon_{0} \) is a small positive constant.

In the control law (21), we replaced \( \hat{G}(x,\theta_{g} )^{ - 1} \) by the regularized inverse

$$ \hat{G}^{T} (x,\theta_{g} )\left( {\varepsilon_{0} I_{P} + \hat{G}\left( {x,\theta_{g} } \right)\hat{G}^{T} \left( {x,\theta_{g} } \right)} \right)^{ - 1} $$
(22)

The regularized inverse given by (22) is always defined even when \( \hat{G}(x,\theta_{g} ) \) is not invertible, hence the control law (21) is well defined.

Note that even if the control law (22) is well defined, it cannot alone ensure the stability of the closed loop system. This is due, on the one hand, the error introduced by the approximation of actual functions \( F(x) \) and \( G(x) \) by fuzzy systems and from one side to the error introduced by the use of the regularized inverse matrix in place of the inverse matrix. For these reasons and in order to have a control law does not depend on any initialization phase we propose, a control law which is composed of two terms, a term adaptive control u c introduced to overcome the problems of non-linearity of the system, and a second term u r proposed, to circumvent the problem of approximation errors and, compensate for the error due to the use of the inverse regularized instead of the inverse matrix, then the resulting control law is represented as follows:

$$ u = u_{c} + u_{r} $$
(23)

The adaptive control term u c is given by

$$ u_{c} = \hat{G}^{T} (x,\theta_{g} )\left( {\varepsilon_{0} I_{P} + \hat{G}\left( {x,\theta_{g} } \right)\hat{G}^{T} \left( {x,\theta_{g} } \right)} \right)^{ - 1} \left[ { - \hat{F}\left( {x,\theta_{f} } \right) + V} \right] $$
(24)

The robust control term u r is given by

$$ u_{r} = \frac{{B^{T} PE\left| {E^{T} PB} \right|\left( {\hat{\varepsilon }_{f} + \hat{\varepsilon }_{g} \left| {u_{c} } \right| + \left| {u_{O} } \right|} \right)}}{{\sigma_{0} \left\| {E^{T} PB} \right\|^{2} + \delta }} $$
(25)

where

$$ u_{r} = \left[ {\begin{array}{*{20}c} {u_{r1} } \\ \vdots \\ {u_{rp} } \\ \end{array} } \right] $$
$$ u_{0} = \varepsilon_{0} \left[ {\varepsilon_{0} I_{p} + \hat{G}(x,\theta_{g} )\hat{G}^{T} (x,\theta_{g} )} \right]^{ - 1} \left( { - \hat{F}(x,\theta_{f} ) + V} \right) $$
(26)

\( \hat{\varepsilon }_{f} \) and \( \hat{\varepsilon }_{g} \) are respectively the estimated of \( \bar{\varepsilon }_{f} \) and \( \bar{\varepsilon }_{g} \), \( \delta \) is a time-varying parameter defined below. To achieve the control objectives, we define the parameter adaption laws as follows:

$$ \dot{\theta }_{f} = - \gamma_{f} B^{T} PEw_{f} (x) $$
(27)
$$ \dot{\theta }_{gij} = - \gamma_{g} B^{T} PEu_{j} w_{gi} (x) \,i,j = 1, \ldots ,p $$
(28)
$$ \dot{\hat{\varepsilon }}_{f} = n_{f} \left| {B^{T} PE} \right| $$
(29)
$$ \dot{\hat{\varepsilon }}_{g} = n_{g} \left| {u_{c}^{T} } \right|\left| {B^{T} PE} \right| $$
(30)
$$ \dot{\delta } = - \eta \frac{{\left| {E^{T} PB} \right|\left( {\hat{\varepsilon }_{f} + \hat{\varepsilon }_{g} \left| {u_{c} } \right| + \left| {u_{O} } \right|} \right)}}{{\sigma_{0} \left\| {E^{T} PB} \right\|^{2} + \delta }} $$
(31)

\( \gamma_{f} > 0,\gamma_{g} > 0,n_{f} > 0,n_{g} > 0,n_{0} > 0 \) and \( \delta (0) > 0 \).

Theorem 1.

Consider the nonlinear system (1), and suppose that the assumptions (13) are satisfied. Then the control law defined by Eqs. (24) and (25) with adaptation law (27)–(31) applied to the system (1) ensures boundedness of all signals of the closed loop and the convergence to zero of tracking errors,, \( e_{i}^{(j)} \to 0 \) when \( t \to \infty \) for \( i = 1, \ldots ,P \) and, \( j = 0,1, \ldots ,r_{i} - 1 \).

Proof

$$ E^{(n)} = Y_{d}^{(n)} - Y^{(n)} $$
(32)
$$ E^{(n)} = Y_{d}^{(n)} - F(x) - G(x)u $$
(33)

We can write as follows:

$$ E^{(n)} = Y_{d}^{(n)} - F(x) - G(x)u_{c} - G(x)u_{r} $$
(34)

substitute (24) and (26), Eq. (34) becomes

$$ E^{(n)} = - K^{T} E - \left( {F(x) - \hat{F}(x,\theta_{f} )} \right) - \left( {G(x) - G(x,\theta_{g} )} \right)u_{c} - G(x)u_{r} + u_{0} $$
(35)

substitute (19) and (20), Eq. (35) becomes

$$ E^{(n)} = - K^{T} E - \left( {\hat{F}(x,\theta_{f}^{*} } \right) - \hat{F}(x,\theta_{f} ) + \varepsilon_{f} (x)) - \left( {\hat{G}(x,\theta_{g}^{*} ) - \hat{G}(x,\theta_{g} ) + \varepsilon_{g} (x)} \right)u_{c} - G(x)u_{r} + u_{0} $$
(36)
$$ E^{(n)} = - K^{T} E - \left( {W_{f}^{T} \tilde{\theta }_{f} + \varepsilon_{f} (x)} \right) - \left( {\sum\nolimits_{i = 1}^{p} {\sum\nolimits_{j = 1}^{p} {\tilde{\theta }_{gij} u_{cj} } } } \right) - \varepsilon_{g} (x)u_{c} - G(x)u_{r} + u_{0} $$
(37)

While the dynamics of the error can be written as follows:

$$ \dot{E} = AE + B\left[ { - \left( {W_{f}^{T} \tilde{\theta }_{f} + \varepsilon_{f} \left( x \right)} \right) - \left( {\sum\nolimits_{i = 1}^{p} {\sum\nolimits_{j = 1}^{p} {\tilde{\theta }_{gij} u_{cj} } } } \right) - \varepsilon_{g} (x)u_{c} - G(x)u_{r} + u_{0} } \right] $$
(38)

where

$$ A = \left[ {\begin{array}{*{20}c} 0 & {I_{n \times n} } & \ldots & 0 \\ \vdots & \ddots & {} & \vdots \\ 0 & 0 & 0 & {I_{n \times n} } \\ { - K_{1} } & { - K_{2} } & \ldots & { - K_{n} } \\ \end{array} } \right]B = \left[ {\begin{array}{*{20}c} 0 \\ \vdots \\ 0 \\ {I_{n \times n} } \\ \end{array} } \right] $$

Until \( (\left| {sI - A} \right|) = s^{(n)} + K_{1} s^{(n - 1)} + \ldots + K_{n} \) is stable (A stable), we know that there exists a symmetric positive definite matrix \( P (n, n) \) that satisfies the Lyapunov equation:

$$ A^{T} P + PA = - Q $$
(39)

where Q is a symmetric positive definite matrix of arbitrary dimensions \( (n\,x\,n) \).

To minimize the tracking error and the approximation error, we consider the following Lyapunov function:

$$ V = \frac{1}{2}E^{T} PE + \frac{1}{{2\gamma_{f} }}\tilde{\theta }_{f}^{T} \tilde{\theta }_{f} + \frac{1}{{2\gamma_{g} }}tr(\tilde{\theta }_{g}^{T} \tilde{\theta }_{g} ) + \frac{1}{{2\eta_{f} }}\tilde{\varepsilon }_{f}^{T} \tilde{\varepsilon }_{f} + \frac{1}{{2\eta_{g} }}tr\left( {\tilde{\varepsilon }_{g}^{T} \tilde{\varepsilon }_{g} } \right) + \frac{1}{2\eta }\delta^{2} $$
(40)

with \( \delta \) is a time-varying parameter, \( \tilde{\varepsilon }_{f} = \bar{\varepsilon }_{f} - \hat{\varepsilon }_{f} ,\,\tilde{\varepsilon }_{g} = \bar{\varepsilon }_{g} - \hat{\varepsilon }_{g} \)

Using (38) and (39), the time derivative of V can be write in the following form

$$ \begin{aligned} \dot{V} & = - \frac{1}{2}E^{T} QE + E^{T} PB\left[ { - \left( {W_{f}^{T} \tilde{\theta }_{f} + \varepsilon_{f} (x)} \right) - \left( {\sum\nolimits_{i = 1}^{p} {\sum\nolimits_{j = 1}^{p} {W_{gi}^{T} \tilde{\theta }_{gij} u_{cj} } } } \right) - \varepsilon_{g} (x)u_{c} - G\left( x \right)u_{r} + u_{0} } \right] \\ & \quad - \frac{1}{{\gamma_{f} }}\tilde{\theta }_{f}^{T} \dot{\theta }_{f} - \sum\nolimits_{i = 1}^{p} {\sum\nolimits_{j = 1}^{p} {\frac{1}{{\gamma_{gij} }}\tilde{\theta }_{gij}^{T} \dot{\theta }_{gij} - } } \frac{1}{{\eta_{f} }}\tilde{\varepsilon }_{f}^{T} \dot{\hat{\varepsilon }}_{f} - \frac{1}{{\eta_{g} }}tr\left( {\tilde{\varepsilon }_{g}^{T} \dot{\hat{\varepsilon }}_{g} } \right) + \frac{1}{\eta }\delta \dot{\delta } \\ \end{aligned} $$
(41)

Equation (41) can be simplified

$$ \dot{V} = - \frac{1}{2}E^{T} QE + \dot{V}_{1} + \dot{V}_{2} $$
(42)

Remark 2:

Writing the derivative of the Lyapunov function described in Eq. (42) facilitates the task of demonstrating negativity of the derivative \( \dot{V} \).

$$ \dot{V}_{1} = - \frac{1}{{\gamma_{f} }}\tilde{\theta }_{f}^{T} \left[ {\gamma_{f} B^{T} PEW_{f} + \dot{\theta }_{f} } \right] - \frac{1}{{\gamma_{g} }}\sum\nolimits_{i = 1}^{p} {\sum\nolimits_{j = 1}^{p} {\tilde{\theta }_{gij}^{T} } \left[ {\gamma_{g} B^{T} PEu_{j} w_{gi} + \dot{\theta }_{gij} } \right]} $$
(43)

If adaptation laws (27) and (28), Eq. (43) becomes

$$ \dot{V}_{1} = 0 $$
(44)
$$ \dot{V}_{2} = - E^{T} PBG(x)u_{r} - E^{T} PB\varepsilon_{f} (x) - E^{T} PB\varepsilon_{g} (x)u_{c} + E^{T} PBu_{0} - \frac{1}{{\eta_{f} }}\tilde{\varepsilon }_{f}^{T} \dot{\hat{\varepsilon }}_{f} - \frac{1}{{\eta_{g} }}tr\left( {\tilde{\varepsilon }_{g}^{T} \dot{\hat{\varepsilon }}_{g} } \right) + \frac{1}{\eta }\delta \dot{\delta } $$
(45)

Then \( \dot{V}_{2} \) can be bounded as follows

$$ \dot{V}_{2} \le - E^{T} PB\sigma_{0} u_{r} + \left| {E^{T} PB} \right|\overline{{\varepsilon_{f} }} - \left| {E^{T} PB} \right|\overline{{\varepsilon_{g} }} \left| {u_{c} } \right| + \left| {E^{T} PB} \right|\left| {u_{0} } \right| - \frac{1}{{\eta_{f} }}\tilde{\varepsilon }_{f}^{T} \dot{\hat{\varepsilon }}_{f} - \frac{1}{{\eta_{g} }}tr\left( {\tilde{\varepsilon }_{g}^{T} \dot{\hat{\varepsilon }}_{g} } \right) + \frac{1}{\eta }\delta \dot{\delta } $$
(46)

If we use the adaption laws (29) and (30), Eq. (46) becomes

$$ \dot{V}_{2} \le - E^{T} PB\sigma_{0} u_{r} + \left| {E^{T} PB} \right|\left| {u_{0} } \right| + \frac{1}{\eta }\delta \dot{\delta } + \hat{\varepsilon }_{f} \left| {E^{T} PB} \right| + \hat{\varepsilon }_{g} \left| {E^{T} PB} \right|\left| {u_{c} } \right| $$
(47)

Using (25) et (31), then (47) becomes

$$ \dot{V}_{2} = 0 $$
(48)

From results (44) and (48), (42) can be bounded as follows

$$ \dot{V}{ \le } - \frac{1}{2}E^{T} QE{ \le }0 $$
(49)
$$ \dot{V} \le - \frac{1}{2}\lambda_{Qmin} \left\| {E} \right\|^{2} $$
(50)

where λ Qmin The minimum Eigen value of the matrix Q, then by integrating both sides of Eq. (50) from [0,t]

$$ \int_{0}^{t} {\left\| {E(\tau )} \right\|^{2} d\tau } \le \frac{2}{{\lambda_{Qmin} }}\left[ {V(0) - V(t)} \right] $$
(51)

which gives us

$$ \int_{0}^{t} {\left\| {E(\tau )} \right\|^{2} d\tau } \le \frac{2}{{\lambda_{Qmin} }}\left[ {\left\| {V(0)} \right\| + \left\| {V(t)} \right\|} \right] $$
(52)

As shown by [17], this implies that \( E(t) \in L_{2} \), according to the theory of Lyapunov, \( E(t) \) is bounded. On the other hand, from (38) \( \dot{E}(t) \in L_{\infty } \) (bounded) because all members of the right are bounded. According to Barbalat’s lemma, we conclude that \( \lim_{t \to \infty } \left\| {E(t)} \right\| = 0 \).

5 Simulation Results

In this section, we test the proposed indirect adaptive fuzzy control scheme on the tracking control of two-link rigid robot manipulator with the following dynamics [10, 18]:

$$ \left( {\begin{array}{*{20}c} {{\ddot q}_{1} } \\ {{\ddot q}_{2} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {M_{11} } \\ {M_{21} } \\ \end{array} } & {\begin{array}{*{20}c} {M_{12} } \\ {M_{22} } \\ \end{array} } \\ \end{array} } \right)^{ - 1} \left\{ {\left( {\begin{array}{*{20}c} {u_{1} } \\ {u_{2} } \\ \end{array} } \right) - \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} { - h\dot{q}_{2} } \\ {h\dot{q}_{1} } \\ \end{array} } & {\begin{array}{*{20}c} { - h\dot{q}_{2} \left( {\dot{q}_{1} + \dot{q}_{2} } \right)} \\ 0 \\ \end{array} } \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {\dot{q}_{1} } \\ {\dot{q}_{2} } \\ \end{array} } \right)} \right\} $$
(53)

where

$$ M_{11} = a_{1} + 2a_{3} \cos (q_{2} ) + 2a_{4} { \sin }(q_{2} ) $$
$$ M_{22} = a_{2} $$
$$ M_{21} = M_{12} = a_{2} + a_{3} \cos (q_{2} ) + a_{4} { \sin }(q_{2} ) $$
$$ h = a_{3} \sin (q_{2} ) - a_{4} { \cos }(q_{2} ) $$
$$ a_{1} = I_{1} + m_{1} l_{c1}^{2} + I_{e} + m_{e} l_{ce}^{2} + m_{e} l_{1}^{2} $$

with

$$ a_{2} = I_{e} + m_{e} l_{ce}^{2} $$
$$ a_{3} = m_{e} l_{1} l_{ce} { \cos }(\delta_{e} ) $$
$$ a_{4} = m_{e} l_{1} l_{ce} { \sin }(\delta_{e} ) $$

In the simulation, the following parameter values are used

$$ m_{1} = 1,\,m_{e} = 2,\,l_{1} = 1,\,l_{c1} = 0.5,\,l_{ce} = 0.6,\,I = 0.12,\,I_{e} = 0.5,\,\delta_{e} = 30^{^\circ } . $$
$$ y = [q_{1} q_{2} ]u = [u_{1} u_{2} ] $$
$$ x = [q_{1} \dot{q}_{1} q_{2} \dot{q}_{2} ] $$
$$ F\left( x \right) = \left( {\begin{array}{*{20}c} {f_{1} (x)} \\ {f_{2} (x)} \\ \end{array} } \right) = - M^{ - 1} \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} { - h\dot{q}_{2} } \\ {h\dot{q}_{1} } \\ \end{array} } & {\begin{array}{*{20}c} { - h\dot{q}_{2} \left( {\dot{q}_{1} + \dot{q}_{2} } \right)} \\ 0 \\ \end{array} } \\ \end{array} } \right)\left( {\begin{array}{*{20}c} {\dot{q}_{1} } \\ {\dot{q}_{2} } \\ \end{array} } \right) $$
$$ G\left( x \right) = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {g_{11} (x)} \\ {g_{21} (x)} \\ \end{array} } & {\begin{array}{*{20}c} {g_{12} (x)} \\ {g_{22} (x)} \\ \end{array} } \\ \end{array} } \right) = M^{ - 1} = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {M_{11} } \\ {M_{21} } \\ \end{array} } & {\begin{array}{*{20}c} {M_{12} } \\ {M_{22} } \\ \end{array} } \\ \end{array} } \right)^{ - 1} $$

Then, the robot system given by (54) can be expressed as \( \ddot y = F(x) + G(x)u \)

The control objective is to force the system output q 1 and q 2 to track the desired trajectories \( y_{d1} = { \sin }(t) \) and \( y_{d2} = { \sin }(t) \), respectively.

To synthesize the indirect adaptive fuzzy controller, six fuzzy systems in the form of (11) are used. Each fuzzy system has \( x_{1} (t),\,x_{2} (t),\,x_{3} (t) \), and \( x_{4} (t) \) as input, and for each input variable \( x_{i} (t) \), five Gaussian functions are defined as

$$ \mu_{{F_{i}^{1} }} (x_{i} ) = { \exp }\left\{ { - \frac{1}{2}\left( {\frac{{x_{i} + 1.25}}{0.7}} \right)^{2} } \right\} $$
$$ \mu_{{F_{i}^{2} }} (x_{i} ) = { \exp }\left\{ { - \frac{1}{2}\left( {\frac{{x_{i} + 0.75}}{0.7}} \right)^{2} } \right\} $$
$$ \mu_{{F_{i}^{3} }} (x_{i} ) = { \exp }\left\{ { - \frac{1}{2}\left( {\frac{{x_{i} }}{0.7}} \right)^{2} } \right\} $$
$$ \mu_{{F_{i}^{4} }} (x_{i} ) = { \exp }\left\{ { - \frac{1}{2}\left( {\frac{{x_{i} - 0.75}}{0.7}} \right)^{2} } \right\} $$
$$ \mu_{{F_{i}^{5} }} (x_{i} ) = \exp \left\{ { - \frac{1}{2}\left( {\frac{{x_{i} - 1.25}}{0.7}} \right)^{2} } \right\},\quad i = 1,2,3,4 $$

The robot initial conditions are \( x(0) = [0.5;0;0.5;0] \), and the initial values of the parameter estimates \( \theta_{f} (0) \) set equal to zero, and \( \theta_{g} (0) \) between \( [ - 2 , 2] \).

$$ p = [8.120 2.750;0 8.120 2.75;2.750 2.620;0 2.750 2.62] $$
$$ \begin{aligned} Q = diag(5.5,5.5,5,5),\,\,k = [1 0;01;2 0;0 2],\,\,\varepsilon_{f} (0) = 0,\,\,\varepsilon_{g} (0) = 0\eta \hfill \\ = 0.001,\,\,\delta (0) = 1,\,\,\sigma_{0} = 0.1,\,\,\varepsilon_{0} = 0.1,\,\,\gamma_{f} = \gamma_{g} = 10,\,\,\eta_{f} = \eta_{g} = 20. \hfill \\ \end{aligned} $$

The simulation results for the first link are shown in Fig. 1, those for the second link are shown in Fig. 2, and the control input signals are shown in Fig. 3. We can note that the actual trajectories converge to the desired trajectories and the control signals are almost smooth. These simulation results demonstrate the tracking capability of the proposed indirect adaptive controller and its effectiveness for control tracking of uncertain MIMO nonlinear systems.

Fig. 1.
figure 1

Tracking curves of link 1: actual (blue lines); desired (red lines).

Fig. 2.
figure 2

Tracking curves of link 2: actual (blue lines); desired (red lines).

Fig. 3.
figure 3

Control input signals: u 1 (green line); u 2 (red line).

6 Conclusion

In this paper, stable indirect adaptive fuzzy control for class of unknown (MIMO) nonlinear systems is developed. The scheme consists of an adaptive fuzzy controller with a robuste control term used to compensate for approximation errors. The adaptive schema is a free from singularity, and new adaptive parameters update law are used, besides, the proposed adaptive schemes allow initialization to zero of all adjustable parameters of the fuzzy systems. This approach do not require the knowledge of the mathematical model of the plant, guarantee the uniform boundedness of all the signals in the closed-loop system, and ensure the convergence of the tracking errors to a neighborhood of the origin. Simulation results performed on a two- link robot manipulator illustrate the method. Future works will focus on extension of the approach to more general MIMO nonlinear systems and its improvement by introducing a state observer to provide an estimate of the state vector.