Introduction

Over the past few decades, chaotic systems have prompted considerable attention as it has applications in many fields. On account of their significant potential in the fields like secure communication [1], cryptosystems [2], neuro systems [3], chemical reactions [4], and information processing [5]. In biological systems, the control of chaos has a role as [6]. Besides being sensitive to initial conditions, chaotic systems have many complex features such as highly nonlinear systems with complex dynamics. Their sensitivity to initial conditions prompted Lorenz to call this phenomenon a butterfly effect. All these features make this field of research is challenging and attractive to the researchers. After that, the researchers paid attention to these types of systems, and other work has been raised on this topic such as a double-wing chaotic system [7], double scroll attractor [8], Lure systems [9], and so on.

Due to all of these challenging features of the chaotic systems, they are difficult to be controlled. The most difficult is to make two chaotic systems have the same response. Depending on all of these points, chaos synchronization has been a very appealing issue over the past decades, besides it has many applications in many fields. The first chaos synchronization system was built by Pecora and Carroll in 1987 and they reviewed their work through [10]. Synchronization has a fundamental role in understanding a lot of physical phenomena in many fields. Chaos synchronization has an important role in model calibration [11] and secure communications [12]. Synchronization is important in many medical applications like some brain pathologies as Parkinson’s disease [13], epilepsy [14], schizophrenia [15], and Alzheimer’s disease [16]. It has a part in natural rhythms as heart beating [17]. Synchronization has been important in studying the nonlinear coupled networks of neurons in recent years [18,19,20].

Chaos synchronization attracted many researchers in the field of control, so different types of control schemes have been applied to synchronize chaotic systems such as adaptive control [21, 22], active control [23], passive control [24], sliding mode control [25, 26], adaptive higher order PID control [27], and adaptive fuzzy control [28].

The controllers that use the expert and decision-making concepts have been hugely studied over the past decades such as fuzzy and neural systems. Because they could describe and deal with nonlinear systems, so they were more effective than classic control schemes to solve nonlinear problems, since Zadah proposed the fuzzy set (FS) theory which has been intensively studied especially in the field of control. The FS uses the human knowledge and linguistic variables to better analyze the system by defining a membership function \(\mu \left(x\right)\). Therefore, many researchers have used FS-based controllers to control and synchronize chaotic systems such as [29, 30]. However, the assessment of the exact membership functions is troublesome due to inconsistencies associated with linguistic terminology, differences between experts, or data noise. Researchers and professionals also request for additional flexibility in the membership functions \(\mu \left(x\right)\) nature, making it easier to mitigate the consequences of these uncertainties. This drives researchers to add another concept to describe the non-belongingness to the system, which has been named the non-membership function \(v\left(x\right)\) [31]. Between the membership and non-membership functions, there is an uncertainty region described as \(\pi \left(x\right)=1-\mu \left(x\right)-v(x)\) which has been named by a hesitancy margin. Atanassov named these proposed sets as intuitionistic fuzzy sets (IFS). After that, many studies have been published in this field. Intuitionistic fuzzy has been recently studied in various fields as decision-making [32] and image enhancement [33]; also, intuitionistic fuzzy has a recent role in control nonlinear systems [34] and for synchronization of chaotic systems [35].

The adaptive control technique is a method for designing automated control systems. It can be defined also as a way to adapt the parameters of the controller automatically to fix the undesired changes in the system as fas as possible. This method necessitates the identification of the system, which can be done online or offline, as well as a controller adaption algorithm based on the recognition or approximation process model. There are many types of adaptive controllers that have been used to control nonlinear systems such as adaptive fuzzy control [36], adaptive finite-time tracking control [37], adaptive fault-tolerant control [38], neural network-based adaptive tracking control [39], and fuzzy \({H}^{\infty }\) output feedback control [40]. Among these methods, neuro-fuzzy networks have demonstrated the potential to deal with nonlinear processes with high precision, reflecting the application of fuzzy systems to adaptive networks for the creation of fuzzy If–Then rules with acceptable membership functions as adaptive neuro-fuzzy (ANF) network [41]. In ANF network, the concepts of fuzzy and If–Then rules have been produced under the concept of neural systems as the fuzzy inference has been divided into layers presented in the form of neural networks. As it could be noticed, the intuitionistic fuzzy is an extension of the fuzzy sets, and then, the integration between intuitionistic fuzzy and neural network is also possible. This means that a new concept of adaptive intuitionistic neuro-fuzzy (AINF) has been raised [42]. This can be happened by dividing the steps of the intuitionistic fuzzy into neural layers. Dividing the intuitionistic fuzzy control (IFC) method into neural layers, which gives it the ability to learn itself through any of the neural network learning methods based on backpropagation such as gradient descent and least-squares method.

Depending on the above, the contribution of this paper can be explained as follows:

  • AINF control scheme has been proposed to control and synchronize two chaotic systems.

  • The stability of the proposed controller has been guaranteed using the Lyapunov function.

  • For practical validation, the proposed controller has been implemented using control in the loop (CIL) to verify the applicability and effectiveness of the proposed scheme against external disturbance and model uncertainties in practical implementation.

  • A comparative study has been proposed depending on the CIL implementation between the proposed controller and the IFC.

The content of this paper has been arranged as follows. In the next section, we introduce the problem formulation. In the subsequent section, we discuss the basics and structure of the proposed controller. The experimental results for the two Chua oscillators with comparative study are presented in the penultimate section. The final section concludes this work and introduces our future research directions.

Problem formulation

Chaos synchronization is a phenomenon that happens when two or more chaotic systems must have the same output response or when one of the chaotic systems has to drive the others despite the difference in their initial conditions. This is difficult because of the difficult nature of the chaotic systems especially their sensitivity to initial conditions which is discussed in the literature. Then, in this problem, the master system imposes its dynamics on the slave system, so the slave system is synchronized using the proposed controller.

In this paper, two classes of chaotic systems one as a master and the other as a slave. The master system can be expressed as follows:

$$\dot{\underline{x}}\left(t\right)=A\underline{x}\left(t\right)+Bf\left(\underline{x},t\right),$$
(1)

where \(\underline{x}=\left[{x}_{1},{x}_{2},\dots ., {x}_{n}\right] \epsilon {\mathfrak{N}}^{n}\) is the state vector of the master system, \(A\), \(B\) are the constant matrices, and \(f(\underline{x},t)\) is the nonlinear function of the master system.

The slave system can be expressed as follows:

$$\dot{\underline{y}}\left(t\right)=A\underline{y}\left(t\right)+Bf\left(\underline{y},t\right)+\Delta \underline{y}\left(t\right)+\underline{d}\left(t\right)+\underline{u}\left(t\right),$$
(2)

where \(\underline{y}=[{y}_{1},{y}_{2},\dots ., {y}_{n}]\epsilon {\mathfrak{N}}^{n}\) is the state vector of the slave system and \(f(\underline{y},t)\) is the nonlinear function of the slave system. \(\Delta \underline{y}\left(t\right)\) is the uncertainty vector in the slave system, \(\underline{d}\left(t\right)\) is the disturbance vector in the slave system, and \(\underline{u}\left(t\right)\) is the control signal vector.

Then, the proposed controller has to synchronize the master and the slave systems depending on the error signal vector to converge it to zero.

Adaptive intuitionistic neuro-fuzzy control design

IFC strategy

FS are very popular, so the concept of fuzzy sets has been used by various control schemes such as Mamdani-based fuzzy controller (FC) and the proposed Mamdani-based IFC. IFC has an advantage over FC as it describes the degree of non-membership \(v\left(x\right)\) besides the degree of membership \(\mu \left(x\right)\) to the system which makes the controller better to define and deal with the vagueness and uncertainty in the system. For some real systems, it would be better to describe the non-belonging region to help the controller to get better performance. IFC is produced by [31] based on some main concepts as the following definitions show.

Definition 1

If there is an IF-set \(A\) in \(P\), then it could be described as \(A=\left\{\langle p,{\mu }_{A}\left(p\right),{v}_{A}(p)\rangle |p \epsilon P \right\}\) where \({\mu }_{A}\left(p\right) \epsilon \left[\mathrm{0,1}\right], {v}_{A}\left(p\right) \epsilon \left[\mathrm{0,1}\right]\),\(0\le {\mu }_{A}\left(p\right)+{v}_{A}\left(p\right)\le 1\forall p \epsilon P\) where is \({\mu }_{A}\left(p\right)\) the membership function and \({v}_{A}\left(p\right)\) is the non-membership function.

Definition 2

Between the membership and non-membership function, there is a margin called the degree of hesitance defined as \({\pi }_{A}\left(p\right)=1-{\mu }_{A}\left(p\right)-{v}_{A}\left(p\right)\)

Definition 3

The membership and non-membership fuzzy sets could have any type of popular fuzzy sets like triangular, trapezoidal, or Gaussian. The chosen type in this paper is Gaussian and is described for the membership and non-membership function as follows:

$$ \mu_{A} \left( p \right) = e^{{\frac{{ - \left( {p - m_{m} } \right)^{2} }}{{\sigma_{m}^{2} }}}} ,\;v_{A} \left( p \right) = 1 - e^{{\frac{{ - \left( {p - m_{n} } \right)^{2} }}{{\sigma_{n}^{2} }}}} , $$
(3)

where the membership function mean is \({m}_{m}\) and the standard deviation is \({\sigma }_{m}\). Also, the non-membership function mean is \({m}_{n}\) and the standard deviation is \({\sigma }_{n}\).

Definition 4

In the IF inference system of Mamdani type, the ith IF (control) rules for membership function and non-membership function are

$$ {\text{If}}\;\mu_{e} \left( {e_{i} } \right){\text{is}}\;E_{i\mu } \;{\text{and}}\;\mu_{{\dot{e}}} \left( {\dot{e}_{i} } \right)\;{\text{is}}\;\dot{E}_{i\mu } \;{\text{Then}}\;\mu \left( {u_{i} } \right)\;{\text{is}}\;\min \left( {E_{i\mu } ,\dot{E}_{i\mu } } \right). $$
$$ {\text{If}}\;v_{e} \left( {e_{i} } \right){\text{is}}\;E_{iv} \;{\text{and}}\;v_{{\dot{e}}} \left( {\dot{e}_{i} } \right)\;{\text{is}}\;\dot{E}_{i\mu } \;{\text{Then}}\;v\left( {u_{i} } \right)\;{\text{is}}\;\max \left( {E_{i\mu } ,\dot{E}_{i\mu } } \right). $$

The design of the proposed intuitionistic neuro-fuzzy (INF) network would consist of six layers, as shown in Fig. 1, where all the weights are considered to be \(1\).

Fig. 1
figure 1

The intuitionistic neuro-fuzzy network

INF network construction

Layer 1: In this layer, the input nodes are transmitting the crisp inputs to the next layer. The inputs of this layer named as \({r}_{i}^{1}\), where \(i\) is the input number and \(1\) stands for layer 1. The net input of this layer \({f}_{i}^{1}={r}_{i}^{1}\), the activation function \({a}_{i}^{1}={f}_{i}^{1}\), and the output layer \(1\) is \({o}_{i}^{1}={a}_{i}^{1}.\)

Layer 2: In this layer, the antecedents of the If–Then rules are determined by calculating the degree of membership and non-membership for each input. Then, the activation functions of this layer have been set as \({a}_{ij}^{2\mu }\) determine the membership function \({\mu }_{j}({r}_{i}^{2})\) of the inputs, where \(j\) is the membership function set number and \(i\) the input number and \({r}_{i}^{2}\) are the inputs for layer 2. The value of \({a}_{ij}^{2v}\) determine the non-membership function \({v}_{j}({r}_{i}^{2})\) of the inputs. The net inputs \({f}_{ij}^{2\mu },{f}_{ij}^{2v}\) and activation functions \({a}_{ij}^{2\mu }, {a}_{ij}^{2v}\) are as follows:

$$ f_{{ij}}^{{2\mu }} = - \left( {\frac{{\left( {r_{i}^{2} - m_{{ij}}^{\mu } } \right)^{2} }}{{\sigma _{{ij}}^{{\mu ^{2} }} }}} \right),\;f_{{ij}}^{{2v}} = - \left( {\frac{{\left( {r_{i}^{2} - m_{{ij}}^{v} } \right)^{2} }}{{\sigma _{{ij}}^{{v^{2} }} }}} \right),\;a_{{ij}}^{{2\mu }} = e^{{f_{{ij}}^{{2\mu }} }} ,\;a_{{ij}}^{{2v}} = 1 - e^{{f_{{ij}}^{{2v}} }} . $$
(4)

Then, the output of the neurons of this layer is also equal to the activation function of each neuron as \({o}_{ij}^{2\mu }={a}_{ij}^{2\mu },{o}_{ij}^{2v}={a}_{ij}^{2v}.\)

Layer 3: The consequents of each rule in the If–Then rules are calculated in this layer. The inputs of the layer are \({r}_{i}^{3\mu }\) and \({r}_{i}^{3v}\), where the net inputs\({f}_{k}^{3\mu }\), \({f}_{k}^{3v}\) are calculated as follows:

$$ \begin{aligned} & {f}_{k}^{3\mu }=\mathrm{min} \left({r}_{1}^{3\mu },{r}_{2}^{3\mu },\dots \dots \dots ,{r}_{n}^{3\mu }\right), \\ & {f}_{k}^{3v}=\mathrm{max} \left({r}_{1}^{3v},{r}_{2}^{3v},\dots \dots \dots ,{r}_{n}^{3v}\right)\end{aligned} $$
(5)

as \(k\) is the number of the rule base fired, \(i\) takes the values from \(1\) to \(n\), and \(n\) stands for the number of the inputs for layer 3. The output and the activation functions of this layer are equal to the net inputs.

Layer 4: In this layer, the operator \(\mathrm{max} \left(\mathrm{min}\right)\) is determined for every repeated consequent in the If–Then rules to find the final fuzzy output value for each output fuzzy sets. Let the input of this layer are \({r}_{i}^{4\mu }\),\({r}_{i}^{4v}\), and then, the net inputs of this layer are \({f}_{p}^{4\mu }\),\({f}_{p}^{4v}\) are calculated as follows:

$$\begin{aligned} f_{p}^{4\mu } &= \max \left( {r_{1}^{4\mu } ,r_{2}^{4\mu } , \ldots \ldots \ldots ,r_{n}^{4\mu } } \right),\\ f_{p}^{4v} & = \min \left( {r_{1}^{4v} ,r_{2}^{4v} , \ldots \ldots \ldots ,r_{n}^{4v} } \right),\end{aligned} $$
(6)

where \(p\) is the number of the output fuzzy sets. The output and the activation functions of this layer are equal to the net inputs.

Layer 5: In the literature, many defuzzification methods have been proposed by [43]. In this paper, the center of area (COA) method has been used which is defined as

$$ u = \frac{{\sum\limits_{i = 1}^{p} {\left[ {\mu_{i} (u) - v_{i} (u)} \right]\overline{{u_{i} }} } }}{{\sum\limits_{i = 1}^{p} {\left[ {\mu_{i} (u) - v_{i} (u)} \right]} }}\quad {\text{for}}\;\mu_{i} (u) \ge v_{i} (u), $$
(7)

where \(\mu ({u}_{i})\), \(v({u}_{i})\) are the membership and non-membership function of output, and \(\overline{{u}_{i}}\) is the center of the output fuzzy sets and \(i\) is the output membership and non-membership functions number. The defuzzification method (7) would be done in two steps, the first in layer 5 and the second in layer 6. In layer 5, the inputs are \({r}_{p}^{5\mu }=\mu ({u}_{i})\) and \({r}_{p}^{5v}=v({u}_{i})\). The net input of this layer is defined as

$${f}_{p}^{5}={r}_{p}^{5\mu }-{r}_{p}^{5v}.$$
(8)

The output and the activation function of this layer are equal to the net input.

Layer 6: In this layer, there is one node to determine the crisp output. The input is the output of the last layer and is defined as \({r}_{p}^{6}={f}_{p}^{5}\). Then, the net input and the activation function in this layer as follows:

$$ f^{6} = \sum\limits_{p = 1}^{p} {r_{p}^{6} \overline{{u_{i} }} } ,\quad a^{6} = \frac{{f^{6} }}{{\mathop \sum \nolimits_{p = 1}^{p} r_{p}^{6} }}. $$
(9)

The output of this layer is equal to the activation function. This control system would be adapted using the backpropagation gradient descent method as shown in the next subsection.

Learning of INF network using backpropagation

After establishing the whole INF network, then the network comes to the learning phase to adapt the parameters of membership and non-membership functions of the system inputs and output. In this paper, the learning phase has been done based on the idea of the backpropagation gradient descent method by minimizing the error function

$$ E = \frac{1}{2}\left( {y\left( t \right) - x\left( t \right)} \right)^{2} , $$
(10)

where \(x(t)\) is the reference and \(y(t)\) is the output of the system. For each control cycle, the inputs enter the input nodes at layer one in the forward pass. Then, the activity levels are computed for all the nodes in every layer until getting the output from the output layer. Then, from the output nodes, the value of \(\frac{\partial E}{\partial \underline{q}}\) is calculated for all hidden layers in a backward pass. Let \(m\) is the adaptable parameter in any node such as the center of output membership function, and then, the rule, \(\Delta m\) is proportional to \(\frac{\partial E}{\partial \underline{q}}\), is the learning rule which leads to

$$ \underline {q} \left( {t + 1} \right) = \underline {q} \left( t \right) + \underline {\eta } \left( { - \frac{\partial E}{{\partial \underline {q} }}} \right), $$
(11)

where the learning rate is \(\eta \), and

$$ \frac{\partial E}{{\partial \underline {q} }} = \frac{\partial E}{{\partial \left( {\text{net - output}} \right)}}\frac{{\partial \left( {\text{net - output}} \right)}}{{\partial \underline {q} }} = \frac{\partial E}{{\partial o}}\frac{\partial o}{{\partial \underline {q} }} = \frac{\partial E}{{\partial o}}\frac{\partial o}{{\partial a}}\frac{\partial a}{{\partial f}}\frac{\partial f}{{\partial \underline {q} }}, $$
(12)

where \(o\) is the output of the layer, \(\underline{q}\) is updated parameter vector, \(f\) is the net input, and \(a\) is the net activation function.

In this paper, the chosen parameters to be adjusted are the center of the output \(\overline{{u_{i} }}\) in (7) and the standard deviation of the input membership and non-membership functions in (4). For computing the learning rule for those parameters, \(\frac{\partial E}{\partial \underline{q}}\) is computed layer by layer in the backward pass.

Learning rule in layer 6: using (11) and (12), the learning rule for the centers of the output \(\overline{{u }_{i}}\) are calculated as follows:

$$ \frac{\partial E}{{\partial \overline{{u_{i} }} }} = \frac{\partial E}{{\partial a^{6} }}\frac{{\partial a^{6} }}{{\partial f^{6} }}\frac{{\partial f^{6} }}{{\partial \overline{{u_{i} }} }} = \left( {y\left( t \right) - x\left( t \right)} \right)\frac{{r_{p}^{6} }}{{\mathop \sum \nolimits_{p = 1}^{p} r_{p}^{6} }} = e\left( t \right)\frac{{r_{p}^{6} }}{{\mathop \sum \nolimits_{p = 1}^{p} r_{p}^{6} }}. $$
(13)

Then, the centers of the output are updated by

$$ \overline{{u_{i} }} \left( {t + 1} \right) = \overline{{u_{i} }} \left( t \right) - \eta_{1} e\left( t \right)\frac{{r_{p}^{6} }}{{\mathop \sum \nolimits_{p = 1}^{p} r_{p}^{6} }}. $$
(14)

The propagated error from this layer to layer 5 is that

$$ \delta = e\left( t \right). $$
(15)

In layers 3, 4, and 5, there are no parameters to be updated. The propagated error \(\delta \) has been passed only from one layer to the other until it reached layer 2, where there are parameters to be updated.

Learning rule in layer 2:

The parameters to be updated in this layer are the standard deviation of the membership and non-membership functions \({\sigma }_{ij}^{\mu }, {\sigma }_{ij}^{v}\) using the following learning rules:

$$ \frac{\partial E}{{\partial \sigma_{ij}^{\mu } }} = \frac{\partial E}{{\partial a^{2} }}\frac{{\partial a^{2} }}{{\partial f^{2} }}\frac{{\partial f^{2} }}{{\partial \sigma_{ij}^{\mu } }} = e\left( t \right)e^{{f_{ij}^{2\mu } }} \left( {\frac{{2\left( {r_{i}^{2} - m_{ij}^{\mu } } \right)^{2} }}{{\left( {\sigma_{ij}^{\mu } } \right)^{3} }}} \right) $$
(16)
$$ \frac{\partial E}{{\partial \sigma_{ij}^{v} }} = \frac{\partial E}{{\partial a^{2} }}\frac{{\partial a^{2} }}{{\partial f^{2} }}\frac{{\partial f^{2} }}{{\partial \sigma_{ij}^{v} }} = e\left( t \right)\left( { - e^{{f_{ij}^{2v} }} } \right)\left( {\frac{{2\left( {r_{i}^{2} - m_{ij}^{v} } \right)^{2} }}{{\left( {\sigma_{ij}^{v} } \right)^{3} }}} \right). $$
(17)

As \(\frac{\partial E}{\partial {a}^{2}}\) is the propagated error \(\delta \) from the previous layers. Then, the parameters are updated as follows:

$$ \sigma_{ij}^{\mu } \left( {t + 1} \right) = \sigma_{ij}^{\mu } \left( t \right) - \eta_{2} e\left( t \right)e^{{f_{ij}^{2\mu } }} \left( {\frac{{2\left( {r_{i}^{2} - m_{ij}^{\mu } } \right)^{2} }}{{\left( {\sigma_{ij}^{\mu } } \right)^{3} }}} \right) $$
(18)
$$ \sigma_{ij}^{v} \left( {t + 1} \right) = \sigma_{ij}^{v} \left( t \right) + \eta_{3} e\left( t \right)e^{{f_{ij}^{2v} }} \left( {\frac{{2\left( {r_{i}^{2} - m_{ij}^{v} } \right)^{2} }}{{\left( {\sigma_{ij}^{v} } \right)^{3} }}} \right). $$
(19)

The updating rates \({\eta }_{1}, {\eta }_{2}\), and \({\eta }_{3}\) are selected, so that the controller gives a good performance.

The steps of designing the proposed controller can be summarized as follows:

Step 1 The error and the derivative of error for the controlled states have been calculated and entered into the AINF network as its inputs.

Step 2 In the second layer of the network, the fuzzification process has proceeded.

Step 3 Through the network layers, the crisp output of the controller has been calculated to regulate the slave system. This is considered the forward path of the neural network.

Step 4 The backpropagation method for learning the neural network has been applied depending on the error and the updating rates through the updating laws.

Step 5 Steps 2, 3, and 4 have been repeated every cycle over the online control for online adapting the chosen parameters for an effective synchronization.

Stability analysis

The stability analysis of the IFC system has been discussed in [35]. The main difference between IFC and AINF is that AINF has some parameters to be updated with the learning rates depending on the backpropagation method, which makes the stability of the AINF has been dependent on the learning rates. The learning rate has a significant impact on the convergence of the backpropagation that depends on the gradient descent method. During the training process, a large value of \(\eta \) may cause oscillation and instability, whereas a little value may cause the training to slow down. A Lyapunov function [44] can be used to find the best solution for each instance of time, and we may derive the following theorem.

Theorem 1

Consider there is a learning rate vector \({\underline{\eta }}=[{\eta }_{1}\quad {\eta }_{2}\quad {\eta }_{3}{]}^{T}\) for any parameter vector \(\underline{q}=[\overline{{u }_{i}}\left(t\right)\quad {\sigma }_{ij}^{\mu }\left(t\right) \quad {\sigma }_{ij}^{v}\left(t\right){]}^{T}\), as shown in (11), then the learning algorithm is convergent when \(\underline{\eta }\) is under the following condition:

$$ 0 < \underline {\eta } < \frac{2}{{\mathop {\max }\limits_{t} {\parallel\frac{\partial y\left( t \right)}{{\partial \underline {q} }}\parallel}_{2}^{2} }}. $$
(20)

Proof

Let the candidate Lyapunov function

$$ V\left( t \right) = \frac{1}{2}e^{2} \left( t \right) = \frac{1}{2}\left( {y\left( t \right) - x\left( t \right)} \right)^{2} . $$
(21)

Then, the change of the candidate Lyapunov function is

$$ \Delta V\left( t \right) = V\left( {t + 1} \right) - V\left( t \right) = \frac{1}{2}\left( {e^{2} \left( {t + 1} \right) - e^{2} \left( t \right)} \right) = \frac{1}{2}\Delta e\left( t \right)\left( {2e\left( t \right) + \Delta e\left( t \right)} \right), $$
(22)

where \(\Delta e\left(t\right)=e\left(t+1\right)-e(t)\)

Based on the total differential approximation formula, it’s important to note that \(e\left(t\right)=x\left(t\right)-y(t)\), and then

$$ \Delta e\left( t \right) = \Delta \underline {q} \left[ {\frac{\partial e\left( t \right)}{{\partial \underline {q} }}} \right]^{T} = \Delta \underline {q} \left[ {\frac{\partial y\left( t \right)}{{\partial \underline {q} }}} \right]^{T} . $$
(23)

By taking \(E\left(t\right)=\frac{1}{2}{e\left(t\right)}^{2}\), then

$$ \Delta \underline {q} = - \underline {\eta } \frac{\partial E\left( t \right)}{{\partial \underline {q} }} = - \underline {\eta } e\left( t \right)\frac{\partial y\left( t \right)}{{\partial \underline {q} }}. $$
(24)

Therefore, the following equation can be obtained:

$$ \begin{aligned} \Delta V\left( t \right) & \approx \frac{1}{2}\Delta \underline {q} \left[ {\frac{\partial y\left( t \right)}{{\partial \underline {q} }}} \right]^{T} \left( {2e\left( t \right) + \Delta \underline {q} \left[ {\frac{\partial y\left( t \right)}{{\partial \underline {q} }}} \right]^{T} } \right) \\ & = - \frac{1}{2}\underline {\eta } e\left( t \right)\frac{\partial y\left( t \right)}{{\partial \underline {q} }}\left[ {\frac{\partial y\left( t \right)}{{\partial \underline {q} }}} \right]^{T}\\ &\quad \times \left( {2e\left( t \right) - \underline {\eta } e\left( t \right)\frac{\partial y\left( t \right)}{{\partial \underline {q} }}\left[ {\frac{\partial y\left( t \right)}{{\partial \underline {q} }}} \right]^{T} } \right) \\ & = - \frac{1}{2} \underline {\eta } e^{2} \left( t \right){\parallel\frac{\partial y\left( t \right)}{{\partial \underline {q} }}\parallel}_{2}^{2} \left( {2 - \underline {\eta } {\parallel\frac{\partial y\left( t \right)}{{\partial \underline {q} }}\parallel}_{2}^{2} } \right). \\ \end{aligned} $$
(25)

Asymptotic stability is ensured by the Lyapunov stability theorem if \(\Delta V\left(t\right)<0\), so for convergence, the condition (20) can be concluded.

Results and discussion

Experimental setup

The performance of the AINF has been examined in this section through two uncertain chaotic systems using practical implementation depending on the CIL. Figure 2 shows the physical configuration of the CIL. As the controller has been implemented in an Arduino MEGA board. The other Arduino board is the interface between the controller board and the models in MATLAB. The master and the slave chaotic systems have been modeled using MATLAB. The MATLAB model sends a reference signal to the controller through an interface Arduino board. The controller computes the control signal and sends it back to the model through the interface board. The proposed controller is designed in the form of AINF like PID (AINF-PID), as shown in Fig. 3.

Fig. 2
figure 2

a The synchronization responses using the CIL-AINF-PID. b The Arduino boards configuration

Fig. 3
figure 3

Adaptive intuitionistic neuro-fuzzy control scheme

Experimental example

The proposed controller has been used to control and synchronize two of Chua’s oscillators. Chua’s oscillator is a popular model that exhibits chaotic behavior. Therefore, a wide number of control techniques have been applied to synchronize two Chua oscillators such as adaptive control [41], active control [45], robust control [46], sliding mode control [47], and impulsive control [48].

Chua oscillator is a nonlinear dynamical system that gives chaotic behavior. This system was introduced by [49]. The dimensionless model of the piecewise linear Chua’s oscillator has been heavily studied in many research as [35] and this model is defined as follows:

$$ \begin{gathered} \dot{x}_{1} = \alpha_{m} \left( {x_{2} - x_{1} - h\left( {x_{1} } \right)} \right) \hfill \\ \dot{x}_{2} = x_{1} - x_{2} + x_{3} \hfill \\ \dot{x}_{3} = - \beta_{m} x_{2} \hfill \\ \end{gathered} $$
(26)
$$ h\left( {x_{1} } \right) = - s_{1} x_{1} - \frac{1}{2}\left( {s_{0} - s_{1} } \right) \left( {\left| {x_{1} + 1 } \right| - \left| { x_{1} - 1} \right|} \right), $$
(27)

where \({\alpha }_{m},{\beta }_{m}, {s}_{0},{s}_{1}\) are the master system parameters and the suffix m stands for the master.

The piecewise linear Chua oscillator has been chosen as the master system. The slave system is chosen to be the Cubic Chua oscillator. This system was firstly introduced by [50]. The nonlinear part of this system is cubic. Therefore, the slave system is given by

$$ \begin{gathered} \dot{y}_{1} = \alpha_{s} \left( {y_{2} - \frac{1}{7}\left( {2y_{1}^{3} - y_{1} } \right)} \right) + u_{1} \hfill \\ \dot{y}_{2} = y_{1} - y_{2} + y_{3} \hfill \\ \dot{y}_{3} = - \beta_{s} y_{2} + u_{2} , \hfill \\ \end{gathered} $$
(28)

where \({\alpha }_{s},{\beta }_{s}\) are the slave system parameters and the suffix s stands for the slave.

The controller has to synchronize the slave system with the master and minimizing the error. Therefore, the controller inputs are chosen as vectors of error and change of error as \([ \underline{e}\left(t\right) \quad \underline{\dot{e}}\left(t\right){ ]}^{T}\) and the controller output is control signal vector \({\underline{u}}\left(t\right)\).

The vectors of error and the change of error are defined as

$$\underline{e}(t)=\underline{y}(t)-\underline{x}(t)$$
(29)
$$\dot{\underline{e}}\left(t\right)=\dot{\underline{y}}\left(t\right)-\dot{\underline{x}}\left(t\right).$$
(30)

The results of synchronization between the two chaotic systems based on AINF-PID would be represented in this section and compared with IFC-PID proposed in [35]. As mentioned in [35], the inputs have been chosen as \(\left(\underline{e},\dot{\underline{e}}\right)\) in which \(\underline{e}=[{e}_{1}\quad 0 \quad{e}_{3}{]}^{T}\) and \(\dot{\underline{e}}=[{\dot{e}}_{1}\quad 0 \quad {\dot{e}}_{3}{]}^{T}\). Then, \({e}_{1}, {\dot{e}}_{1},{e}_{3}\) and \({\dot{e}}_{3}\) are considered to be layer 1 inputs \({r}_{1}^{1}, {r}_{2}^{1},{r}_{3}^{1}\) and \({r}_{4}^{1}\) respectively.

The value of \({u}_{1}\) depends on the calculations based on the inputs \({e}_{1}, {\dot{e}}_{1}\) and the value of \({u}_{3}\) depends on the calculations based on the inputs \({e}_{3}, {\dot{e}}_{3}\). Because this paper would be compared with [35], the same basic structure of the controller would be used in this paper with the same controller gains and the same initials of the membership and non-membership functions. Therefore, the fuzzy sets for the inputs have been selected to be in the Gaussian formula as shown in (3). As [35], the output gains have been used in this paper as \({K}_{1}=[3\quad 0.5{]}^{T},{K}_{2}=[3\quad 3{]}^{T}\). Also, the inputs fuzzified into five fuzzy sets, and the parameters of those fuzzy sets are chosen in [35], for the inputs \({r}_{1}^{1}\) and \({r}_{2}^{1}\) as \({m}_{i1}^{\mu }={m}_{i1}^{v}=-0.3\) for negative big \((NB)\) fuzzy set, \({m}_{i2}^{\mu }={m}_{i2}^{v}=-0.15\) for negative small \((NS)\), \({m}_{i3}^{\mu }={m}_{i3}^{v}=0\) for zero (\(Z\)), \({m}_{i4}^{\mu }={m}_{i2}^{v}=0.15\) for positive small \((PS)\) and \({m}_{i5}^{\mu }={m}_{i5}^{v}=0.3\) for positive big \((PB)\). The initial values of the fuzzy sets standard deviation for the \({r}_{1}^{1}\) and \({r}_{1}^{2}\) membership functions are \({\sigma }_{ij}^{\mu }=0.15\) and for non-membership functions are \({\sigma }_{ij}^{v}=0.4.\) Those values of standard deviation are updated for each fuzzy set in every iteration according to (18) and (19), respectively. Figures 4 and 5 show the initial shapes of \({r}_{1}^{1}\) and \({r}_{2}^{1}\) membership and non-membership functions, respectively.

Fig. 4
figure 4

Membership functions of \({r}_{1}^{1}\) and \({r}_{2}^{1}\)

Fig. 5
figure 5

Non-membership functions of \({r}_{1}^{1}\) and \({r}_{2}^{1}\)

For the inputs \({r}_{3}^{1}\) and \({r}_{4}^{1}\) as \({m}_{i1}^{\mu }={m}_{i1}^{v}=-1\) for \((NB)\) fuzzy set, \({m}_{i2}^{\mu }={m}_{i2}^{v}=-0.5\) for \((NS)\), \({m}_{i3}^{\mu }={m}_{i3}^{v}=0\) for (\(Z\)), \({m}_{i4}^{\mu }={m}_{i2}^{v}=0.5\) for \((PS)\) and \({m}_{i5}^{\mu }={m}_{i5}^{v}=1\) for \((PB)\). The initial values of the fuzzy sets standard deviation for the \({r}_{3}^{1}\) and \({r}_{4}^{1}\) membership functions are \({\sigma }_{ij}^{\mu }=0.5\) and for non-membership functions is \({\sigma }_{ij}^{v}=1.\) Those values of standard deviation are updated for each fuzzy set in every iteration according to (16) and (17), respectively. Figures 6 and 7 show the initial shapes of \({r}_{3}^{1}\) and \({r}_{4}^{1}\) membership and non-membership functions, respectively.

Fig. 6
figure 6

Membership functions of \({r}_{3}^{1}\) and \({r}_{4}^{1}\)

Fig. 7
figure 7

Non- membership functions \({r}_{3}^{1}\) and \({r}_{4}^{1}\)

The controller output signals \({u}_{1},{u}_{3}\), where \({u}_{1}\) has been used to control the first state and \({u}_{3}\) has been used to control the second state. They both have five intuitionistic fuzzy sets; the centers of those control signals have to be updated according to (14). The initial values of the centers for both control signals are the same, where \({\overline{u}}_{i1}=-3, {\overline{u}}_{i2}=-1.5,{\overline{u}}_{i3}=0,{\overline{u}}_{i4}=1.5,{\overline{u}}_{i5}=3\), where \(i\) is the control signal number.

The comparison between the controllers would depend on the value of the summation of absolute error which is calculated as follows:

$$ {\text{SAE}} = \sum\limits_{t = 0}^{{t_{f} }} {|e(t)|{\text{d}}t} , $$
(31)

where the final time is \({t}_{f}\). The parameters and the initial conditions of the systems have been chosen by [35], so the master’s system parameters and the initial conditions are \({\alpha }_{m}=9, {\beta }_{m}=14.28,{s}_{0}=1.14,{s}_{1}=0.714, {x}_{1}\left(0\right)=0,{x}_{2}\left(0\right)=0,\) and \({x}_{3}\left(0\right)=0.6\), respectively. The slave’s system parameters and the initial conditions are \({\alpha }_{s}=10, {\beta }_{s}=14.28, {y}_{1}\left(0\right)=0.3,{y}_{2}\left(0\right)=0,\) and \({y}_{3}\left(0\right)=0\), respectively.

No disturbance nor uncertainty and \(t=0\) s

In this subsection, the AINF-PID has been used to control the system at \(t=0\) s. The updating rates have been chosen in Table 1. Then, based on these updating rates, the AINF-PID controller has been used to synchronize the master and the slave chaotic systems.

Table 1 Updating rates of the AINF-PID controller

Table 2 shows a comparison between the proposed controller AINF-PID and IFC-PID based on SAE for the three states. Then, Fig. 8, shows the error states response for AINF-PID and IFC-PID. Figure 9 shows the response of the three states under the proposed controller.

Table 2 Comparison between AINF-PID and IFC-PID based on \(\mathrm{SAE}\) when they are operated at \(t=0\) s where no disturbance nor uncertainty
Fig. 8
figure 8

Error states for the non-delayed system at no disturbance nor uncertainty: a CIL-AINF-PID; b CIL-IFC-PID

Fig. 9
figure 9

State responses for the non-delayed system at no disturbance nor uncertainty: CIL-AINF-PID a state 1; b state 2; c state 3

Remark 1

The AINF-PID shows better performance than IFC-PID depending on the value of the performance index shown in Table 2. Figure 8 shows that AINF-PID has a faster error response than IFC-PID. Also, AINF-PID, and IFC-PID in this case at the same initial conditions and values are better than sliding mode control for the same problem proposed by [46].

Delayed control with no disturbance nor uncertainty

In this subsection, the updating rates have been chosen, as shown in Table 3. Then, based on these updating rates, the AINF-PID controller has been used to synchronize the master and the slave chaotic systems when it was activated at \(t=5\) s. Table 4 shows a comparison between the AINF-PID and IFC-PID based on SAE for the three states. After that, the error states of the proposed controller are shown in Fig. 10.

Table 3 Updating rates of the AINF-PID controllers
Table 4 Comparison between AINF-PID and IFC-PID based on \(\mathrm{SAE}\) when they are operated at \(t=5\) s where no disturbance nor uncertainty
Fig. 10
figure 10

Error states for \(5\) s delayed system at no disturbance nor uncertainty: a CIL-AINF-PID; b CIL-IFC-PID

Remark 2

In this case, when the controller has been delayed for 5 s, then AINF-PID also shows a faster response than IFC-PID, as shown in Fig. 10. Table 4 also shows that AINF-PID has a better performance index than IFC-PID.

Delayed control with disturbance in the slave system

In this section, a disturbance vector has been added to the slave system to increase the difficulty of the controller’s job. The disturbance vector has been as mentioned in [35] as \(\underline{d}=[ {d}_{1}\quad {d}_{2}\quad {d}_{3}{]}^{T}=[3\mathrm{sin}\left(10t\right)\quad 0\quad 5{]}^{T}\). By adding this vector to the slave system (28), the system can be rewritten as

$$ \begin{gathered} \dot{y}_{1} = \alpha_{s} \left( {y_{2} - \frac{1}{7}\left( {2y_{1}^{3} - y_{1} } \right)} \right) + d_{1} + u_{1} \hfill \\ \dot{y}_{2} = y_{1} - y_{2} + y_{3} + d_{2} \hfill \\ \dot{y}_{3} = - \beta_{s} y_{2} + d_{3} + u_{2} . \hfill \\ \end{gathered} $$
(32)

The delay time has been changed in this sup-section to show that the efficiency of the AINF-PID is better than ordinary IFC-PID at any condition. The delay time has been chosen here as \(t=4\) s. Table 5 shows the comparison between AINF-PID and IFC-PID for this case when the controller is switched on after \(4\) s at the existence of disturbance vector \(\underline{d}\). The updating rates have been changed and the new results of the updating rates are shown in Table 5. Based on Table 6, the AINF-PID shows better CIL indexes than IFC-PID. Then, Fig. 11 shows the error states response for AINF-PID and IFC-PID.

Table 5 Updating rates of the controllers
Table 6 Comparison between AINF-PID and IFC-PID based on \(\mathrm{SAE}\) when they are operated at \(t=4\) s with disturbance but without uncertainty
Fig. 11
figure 11

Error states for \(5\) s delayed system at the existence of disturbance but no uncertainty: a CIL-AINF-PID; b CIL-IFC-PID

Remark 3

In this case, the challenge is raised where the controller has been delayed for 5 s in the presence of disturbance vector, and then, AINF-PID also shows better performance depending on the values of performance index shown in Table 6 and Fig. 11.

Delayed control with disturbance and uncertainty in the slave system

In this section, disturbance and uncertainty vectors have been added to the slave system. The controller is operated after a \(4\) s delay time. This case is the hardest for the controller not only because there are disturbances and uncertainties in the slave system but also the disturbance vector has been changed with time. The new disturbance vector is \(\underline{d}=[3\mathrm{sin}\left(10t\right)\quad 0\quad 2t{]}^{T},\) where the step disturbance in the former section has been changed to be a ramp. The difficulty is that ramp disturbances change their value with time. The uncertainty vector is \(\Delta \underline{y}(t)=[ \begin{array}{ccc}2\Delta {y}_{1}& 3\Delta {y}_{2}& 3\Delta {y}_{3}\end{array} {]}^{T}\). Therefore, the slave system after adding the uncertainty and disturbance vectors has been shown as follows:

$$ \begin{gathered} \dot{y}_{1} = \alpha_{s} \left( {y_{2} - \frac{1}{7}\left( {2y_{1}^{3} - y_{1} } \right)} \right) + d_{1} + 2\Delta y_{1} + u_{1} \hfill \\ \dot{y}_{2} = y_{1} - y_{2} + y_{3} + d_{2} + 3\Delta y_{2} \hfill \\ \dot{y}_{3} = - \beta_{s} y_{2} + d_{3} + 3\Delta y_{3} + u_{2} . \hfill \\ \end{gathered} $$
(33)

The updating rates have been chosen, as shown in Table 7. Then, based on these updating rates, the AINF-PID controller has been used to synchronize the master and the slave chaotic systems after \(5\) s delay and with disturbance and uncertainty added to the slave system. Table 8 shows a comparison between the proposed AINF-PID controller and IFC-PID based on SAE for the three states. After that, the error states of the proposed controller are shown in Fig. 12.

Table 7 Updating rates of the controllers
Table 8 Comparison between AINF-PID and IFC-PID based on \(\mathrm{SAE}\) when they are operated at \(t=4\) s with disturbance and uncertainty
Fig. 12
figure 12

Error states for \(5\) s delayed system at the existence of disturbance and uncertainty: a CIL-AINF-PID; b CIL-IFC-PID

Remark 4

This is the most difficult case for the controller, where the controller has been delayed for 5 s in the presence of disturbance and uncertainty vector, but even with these difficulties, the AINF-PID shows a faster response than IFC-PID, as shown in Fig. 10, with better performance index, as shown in Table 4.

The flexibility of the neurons gives the AINF-PID an advantage over IFC-PID, because there are some main parameters in the membership and non-membership of the inputs and outputs adapting with the change of error over time to reach the best performance. This advantage has been proved by the last simulation and CIL results.

Conclusion

An AINF has been introduced as a solution for the synchronization of two chaotic systems. This proposed controller has been compared with IFC using two CIL experimental examples. The first example has four test cases. The second one has three test cases. The experimental results discussed the test cases to show the performance of the proposed AINF scheme associated by a comparison with IFC scheme. All these cases have been introduced to evaluate the efficiency and the robustness of the proposed controller when compared to a former effective IFC scheme. The performance has been indicated by SAE indices and some figures. The overall performance indices and figures for each case in both examples show that the proposed AINF scheme is very effective and better than the IFC, because there are some main parameters in the neural network that have been adapted using the proposed adaptation rates. In the future work, it is recommended to use the AINF scheme based on the Takagi–Sugeno rule base to control and synchronize some classes of chaotic systems such as a fractional-order chaotic system.