1 Introduction

Nonlinear dynamical systems can be found in a wide variety of applications, e.g., MIMO, SIMO, MISO, and SISO systems, and also affine and non-affine systems. Stabilization and tracking control are some of the essential parts of these nonlinear systems.

Consider \(\dot{\mathbf{X}}=\mathbf{F} \left(\mathbf{X},\mathbf{U}\right)\) is a non-affine and \(\dot{\mathbf{X}}=\mathbf{F} \left(\mathbf{X}\right)+\mathbf{G}\left(\mathbf{X}\right)\mathbf{U}\) is an affine nonlinear system, where \(\mathbf{X}\) and U are input and output vectors, \(\mathbf{F} \left(\mathbf{X},\mathbf{U}\right)\) and \(\mathbf{F} \left(\mathbf{X}\right)\) are continuous function vectors, and \(\mathbf{G}\left(\mathbf{X}\right)\) is a square or non-square control gain matrix. The majority of control approaches of nonlinear systems are designed for SISO systems and also the MIMO systems with a square control gain matrix. It is yet difficult to employ a proper control strategy for systems with a non-square control gain matrix. In (Gao and Tong 2015), the authors propose a control method for a MIMO affine model of underwater systems with both square and non-square control gain matrices. Also, most of the articles are applied to the control of affine nonlinear systems, because the development of a control technique for non-affine systems is yet a challenge. The authors in (Ghavidel 2018, 2020; Ghavidel and Kalat 2018) develop their control methods for non-affine systems. Furthermore, the authors in (Ghavidel and Kalat 2017a) develop their control method for a class of MIMO systems with non-square control gain matrices. Moreover, in (Ghavidel 2018; Ghavidel and Kalat 2018) a robust method is employed to control both affine and non-affine nonlinear systems. This paper proposes a simple method is proposed to control MIMO systems with square control gain matrices, MIMO systems with non-square control gain matrices, SIMO, MISO, and SISO systems, and also both affine and non-affine nonlinear systems.

Two types of adaptive fuzzy controllers are commonly researched: indirect and direct adaptive fuzzy methods. An important issue in the indirect adaptive fuzzy technique is the possibility of a singularity problem when the inverse of the control gain matrixes is computing. Recently, several stable control approaches have been developed to overcome the singularity problem of SISO systems (Labiod and Guerra 2010; Ghavidel and Kalat 2019; Ghavidel 2020) and MIMO systems (Min et al. 2017). To avoid the singularity problem, in (Lamara et al. 2012) the non-symmetric control gain matrix of the MIMO system is extracted as the sum of a symmetric matrix and a skew-symmetric matrix. Also, a global non-singular terminal sliding mode control method is presented in (Li and Tong 2003). In (Li and Lee 2011), the controller singularity problem is avoided by the decomposition of the control gain matrix into the product of a symmetric positive-definite matrix, a diagonal matrix, and a unity upper triangular matrix. In (Li et al. 2013a), and the estimation of the control gain matrix is decomposed into the product of one diagonal matrix and two orthogonal matrices. The authors in (Li et al. 2013b) presented a symmetric matrix decomposition technique. A regularized inverse of the estimated control gain matrix is employed in (Lin et al. 2012; Li et al. 2015; Min et al. 2017) to avoid the controller singularity problem, and a complex robust control term was proposed to compensate for uncertainties that appear due to using the regular inverse technique. In this paper, based on the proposed OBLF method a non-singular adaptive fuzzy approach is presented for various classes of nonlinear systems.

In practice, all the system states are not available for measurement. To overcome this problem, the authors in (Guo et al. 2020; Li et al. 2020; Tong et al. 2020; Zhang and Dong 2020) developed observer-based adaptive fuzzy control methods. In (Ghavidel and Kalat 2017b; Ghavidel 2018, 2020), the authors employed an observer-based adaptive fuzzy technique with SPR condition which is required for the closed-loop system stability. An important advantage of these schemes is that the proposed approach does not require SPR conditions to be known. This paper develops this observer method for multi-input/output affine and non-affine systems. (Also, the other schemes of observer-based adaptive fuzzy methods with SPR conditions are developed by the authors in Ren et al. 2010; Rigatos 2014.)

Recently, the logarithm barrier functions in Lyapunov theories have been suggested for nonlinear systems (Shaocheng et al. 2005; Schkoda and Crassidis 2007; Shahnazi 2016). By combining the observer error signal and the barrier Lyapunov function, the proposed OBLF control method can be applied to solve the problems of output constraint by preventing the output from violating the constraint. The main purpose of our design consists of modeling a Lyapunov function to guarantee the limitation of the observer error signals.

In many physical systems, input saturation for a limited bound of the control signal is applied. Applying input saturation is a problem to design a stable controller. Some control schemes have been proposed for nonlinear systems in the presence of input saturation (Shi 2014, 2015). These works assume some complicated assumptions and techniques to utilize input saturations. This paper uses a simple and stable strategy employed to design a limited bound of the control signals.

Finally, the main advantages of the proposed method are as follows:

  1. 1)

    Many researchers develop their control methods for affine systems with square control gains. Based on the proposed technique, a general dynamics model is proposed for affine and non-affine forms of SISO, MIMO, SIMO, and MISO systems with non-square control gain matrices (see Sect. 2 for more details).

  2. 2)

    An essential problem of indirect control methods is the possibility of singularity. A non-singular control approach is presented for various classes of nonlinear systems (see Sect. 3.2 for more details).

  3. 3)

    An accurate method is considered for nonlinear systems in the presence of input saturation. This method does not require complex functions, difficult assumptions, and extra robust terms (see Sect. 3.2 for more details).

  4. 4)

    By using a feedback error function instead of the state variables, the number of fuzzy sets and rules can be decreased so that a smaller tracking error is achieved (see Sect. 4.1 for more details).

  5. 5)

    The basic idea of the observer control method is introduced based on an observer scheme in (Ghavidel and Kalat 2017b; Ghavidel 2018, 2020). Note that these approaches are proposed based on the SPR condition. In this paper, it can be extended to SPR condition via the barrier Lyapunov function theory. Hence, although the observer control technique needs proper conditions for SPR, it does not require SPR conditions to be recognized, i.e., the main advantage of the proposed observer\(-\)based scheme is that matrices \({\mathbf{Q}}_{oi}\), \({\mathbf{P}}_{oi}\), \({\mathbf{Q}}_{i}\), \({\mathbf{P}}_{i}\), vector \({\mathbf{B}}_{si}\) and filter \({L}_{i}(s)\) do not require to be known (see Sect. 4.2 for more details).

  6. 6)

    It is an important advantage that the proposed barrier Lyapunov is a function of the observer error signal \(\widetilde{{e_{{{\text{si}}}} }}\), because the selection of the parameter \({k}_{i}\) will not be restricted (see Sect. 4.3 for more details).

  7. 7)

    A bounded robust \({H}_{\infty }\)-like control term is proposed to compensate for uncertainties. The conventional robust \({H}_{\infty }\) terms are presented in (Ghavidel and Kalat 2017c; Ghavidel et al. 2017, 2020) (see Sect. 4.3 for more details).

2 Problem formulation and preliminaries

The general nonlinear systems (Wang 1996) can be more complicated when they are in the form of non-affine systems. In this section, these complicated systems are transformed into the controllable form of non-affine systems.

Therefore, the general model of nonlinear non-affine systems is as follows

$$ \left\{ {\begin{array}{*{20}c} {\mathop {\mathbf{Z}}\limits^{.} _{i} = {\mathbf{F}}_{i} \left( {{\mathbf{Z}},{\mathbf{U}}} \right) + {\mathbf{D}}_{i} \left( t \right)} \\ {y_{i} = h_{i} \left( {\mathbf{Z}} \right)\quad \quad \quad \quad } \\ \end{array} } \right. . $$
(1)

where \(\mathbf{Z}={\left[{\mathbf{Z}}_{i},\dots ,{\mathbf{Z}}_{r}\right]}^{T}\) and \({\mathbf{Z}}_{i}\epsilon {\mathcal{R}}^{{p}_{i}}\) is the state vector,\({\mathbf{F}}_{i}\left(\mathbf{Z},\mathbf{U}\right)\epsilon {\mathcal{R}}^{{p}_{i}}\) is the smooth vector, \({p}_{i}\) represents the order of \(i\)-th subsystem of the non-affine system (1),\(\mathbf{U}={[{u}_{1},\dots ,{u}_{m}]}^{T}\epsilon {\mathcal{R}}^{m}\) is the system input vector, \({\mathbf{D}}_{i}\epsilon {\mathcal{R}}^{{p}_{i}}\) is an unknown but bounded external disturbance vector, and \({h}_{i}(\mathbf{Z})\epsilon \mathcal{R}\) is a smooth and known real function for \(i=\mathrm{1,2},\dots , r\) (i.e., subsystems), and \(j=\mathrm{1,2},\dots , m\) (i.e., system inputs). Note that the MIMO Eq. (1) is a general non-affine dynamics model.

It is very important that the general model (1) is not limited only to the control of MIMO systems, it can be easily extended to the SISO, SIMO, and MISO systems. Because MIMO non-affine systems can be transformed into a SISO affine system (\(i=1\) and \(j=1\)), a SIMO affine system (\(i=1,..,r\) and \(j=1\)) and also a MISO affine system (\(i=1\) and \(j=1,..,m\)).

Based on input–output linearization, a diffeomorphism vector \({\mathbf{T}}_{i}={\left[{T}_{1i},\dots ,{T}_{pi}\right]}^{T}\) can be written as \({\mathbf{T}}_{i}={\left[{h}_{i}, L{h}_{i},\dots ,{L}^{{n}_{i}-1}{h}_{i},{T}_{{n}_{i}+1},\dots ,{T}_{{p}_{i}} \right]}^{T}\), so that the control input \({u}_{j}\) appears in the derivation function \({L}^{{n}_{i}-1}{h}_{i}\). The diffeomorphism vector \({\mathbf{T}}_{i}\) can be rewritten as \({\mathbf{T}}_{i}={\left[{x}_{i},\dots ,{{x}_{i}}^{\left({n}_{i}-1\right)},{\zeta }_{1i},\dots ,{\zeta }_{{p}_{i}-{n}_{i}}\right]}^{T}={\left[{\mathbf{X}}_{i};{{\varvec{\upzeta}}}_{i}\right]}^{T}\).

Accordingly, \({\mathbf{X}}_{i}={\left[{x}_{i},\dots ,{{x}_{i}}^{\left({n}_{i}-1\right)}\right]}^{T}\), \({{\varvec{\upzeta}}}_{i}={\left[{\zeta }_{1i},\dots ,{\zeta }_{{p}_{i}-{n}_{i}}\right]}^{T}\), and \({n}_{i}\,\le \,{p}_{i}\). Hence, it transforms the non-affine system (1) to the following controllable form

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{i} = x_{i + } } \hfill \\ \vdots \hfill \\ {x_{i}^{{\left( {n_{i} } \right)}} = F_{i} \left( {{\mathbf{X}}_{1} , \ldots ,{\mathbf{X}}_{r} ,{{\varvec{\upzeta}}}_{1} , \ldots ,{{\varvec{\upzeta}}}_{r} , {\mathbf{U}}} \right) + d_{i} \left( t \right)} \hfill \\ {{\dot{\mathbf{\zeta }}}_{i} = {\mathbf{q}}_{i} \left( {{\mathbf{X}}_{1} , \ldots ,{\mathbf{X}}_{r} ,{{\varvec{\upzeta}}}_{1} , \ldots ,{{\varvec{\upzeta}}}_{r} } \right)} \hfill \\ {y_{i} = x_{i} } \hfill \\ \end{array} } \right. $$
(2)

where the vector \({\mathbf{D}}_{i}(t)\) is transformed into the scalar \({d}_{i}\left(t\right)\). So, if the zero dynamics \({\mathbf{q}}_{i}\left(0,{{\varvec{\upzeta}}}_{1},\dots ,{{\varvec{\upzeta}}}_{r}\right)\) in (2) is asymptotically stable, non-affine system (2) can be transformed into r subsystem of the affine system as

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{i} = x_{{i + 1}} } \\ \vdots \\ {x_{i}^{{\left( {n_{i} } \right)}} = F_{i} \left( {{\mathbf{X}},{\mathbf{U}}} \right) + d_{i} \left( t \right)} \\ {y_{i} = x_{i} } \\ \end{array} } \right. $$
(3)

where \(\mathbf{X}={[{\mathbf{X}}_{1},\dots ,{\mathbf{X}}_{r}]}^{T}\).

Assumption 1

The following assumptions are applied for the controllability of the system:

  1. 1)

    Assume that the relative degree of the controllable system (3) is \({n}_{i}\le {p}_{i}\).

  2. 2)

    The function \(\partial {F}_{i}\left(\mathbf{X},\mathbf{U}\right)/\partial \mathbf{U}\) is nonzero so that \(0<\partial {F}_{i}\left(\mathbf{X},\mathbf{U}\right)/\partial \mathbf{U}\le {\overline{F}}_{i}\), for an unknown positive constant \({\overline{F}}_{i}\). Also, external disturbance \({d}_{i}(t)\) is bounded (i.e., \(|{d}_{i}\left(t\right)|\le {\overline{d} }_{i}\)).

Now, it is assumed that \({\mathbf{g}}_{i}\left(\mathbf{X}\right)\) is a bounded and unknown vector; then, system (3) can be transformed into r subsystem of the affine system as

$${x}_{i}^{({n}_{i})}={F}_{i}\left(\mathbf{X},\mathbf{U}\right)-{\mathbf{g}}_{i}\left(\mathbf{X}\right)\mathbf{U}+{\mathbf{g}}_{i}\left(\mathbf{X}\right)\mathbf{U}+{d}_{i}\left(t\right)$$
$${x}_{i}^{({n}_{i})}={f}_{i}\left(\mathbf{X}\right)+{\mathbf{g}}_{i}\left(\mathbf{X}\right)\mathbf{U}+{d}_{i}\left(t\right)$$
$$ \left\{ {\begin{array}{*{20}c} {x_{i}^{{\left( {n_{i} } \right)}} = f_{i} \left( {\mathbf{X}} \right) + \sum\limits_{{j = 1}}^{m} {g_{{{\text{ij}}}} } \left( {\mathbf{X}} \right)u_{j} + {\text{d}}_{i} \left( t \right)} \\ {y_{i} = x_{i} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right. $$
(4)

where

$${f}_{i}\left(\mathbf{X}\right)={F}_{i}\left(\mathbf{X},\mathbf{U}\right)-{\mathbf{g}}_{i}\left(\mathbf{X}\right)\mathbf{U}$$
$${\mathbf{g}}_{i}\left(\mathbf{X}\right)=[{\mathrm{g}}_{i1},\dots ,{\mathrm{g}}_{im}]$$

By (4), the general dynamic model can be rewritten as

$$ \left\{ {\begin{array}{*{20}c} {\mathop {\mathbf{X}}\limits^{.} = {\mathbf{AX}} + {\mathbf{B}}\left[ {{\mathbf{F}}\left( {\mathbf{X}} \right) + {\mathbf{G}}\left( {\mathbf{X}} \right){\mathbf{U}} + {\mathbf{D}}\left( t \right)} \right]} \\ {{\mathbf{Y}} = {\mathbf{C}}^{T} {\mathbf{X}}\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right. $$
(5)

where \(\mathbf{Y}={[{y}_{1},\dots ,{y}_{r}]}^{T}\epsilon {\mathcal{R}}^{r}\) are the output of the system for \(i=\mathrm{1,2},\dots , r\) and \(j=\mathrm{1,2},\dots , m\), respectively, that \(r\) is the number of subsystems and \({n}_{i}\) is the i-th system relative degree where \({n=n}_{1}+{n}_{2}+\dots +{n}_{r}\). Let denote

$${\mathbf{F}\left(\mathbf{X}\right)=\left[{f}_{1}\left(\mathbf{X}\right),\dots ,{f}_{r}\left(\mathbf{X}\right)\right]}^{T}$$
$$\mathbf{G}\left(\mathbf{X}\right)=\left[{\mathrm{g}}_{ij}\right]\epsilon {\mathcal{R}}^{r\times m}$$
$${\mathbf{D}\left(t\right)=[{d}_{1}(t),\dots ,{d}_{r}(t)]}^{T}$$

\(\mathbf{A}=\mathrm{diag}[{\mathbf{A}}_{1},\dots ,\boldsymbol{ }{\mathbf{A}}_{r}]\), \(\mathbf{B}=\mathrm{diag}[{\mathbf{B}}_{1},\dots ,\boldsymbol{ }{\mathbf{B}}_{r}]\), \(\mathbf{C}=\mathrm{diag}[{\mathbf{C}}_{1},\dots ,\boldsymbol{ }{\mathbf{C}}_{r}]\),

\({\mathbf{A}}_{i}=\left[\begin{array}{c}0\\ \begin{array}{c}0\\ \vdots \end{array}\\ \begin{array}{c}0\\ 0\end{array}\end{array}\begin{array}{c} 1\\ \begin{array}{c}0\\ \vdots \end{array}\\ \begin{array}{c} 0\\ 0\end{array}\end{array}\begin{array}{c} 0\\ \begin{array}{c} 1\\ \vdots \end{array}\\ \begin{array}{c} 0\\ 0\end{array}\end{array}\begin{array}{c}\dots \\ \dots \\ \begin{array}{c}\ddots \\ \begin{array}{c}\dots \\ \dots \end{array}\end{array}\end{array}\begin{array}{c}0\\ \begin{array}{c}0\\ \vdots \end{array}\\ \begin{array}{c}1\\ 0\end{array}\end{array}\right]\epsilon { \mathcal{R}}^{{n}_{i}\times {n}_{i}}\), \({\mathbf{B}}_{i}=\left[\begin{array}{c}0\\ 0\\ \begin{array}{c}\vdots \\ 1\end{array}\end{array}\right]\epsilon { \mathcal{R}}^{{n}_{i}\times 1}\), and \({\mathbf{C}}_{i}=\left[\begin{array}{c}1\\ 0\\ \begin{array}{c}\vdots \\ 0\end{array}\end{array}\right]\epsilon { \mathcal{R}}^{{n}_{i}\times 1}\).

Note that, for \(r=m\), the control gain matrix \(\mathbf{G}\left(\mathbf{X}\right){ \mathcal{R}}^{r\times m}\) is a square matrix, and for \(r\ne m\) it can be a non-square matrix. Also, for SISO, MISO, and SIMO systems, it can be defined as:\(1\times 1\) matrix, \(1\times m\) vector, and \(r\times 1\) vector, respectively.

3 Robust and non-singular control of the general dynamic model

In the current section, a general control method is presented for the proposed general dynamic model (5). In this paper, it is assumed that \({\varvec{F}}\left({\varvec{X}}\right)\) and \({\varvec{G}}\left({\varvec{X}}\right)\) are unknown, and \({\varvec{D}}\left(t\right)\ne 0.\) Therefore, the proposed nonsingular controller with control input saturation can be presented by the conception of the ideal controllers and the non-singular control designs.

3.1 The Ideal control design

The control problem is to achieve the state \({\mathbf{X}}_{i}\) for tracking the desired state \({\mathbf{X}}_{di}={\left[{x}_{di},\dots ,{{x}_{di}}^{\left({n}_{i}-1\right)}\right]}^{T}\). The tracking error is defined as

$$ {\mathbf{E}}_{i} = {\mathbf{X}}_{di} - {\mathbf{X}}_{i} = \left[ {x_{{{\text{di}}}} , \ldots ,x_{{{\text{di}}}}^{{\left( {n_{i} - 1} \right)}} } \right]^{T} - \left[ {x_{i} , \ldots ,x_{i}^{{\left( {n_{i} - 1} \right)}} } \right]^{T} = \left[ {e_{i} , \ldots ,e_{i}^{{\left( {n_{i} - 1} \right)}} } \right]^{T} $$
(6)
$$ {\mathbf{E}} = \left[ {{\mathbf{E}}_{1} , \ldots ,{\mathbf{E}}_{r} } \right]^{T} = \left[ {e_{1} , \ldots ,e_{1}^{{\left( {n_{1} - 1} \right)}} , \ldots , e_{r} , \ldots ,e_{r}^{{\left( {n_{r} - 1} \right)}} } \right]^{T} $$
(7)

If \(\mathbf{F}\left(\mathbf{X}\right)\) and \(\mathbf{G}\left(\mathbf{X}\right)\) are known and free of external disturbance, i.e., \(\mathbf{D}\left(t\right)=0\), the following ideal control signal \({\mathbf{U}}_{\mathbf{o}}^{\mathbf{*}}\) makes the tracking error in the system (5) becomes stable asymptotically

$$ {\mathbf{U}}_{{\mathbf{o}}}^{*} = {\mathbf{G}}\left( {\mathbf{X}} \right)^{\# } \left( { - {\mathbf{F}}\left( {\mathbf{X}} \right) + {{\varvec{\upbeta}}}} \right) $$
(8)

where \({\varvec{\upbeta}}={\left[{\beta }_{1},\dots ,{\beta }_{r}\right]}^{T}={\left[\left({x}_{d1}^{\left({n}_{1}\right)}+{\mathbf{K}}_{1}^{T}{\mathbf{E}}_{1}\right),\dots ,\left({x}_{dr}^{\left({n}_{r}\right)}+{\mathbf{K}}_{r}^{T}{\mathbf{E}}_{r}\right)\right]}^{T}\). Let \({\mathbf{K}}_{i}\)=\({[{k}_{i1},\dots ,{k}_{i{n}_{i}}]}^{T}\) to be chosen such that the polynomial \({s}^{{n}_{i}}+{k}_{i{n}_{i}}{s}^{{n}_{i}-1}+\dots +{k}_{i1}\) is Hurwitz.

Assumption 2

The control gain matrix \(\mathbf{G}\left(\mathbf{X}\right)\) is assumed to be non-singular, i.e.,\(\mathbf{G}\left(\mathbf{X}\right)\) is an invertible matrix (inverse or pseudo-inverse of \(\mathbf{G}\left(\mathbf{X}\right)\) is available).

Inserting (8) into (4) yields (for \(\mathbf{D}\left(t\right)=0\))

$$ {\dot{\mathbf{X}}} = {\mathbf{AX}} + {\mathbf{B}}\left\{ {{\mathbf{F}} + {\mathbf{GG}}^{\# } \left( { - {\mathbf{F}} + {{\varvec{\upbeta}}}} \right)} \right\} $$
(9)

Therefore, if \({\mathbf{G}}^{\#}={\mathbf{I}}_{r\times r}\), (where \({\mathbf{I}}_{r\times r}\) is a unit matrix), then after simple operations we have

$$ e_{i}^{{\left( {n_{i} } \right)}} + k_{{in_{i} }} e_{i}^{{\left( {n_{i} - 1} \right)}} + \ldots + k_{i1} e_{i} = e_{i}^{{\left( {n_{i} } \right)}} + {\mathbf{K}}_{i}^{T} {\mathbf{E}}_{i} = 0 $$
(10)

indeed, the tracking of the reference command is asymptotically attained from any initial conditions, i.e., \(\underset{\mathrm{t}\to \infty }{\mathrm{lim}}{\mathbf{E}}_{i}=0\). Hence, there exist positive definite matrices \({\mathbf{Q}}_{oi}\) and \({\mathbf{P}}_{oi}\) such that

$$ \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} } \right)^{T} {\mathbf{P}}_{oi} + {\mathbf{P}}_{oi} \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} } \right) + {\mathbf{Q}}_{oi} = 0 $$
(11)

Definition 1

(Ghavidel and Kalat 2017a): \({\mathbf{G}}^{-}\epsilon {\mathcal{R}}^{m\times r}\) is the “inverse \(/\) pseudo-inverse” of “square \(/\) non-square” matrix \(\mathbf{G}\epsilon {\mathfrak{R}}^{\mathrm{r}\times \mathrm{m}}\); thus, it can be defined as:

$$ {\mathbf{G}}^{ - } = \left\{ {\begin{array}{*{20}l} {\left[ {{\mathbf{G}}^{T} {\mathbf{G}}} \right]^{{ - 1}} {\mathbf{G}}^{T} } \hfill & {if:m < r} \hfill \\ {{\mathbf{G}}^{{ - 1}} } \hfill & {if:m = r} \hfill \\ {{\mathbf{G}}^{T} \left[ {{\mathbf{GG}}^{T} } \right]^{{ - 1}} } \hfill & {if:m > r} \hfill \\ \end{array} } \right. $$
(12)

Thus, we have

$$ {\mathbf{GG}}^{ - } = \left\{ {\begin{array}{*{20}l} {{\text{Non}} - {\text{unitmatrix}}} \hfill & {{\text{if}}:{\text{}}m < r} \hfill \\ {{\mathbf{I}}_{{r \times r}} } \hfill & {{\text{if}}:m = r} \hfill \\ {{\mathbf{I}}_{{r \times r}} } \hfill & {{\text{if}}:m > r} \hfill \\ \end{array} } \right. $$
(13)

Then, by Definition 1 and by assuming that all matrices are invertible, \({\mathbf{G}}^{\#}\) can be as follows

$$ {\mathbf{G}}^{\# } = \left\{ {\begin{array}{*{20}l} {{\mathbf{G}}^{ - } \left[{{\mathbf{GG}}^{-}} \right]^{- 1} } \quad {{\text{if}}:m < r} \hfill \\ {{\mathbf{G}}^{- 1} \quad {\text{if}}:m = r} \\ {{\mathbf{G}}^{T} \left[ {{\mathbf{GG}}^{T} } \right]^{{ - 1}} } \quad{{\text{if}}:m > r} \hfill \\ \end{array} } \right. $$
(14)

Therefore, by (14) and the ideal controller (8), (10) can be achieved.

3.2 The non-singular control design in the presence of input saturation

By an unknown vector \({\mathbf{g}}_{i}\left(\mathbf{X}\right)\), non-affine nonlinear systems (3) can be transformed into a nonlinear affine system (4). Thus, it is challenging to determine an accurate function of \(\mathbf{F}(\mathbf{X})\) and \(\mathbf{G}(\mathbf{X})\). Therefore, the controller (8) is unrealizable, because \(\mathbf{F}\left(\mathbf{X}\right)\) and \(\mathbf{G}\left(\mathbf{X}\right)\) are unknown and \(\mathbf{D}\left(t\right)\ne 0.\) To overcome these kinds of problems, an adaptive fuzzy method is used to estimate unknown functions and uncertainties. Thus, it is very important that, although the proposed method needs an accurate function of \(\mathbf{F}\left(\mathbf{X}\right)\) and \(\mathbf{G}\left(\mathbf{X}\right)\), this paper does not require those functions to be known. Let denote:

$$ {\hat{\mathbf{G}}}^{\# } = \left\{ {\begin{array}{*{20}l} {\hat{{\mathbf{G}}}^{ - } \left[ {\hat{{\mathbf{G}{\hat{{\mathbf{G}}}}}}^{ - } } \right]^{{ - 1}} } & {{\text{if}}:m < r} \\ {\hat{{\mathbf{G}}}^{{ - 1}} } & {{\text{if}}:m = r} \\ {\hat{{\mathbf{G}}}^{T} \left[ {\hat{{\mathbf{G}{\hat{{\mathbf{G}}}}}}^{T} } \right]^{{ - 1}} } & {{\text{if}}:m > r} \\ \end{array} } \right. $$
(15)

where \(\hat{\mathbf{G}}\) is the adaptive fuzzy estimation of \(\mathbf{G}\). The adaptive fuzzy controller can be still unrealizable because it is possible that matrices \(\hat{\mathbf{G}}{\hat{\mathbf{G}}}^{-}\), \({\hat{\mathbf{G}}}^{-}\), \(\hat{\mathbf{G}}\), \(\hat{\mathbf{G}}{\hat{\mathbf{G}}}^{T}\) are not invertible.

Definition 2

(Ghavidel and Kalat 2017a): Let \(\mathbf{H}\) be a square matrix and \({\mathbf{H}}^{-1}\) be the inverse of H. So, the regularized inverse of H is defined as \({\mathbf{H}}^{-1}\cong {\mathbf{H}}^{\mathbf{r}}={\mathbf{H}}^{T}[\delta {\mathbf{I}+\mathbf{H}{\mathbf{H}}^{T}]}^{-1}\), where \(\delta \) is a small regularization constant. Using this scheme, it is not necessary to limit the parameter estimations to avoid the singularity problem.

The suggested control scheme is not limited only to the control of MIMO systems; it can be easily extended to the SISO, SIMO, and MISO systems, because MIMO non-affine systems can be transformed into SISO affine systems (\(i=1\) and \(j=1\)), SIMO affine systems (\(i=1,..,r\) and \(j=1\)) and MISO affine systems (\(i=1\) and \(j=1,..,m\)). Note that if \({\mathrm{g}}_{11}^{-1}\) be the inverse of \(\mathbf{G}\left(\mathbf{X}\right)=[{\mathrm{g}}_{11}]\epsilon {\mathcal{R}}^{1\times 1}\), then the regularized inverse of \({\mathrm{g}}_{11}\) is defined as \({\mathrm{g}}_{11}^{-1}\cong {\mathrm{g}}_{11}^{\mathrm{r}}={\mathrm{g}}_{11}[\delta {+{\mathrm{g}}_{11}^{2}]}^{-1}\).

Hence, by Definitions 1 and 2, the estimation of control gains can be proposed as

$$ {\hat{\mathbf{G}}}^{\# } \cong {\hat{\mathbf{G}}}^{{{\mathbf{r}}\# }} = \left\{ {\begin{array}{*{20}l} {\left[ {{\hat{\mathbf{G}}}^{T} {\hat{\mathbf{G}}}} \right]^{{\mathbf{r}}} {\hat{\mathbf{G}}}^{T} \times \left[ {{\hat{\mathbf{G}}}\left( {\left[ {{\hat{\mathbf{G}}}^{T} {\hat{\mathbf{G}}}} \right]^{{\mathbf{r}}} {\hat{\mathbf{G}}}^{T} } \right)} \right]^{{\mathbf{r}}} } & {{\text{if}}:m < r} \\ {{\hat{\mathbf{G}}}^{{\mathbf{r}}} } & {{\text{if}}:m = r} \\ {{\hat{\mathbf{G}}}^{T} \left[ {{\hat{\mathbf{G}\hat{\mathbf{G}}}}^{T} } \right]^{{\mathbf{r}}} } & {{\text{if}}:m > r} \\ \end{array} } \right. $$
(16)

Indeed, a non-singular robust indirect adaptive fuzzy controller with estimation \({\hat{\mathbf{G}}}^{\mathrm{r}\#}\) is applied to overcome the singularity problem

$$ {\mathbf{U}}_{{\mathbf{o}}} = {\hat{\mathbf{G}}}^{{{\mathbf{r}}\# }} \left( { - {\hat{\mathbf{F}}} + {{\varvec{\upbeta}}} + {\mathbf{u}}_{{\mathbf{r}}} } \right) $$
(17)

where \(\hat{\mathbf{F}}\), \(\hat{\mathbf{G},}\) and \(\hat{\mathbf{U}}\) are estimates of \(\mathbf{F}\), \(\mathbf{G},\) and control input \(\mathbf{U}\), respectively, and \({\mathbf{u}}_{\mathbf{r}}\) is a robust control vector to compensate for uncertainties. Let denote:

\({\hat{\mathbf{F}}} = \left[ {\hat{f}_{1} , \ldots ,\hat{f}_{r} } \right]^{T}\), \(\hat{G} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\hat{g}_{11} } & {\hat{g}_{12} } \\ \end{array} } & {\begin{array}{*{20}c} \cdots & {\hat{g}_{1m} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots & \vdots \\ \end{array} } & {\begin{array}{*{20}c} \ddots & \vdots \\ \end{array} } \\ {\begin{array}{*{20}c} {\hat{g}_{r1} } & {\hat{g}_{r2} } \\ \end{array} } & {\begin{array}{*{20}c} \ldots & {\hat{g}_{rm} } \\ \end{array} } \\ \end{array} } \right] \in {\mathcal{R}}^{r \times m}\), \({\mathbf{u}}_{{\mathbf{r}}} = \left[ {u_{r1} , \ldots ,u_{rr} } \right]^{T}\)

To apply the non-singular controller \({\mathbf{U}}_{\mathbf{o}}\), the general dynamic model (5) can be rewritten by adding and then subtracting \(\hat{\mathbf{G}}\mathbf{U}+\left(-\hat{\mathbf{F}}+{\varvec{\upbeta}}+{\mathbf{u}}_{\mathbf{r}}\right)\)

$$ {\dot{\mathbf{X}}} = {\mathbf{AX}} + {\mathbf{B}}\left( {{\mathbf{F}} + {\mathbf{D}} + {\mathbf{GU}}} \right) + {\mathbf{B}}\left\{ {\left( {{\hat{\mathbf{G}}} - {\hat{\mathbf{G}}}} \right){\mathbf{U}} + \left( { - {\hat{\mathbf{F}}} + {{\varvec{\upbeta}}} + {\mathbf{u}}_{{\mathbf{r}}} } \right) - \left( { - {\hat{\mathbf{F}}} + {{\varvec{\upbeta}}} + {\mathbf{u}}_{{{\mathbf{u}}_{{\mathbf{r}}} }} } \right)} \right\} $$
(18)
$$ {\dot{\mathbf{X}}} = {\mathbf{AX}} + {\mathbf{B\beta }} + {\mathbf{B}}\left( { - {\tilde{\mathbf{F}}} - {\tilde{\mathbf{G}}\mathbf{U}} + {\mathbf{D}} + {\mathbf{u}}_{{\mathbf{r}}} } \right) + {\mathbf{B}}\left\{ {{\hat{\mathbf{G}}\mathbf{U}} - \left( { - {\hat{\mathbf{F}}} + {{\varvec{\upbeta}}} + {\mathbf{u}}_{{\mathbf{r}}} } \right)} \right\} $$
(19)

where \(\widetilde{\mathbf{F}}=\hat{\mathbf{F}}-\mathbf{F}\) and \(\widetilde{\mathbf{G}}=\hat{\mathbf{G}}-\mathbf{G}\). After some simple manipulations, we can obtain the tracking error as

$$\dot{\mathbf{E}}=\left(\mathbf{A}-\mathbf{B}{\mathbf{K}}^{T}\right)\mathbf{E}+\mathbf{B}\left(\widetilde{\mathbf{F}}+\widetilde{\mathbf{G}}\mathbf{U}-\mathbf{D}-{\mathbf{u}}_{\mathbf{r}}\right)+\mathbf{B}{\varvec{\upsigma}}\left(\mathbf{X}\right)$$
$$ {\dot{\mathbf{E}}} = \left( {{\mathbf{A}} - {\mathbf{BK}}^{T} } \right){\mathbf{E}} + {\mathbf{B}}\left( {{\tilde{\mathbf{F}}} + {\tilde{\mathbf{G}}\mathbf{U}} - {\mathbf{D}}_{{{\varvec{\upsigma}}}} - {\mathbf{u}}_{{\mathbf{r}}} } \right) $$
(20)

where \({\mathbf{D}}_{{\varvec{\upsigma}}}=\mathbf{D}-{\varvec{\upsigma}}={\left[{d}_{\sigma 1},\dots ,{d}_{\sigma r}\right]}^{T}\), and \({\varvec{\upsigma}}\left(\mathbf{X}\right)=\left\{\left(-\hat{\mathbf{F}}+{\varvec{\upbeta}}+{\mathbf{u}}_{\mathbf{r}}\right)-\hat{\mathbf{G}}\mathbf{U}\right\}\) is an uncertainty that appears because of applying the regular inverse technique.

The tracking errors (20) for each subsystem can be rewritten as

$$ {\dot{\mathbf{E}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{{\varvec{T}}} } \right){\mathbf{E}}_{i} + {\mathbf{B}}_{i} \left( {\tilde{f}_{i} + {\tilde{\text{g}}}u_{j} - d_{\sigma i} - u_{rj} } \right) $$
(21)

where \({\widetilde{f}}_{i}={\hat{f}}_{i}-{f}_{i}\) and \({\widetilde{\mathrm{g}}}_{i}={\hat{\mathrm{g}}}_{i}-{\mathrm{g}}_{i}\).

The controller (17) is still unrealizable because it might not always be available due to the input saturation. We assume that the control input \(\mathbf{U}\) is bounded by upper and lower bounds as

$$ u_{j} = {\text{sat}}\left( {u_{{oj}} } \right) = \left\{ {\begin{array}{*{20}l} {u_{{\max j}} } \hfill & {u_{{oj}} \ge u_{{\max j}} } \hfill \\ {u_{{Ij}} } \hfill & {u_{{\min j}} < u_{{oj}} < u_{{\max j}} } \hfill \\ {u_{{\min j}} } \hfill & {u_{{oj}} \le u_{{\min j}} } \hfill \\ \end{array} } \right. $$
(22)

where \({\mathbf{U}}_{\mathbf{o}}={\left[{u}_{o1},\dots ,{u}_{om}\right]}^{T}\) is the controller input to be designed; \({u}_{\mathrm{max}j}\) and \({u}_{\mathrm{min}j}\) are known

upper and lower bound of the controller \({u}_{oj}\). The new ideal controller can be proposed as

$$ {\mathbf{U}}^{*} = {\text{sat}}\left( {{\mathbf{U}}_{{\mathbf{o}}}^{*} } \right) $$
(23)

where \({\mathbf{U}}^{\mathbf{*}}={\left[{u}_{1}^{*},\dots ,{u}_{m}^{*}\right]}^{T}\). Then, we have

$$ {\mathbf{U}} = {\text{sat}}\left( {{\mathbf{U}}_{{\mathbf{o}}} } \right) = {\mathbf{U}}_{{\mathbf{o}}} + \Delta $$
(24)

where \(\Delta ={\left[{\Delta }_{1},\dots ,{\Delta }_{m}\right]}^{T}\). It is important to notice that \(\Delta \) is zero in the areas of \({u}_{\mathit{min}j}<{u}_{oj}<{u}_{\mathit{max}j}\) since \(\mathbf{U}={\mathbf{U}}_{\mathbf{o}}\), so that

$$ \left\{ {\begin{array}{*{20}l} {\Delta _{{{\text{Ij}}}} = 0} \hfill & {u_{{\min j}} < u_{{oj}} < u_{{\max j}} } \hfill \\ {\Delta _{{{\text{Ij}}}} \ne 0} \hfill & {{\text{otherwise}}} \hfill \\ \end{array} } \right. $$
(25)

By substituting the proposed controller (17) into plant (1) and based on (24) and (25), the tracking error for \(u_{\min j} < u_{oj} < u_{\max j}\) (i.e., \(\Delta_{Ij} = 0\)) can be written as

$$ {\dot{\mathbf{E}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{{\varvec{T}}} } \right){\mathbf{E}}_{i} + {\mathbf{B}}_{i} \left( {\tilde{f}_{i} + {\tilde{\text{g}}}u_{j} - d_{\sigma i} - u_{rj} } \right) $$
(26)

Also, for out of the area \(u_{\min j} < u_{oj} < u_{\max j}\) (i.e., \(\Delta_{Ij} \ne 0\)), we have

$$ {\dot{\mathbf{E}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{{\varvec{T}}} } \right){\mathbf{E}}_{i} + {\mathbf{B}}_{i} \left( {\tilde{f}_{i} + {\tilde{\text{g}}}u_{j} + \Delta_{j} - d_{\sigma i} - u_{ri} } \right) $$
(27)

By (25)-(27), the tracking error for \(u_{\min j} \le u_{oj} \le u_{\max j}\) can be written as

$$ {\dot{\mathbf{E}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{{\varvec{T}}} } \right){\mathbf{E}}_{i} + {\mathbf{B}}_{i} \left( {\tilde{f}_{i} + {\tilde{\text{g}}}u_{j} + d_{i} - u_{ri} } \right) $$
(28)

where

$${d}_{Ii}=\left\{\begin{array}{c}{d}_{Ii}=-{d}_{\sigma i} {u}_{\mathrm{min}j}<{u}_{oj}<{u}_{\mathrm{max}j}\\ {d}_{Ii}={\Delta }_{Ij}-{d}_{\sigma i}\quad otherwise\end{array}\right.$$

Note that the robust controller \({u}_{ri}\) can play an important role to compensate for these uncertainties.

4 Barrier Lyapunov function-based adaptive fuzzy control

As previously mentioned, it is assumed that \(\mathbf{F}\left(\mathbf{X}\right)\) and \(\mathbf{G}\left(\mathbf{X}\right)\) are unknown. Therefore, we use the fuzzy estimations \(\hat{\mathbf{F}}\) and \(\hat{\mathbf{G}}\) instead. It is very important to note that one of the most important purposes of the article is to design a general nonlinear modeling of multi-input/output affine and non-affine systems. In this study, we suggest the adaptive fuzzy method and develop the proposed controller and general nonlinear modeling by this algorithm. Thus, the adaptive fuzzy method is only one way to estimate unknown functions (we can use other methods, e.g.; neural networks). Furthermore, to improve the performance of the control system, the proposed OBLF approach is employed in this section. Therefore, the first descriptions of the fuzzy logic system and observer models are presented in Sects. 4.1 and 4.2; then, the OBLF method is suggested.

4.1 Description of the fuzzy logic system

To improve the control performance of the adaptive fuzzy scheme and also to reduce the number of fuzzy sets and rules, the authors in (Ghavidel 2018; Ghavidel and Kalat 2018) employed a fuzzy logic system that the feedback error functions as fuzzy inputs are used instead of the state variables. Hence, it can be developed for SISO and MIMO systems.

It is very important that, based on (5), \(\mathbf{F}\) is a function of \(\mathbf{X}\) and \(\mathbf{U}\). Thus, it is a challenging problem for the fuzzy system because the control input \(\mathbf{U}\) is directly fed back into \(\mathbf{F}\). This paper uses a simple method to overcome this problem by applying the following fuzzy input: \(\Xi =\sum_{i=1}^{r}{\Xi }_{i}=\sum_{i=1}^{r}{\mathbf{K}}_{i}^{T}{\mathbf{E}}_{i}\). Note that if the state vector \(\mathbf{X}\) is not directly measurable, hence \(\hat{\Xi }=\sum_{i=1}^{r}{\hat{\Xi }}_{i}=\sum_{i=1}^{r}{\mathbf{K}}_{i}^{T}{\hat{\mathbf{E}}}_{i}\) can be as the input of the fuzzy system, which \( {\hat{\mathbf{E}}}_{i} \) is an estimation error vector of \({\mathbf{E}}_{i}\) (for more details, see Sect. 6).

Thus, the fuzzy logic system is introduced with the following fuzzy IF–THEN rules as

$$ R^{l} :{\text{ IF}}\;\hat{\Xi }\;{\text{is}}\,F^{l}\, {\text{THEN}}\;y = \bar{y}^{l} , \ldots \left( {l = 1,2, \ldots ,M} \right) $$
(29)

\({F}^{l}\) and \({\overline{y}}^{l}\) are the fuzzy sets, and \({\mu }_{{F}^{l}}\) and \({\mu }_{{y}^{l}}\) are their membership functions, \(\hat{\Xi }\) and \(y \epsilon \mathcal{R}\) are the input and output of the fuzzy system, l = 1,…,\(M\) is the number of fuzzy rules. The output of the proposed fuzzy logic system can be written as

$$ y\left( {\hat{\Xi }} \right) = \frac{{\mathop \sum \nolimits_{l = 1}^{M} \left[ { \mu_{{F^{l} }} \left( \Xi \right)} \right]\overline{y}^{l} }}{{\mathop \sum \nolimits_{l = 1}^{M} \left[ { \mu_{{F^{l} }} \left( \Xi \right)} \right]}} = {{\varvec{\uptheta}}}^{T} {{\varvec{\upxi}}}\left( {\hat{\Xi }} \right) $$
(30)

\({\varvec{\uptheta}}={({\overline{y} }^{1},\dots ,{\overline{y} }^{M})}^{T}\) is the output fuzzy membership function. Also, the fuzzy basis functions are defined as

$$ \xi^{l} \left( {\hat{\Xi }} \right) = \frac{{\mu_{{F^{l} }} \left( {\hat{\Xi }} \right)}}{{\mathop \sum \nolimits_{l = 1}^{M} \left[ { \mu_{{F^{l} }} \left( {\hat{\Xi }} \right)} \right]}} $$
(31)
$$ {{\varvec{\upxi}}}\left( {\hat{\Xi }} \right) = \left( {\xi^{1} , \ldots ,\xi^{M} } \right)^{T} $$
(32)

The optimal parameter vectors \({{\varvec{\uptheta}}}^{*}\) are defined as

$$ {\varvec{\theta}}^{*} = \arg \;{\text{ min}}_{{{\varvec{\theta}} \in {\Omega }}} \left[ {{\text{sup}}_{{\Xi \in {\mathcal{R}},{ } {\mathbf{X}} \in {\mathcal{R}}^{n} }} \left\| {y\left( {\hat{\Xi }{|}{{\varvec{\uptheta}}}} \right) - y\left( {\mathbf{X}} \right)} \right\|} \right] $$
(33)

where || · || represents the Euclidean-norm of a vector. Also, \({\varvec{\Omega}}\) is the compact set defined as \({\varvec{\Omega}}=\left\{{\varvec{\uptheta}} :||{\varvec{\uptheta}}||\le {m}_{y} \right\},\) where \({m}_{y}\) is the positive constant specified by the designer. The minimum approximation error can be written in terms of the optimal parameter estimates as\({\omega }_{o}=y\left(\hat{\Xi }|{{\varvec{\uptheta}}}^{\mathbf{*}}\right)-y\left(\mathbf{X}\right)\).

Remark 1

Note that another method can be applying \({\hat{\Xi }}_{i}\) as the input of the fuzzy logic system. Then, fuzzy IF–THEN rules can be rewritten as: {\({R}^{l}\): IF \({\hat{\Xi }}_{1}\) is \({F}_{1}^{l}\) and … and \({\hat{\Xi }}_{r}\) is \({F}_{r}^{l}\), THEN \(y\) = \({\overline{y}}^{l}\)}, where \({F}_{i}^{l}\) are fuzzy sets. One problem with this method is that increasing the number of fuzzy sets and/or fuzzy IF–THEN rules, compared to the use of fuzzy input \(\hat{\Xi }=\sum_{i=1}^{r}{\hat{\Xi }}_{i}\).

By the above detentions, \({\hat{f}}_{i}\) and \({\hat{\mathrm{g}}}_{ij}\) can be described as follows

$$ \hat{f}_{i} \left( {\hat{\Xi }{|}{{\varvec{\uptheta}}}_{i} } \right) = {{\varvec{\uptheta}}}_{i}^{T} {{\varvec{\upxi}}}_{i} \left( {\hat{\Xi }} \right) $$
(34)
$$ {\hat{\text{g}}}_{ij} \left( {\hat{\Xi }{|}{{\varvec{\uptheta}}}_{ij} } \right) = {{\varvec{\uptheta}}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} \left( {\hat{\Xi }} \right) $$
(35)

Also, \({{\varvec{\uptheta}}}_{i}^{*}\) and \({{\varvec{\uptheta}}}_{ij}^{*}\) are the optimal parameters and can be defined as

$$ \left\{ \begin{aligned} {\varvec{\theta }}_{i}^{*} = & \arg \;{\text{min}}_{{{\varvec{\theta }}_{i} \in \Omega _{i} }} \left[ {{\text{sup}}_{{\hat{\Xi } \in {\mathcal{R}},{\mathbf{X}} \in {\mathcal{R}}^{n} }} \left\| {f_{i} \left( {\hat{\Xi }{\text{|}}{\varvec{\theta }}_{i} } \right) - f_{i} \left( {\mathbf{X}} \right)} \right\|} \right] \\ {\varvec{\theta }}_{{ij}}^{{\text{*}}} = & \arg \;{\text{min}}_{{{\varvec{\theta }}_{{ij}} \in \Omega _{{ij}} }} \left[ {{\text{sup}}_{{\hat{\Xi } \in {\mathcal{R}},{\mathbf{X}} \in {\mathcal{R}}^{n} }} \left\| {{\text{g}}_{{ij}} \left( {\hat{\Xi }{\text{|}}{\varvec{\theta }}_{{ij}} } \right) - {\text{g}}_{{ij}} \left( {\mathbf{X}} \right)} \right\|} \right] \\ \end{aligned} \right. $$
(36)

where \({\Omega }_{i}=\left\{{{\varvec{\uptheta}}}_{i} :{\underline{m}}_{i}\le ||{{\varvec{\uptheta}}}_{i}||\le {\overline{m}}_{i}\right\}\) and \({\Omega }_{ij}=\left\{{{\varvec{\uptheta}}}_{ij} :{\underline{m}}_{ij}\le ||{{\varvec{\uptheta}}}_{ij}||\le {\overline{m}}_{ij}\right\}\) where \({\overline{m}}_{i}\), \({\underline{m}}_{i}\), \({\overline{m}}_{ij}\) and \({\underline{m}}_{ij}\) are the positive constants specified by the designer. Then, the minimum approximation errors can be written in terms of the optimal parameter estimates as

$$ \omega_{Ii} = \left\{ {f_{i} \left( {\hat{\Xi }{|}{{\varvec{\uptheta}}}_{i}^{*} } \right) - f_{i} \left( {\mathbf{X}} \right)} \right\} + \left\{ {{\text{g}}_{ij} \left( {\hat{\Xi }{|}{{\varvec{\uptheta}}}_{ij}^{*} } \right) - {\text{g}}_{ij} \left( {\mathbf{X}} \right)} \right\}u_{j} $$
(37)

By fuzzy systems (34) and (35) and the minimum approximation errors (38), the tracking error (28) for each subsystem can be as follows

$$ {\dot{\mathbf{E}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} } \right){\mathbf{E}}_{i} + {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {{\varvec{\upxi}}}_{i} + {\tilde{\varvec{\theta }}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} u_{j} + \omega_{oi} - u_{ri} } \right) $$
(38)

where \({\omega }_{oi}={d}_{i}+{\omega }_{Ii}\), \({\widetilde{{\varvec{\uptheta}}}}_{i}={{\varvec{\uptheta}}}_{i}-{{\varvec{\uptheta}}}_{i}^{\mathbf{*}}\) and \({\widetilde{{\varvec{\uptheta}}}}_{ij}={{\varvec{\uptheta}}}_{ij}-{{\varvec{\uptheta}}}_{ij}^{\mathbf{*}}\).

This paper suggests the fuzzy input \(\hat{\Xi }\) for the fuzzy approximators; thus, one drawback of utilizing this scheme is that the approximation error \({\omega }_{i}\) maybe increased. Hence, a robust term is required to compensate for the fuzzy approximation errors. Thus, though \({\hat{f}}_{i}\left(\hat{\Xi }|{{\varvec{\uptheta}}}_{i}\right)\) and \({\hat{\mathrm{g}}}_{ij}\left(\hat{\Xi }|{{\varvec{\uptheta}}}_{ij}\right)\) are applied to estimate \({f}_{i}(\mathbf{X})\) and \({\mathrm{g}}_{ij}(\mathbf{X})\), respectively, the controller is still viable.

4.2 Observation of the state vector

The control of the nonlinear system becomes more complicated when the state vector \(\mathbf{X}\) is not directly measurable. Thus, a state observer should be established to approximate the unmeasured states. The following errors are employed.

– error vector \({\mathbf{E}}_{i}={\mathbf{X}}_{di}-{\mathbf{X}}_{i}={\left[{e}_{i},\dots ,{e}_{i}^{({n}_{i}-1)}\right]}^{T}\)

– error of the estimated state vector (error observer) \({\hat{\mathbf{E}}}_{i}={\mathbf{X}}_{di}-{\hat{\mathbf{X}}}_{i}={\left[{\hat{e}}_{i},\dots ,{\hat{e}}_{i}^{({n}_{i}-1)}\right]}^{T}\)

– observation error \({\widetilde{\mathbf{E}}}_{i}={\mathbf{E}}_{i}-{\hat{\mathbf{E}}}_{i}={\hat{\mathbf{X}}}_{i}-{\mathbf{X}}_{i}={\left[{\widetilde{e}}_{i},\dots ,{\widetilde{e}}_{i}^{({n}_{i}-1)}\right]}^{T}\)

When an observer is applied to estimate the state vector \({\mathbf{X}}_{i}\), the suggested control law (17) can be rewritten as

$$ {\mathbf{U}}_{{\mathbf{o}}} = {\hat{\mathbf{G}}}^{{{\mathbf{r}}\# }} \left( { - {\hat{\mathbf{F}}} + {\hat{\mathbf{\beta }}} + {\mathbf{u}}_{{\mathbf{r}}} } \right) $$
(39)

where \(\hat{{\varvec{\upbeta}}}={\left[{\hat{\beta }}_{1},\dots ,{\hat{\beta }}_{r}\right]}^{T}={\left[\left({x}_{d1}^{\left({n}_{1}\right)}+{\mathbf{K}}_{1}^{T}{\hat{\mathbf{E}}}_{1}\right),\dots ,\left({x}_{dr}^{\left({n}_{r}\right)}+{\mathbf{K}}_{r}^{T}{\hat{\mathbf{E}}}_{r}\right)\right]}^{T}\).

By (39), the tracking error (38) for each subsystem can be rewritten as

$$ {\dot{\mathbf{E}}}_{i} = {\mathbf{A}}_{i} {\mathbf{E}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} {\hat{\mathbf{E}}}_{i} + {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {{\varvec{\upxi}}}_{i} + {\tilde{\varvec{\theta }}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} u_{j} + \omega_{oi} - u_{ri} } \right) $$
(40)

The observer is designed as follows

$$ \left\{ {\begin{array}{*{20}l} {{\dot{\hat{\mathbf{E}}}}_{i} = \left( {{\mathbf{A}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} } \right){\hat{\mathbf{E}}}_{i} + {\mathbf{K}}_{{ci}} \tilde{e}_{i} \,\quad } \hfill \\ {\hat{e}_{i} = {\mathbf{C}}_{i}^{T} {\hat{\mathbf{E}}}_{i} \,\quad \quad \quad \quad \quad \quad \quad \quad \,} \hfill \\ {\tilde{e}_{i} = \,e_{i} - \hat{e}_{i} = {\mathbf{C}}_{i}^{T} {\tilde{\mathbf{E}}}_{i} \,\quad \quad \quad \quad \quad } \hfill \\ \end{array} } \right. $$
(41)

From (40) and (41), we have

$$ {\dot{\tilde{\mathbf{E}}}}_{i} = {\mathbf{A}}_{{si}} {\tilde{\mathbf{E}}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} {\hat{\mathbf{E}}}_{i} + {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{oi}} - u_{{ri}} } \right) $$
(42)
$$ {\dot{\tilde{\mathbf{E}}}}_{i} = {\mathbf{A}}_{{si}} {\tilde{\mathbf{E}}}_{i} - {\mathbf{B}}_{i} {\mathbf{K}}_{i}^{T} {\hat{\mathbf{E}}}_{i} + {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{oi}} - u_{{ri}} } \right) = {\mathbf{A}}_{{si}} {\tilde{\mathbf{E}}}_{i} + {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{1i}} - u_{{ri}} } \right) $$
(43)

where \({\mathbf{K}}_{ci}\)=\({[{k}_{c1i},\dots ,{k}_{c{n}_{i}i}]}^{T}\) is the observer gain vector which guarantees the characteristic polynomial of \({\mathbf{A}}_{si}={\mathbf{A}}_{i}-{\mathbf{K}}_{ci}{\mathbf{C}}_{i}^{T}\) to be Hurwitz. Note that \(-{\mathbf{K}}_{i}^{T}{\hat{\mathbf{E}}}_{i}\) in (42) can be a part of uncertainties as \({\omega }_{1i}={\omega }_{oi}-{\mathbf{K}}_{i}^{T}{\hat{\mathbf{E}}}_{i}\). Otherwise, the matrix \({\mathbf{A}}_{si}\) in observation error dynamics (42) becomes \({\mathbf{A}}_{si}={\mathbf{A}}_{i}-{\mathbf{K}}_{ci}{\mathbf{C}}_{i}^{T}-{\mathbf{B}}_{i}{\mathbf{K}}_{i}^{T}{\hat{\mathbf{E}}}_{i}\). Thus, it is difficult to demonstrate that this matrix \({\mathbf{A}}_{si}\) is Hurwitz, in a high-order system especially.

There exist positive definite matrices \({\mathbf{Q}}_{i}\) and \({\mathbf{P}}_{i}\) such that

$$ {\mathbf{A}}_{si}^{T} {\mathbf{P}}_{i} + {\mathbf{P}}_{i} {\mathbf{A}}_{si} + {\mathbf{Q}}_{i} = 0 $$
(44)

where for a given positive definite matrix\({\mathbf{Q}}_{i}\), there exists a positive matrix \({\mathbf{P}}_{i}\) which is the solution of the following equation, and the entries of the vector \({\mathbf{B}}_{si}={\left[{b}_{1i} ,\dots , {b}_{{n}_{i}i}\right]}^{T}\epsilon {\mathcal{R}}^{{n}_{i}}\) which are positive constants.

Because only the observation error \({\widetilde{e}}_{1i}\) can be measured in the observation error dynamics (42), we apply the SPR Lyapunov method to study the stability of the error dynamics (42).

Note that these approaches are proposed based on the Strictly Positive Real (SPR) condition and Lyapunov theory. But in this paper, it can be extended to SPR condition and barrier Lyapunov function theory. Furthermore, by this method, matrices \({{\varvec{Q}}}_{\mathrm{oi}}\), \({{\varvec{P}}}_{\mathrm{oi}}\) \({{\varvec{Q}}}_{i}\), \({{\varvec{P}}}_{i}\), vector\(\boldsymbol{ }{{\varvec{B}}}_{\mathrm{si}}\) and filter \({L}_{i}(s)\) do not require to be known.

The observation error dynamics (42) can be written as

$$ \tilde{e}_{i} = H_{i} \left( s \right)\left( {{\tilde{\varvec{\theta }}}_{i}^{T} {{\varvec{\upxi}}}_{i} + {\tilde{\varvec{\theta }}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} u_{j} + \omega_{1i} - u_{ri} } \right) $$
(45)

where

$$ H_{i} \left( s \right) = {\mathbf{C}}_{i}^{T} \left( {s{\mathbf{I}}_{{n_{i} \times n_{i} }} - {\mathbf{A}}_{{si}} } \right)^{{ - 1}} {\mathbf{B}}_{i} = \frac{1}{{s^{{n_{i} }} + k_{{c1}} s^{{n_{i} - 1}} + \ldots + k_{{cn_{i} }} }} $$
(46)

and \(H_{i} \left( s \right)\) is a stable transfer function. Hence, (45) can be rewritten as

$$ \tilde{e}_{i} = H_{i} \left( s \right)L_{i} \left( s \right)\left\{ {L_{i} \left( s \right)^{{ - 1}} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{1i}} - u_{{ri}} } \right)} \right\} $$
(47)

where filter \({L}_{i}(s)\) is chosen so that \({H}_{i}\left(s\right){L}_{i}(s)\) is an SPR transfer function, and also \({L}_{i}{\left(s\right)}^{-1}\) is an appropriate stable function. Let\({L}_{i}\left(s\right)={b}_{1i}{s}^{{m}_{i}}+{b}_{2i}{s}^{{m}_{i}-1}+\dots +{b}_{{n}_{i}}\), where\({m}_{i}={n}_{i}-1\). If the entries of the vector \(\, {\mathbf{B}}_{si}={\left[{b}_{1i} ,\dots , {b}_{{n}_{i}i}\right]}^{T}\epsilon {\mathcal{R}}^{{n}_{i}}\) are positive constants, all roots of \(\,{L}_{i}\left(s\right)\) are stable. So \({H}_{i}\left(s\right){L}_{i}(s)\) can be an SPR transfer function. The state\(-\)space realization of (46) can be written the following form

$$ {\dot{\tilde{\mathbf{E}}}}_{i} = {\mathbf{A}}_{{si}} {\tilde{\mathbf{E}}}_{i} - {\mathbf{B}}_{i} L_{i}^{T} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{1i}} - u_{{ri}} } \right) $$
(48)

where we now have \({\widetilde{\mathbf{E}}}_{si}={\left[{\widetilde{e}}_{i},\dots ,{\widetilde{e}}_{i}^{({n}_{i}-1)}\right]}^{T}\).

It is challenging to determine the entries of the filter\({L}_{i}(s)\), i.e., entries of the vector\({\mathbf{B}}_{s}={\left[{b}_{1} ,\dots , {b}_{{n}_{i}}\right]}^{T}\). To overcome this problem, we can rewrite (47) as

$$ {\dot{\tilde{\mathbf{E}}}}_{{si}} = {\mathbf{A}}_{{si}} {\tilde{\mathbf{E}}}_{i} - {\mathbf{B}}_{i} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{i} - u_{{ri}} } \right)\, $$
(49)

where \(\omega_{i} = \omega_{1i} + \varpi_{i}\) is a lumped uncertainty and \(\varpi_{i} \) can be written as

$$ \varpi _{i} = \left( {L_{i}^{{ - 1}} - 1} \right)\left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{1i}} - u_{{ri}} } \right) $$
(50)

To achieve the proposed OBLF control method, the error Eq. (45) can be rewritten as

$$ \dot{\tilde{e}}_{{si}} = \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + w_{i} - u_{{ri}} } \right) $$
(51)

where

$$ w_{i} = \left( {H_{i} \left( s \right) - 1} \right)\left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{{1i}} - u_{{ri}} } \right) $$
(52)

4.3 OBLF control approach

The barrier Lyapunov function is an efficient technique to resolve the drawback of output constraint. By confirming the boundedness of the barrier Lyapunov function along the system trajectories, the transgression of constraints is prevented (Shaocheng et al. 2005; Schkoda and Crassidis 2007; Shahnazi 2016). Now, the observer error signal \({\widetilde{e}}_{1i}\) needs the barrier function \({V}_{i}(t)\) to avoid it from reaching the limits \(\pm {k}_{i}\).

$$ V_{i} \left( t \right) = \frac{1}{2}\log \frac{{k_{i}^{2} }}{{k_{i}^{2} - \tilde{e}_{{{\text{si}}}}^{2} }} $$
(53)

where \(\mathrm{log}(.)\) denotes the natural logarithm of\((.)\), and \({k}_{i}\) the constraint on\({\widetilde{e}}_{si}\), i.e., \(\left|{\widetilde{e}}_{si}\right|<{k}_{i}\). As seen from the schematic illustration of \({V}_{i}\left({\widetilde{e}}_{\mathrm{si}}(t)\right)\) in Fig. 1, the barrier Lyapunov function escapes to infinity at \(\left|{\widetilde{e}}_{\mathrm{si}}\right|={k}_{i}\). It can be shown that \({V}_{i}\) is positive definite, and thus, a valid Lyapunov function candidate in the set\(\left|{\widetilde{e}}_{\mathrm{si}}\right|<{k}_{i}\). From (Schkoda and Crassidis 2007; Shahnazi 2016), if \({V}_{i}\left(t\right)\) is positive definite and\({\dot{V}}_{i}\left(t\right)\,\le 0\), for proper positive constant \({k}_{i}\) we have \(\left|{\widetilde{e}}_{\mathrm{si}}\right|\,<\,{k}_{i}\) so that \({V}_{i}\left(t\right)\to \infty\, \) as\(\left|{\widetilde{e}}_{\mathrm{si}}\right|\to {k}_{i}\). Indeed, \({\widetilde{e}}_{\mathrm{si}}\upepsilon (-{k}_{i},{+k}_{i})\forall t\upepsilon [0,\infty )\).

Fig. 1
figure 1

Schematic illustration of barrier function

It is an important advantage that the proposed barrier Lyapunov is a function of the observer error signal \({\widetilde{e}}_{si}={e}_{i}-{ \hat{e}}_{i}={\hat{x}}_{i}-{ x}_{i}\), because the selection of the parameter \({k}_{i}\) will not be complicated. Indeed, we expect \(\widetilde{e}_{{{\text{si}}}} \to 0\) at all times; hence, we always have a limited observer error as \(\left|{\widetilde{e}}_{\mathrm{si}}\right|<{\mathrm{k}}_{\mathrm{i}}\). Therefore, the proposed barrier Lyapunov functions can maintain the observer error \({\widetilde{e}}_{si}\) in a small area. Hence, we can hope that the tracking errors are bounded and converge toward zero, i.e., \({e}_{i},{\hat{e}}_{i}\to 0\), because \({\widetilde{e}}_{\mathrm{si}}={ e}_{i}-{ \hat{e}}_{i}\to 0\). But, the conventional barrier Lyapunov (Shaocheng et al. 2005; Schkoda and Crassidis 2007; Shahnazi 2016) is a function of the trajectory signal error \({e}_{i}={x}_{di}-{x}_{i}\); thus, a selection constraint will occur for parameter \({k}_{i}\) or desired trajectory state \({x}_{di}\), since \({k}_{i}\) directly depends on \({x}_{di}\) as \(|{e}_{i}={x}_{\mathrm{di}}-{x}_{i}|\propto {k}_{i}\). Indeed, even in a good tracking trajectory (e.g., \({e}_{i}={x}_{\mathrm{di}}-{x}_{i}\to 0\)), parameter \({k}_{i}\) may be a large constant. Therefore, the conventional barrier Lyapunov functions can only restrict the tracking error \({e}_{i}\), and it designs a control method that does not drive \({e}_{i}\) out of the interval \(\left|{e}_{i}\right|<{k}_{i}\). In other words, it can't be concluded that the tracking errors asymptotically converge to zero. For more details, see Fig. 2

Fig. 2
figure 2

Boundary layer \({k}_{i}\) based on the conventional barrier Lyapunov function \({V}_{i}\left({e}_{i}(t)\right)\), and the proposed barrier Lyapunov function \({V}_{i}\left({\widetilde{e}}_{si}(t)\right)\)

Now, we define the robust \({H}_{\infty }\)-like control term and the proposed OBLF-Adaptive Fuzzy Laws (OBLF-AFL) as

$$ u_{{{\text{ri}}}} = \frac{1}{{2\lambda_{i}^{2} }}\left( {z_{i} + \tilde{e}_{{{\text{si}}}} } \right) $$
(54)
$$ {\dot{\varvec{\theta }}}_{i} = - \gamma _{i} \left( {z_{i} + \tilde{e}_{{si}} } \right){\varvec{\xi }}_{i} $$
(55)
$$ {\dot{\varvec{\theta }}}_{{{\text{ij}}}} = - \gamma _{{{\text{ij}}}} \left( {z_{i} + \tilde{e}_{{{\text{si}}}} } \right)u_{j} {\varvec{\xi }}_{{{\text{ij}}}} $$
(56)

where \({z}_{i}={\widetilde{e}}_{\mathrm{si}}/({k}_{i}^{2}-{\widetilde{e}}_{\mathrm{si}}^{2})\), and \({\lambda }_{i}\), \({k}_{i}\), \({\gamma }_{i}\), and \({\gamma }_{ij}\) are positive designing constants. Also, the \({H}_{\infty }\)-like tracking performance can be achieved for a prescribed attenuation level \({\lambda }_{i}\).

In the conventional robust \({H}_{\infty }\) control terms, it is assumed that parameter \({\lambda }_{i}\) should be sufficiently small so that the derivative of the Lyapunov function is semi-negative definite, but this condition yields a very high magnitude of control input \({u}_{j}\) which is not practically feasible. An inappropriate adjustment of parameter \({\lambda }_{i}\) may cause bad behavior of the whole system, e.g., a higher frequency of chattering or a higher tracking error may occur. The proposed bounded robust \({H}_{\infty }\) control term can be one probable answer for solving these problems. The main purpose of this technique is to increase the accuracy of the closed-loop stability. In other words, to improve the compensation for uncertainty \({\omega }_{i}\), a strategy is using the proposed bounded robust control term. Now, we propose the bounded robust \({H}_{\infty }\)-like (54) as

$$ u_{{{\text{ri}}}} = u_{{{\text{zi}}}} + u_{{{\text{ei}}}} $$
(57)

where

$$ u_{{zi}} = {\text{sat}}\left( {\frac{1}{{2\lambda _{i}^{2} }}z_{i} } \right) = \left\{ {\begin{array}{*{20}l} {\frac{1}{{2\lambda _{i}^{2} }}\left( {z_{i} } \right){\text{ }}} \hfill & {|z_{i} | < \bar{w}_{i} {\text{ }}} \hfill \\ {\bar{w}_{i} {\text{sign}}\left( {z_{i} } \right){\text{ }}} \hfill & {{\text{else }}} \hfill \\ \end{array} } \right. $$
$$ u_{{ei}} = {\text{sat}}\left( {\frac{1}{{2\lambda _{i}^{2} }}\tilde{e}_{{si}} } \right) = \left\{ {\begin{array}{*{20}l} {\frac{1}{{2\lambda _{i}^{2} }}\left( {\tilde{e}_{{si}} } \right)} \hfill & {|\tilde{e}_{{si}} | < \bar{\omega }_{i} } \hfill \\ {\bar{\omega }_{i} {\mkern 1mu} {\text{sign}}{\mkern 1mu} \left( {\tilde{e}_{{si}} } \right)} \hfill & {{\text{else}}} \hfill \\ \end{array} } \right.$$

where \({\overline{w} }_{i}\) and \({\overline{\omega }}_{i}\) are the user-defined bounds as \(\left|{w}_{i}\right|\le {\overline{w} }_{i}\) and \(\left|{\omega }_{i}\right|\le {\overline{\omega }}_{i}\).

Also, to guarantee the fuzzy parameters are bounded, \({{\varvec{\uptheta}}}_{i}\) and \({{\varvec{\uptheta}}}_{\mathrm{ij}}\) can be improved by a simple projection algorithm. Improved adaptive laws with projection can be written as

$$ {\varvec{\theta }} = \left\{ {\begin{array}{*{20}l} {\int\limits_{0}^{t} {{\dot{\varvec{\theta }}}d\tau + \theta \left( 0 \right)} } \hfill & {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{m} \, < \left\| {\varvec{\theta }} \right\| < \bar{m}} \hfill \\ {\bar{m}} \hfill & {\left\| {\varvec{\theta }} \right\| \ge \bar{m}} \hfill \\ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{m} \,} \hfill & {\left\| {\varvec{\theta }} \right\| \le \underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{m} \,} \hfill \\ \end{array} } \right. $$
(58)

where \({{\varvec{\uptheta}}}_{i}\) and \({{\varvec{\uptheta}}}_{ij}\) are described as \({\varvec{\uptheta}}\), and \({\overline{m}}_{i}\) and \({\overline{m}}_{ij}\) are defined as \(\overline{m}\), and also \({\underline{m}}_{i}\) and \({\underline{m}}_{ij}\) are described as \(\underline{m}\). The block diagram of the proposed control method is shown in Fig. 3.

Fig. 3
figure 3

Block diagram of the proposed OBLF approach by robust adaptive fuzzy controllers

Remark 2

Although the suggested observer-based technique requires proper conditions for filter \({L}_{i}\left(s\right)\) to \({H}_{i}\left(s\right){L}_{i}(s)\) be SPR, the filter \({L}_{i}\left(s\right)\) and vector \({\mathbf{B}}_{si}\left(s\right)\) don't need to be known (i.e., in other words, the filter \({L}_{i}\left(s\right)\) is only applied for analysis purposes). In (Tee et al. 2009), the authors employed a filtered version of adaptive fuzzy law. It seems that applying these filtered adaptive fuzzy laws can make the control system design very difficult, while the Lumped uncertainties \({w}_{i}\) and \({\omega }_{i}\) can be compensated by the bounded robust \({H}_{\infty }\)-like (57).

Theorem

Consider the uncertain nonlinear system—in the form of (1), then using the proposed controller (39), the robust control term (57), and the OBLF-AFLs (55) and (56), the tracking error of the closed-loop system will be uniformly ultimately bounded.

Proof

Consider the Lyapunov function.

$${V}_{i}=\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\widetilde{\mathbf{E}}}_{si}+\frac{1}{2}\mathrm{log}\frac{{k}_{i}^{2}}{{k}_{i}^{2}-{\widetilde{e}}_{si}^{2}}+\frac{1}{2{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\widetilde{{\varvec{\uptheta}}}}_{i}+\frac{1}{2{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\widetilde{{\varvec{\uptheta}}}}_{ij}$$
(59)

The derivative of \({V}_{i}\) is obtained as

$$\dot{{V}_{i}}=\frac{1}{2}\left\{{\dot{\hat{\mathbf{E}}}}_{i}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{P}}_{oi}{\dot{\hat{\mathbf{E}}}}_{i}\right\}+\frac{1}{2}\left\{{\dot{\widetilde{\mathbf{E}}}}_{si}^{T}{\mathbf{P}}_{i}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\dot{\widetilde{\mathbf{E}}}}_{si}\right\}+{k}_{i}^{2}\frac{{\widetilde{e}}_{1i}{\dot{\widetilde{e}}}_{1i}}{{k}_{i}^{2}-{\widetilde{e}}_{si}^{2}}+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}+\frac{1}{{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}$$
(60)

By substituting the tracking errors (41) and (49) into (60), and after some simple manipulations, we have

$$\dot{{V}_{i}}=\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}\left\{{\mathbf{A}}_{oi}{\mathbf{P}}_{oi}+{\mathbf{P}}_{oi}{\mathbf{A}}_{oi}\right\}{\hat{\mathbf{E}}}_{i}+{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{C}}_{i}{\mathbf{K}}_{ci}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}\left\{{\mathbf{A}}_{si}{\mathbf{P}}_{i}+{\mathbf{P}}_{i}{\mathbf{A}}_{si}\right\}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\mathbf{B}}_{si}\{{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}+{\omega }_{i}-{u}_{ri}\}+{k}_{i}^{2}\frac{{\widetilde{e}}_{si}{\dot{\widetilde{e}}}_{si}}{{k}_{i}^{2}-{\widetilde{e}}_{si}^{2}}+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}+\frac{1}{{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}$$
(61)

Utilizing (11), (44), and the error dynamics (51), the latter results

$$ \begin{aligned} \dot{V}_{i} = & - \frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T} {\mathbf{Q}}_{oi} {\hat{\mathbf{E}}}_{i} - \frac{1}{2}{\tilde{\mathbf{E}}}_{si}^{T} {\mathbf{Q}}_{i} {\tilde{\mathbf{E}}}_{si} + {\tilde{\mathbf{E}}}_{si}^{T} {\mathbf{C}}_{i} {\mathbf{K}}_{ci}^{T} {\mathbf{P}}_{oi} {\hat{\mathbf{E}}}_{i} + {\tilde{\mathbf{E}}}_{si}^{T} {\mathbf{P}}_{i} {\mathbf{B}}_{si} \{ {\tilde{\varvec{\theta }}}_{i}^{T} {{\varvec{\upxi}}}_{i} + {\tilde{\varvec{\theta }}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} u_{j} + \omega_{i} - u_{ri} \} \\ & + \frac{{\tilde{e}_{si} }}{{k_{i}^{2} - \tilde{e}_{si}^{2} }}\left( {{\tilde{\varvec{\theta }}}_{i}^{T} {{\varvec{\upxi}}}_{i} + {\tilde{\varvec{\theta }}}_{ij}^{T} {{\varvec{\upxi}}}_{ij} u_{j} + w_{i} - u_{ri} } \right) + \frac{1}{{\gamma_{i} }}{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\dot{\tilde{\theta }}}}_{i} + \frac{1}{{\gamma_{ij} }}{\tilde{\varvec{\theta }}}_{ij}^{T} {\dot{\tilde{\varvec{\theta }}}}_{ij} \\ \end{aligned} $$
(62)

Based on the vector \({\mathbf{B}}_{si}\) in filter \({L}_{i}(s)\) (Ghavidel and Kalat 2017b, 2018; Ghavidel 2018), define that \({\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\mathbf{B}}_{si}={\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{C}}_{i}={\widetilde{e}}_{si}\); now after some manipulations we have

$${\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{C}}_{i}{\mathbf{K}}_{ci}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\mathbf{B}}_{si}\left\{{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}+{\omega }_{i}-{u}_{ri}\right\}={\widetilde{e}}_{si}\left({\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}+{\omega }_{i}-{u}_{ri}\right)$$
(63)

where \({{\varvec{K}}}_{\mathrm{ci}}^{T}{{\varvec{P}}}_{\mathrm{oi}}{\hat{{\varvec{E}}}}_{i}\) can be a part of the uncertainty \({\omega }_{i}\). Then, (63) can be rewritten as

$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{e}}_{si}\left({\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}+{\omega }_{i}-{u}_{ri}\right)+{z}_{i}\left({\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}+{w}_{i}-{u}_{ri}\right)+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}+\frac{1}{{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}$$
(64)
$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+\left({z}_{i}+{\widetilde{e}}_{si}\right)\left({\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{{\varvec{\upxi}}}_{i}+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{{\varvec{\upxi}}}_{ij}{u}_{j}\right)+{\widetilde{e}}_{si}\left({\omega }_{i}-{u}_{ri}\right)+{z}_{i}\left({w}_{i}-{u}_{ri}\right)+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}+\frac{1}{{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}$$
(65)

By the fact \({\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}={\dot{{\varvec{\uptheta}}}}_{i}\) and \({\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}={\dot{{\varvec{\uptheta}}}}_{ij}\), the adaptive laws (55) and (56) we have

$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}\left(\left({z}_{i}+{\widetilde{e}}_{si}\right){{\varvec{\upxi}}}_{i}+\frac{1}{{\gamma }_{i}}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}\right)+{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}\left(\left({z}_{i}+{\widetilde{e}}_{si}\right){u}_{j}{{\varvec{\upxi}}}_{ij}+\frac{1}{{\gamma }_{ij}}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{ij}\right)+{\widetilde{e}}_{si}\left({\omega }_{i}-{u}_{ri}\right)+{z}_{i}\left({w}_{i}-{u}_{ri}\right)$$
(66)
$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{e}}_{si}\left({\omega }_{i}-{u}_{ri}\right)+{z}_{i}\left({w}_{i}-{u}_{ri}\right)$$
(67)

By the robust term \({u}_{ri}\), for out of the areas \(|{z}_{i}|<{\overline{w} }_{i}\) and \(|{\widetilde{e}}_{si}|<{\overline{\omega }}_{i}\), we have

$$ \begin{aligned} \mathop {V_{i} }\limits^{.} = & - \frac{1}{2}\hat{{\mathbf{E}}}_{i}^{T} {\mathbf{Q}}_{{oi}} \hat{{\mathbf{E}}}_{i} - \frac{1}{2}{\mathbf{E}}_{{si}}^{T} {\mathbf{Q}}_{i} {\mathbf{E}}_{{si}} + \left( {\omega _{i} e_{{si}} - \bar{\omega }_{i} |e_{{si}} |} \right) \\ & + \left( {w_{i} z_{i} - \bar{w}_{i} |z_{i} |} \right) \\ \end{aligned} $$
(68)
$$\dot{{V}_{i}}\le -\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+\left(\left|{\omega }_{i}\right||{\widetilde{e}}_{si}|-{\overline{\omega }}_{i}|{\widetilde{e}}_{si}|\right)+\left(\left|{w}_{i}\right||{z}_{i}|-{\overline{w} }_{i}|{z}_{i}|\right)$$
(69)
$$\dot{{V}_{i}}\le -\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}$$
(70)

Since \(\left|{\omega }_{i}\right||{\widetilde{e}}_{si}|\le {\overline{\omega }}_{i}|{\widetilde{e}}_{si}|\), and \(\left|{w}_{i}\right||{z}_{i}|\le {\overline{w} }_{i}|{z}_{i}|\). For the areas \(|{z}_{i}|<{\overline{w} }_{i}\) and \(|{\widetilde{e}}_{si}|<{\overline{\omega }}_{i}\), we have

$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}-\frac{{\widetilde{e}}_{si}{z}_{i}}{{\lambda }_{i}^{2}}+\left({\widetilde{e}}_{si}{\omega }_{i}-\frac{{\widetilde{e}}_{si}^{2}}{2{\lambda }_{i}^{2}}\right)+\left({z}_{i}{w}_{i}-\frac{{z}_{i}^{2}}{2{\lambda }_{i}^{2}}\right)$$
(71)

Note that

$$ \left\{ {\begin{array}{*{20}l} {z_{i} w_{i} - \frac{1}{{2\lambda _{i}^{2} }}z_{i}^{2} = - \frac{1}{2}\left( {\frac{1}{{\lambda _{i} }}z_{i} - \lambda _{i} w_{i} } \right)^{2} + \frac{1}{2}\lambda _{i}^{2} w_{i}^{2} } \hfill \\ {\tilde{e}_{{si}} \omega _{i} - \frac{1}{{2\lambda _{i}^{2} }}\tilde{e}_{{si}}^{2} = - \frac{1}{2}\left( {\frac{1}{{\lambda _{i} }}\tilde{e}_{{si}} - \lambda _{i} \omega _{i} } \right)^{2} + \frac{1}{2}\lambda _{i}^{2} \omega _{i}^{2} } \hfill \\ \end{array} } \right. $$
(72)

Therefore, the previous relation becomes

$$\dot{{V}_{i}}\le -\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}-\frac{1}{{\lambda }_{i}^{2}}{\widetilde{e}}_{si}{z}_{i}+\frac{1}{2}{\lambda }_{i}^{2}{w}_{i}^{2}+\frac{1}{2}{\lambda }_{i}^{2}{\omega }_{i}^{2}$$
(73)

Since \(-{\left(\frac{1}{{\lambda }_{i}}{z}_{i}-{\lambda }_{i}{w}_{i}\right)}^{2}\le 0\) and \(-\frac{1}{2}{\left(\frac{1}{{\lambda }_{i}}{\widetilde{e}}_{si}-{\lambda }_{i}{\omega }_{i}\right)}^{2}\le 0\). Also, based on (Ren et al. 2010),\(-{\widetilde{e}}_{si}{z}_{i}<0\)

$$ 0 \le \log \frac{{k_{i}^{2} }}{{k_{i}^{2} - \tilde{e}_{si}^{2} }} < \frac{{\tilde{e}_{si}^{2} }}{{k_{i}^{2} - \tilde{e}_{si}^{2} }} = \tilde{e}_{si} z_{i} $$
(74)

Thus, from (74) we have \(-\frac{1}{{\lambda }_{i}^{2}}{\widetilde{e}}_{si}{z}_{i}<0\). Finally, (73) can be written as

$$ \dot{V}_{i} \le - \frac{1}{2}{\mathbb{E}}_{i}^{T} {\mathbb{Q}}_{i} {\mathbb{E}}_{i} + \frac{1}{2}\lambda_{i}^{2} \left( {w_{i}^{2} + \omega_{i}^{2} } \right) $$
(75)

where \({\mathbb{E}}_{i}={\left[{\hat{\mathbf{E}}}_{i}, {\widetilde{\mathbf{E}}}_{si}\right]}^{T}\)and \({\mathbb{Q}}_{i}=diag\left[{\mathbf{Q}}_{oi},{\mathbf{Q}}_{i}\right]\). Also, \({\mathbf{Q}}_{oi}\) and \({\mathbf{Q}}_{i} \)are positive definite matrices. Therefore, the \({H}_{\infty }\)-like tracking performance can be achieved, and also for \({\lambda }_{i}\) sufficiently small, Eq. (75) will be true and the bounded \({H}_{\infty }\)-like tracking criterion will hold. Then, the integration of \(\dot{{V}_{i}}\) from 0 to \(\mathrm{T}\) gives

$${\int }_{0}^{\mathrm{T}}\dot{{V}_{i}}\left(t\right)\le -\frac{1}{2}{\int }_{0}^{\mathrm{T}}{\Vert {\mathbb{E}}_{i}\Vert }_{{\mathbb{Q}}_{i}}^{2}dt+\frac{1}{2}{\lambda }_{i}^{2}{\int }_{0}^{\mathrm{T}}\left({\Vert {w}_{i}\Vert }^{2}+{\Vert {\omega }_{i}\Vert }^{2}\right) dt,$$
$$2{V}_{i}\left(\mathrm{T}\right)+{\int }_{0}^{\mathrm{T}}{\Vert {\mathbb{E}}_{i}\Vert }_{{\mathbb{Q}}_{i}}^{2}dt\le 2{V}_{i}\left(0\right)+{\lambda }_{i}^{2}{\int }_{0}^{\mathrm{T}}\left({\Vert {w}_{i}\Vert }^{2}+{\Vert {\omega }_{i}\Vert }^{2}\right)dt.$$
$$ \int\limits_{0}^{{\text{T}}} {{\mathbb{E}}_{{i{\mathbb{Q}}_{i} }}^{2} {\text{d}}t \le 2V_{i} \left( 0 \right) + \frac{1}{2}\lambda_{i}^{2} M_{wi } } $$
(76)

It is assumed that there exists a positive constant \({\mathrm{M}}_{i}>0\) such that \({\int }_{0}^{\infty }\left({\Vert {w}_{i}\Vert }^{2}+{\Vert {\omega }_{i}\Vert }^{2}\right)dt\le {\mathrm{M}}_{i}\); then for the integral \({\int }_{0}^{\mathrm{T}}{\Vert {\mathbb{E}}_{i}\Vert }_{{\mathbb{Q}}_{i}}^{2}dt\) one gets \({\int }_{0}^{\infty }{\Vert {\mathbb{E}}_{i}\Vert }_{{\mathbb{Q}}_{i}}^{2}dt\le 2{V}_{i}\left(0\right)+{\lambda }_{i}^{2}{\mathrm{M}}_{i}\). Thus, the integral \({\int }_{0}^{\mathrm{T}}{\Vert {\mathbb{E}}_{i}\Vert }_{{\mathbb{Q}}_{i}}^{2}dt\) is bounded and according to Barbalat’s Lemma; we have

$$ \mathop {\lim }\limits_{t \to \infty } {\mathbb{E}}_{i} = 0 \Rightarrow \left\{ {\begin{array}{*{20}c} {\mathop {\lim }\limits_{t \to \infty } \hat{\mathbf{E}}_{i} = 0 } \\ {\mathop {\lim }\limits_{t \to \infty } \hat{\mathbf{E}}_{si} = 0} \\ \end{array} } \right. \Rightarrow \mathop {\lim }\limits_{t \to \infty } {\varvec{E}}_{i} = 0 \Rightarrow \mathop {\lim }\limits_{t \to \infty } {\varvec{E}} = 0 $$
(77)

Remark 3

From (73)-(75), and by term \(-\frac{1}{{\lambda }_{i}^{2}}{\widetilde{e}}_{si}{z}_{i}<0\), we can see that the proposed OBLF approach makes the decreasing of the time derivative of the Lyapunov function, because \(\frac{1}{{\lambda }_{i}^{2}}\) is a large constant. Therefore, we showed that the proposed scheme can improve \(\dot{{V}_{i}}(t)\)

$$\dot{{V}_{i}}\le -\left\{\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}+\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+\frac{1}{{\lambda }_{i}^{2}}{\widetilde{e}}_{si}{z}_{i}\right\}+\frac{1}{2}{\lambda }_{i}^{2}\left({w}_{i}^{2}+{\omega }_{i}^{2}\right)$$
(78)

Remark 4

If \({z}_{i}=0\), we have a control approach without OBLF-AFL. Therefore, the robust controller with Observer-Adaptive Fuzzy Law (O-AFL).

$$ u_{ri} = \frac{1}{{2\lambda_{i}^{2} }}\tilde{e}_{si} $$
(79)
$$ {\dot{\varvec{\theta }}}_{i} = - \gamma_{i} \tilde{e}_{si} {{\varvec{\upxi}}}_{i} $$
(80)
$$ {\dot{\varvec{\theta }}}_{ij} = - \gamma_{ij} \tilde{e}_{si} u_{j} {{\varvec{\upxi}}}_{ij} $$
(81)

The stability of the controller with O-AFL is almost similar to the suggested OBLF-AFL method. Consider the Lyapunov function

$${V}_{i}=\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\widetilde{\mathbf{E}}}_{si}+\frac{1}{2{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\widetilde{{\varvec{\uptheta}}}}_{i}+\frac{1}{2{\gamma }_{ij}}{\widetilde{{\varvec{\uptheta}}}}_{ij}^{T}{\widetilde{{\varvec{\uptheta}}}}_{ij}$$
(82)

The derivative of \({V}_{i}\) is as follows

$$ \dot{V}_{i} = - \frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T} {\mathbf{Q}}_{{oi}} {\hat{\mathbf{E}}}_{i} - \frac{1}{2}{\tilde{\mathbf{E}}}_{{si}}^{T} {\mathbf{Q}}_{i} {\tilde{\mathbf{E}}}_{{si}} + \tilde{e}_{{si}} \left( {{\tilde{\varvec{\theta }}}_{i}^{T} {\mathbf{\xi }}_{i} + {\tilde{\varvec{\theta }}}_{{ij}}^{T} {\mathbf{\xi }}_{{ij}} u_{j} + \omega _{i} - u_{{ri}} } \right) + \frac{1}{{\gamma _{i} }}{\tilde{\varvec{\theta }}}_{i}^{T} {\dot{\tilde{\varvec{\theta }}}}_{i} + \frac{1}{{\gamma _{{ij}} }}{\tilde{\varvec{\theta }}}_{{ij}}^{T} {\dot{\tilde{\varvec{\theta }}}}_{{ij}} $$
(83)

Similar to the proof of the OBLF-AFL method, it is simple to see that the derivative of \({V}_{i}\) is obtained as

$$ \dot{V}_{i} \le - \frac{1}{2}{\mathbb{E}}_{i}^{T} {\mathbb{Q}}_{i} {\mathbb{E}}_{i} + \frac{1}{2}\lambda_{i}^{2} \omega_{i}^{2} $$
(84)

4.4 The control approach for semi-known affine and non-affine systems

If we assume that \({f}_{i}\left({\varvec{X}}\right)={f}_{oi}\left({\varvec{X}}\right)+\Delta {f}_{i}\) and \({g}_{ij}\left({\varvec{X}}\right)={g}_{oij}\left({\varvec{X}}\right)+\Delta {g}_{ij}\), where \({f}_{oi}\) and \({g}_{oij}\) are well known, and \(\Delta {f}_{i}\) and \(\Delta {g}_{ij}\) are unknown functions, one useful method is rewriting the affine system (4) as

$$ \left\{ {\begin{array}{*{20}c} {x_{i}^{{\left( {n_{i} } \right)}} = \left\{ {f_{{oi}} \left( {\mathbf{X}} \right) + \Delta f_{i} } \right\} + \sum\limits_{{j = 1}}^{m} {\left\{ {g_{{oij}} \left( {\mathbf{X}} \right) + \Delta g_{{ij}} } \right\}} u_{j} + d_{i} \left( t \right)} \\ {y_{i} = x_{i} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right. $$
(85)
$$ \left\{ {\begin{array}{*{20}c} {x_{i}^{{\left( {n_{i} } \right)}} = f_{{oi}} \left( {\mathbf{X}} \right) + \sum\limits_{{j = 1}}^{m} {g_{{oij}} } \left( {\mathbf{X}} \right)u_{j} + \Psi _{i} + d_{i} \left( t \right)} \\ {y_{i} = x_{i} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right. $$
(86)

where \({\Psi }_{i}=\Delta {f}_{i}+\sum_{j=1}^{m}\Delta {\mathrm{g}}_{ij}{u}_{j}\). The new proposed controller can be as

$${\mathbf{U}}_{\mathbf{o}}={\mathbf{G}}_{\mathbf{o}}^{\mathbf{r}\#}\left(-{\mathbf{F}}_{\mathbf{o}}+\hat{{\varvec{\upbeta}}}-\hat{{\varvec{\Psi}}}-{\mathbf{u}}_{\mathbf{r}}\right)$$
(87)

where

$${{{\varvec{F}}}_{\mathbf{o}}=\left[{f}_{o1}\left({\varvec{X}}\right),\dots ,{f}_{or}\left({\varvec{X}}\right)\right]}^{T}$$
$${{\varvec{G}}}_{\mathbf{o}}=\left[{g}_{ij}\right]\epsilon {\mathcal{R}}^{r\times m}$$
$${\hat{{\varvec{\Psi}}}=[{\hat{\Psi }}_{o1},\dots ,{\hat{\Psi }}_{or}]}^{T}$$

Now, we can apply the proposed adaptive fuzzy estimation \({\hat{\Psi }}_{i}={{\varvec{\uptheta}}}_{i}^{T}{{\varvec{\upxi}}}_{i}\left(\hat{\Xi }\right)\) for uncertainties \({\Psi }_{i}\), by adaptive laws (55) and (80); OBLF-AFL: \({\dot{{\varvec{\uptheta}}}}_{i}=-{\gamma }_{i}\left({z}_{i}+{\widetilde{e}}_{si}\right){{\varvec{\upxi}}}_{i}\), and O-AFL: \({\dot{{\varvec{\uptheta}}}}_{i}=-{\gamma }_{i}{\widetilde{e}}_{si}{{\varvec{\upxi}}}_{i}\). The stability of the controller (84) is similar to the previous schemes. Consider the Lyapunov function

$${V}_{i}=\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{P}}_{oi}{\hat{\mathbf{E}}}_{i}+\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{P}}_{i}{\widetilde{\mathbf{E}}}_{si}+\frac{1}{2{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\widetilde{{\varvec{\uptheta}}}}_{i}$$
(88)

The derivative of \({V}_{i}\) for OBLF-AFL and O-AFL methods is as follows, respectively,

$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+\left({z}_{i}+{\widetilde{e}}_{si}\right)\left({{\varvec{\uptheta}}}_{i}^{T}{{\varvec{\upxi}}}_{i}\right)+{\widetilde{e}}_{si}\left({\omega }_{i}-{u}_{ri}\right)+{z}_{i}\left({w}_{i}-{u}_{ri}\right)+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}$$
(89)
$$\dot{{V}_{i}}=-\frac{1}{2}{\hat{\mathbf{E}}}_{i}^{T}{\mathbf{Q}}_{oi}{\hat{\mathbf{E}}}_{i}-\frac{1}{2}{\widetilde{\mathbf{E}}}_{si}^{T}{\mathbf{Q}}_{i}{\widetilde{\mathbf{E}}}_{si}+{\widetilde{e}}_{si}\left({{\varvec{\uptheta}}}_{i}^{T}{{\varvec{\upxi}}}_{i}\right)+{\widetilde{e}}_{si}\left({\omega }_{i}-{u}_{ri}\right)+\frac{1}{{\gamma }_{i}}{\widetilde{{\varvec{\uptheta}}}}_{i}^{T}{\dot{\widetilde{{\varvec{\uptheta}}}}}_{i}$$
(90)

It is simple to see that the derivative of \({V}_{i}\) is obtained as \(\dot{{V}_{i}}\le -\frac{1}{2}{\mathbb{E}}_{i}^{T}{\mathbb{Q}}_{i}{\mathbb{E}}_{i}+\frac{1}{2}{\lambda }_{i}^{2}{\omega }_{i}^{2}\).

5 Simulation example

For highlighting the usefulness of the proposed control method with input saturation, it is applied and simulated under different levels of disturbance. In Example 1, the proposed control is simulated for a SISO non-affine system. In Example 2, the proposed control is applied to a SISO compressor system. In Example 3, the proposed control is simulated for a MIMO non-affine system with square control gain. Furthermore, to apply the control method of Sect. 4.5, in Example 4 and 5 we use a semi-known 6-DoF underwater vehicle and a Hybrid Energy Storage System (HESS). Results illustrate the tracking performance for two cases: 1) the control approach with OBLF-AFL and 2) the control approach with O-AFL.

The constraint parameters\({\overline{m}}_{i}\),\({\overline{m}}_{ij}\), \({\underline{m}}_{i}\) and \({\underline{m}}_{ij}\) are deliberately chosen to be large enough (Ghavidel and Kalat 2017a, 2018). For all examples in this paper, we have three fuzzy membership functions \({\mu }_{l}\left(\hat{\Xi }\right)\) which are assumed in the form of \({\mu }_{l}\left(\hat{\Xi }\right)=\mathrm{exp}\left[-{\left((\hat{\Xi }+{c}_{l})/{\sigma }_{l}\right)}^{2}\right]\) where rule \(l\) denotes the \(l\) th fuzzy rule for\(l=\mathrm{1,2},3\), where \({c}_{l}=\{-1, 0 ,1\}\) is the center of,\({\mu }_{l}=\{{\mu }_{1},{\mu }_{2},{\mu }_{3}\}\), respectively. Also, \({\sigma }_{l}=0.3\) is an arbitrary constant value. Moreover, \({{\varvec{\upxi}}}_{i}={{\varvec{\upxi}}}_{ij}={\left[{\xi }_{1},{\xi }_{2},{\xi }_{3}\right]}^{T}\) and \({\xi }_{l}\) is a positive value expressed as (31). The disturbance is\({d}_{i}=\left\{0.5\mathrm{ sin} \left(\pi t\right)\times u\left(t\right)\right\}+\{5 \mathrm{sin} \left(2\pi t\right)\times u\left(t-10\right)\}\), where \(u\left(.\right)\) is a unit step function. The control design parameters for Examples 1–5 are given in Table 1.

Table 1 Control design parameters for Examples 1–5

Example 1

Model features:

  • SISO

  • Non-affine

  • Linear input–output

  • Unknown model

The dynamic equation of a SISO non-affine system is as follows (Tee et al. 2009)

$$ \left\{ {\begin{array}{*{20}c} {\dot{x}_{1} = x_{2} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ {\dot{x}_{2} = - x_{1} + 2x_{2} - 2x_{1}^{2} x_{2} + \frac{{u_{1} }}{{\sqrt {\left| {u_{1} } \right| + 0.1} }}\quad \quad \quad } \\ {y_{1} = x_{1} \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad } \\ \end{array} } \right. + d_{1} $$
(91)

The initial conditions of fuzzy parameters are chosen randomly in the intervals \({{\varvec{\uptheta}}}_{1}\left(0\right)=[-0.5, 0.5]\) and \({\varvec{\theta}}_{11} \left( 0 \right) = \left[ {2,3} \right]\). Also, the control input is limited between − 50 and + 50, \({{\varvec{A}}}_{o1}=[0 \mathrm{0,1} 0]\), \({{\varvec{K}}}_{c1}={\left[{k}_{c11},{k}_{c21}\right]}^{T}\) and \({{\varvec{C}}}_{1}={\left[\mathrm{1,0}\right]}^{T}\) (note that \(i=1\)). Moreover, the desired value is \({x}_{d1}=\mathrm{sin}(\pi /5).\)

The tracking trajectory \({x}_{1}\) for SISO non-affine system (\(i,j=1\)) is shown in Fig. 4. The tracking performance of the proposed controller with OBLF-AFL is proper; therefore, it can be seen that the proposed technique can guarantee system performance among uncertainties, and for this task, it reduces the amount of chattering. Furthermore, Fig. 5 shows the estimation errors \({\hat{e}}_{1}\) and \({\hat{\dot{e}}}_{1}\). Figure 6 illustrates the control inputs \({u}_{1}\) with input saturation \(\pm 50\). The results of the study obviously show that the proposed approach can achieve suitable performance.

Fig. 4
figure 4

Tracking trajectories: \({x}_{d1}\) (dotted line), \({x}_{1}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 1

Fig. 5
figure 5

Tracking trajectories \({\hat{e}}_{1}\) and \({\hat{e}}_{2}\): by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 1

Fig. 6
figure 6

Control input \({u}_{1}\) by OBLF-AFL (solid line) and by O-AFL (dashed line), for Example 1

Example 2

Model features:

  • SISO

  • Affine

  • Nonlinear input–output

  • Unknown model

Consider a compressor motor of a fuel cell system. The dynamic equation of the compressor system is as follows (Ulrich et al. 2012)

$$ \left\{ {\begin{array}{*{20}c} {\dot{\Omega } = J^{ - 1} \left( {k_{t} I - k_{f} \Omega - Q} \right) + d_{1} } \\ {\dot{I} = L^{ - 1} \left( { - RI - k_{e} \Omega + V} \right) + d_{2} } \\ {\dot{P} = v_{m}^{ - 1} \left( {c_{w} \Omega - k_{h}^{ - 1} P} \right) + d_{3} } \\ \end{array} } \right. $$
(92)

where \(V\), \(I\), \(L\), \(R\), \(\Omega \), P, and \(Q={c}_{p}P\) are the voltage input, the current input, inductance, resistance, the propeller rotational velocity, piston pressure, and shaft torque, respectively. Also \({k}_{t}\), \({k}_{f}\), \({k}_{e}\), \(J\), \({c}_{w}\), \({v}_{w}\), and \({k}_{h}\) are the motor constants. Therefore, non-affine models (85) can be proposed as

$$ \left\{ {\begin{array}{*{20}c} {\dot{x}_{1} = \dot{\Omega } } \\ {\ddot{x}_{1} = \ddot{\Omega } = f_{1} + {\text{g}}_{11} u_{1} + d\left( t \right)\quad \quad } \\ \end{array} } \right. $$
(93)

where

\({f}_{1}={b}_{1}\Omega +{b}_{2}\dot{\Omega }+{b}_{3}P\),\({\mathrm{g}}_{11}={b}_{4}\), and \({u}_{1}=V\)

The model parameters are follows:

\(b_{1} = - \frac{{R + k_{e} k_{t} + c_{p} v_{m}^{ - 1} c_{w} L}}{L}\), \(b_{2} = - \frac{{k_{f} + RJ}}{L}\), \(b_{3} = \frac{{Rc_{p} + c_{p} v_{m}^{ - 1} k_{h}^{ - 1} L}}{L}\), \(b_{4} = \frac{{k_{t} }}{L}\),

The initial conditions of fuzzy parameters are chosen randomly in the intervals \({{\varvec{\uptheta}}}_{1}\left(0\right)=[-1, 1]\) and \( {{\varvec{\uptheta}}}_{11}\left(0\right)=[1, 3]\). Also, the control input is limited between -8 and +8, \({\mathbf{A}}_{o1}=[0 \mathrm{0,1} 0]\), \({\mathbf{K}}_{c1}={\left[{k}_{c11},{k}_{c21}\right]}^{T}\) and \({\mathbf{C}}_{1}={\left[\mathrm{1,0}\right]}^{T}\). Moreover, the desired value is \({x}_{d1}=5 \mathrm{sin}(\pi /5).\)

The tracking trajectory \({y}_{1}\) for SISO non-affine system (\(i,j=1\)) is shown in Fig. 7. The tracking performance of the proposed controller with OBLF-AFL is proper; therefore, it can be seen that the suggested control design can guarantee system performance among uncertainties, and for this task, it reduces the amount of chattering. Moreover, Fig. 8 shows the estimation errors \({\hat{e}}_{1}\) and \({\hat{\dot{e}}}_{1}\). Figure 9 illustrates the control inputs \({u}_{1}\) with input saturation \(\pm 8\). The results of the study clearly demonstrate that the proposed method can achieve suitable performance.

Fig. 7
figure 7

Tracking trajectories: \({x}_{d1}\) (dotted line), \({x}_{1}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 2

Fig. 8
figure 8

Tracking trajectories \({\hat{e}}_{1}\) and \({\hat{\dot{e}}}_{1}\): by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 2

Fig. 9
figure 9

Control input \({u}_{1}\) by OBLF-AFL (solid line) and by O-AFL (dashed line), for Example 2

Example 3

Model features:

  • MIMO

  • Non-affine

  • Nonlinear input–output

  • Square control gain

  • Unknown model

Consider the following academic MIMO non-affine nonlinear system as

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{11} = x_{21} } \hfill \\ {\dot{x}_{21} = x_{11}^{2} + 1.5x_{21}^{2} + 1.5u_{1}^{3} + \left( {3 - \sin \left( {x_{11} } \right)} \right)u_{1} - u_{2} + d_{1} } \hfill \\ {\dot{x}_{31} = x_{11} - 0.8x_{31} } \hfill \\ {\dot{x}_{12} = x_{22} } \hfill \\ {\dot{x}_{22} = x_{22}^{2} + x_{11} + x_{21}^{2} - 0.2u_{1} + \left( {1 + x_{12}^{2} } \right)u_{2}^{3} + \left( {2 + \cos \left( {x_{12} } \right)} \right)u_{2} + d_{2} } \hfill \\ {\dot{x}_{32} = x_{12} - 2x_{32} } \hfill \\ {y_{1} = x_{11} , y_{2} = x_{12} } \hfill \\ \end{array} } \right. $$
(94)

Based on (Ghavidel 2018; Ghavidel and Kalat 2018), the system with output \(y\) has a relative degree of 2 (\(r = 2\)) for each subsystem. The zero dynamics of system are \({\dot{x}}_{31}={x}_{11}-0.8{x}_{31}\) and \({\dot{x}}_{32}={x}_{12}-2{x}_{32}\). This means that system is stable. Thus, it can be modeled as a second-order plant. The realization process includes four states (\({x}_{11}\), \({x}_{21}\), \({x}_{12}\) and \({x}_{22}\)), and the outputs are modeled as \({y}_{1}={x}_{11}\) and \({y}_{2}={x}_{12}\) (states \({x}_{31}\) and \({x}_{32}\) neglected). Therefore, we can show the system without unmodeled dynamic as

$$ \left\{ {\begin{array}{*{20}l} {\dot{x}_{11} = x_{21} } \hfill \\ {\dot{x}_{21} = x_{11}^{2} + 1.5x_{21}^{2} + 1.5u_{1}^{3} + \left( {3 - \sin \left( {x_{11} } \right)} \right)u_{1} - u_{2} + d_{1} } \hfill \\ {\dot{x}_{12} = x_{22} } \hfill \\ {\dot{x}_{22} = x_{22}^{2} + x_{11} + x_{21}^{2} - 0.2u_{1} + \left( {1 + x_{12}^{2} } \right)u_{2}^{3} + \left( {2 + \cos \left( {x_{12} } \right)} \right)u_{2} + d_{2} } \hfill \\ {y_{1} = x_{11} , y_{2} = x_{12} } \hfill \\ \end{array} } \right. $$
(95)

We can easily check that \(\partial {F}_{i}\left(\mathbf{X},\mathbf{U}\right)/\partial \mathbf{U}>0\). The initial conditions of fuzzy parameters are chosen randomly in the intervals \({{\varvec{\uptheta}}}_{11}\left(0\right)={{\varvec{\uptheta}}}_{22}\left(0\right)=[-0.5, 0.5]\), \( {{\varvec{\uptheta}}}_{11}\left(0\right)={{\varvec{\uptheta}}}_{22}\left(0\right)=[5, 8]\) and \({{\varvec{\uptheta}}}_{12}\left(0\right)={{\varvec{\uptheta}}}_{21}\left(0\right)=[0.5, 1]\). Also, the control input is limited between − 3 and + 3, \({\mathbf{A}}_{o1}={\mathbf{A}}_{o2}=[0 \mathrm{0,1} 0]\), \({\mathbf{K}}_{c1}={\left[{k}_{c11},\dots ,{k}_{c21}\right]}^{T}\), \({\mathbf{K}}_{c2}={\left[{k}_{c12},\dots ,{k}_{c22}\right]}^{T}\)and \({\mathbf{C}}_{1}={\mathbf{C}}_{2}={\left[\mathrm{1,0}\right]}^{T}\). Moreover, desired values are \({x}_{d1}=\mathrm{sin}(\pi /5) \)and \({x}_{d2}=-\mathrm{sin}(\pi /5)\).

The tracking trajectories \({x}_{i}\) for the MIMO non-affine system (\(i=\mathrm{1,2}\)) are shown in Figs. 10 and 11. Moreover, Figs. 12 and 13 show the trajectories of estimate errors \({\hat{e}}_{i}\) and \({\dot{\hat{e}}}_{i}\). Figures 14 and 15 illustrate the control inputs \({u}_{j}\) with input saturation \(\pm 3\). The results of the study clearly exhibit that the suggested method can achieve proper performance.

Fig. 10
figure 10

Tracking trajectories: \({x}_{d1}\) (dotted line), \({x}_{1}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 3

Fig. 11
figure 11

Tracking trajectories: \({x}_{d2}\) (dotted line), \({x}_{2}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 3

Fig. 12
figure 12

Tracking trajectories \({\hat{e}}_{1}\) and \({\dot{\hat{e}}}_{1}\): by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 3

Fig. 13
figure 13

Tracking trajectories \({\hat{e}}_{2}\) and \({\dot{\hat{e}}}_{2}\): by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 3

Fig. 14
figure 14

Control inputs: \({u}_{1}\) (solid line) and \({u}_{2}\) (dashed line), by OBLF-AFL, for Example 3

Fig. 15
figure 15

Control inputs: \({u}_{1}\) (solid line) and \({u}_{2}\) (dashed line), by O-AFL, for Example 3

Example 4

Model features:

  • MIMO

  • Affine

  • Linear input–output

  • Non-square control gain

  • Semi-known model

To show the usefulness and effectiveness of the proposed method, a physical example is employed. Details on the matrices operated for a model of a 6-DoF underwater vehicle with 8 thrusters can be as (Ghavidel and Kalat 2017a)

$$\ddot{\mathbf{x}}=\mathbf{F}+\mathbf{G}\mathbf{U}+\mathbf{D}\left(t\right)$$
(96)

where \(\mathbf{F}={\left[{f}_{1},\dots ,{f}_{6}\right]}^{T}\epsilon {\mathfrak{R}}^{6 }\), \(\mathbf{G}=\left[{\mathrm{g}}_{ij}\right] \epsilon {\mathfrak{R}}^{6\times 8 }\), \(\mathbf{D}\)=\({\left[{d}_{1},\dots ,{d}_{6}\right]}^{T}\epsilon {\mathfrak{R}}^{6 }\), \(\mathbf{U}\)=\({\left[{u}_{1},\dots ,{u}_{6}\right]}^{T}\epsilon {\mathfrak{R}}^{6 }\).

Based on section 5.4, we assume that the system is semi-known. The initial conditions of fuzzy parameters are chosen randomly in the intervals \({{\varvec{\uptheta}}}_{i}\left(0\right)=[-1, 1]\). Also, the control input is limited between − 20 and +20, \({\mathbf{A}}_{oi}=[0 \mathrm{0,1} 0]\), \({\mathbf{K}}_{ci}={\left[{k}_{c1i},{k}_{c2i}\right]}^{T}\), and \({\mathbf{C}}_{i}={\left[\mathrm{1,0}\right]}^{T}\). Moreover, desired values are \({x}_{di}=\left\{\mathrm{2,3},4,\frac{\pi }{3},\frac{\pi }{4},\frac{2\pi }{5}\right\}.\)

The tracking trajectories for the 6-DoF underwater vehicle are shown in Fig. 16. The tracking performances of the suggested OBLF-AFL are also proper. So, it can be seen that the proposed controller can guarantee system performance. We can see that the tracking errors are uniformly ultimately bounded and converge to a small region near zero. Moreover, Fig. 17 illustrates the control inputs \({u}_{j}\) with input saturation \(\pm 20\).

Fig. 16
figure 16

Tracking trajectories: \({x}_{di}\) (dotted line), \({x}_{i}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 4

Fig. 17
figure 17

Control input \({u}_{j}\) by OBLF-AFL (solid line) and by O-AFL (dashed line), for Example 4

Example 5

Model features:

  • SISO

  • Affine

  • Nonlinear input–output

  • Semi-known model

The average control models of each part of a HESS with the boost-buck converter (e.g.; battery or supercapacitor) can be expressed as (Ghavidel and Mousavi-G 2022a, b)

$$ \left\{ {\begin{array}{*{20}l} {V = F\left( I \right)} \\ {\frac{{{\text{d}}I}}{{{\text{d}}t}} = \left( { - \frac{R}{L}I + \frac{1}{L}V} \right) - \frac{{V_{L} }}{L}u_{1} + {\text{d}}\left( t \right)} \\ {y_{1} = I\,} \\ \end{array} } \right. $$
(97)

where \(V\) and \(I\) are the average voltage and current, \(R\) and \(L\) are the IGBT inductor and resistance, function \({\mathbb{F}}\) is the dynamical model of HESS (e.g.; battery in this study), \({u}_{1}\) is the average value of the switching signal, \(d\) is the external disturbance, and \({V}_{L}=750\) v is the stable voltage of the DC-bus.

The system with output \({y}_{1}=I\) has a relative degree of 1 (\(r = 1\)). Then we have; \({f}_{1}=\left(-\mathrm{RI}+V\right){L}^{-1}\) and \({g}_{1}=-{\mathrm{VL}}^{-1}\). The initial conditions of fuzzy parameters are chosen randomly in the intervals \({{\varvec{\theta}}}_{1}\left(0\right)=0\). Also, the control input is limited between \(\pm 1\), \({{\varvec{A}}}_{o1}=[0 \mathrm{0,1} 0]\), \({{\varvec{K}}}_{c1}={\left[{k}_{c11},{k}_{c21}\right]}^{T}\) and \({{\varvec{C}}}_{1}={\left[\mathrm{1,0}\right]}^{T}\). Moreover, the desired value is \({x}_{d1}=5 \mathrm{sin}(\pi /5).\)

The tracking trajectory \({y}_{1}\) is shown in Fig. 18. The tracking performance of the proposed controller with OBLF-AFL is good, and for this task, it reduces the amount of chattering. Moreover, Fig. 19 shows the estimation error \({\hat{e}}_{1}\). Figure 20 illustrates the control inputs \({u}_{1}\) with input saturation \(\pm 1\). The results of the study clearly demonstrate that the proposed method can achieve suitable performance.

Fig. 18
figure 18

Tracking trajectories: \({x}_{d1}\) (dotted line), \({y}_{1}\) by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 5

Fig. 19
figure 19

Tracking trajectory \({\hat{e}}_{1}\): by OBLF-AFL (solid line) and O-AFL (dashed line), for Example 5

Fig. 20
figure 20

Control input \({u}_{1}\) by OBLF-AFL (solid line) and by O-AFL (dashed line), for Example 5

5.1 The comparing results

By comparing case results, it can be seen that the control performance of the proposed control with the OBLF-AFL method is suitable. Also, we see that the tracking errors can converge to a small neighborhood of zero. Moreover, we can state that the results show the usefulness and effectiveness of the suggested controller and the ability to maintain the system performance amid various uncertainties and disturbances' various amplitude and frequency.

In short, the performance of the proposed method for various classes of nonlinear systems is suitable. The reasons are that the proposed method is based on combining advantages of barrier Lyapunov, fuzzy system, adaptive method, a bounded robust \({H}_{\infty }\)-like control term, and a simple and accurate observer scheme. Also, we do not have an SPR transfer function, and it does not require matrices \({\mathbf{Q}}_{i}\), \({\mathbf{P}}_{i}\),\({\mathbf{Q}}_{oi}\), \({\mathbf{P}}_{oi}\) and vectors \({\mathbf{B}}_{1}\), \({\mathbf{B}}_{2}\) to be known. Furthermore, the fuzzy estimator with the feedback error function \(\hat{\Xi }\) as input in the fuzzy adaptive controller can improve the sensitivity of \({u}_{j}\) to the tracking errors, while the number of fuzzy term sets and rules is decreased. Moreover, the proposed method is computationally simple, effective, robust, and properly behaved in the presence of input saturation. Also, by this technique, the chattering phenomenon can be alleviated.

Remark 5

Some more comparisons were performed for Examples 1–5 without the input saturation. According to these simulation results, it was observed that with input saturation a large overshoot of the control input may be generated in the earliest moments as an impulse signal. These large overshoots may cause bad behavior of the system under control because they may play a destructive role. Hence, simulation studies are neglected for this method. Furthermore, several simulations were carried out for control of various nonlinear systems, e.g., for MIMO maglev bogy (Wen et al. 2011), MISO and SISO affine MLS (Yousfi et al. 2014), MIMO affine robot system (Ghavidel and Kalat 2017c), etc. Simulation studies show the usefulness of the suggested approach. The simulation results were under the fuzzy logic inputs \(\hat{\Xi }\) and \(\hat{\mathbf{X}}\). These simulation studies are neglected for this method. Briefly, from Table 2 we can see the tracking performances of the control approach with OBLF-AFL and O-AFL in the presence of large and sudden disturbances. Also, we want to develop our design method in the next study so it can be applied for intelligent computing approaches (Youssef et al. 2018; Li et al. 2019; Al-Qerem et al. 2020).

Table 2 Comparison of the control performances in the presence of large and sudden disturbances

6 Conclusion

In this paper, a non-singular control strategy with an OBLF-AFL is applied for various types of nonlinear systems (i.e., for MIMO, MISO, MIMO, and SISO systems). Also, a bounded \({H}_{\infty }-\) like control term is employed to compensate for uncertainties. A stability analysis is introduced to solve the problem of nonlinear systems with input saturation. Moreover, the suggested scheme can be applied to unknown or semi-unknown affine and non-affine systems. Also, the proposed observer controller does not need SPR conditions to be identified. Moreover, a fuzzy estimator with the feedback error function \(\hat{\Xi }\) is used, so that, the number of fuzzy sets and also fuzzy IF–THEN rules is reduced. The suggested approach is robust and accurate with less computing. The simulation results signify obviously that the tracking errors are very small. Finally, the proposed strategy can maintain system performance despite various uncertainties and external disturbances with a proper reduction in chattering. The proposed approach is not limited only to the simulation examples; it can be applied to various class of nonlinear systems, e.g., MIMO, MISO, MIMO, and SISO systems. We want to develop this scheme in the next study, so it can be applied to industrial and practical systems.