Abstract

This paper presents the design of an adaptive controller that solves the synchronization control problem of two identical Nwachioma chaotic systems in a master-slave configuration. The closed-loop stability is guaranteed by means of a Lyapunov-like analysis. With the aim of verifying the feasibility and performance of the proposed approach, a comparison with an active control algorithm is developed at the numerical simulation level. Based on such results, the master-slave Nwachioma chaotic system in closed-loop with adaptive control is now being experimentally tested by using two personal computers and two low-cost Arduino UNO boards. The experimental results not only show the good performance of the adaptive control but also that Arduino UNO boards are an excellent option for the experimental setup.

1. Introduction

It is well known that complex chaotic systems are nonlinear dynamic systems characterized by being nonperiodic oscillators with high sensitivity to initial conditions and whose solution can be hardly predictable in the long term [1, 2]. Despite the latter, these kind of systems are deterministic, meaning that suitable control algorithms can be designed for them [3, 4]. In this regard, the first chaotic system was presented by Lorenz in [5]. From that moment on, several applications associated with chaotic systems have emerged. Some of those are in the areas of neurosystems [6, 7], chemical reactions [8, 9], secure communications [1018], turbines [19, 20], robotics [2124], cryptosystems [2529], medicine [3033], lasers [25, 34], among others.

When control strategies for complex chaotic systems are designed, the tasks to be solved can be divided into the following: (1) chaos suppression and (2) synchronization. The present paper is focused on the second control task. Hence, the following state-of-the-art review describes some relevant contributions related to the synchronization of chaotic systems.

1.1. Related Works

The purpose of synchronization in chaotic systems is to achieve that one or more systems, with similar or different dynamics, converge to the same prescribed trajectory. Such a synchronization is generally carried out by means of a master-slave configuration. In this direction, the pioneer paper of Pecora and Carroll [35] described, for the first time, the synchronization of the Lorenz and the Rossler chaotic systems. Based on Pecora and Carroll’s contribution, the research related to the design of controllers for synchronization of chaotic systems has been intensively studied during the last four decades [3689]. The proposed control strategies reported in those works can be classified as active control [3642], nonlinear control [4357], linear feedback control [5865], sliding modes [6672], and adaptive control [7389]. Such a literature is described below.

1.1.1. Active Control

Based on the literature, the active control approach was one of the first control methods for solving the synchronization problem. In this sense, Bai and Lonngren in [36, 37] demonstrated that coupled Lorenz systems can be synchronized by active control theory. The synchronization was verified at the simulation level. Meanwhile, Tang et al. [38] introduced a control strength matrix in the active control. With this extended method, the authors showed that the chaos complete synchronization can be achieved more easily. Numerical simulations on Rossler, Liu’s four-scroll, and Chen systems confirmed the latter. Also, Yassen [39] presented simulation results of synchronizations between two different chaotic systems: the Lorenz and Lü systems, the Chen and Lü systems, and the Lorenz and Chen systems. On the other hand, Pérez-Cruz et al. [40] investigated the synchronization of a new three-dimensional chaotic system and, by means of Lyapunov analysis, a nonlinear controller was designed in such a way that the exponential convergence of the synchronization error was guaranteed and the results of the numeric simulation verified the good performance of this controller. In [41] Varan and Akful synchronized a hyperchaotic system and by using a Lyapunov function, achieved global asymptotic stability; numerical analysis was used to check the effectiveness of the proposed active control design. Lastly, Zhu and Du in [42] solved the antisynchronization of systems by using the active control, and the feasibility of control was verified via numerical simulations.

1.1.2. Nonlinear Control

Related to the design of nonlinear controllers for solving the synchronization problem, Suna et al. [43] proposed a nonlinear control strategy for synchronizing five chaotic systems, where the performance of the proposed approach was verified by numerical simulations. Zheng designed a nonlinear control in [44] to study multi-switching combination synchronization of three different chaotic systems, i.e., two drive chaotic systems and a controlled response chaotic system; simulation results depicted good performance of the system in closed-loop. Likewise, Hettiarachchi et al. presented a nonlinear control algorithm for solving the synchronization problem over two time-delay coupled Hindmarsh–Rose neurons [45], whose effectiveness of the proposed approach was investigated through numerical simulations. Additionally, Yadav et al. [46] developed a nonlinear control method for combination-combination phase synchronization in fractional-order nonidentical complex chaotic systems. Simulation results were obtained, by using the Adams–Bashforth–Moulton method, with the aim of showing the performance of the system in closed-loop. Also, Yadav et al. [47] analyzed a nonlinear control for the triple compound synchronization among eight chaotic systems with external disturbances, and the feasibility of the proposed control was depicted through numerical simulations by using the Runge–Kutta method. Ouannas et al. [48] used a nonlinear control algorithm for the synchronization of a fractional hyperchaotic Rabinovich master-slave pair and numerical simulations demonstrated the validity and convergence of the proposed synchronization scheme. Whereas, Abdurahman and Jiang [49] introduced a nonlinear control strategy to investigate the general decay projective synchronization (GDPS) problem of a type of delayed memristor-based BAM neural networks; numerical results were obtained and the effectiveness of the proposed control was verified. On the other hand, Al-Hayali and Al-Azzawi [50] addressed the problem of synchronizing 4D identical Rabinovich hyperchaotic systems by using two strategies: active and nonlinear control; the good performance of the hyperchaotic systems in closed-loop was verified via simulation results. Another research was conducted by Al-Obeidi and Al-Azzawi [51], where they reported a nonlinear control strategy for chaos synchronization by using a 6D hyperchaotic system and numerical simulations were carried out to validate the effectiveness of the proposed control technique. Subsequently, Al-Azzawi and Al-Obeidi [52] provided a nonlinear control for a new 6D hyperchaotic system with real variables and a self-excited attractor. The proposed control allowed finding the stability of error dynamics and its performance was tested through numerical simulations. Also, Trikha et al. [53] introduced a novel 3D fractional chaotic system with two quadratic terms and designed a nonlinear control strategy for solving the synchronization problem; the simulations results demonstrated the effectiveness of the proposed strategy. Lin et al. [54] addressed the issue of global exponential synchronization for delayed impulsive and time-varying delayed inertial memristor-based quaternion-valued neural networks and the closed-loop system was verified via numerical simulations. Additionally, Jahanzaib et al. [55] elaborated a nonlinear control scheme for a novel fractional-order chaotic model with the aim of achieving the synchronization of the system; simulations were obtained and the good performance of the closed-loop system was demonstrated. Another work was developed by Ouannas et al. [48], where linear and nonlinear feedback controls were investigated and both force the slave system to follow the trajectory set by the master given different initial states; numerical simulations validated the synchronization schemes. Also, Ouannas et al. [56] developed two nonlinear control schemes to achieve asymptotic convergence with the aim of solving the synchronization problem; experimental and simulation results supported the proposed theory. Later, Mesdoui et al. [57] designed nonlinear controls for solving the synchronization problem in a nonlinear bacterial cultures reaction-diffusion model and the effectiveness of the proposed control was verified via simulation results.

1.1.3. Linear Feedback Control

Regarding this kind of control, Wu [58] investigated the synchronization of the general master-slave identical generalized Lorenz systems, and the developed theory was validated via numerical simulations. Also, Yan and Yun [59] studied the synchronization of an LC chaotic system via three types of state feedback controls: (i) linear feedback control; (ii) adaptive feedback control; and (iii) a combination of linear feedback and adaptive feedback controls, where numerical simulations demonstrated the obtained theoretical results. Whereas, Rafikov and Balthazar in [60] formulated linear feedback controllers for the control and synchronization of chaos through an application of optimal control and Lyapunov stability theories to guarantee the global stability of the nonlinear error system; numerical simulations were provided in order to demonstrate the effectiveness of this control approach by achieving the synchronization of the hyperchaotic Rössler system. Later, Chen et al. [61] proposed the global synchronization criteria for a class of third-order nonautonomous chaotic systems consisting of cubic and (or) intersecting nonlinearity terms under the master-slave linear state error feedback control, whose effectiveness was verified through a numerical example. Likewise, Mobayen and Tchier [62] studied the chaos synchronization problem for a class of uncertain chaotic systems with Lipschitz nonlinearity conditions using an LMI-based state feedback stabilization control method and simulation results were given to show the efficiency of the control scheme. On the other hand, Zhao et al. addresses synchronization for uncertain chaotic systems with one-sided Lipschitz nonlinearity under the output and intrinsic state delays [63], where numerical simulations proved the effectiveness of the proposed methodology by achieving the synchronization of Chua’s circuit chaotic systems. Moreover, Mahmoud et al. [64] designed a single-state feedback track synchronization control algorithm and the effectiveness of the proposed algorithm is well illustrated via an exhaustive numerical simulation. Lastly, Azar et al. [65] explored the stabilization and synchronization of a chaotic system by means of a state feedback control that moves the eigenvalues of the linearized chaotic system to a point where the state variables reach equilibrium; numerical experiments and simulation results were reported with the aim of showing the effectiveness of the proposed approach.

1.1.4. Sliding Mode Control

Another control technique used for synchronization of chaotic systems is the sliding mode. For example, Siddique and Rehman [66] presented an adaptive integral sliding mode control design method for parameter identification and hybrid synchronization of chaotic systems connected in ring topology, where the effectiveness of the proposed technique was validated through numerical examples. Also, Mufti et al. [67] developed the control design method for the transmission projective synchronization of multiple nonidentical coupled chaotic systems, whose performance in closed-loop was checked via numerical simulations. Another work was realized by Mufti et al. [68], where the synchronization and antisynchronization between the Chua and modified Chua oscillators were obtained and the effectiveness of the control strategies was validated via numerical simulations. Based on the Lyapunov stability theory and fractional-order integral sliding surface, a novel active sliding mode controller to synchronize fractional-order complex chaotic systems was proposed by Nian et al. [69] and was verified through numerical simulations. Another work was developed by Song et al. [70], where they focused on the robust synchronization issue for drive-response fractional-order chaotic systems applying the sliding mode control scheme; practical examples to illustrate the feasibility of the theoretical results are developed. In [71], Wan et al. proposed a discrete sliding mode controller to ensure the synchronization of chaotic systems and experimental results were given to demonstrate the performance of the proposed cryptosystems. The synchronization problem of chaotic systems using the integral-type sliding mode control for hyper-chaotic systems is considered in [72], where simulation results confirm the success of the designed control.

1.1.5. Adaptive Control

This approach is used when the parameters of the chaotic system are unknown. For example, Wu et al. [73] showed how adaptive controllers can be used to adjust the parameters of two Chua’s oscillators to synchronize them via simulations. Whereas, based on the Lyapunov stability theory, Liao developed an adaptive control law [74] for synchronizing two Lorenz systems; the simulation results validated the proposed approach. In [75], Behinfaraz et al. developed a new fractional-order chaotic system where the parameter’s adaption laws were obtained to design adaptive controllers using the Lyapunov stability theory and numerical examples were carried out to verify the performance of the controllers. By means of the Lyapunov theory, Wang et al. [76] proposed a nonlinear adaptive system to ensure the synchronization of two Hindmarsh–Rose neuron models and its simulation results verified the feasibility and effectiveness of the designed controller. Also, Pérez-Cruz [77] added a robustifying term to the adaptive control law for the stabilization and synchronization of an uncertain Zhang system; the performance of this robust approach was verified through numerical simulations. In [78], Khennaoui et al. proposed a one-dimensional adaptive control strategy that forces the states of discrete-time chaotic systems to tend asymptotically to zero; numerical results were presented to confirm the success of these synchronization schemes. Later, Luo et al. [79] proposed an adaptive synchronization scheme, which combines the best of the Chebyshev neural network, extended state tracking differentiator, and adaptive backstepping for the fractional-order chaotic arch microelectro-mechanical system; the effectiveness of the proposed adaptive synchronization scheme was demonstrated through simulation results. On the other hand, Xu et al. in [80] investigated an adaptive event-triggered transmission strategy for the exponential synchronization of chaotic Lur’e systems; the designed control scheme was verified through numerical examples. Based on the complex-variable inequality and stability theory for the fractional-order complex-valued system, Zhang et al. presented [81] a new scheme for adaptive synchronization of fractional-order complex-variable chaotic systems with unknown complex parameters, where simulation results proved the effectiveness of the synchronization scheme. Liu et al. [82] developed the fractional Mittag–Leffler stability theory, that is, an adaptive, large-scale, and asymptotic synchronization control method for the synchronization of two different fractional-order chaotic systems under the conditions of determined parameters and uncertain parameters; the simulation results proved the good reliability of the controller. Another work was reported by Singh and Roy in [83] developed three different well-known control techniques: nonlinear active control, sliding mode control, and adaptive control, which are used for synchronization between various pairs of chaotic systems; simulation results are presented, which reflect the successful achievement of the objectives. In [84], Gao et al. proposed the cluster synchronization of a class of nonlinearly coupled Lur’e networks through a novel adaptive pinning control strategy, whose performance was depicted through numerical simulations. Another work was reported by Azar and Serrano in [85], where the design of an adaptive terminal sliding mode control for the stabilization of chaotic systems was proposed and experimental results were introduced for validating the control scheme. Javan et al. [86] showed a synchronization scheme using a robust-adaptive control procedure with the help of the Lyapunov stability theorem and the experimental results revealed the capability and flexibility of this method in synchronization of chaotic systems. Later, Javan et al. [87] developed an adaptive control method, and the definition of appropriate Lyapunov function was used for synchronization for chaotic systems; the results showed the effectiveness of the proposed synchronization technique in the medical images encryption for telemedicine application. One more piece of research was introduced by Wang and Rongwei [88], where they applied the adaptive control method to investigate the design of a universal controller to achieve the hybrid synchronization of a class of chaotic systems; numerical examples verify and validate the effectiveness of the proposed theoretical results. In addition, Khennaoui et al. [89] proposed adaptive control laws for solving the synchronization problem in three different types of chaotic systems, the Stefanski, Rossler, and Wang systems where the performance of the systems in closed-loop was verified by simulation results.

1.2. Discussion of Related Work, Motivation, and Contribution

The literature shows that several types of complex chaotic systems have been proposed with the aim of solving the synchronization control problem. The control strategies, usually developed, are active control [3642], nonlinear control [4357], linear feedback control [5865], sliding modes [6672], and adaptive control [7389]. Also, on the one hand, it was observed that experimental results about synchronization of chaotic systems are very scarce [9097]. On the other hand, recently a new 3D chaotic system with four nonlinearities was proposed in [98]. Surprisingly, a control algorithm for solving the synchronization control problem for this system has not been yet proposed.

Motivated by the aforementioned and by the fact that complex chaotic systems can be applied in a wide range of fields, the contribution of this paper is to solve the synchronization for the chaotic system [98] by means of proposing an adaptive control. Moreover, with the purpose of enhancing this contribution, a comparison between an active control scheme and the adaptive control algorithm developed in this research is presented. Later, the experimental implementation of the adaptive control on the Nwachioma chaotic system is carried out through a novel experimental realization. For this latter, a low-cost testbed composed of two personal computers and two Arduino UNO boards along with MATLAB-Simulink are used.

The rest of the paper is structured as follows: in Section 2, the mathematical model of the new Nwachioma chaotic system in the master-slave configuration is presented and the adaptive control for solving the synchronization control problem is developed. The comparison between an active control and the adaptive control proposed here along with its experimental implementation is presented in Section 3. Finally, conclusions related to this research and future work are described in Section 4.

2. Materials and Methods

This section presents the generalities of the Nwachioma chaotic system and the master-slave configuration to be used throughout this paper. Also, the design of the adaptive control that achieves the synchronization of the master-slave configuration is introduced.

2.1. Nwachioma Chaotic System and Master-Slave Configuration

The Nwachioma chaotic system was proposed in [98]. The mathematical model describing its behavior is given by the following equations:where (for ) are constants and assures the boundedness of the system [98]. As can be observed in the previous equations, the Nwachioma system is autonomous, i.e., the system does not have inputs that modify its dynamics. On the other hand, the behavior of such a system is purely chaotic when the following constant values are considered in (1):and also when the initial conditions are set to , , and (see Figure 1).

As can be observed in Figure 1, the planes and phase portraits of system (1) show the self-excited attractor, meaning that the states of the system are bounded over a specific region. It is worth mentioning that the system is very sensitive to initial conditions due to the chaoticity of its dynamics. This can be confirmed through the simulation results depicted in Figure 2. Such results show the behavior of the Nwachioma system when two sets of initial conditions are used. The first set of initial conditions were reported in [98] and were defined as , , and , whereas the second set are those proposed in this paper and are prescribed to be , , and .

The master-slave Nwachioma chaotic system is composed of two subsystems: a master Nwachioma system and a slave Nwachioma-alike system. The first one is defined by the following autonomous dynamics:and it is identified through the subscript . On the other hand, the slave system is denoted with the subscript and, compared with the master, it is not an autonomous system, since it is commanded through inputs , , and . The dynamics of the slave is defined as follows:where constants are equal in both systems. However, when the adaptive control is designed such constants are considered to be unknown.

2.2. Adaptive Synchronization

The objective of the adaptive synchronization control proposed in this section is to achieve that . For such an aim, the following synchronization errors are defined:

Thus, from (5), the error dynamics is given by

After replacing the dynamics (3) and (4) in (6), the following error dynamics in open-loop is obtained:

Lastly, by considering (5) into (7), the error dynamics in open-loop can be expressed in terms of the master dynamics and the synchronization errors as follows:

2.2.1. Adaptive Control Design

With the intention of achieving that the slave subsystem tracks the master subsystem, i.e., , the following adaptive inputs , , and are designed:where (for ) are the estimated parameters and gains (for ) are greater than zero. When replacing (9) in (8), and after defining the error in the unknown parameters as (for ), then the following error dynamics in closed-loop is obtained:

2.2.2. Stability Proof and Learning law

For demonstrating the stability of the closed-loop system (10) by means of the Lyapunov theory, the first step is to propose and analyze an energy candidate function defined in terms of states (for ) and parameters . Thus, the following function is proposed:

With the aim of verifying the stability of the closed-loop system (10), the time-derivative of (11) along with (10) must be analyzed [99]; that is,

Now, it is easily observed that a suitable learning law for parameter estimation is the following:

After replacing (13) in (12), the following is obtained:

Notice that (14) is negative semidefinite, i.e., . Hence, system (10) is stable in the sense of Lyapunov [99]. However, with the aim of demonstrating the asymptotic stability of (10) the Barbalat’s lemma needs to be invoked [100].

Lemma 1. (Barbalat’s Lemma). If is uniformly continuous for and iffor, then

Corollary 1. If and , then

From Corollary 1 and when replacing in (14), the following is obtained:

Now, after integrating from 0 to both sides of (18),and since , it means that . Hence,

When replacing the latter expression in (19) and after finding when , then

Thus, it is concluded that

In the following, the rest of conditions related to Corollary 1 are verified. By considering that and after integrating such an expression from 0 to , it is found that . Also, it is observed that is bounded since . Thus, from (11) and are also bounded and, consequently,

On the other hand, since , , and the master system (3) are bounded (it is worth remembering that the vector state of a chaotic system is bounded), then in (10) is also bounded. Thus,

Lastly, after considering (22), (23), and (24), it is easily observed that Lemma 1 guarantees that

Remark 1. Note that the estimation errors are bounded but not tend to zero; however, the errors does tend to zero when the time is large enough, as will be shown in the next section.

Remark 2. It is important to mention that according to the previous proof, from a strictly theoretical point of view, the synchronization can be achieved for any value of the system constant parameters whenever the control gains are , , and .

3. Results

In order to enhance the contribution of this paper, in this section, a comparison between an active control scheme and the adaptive control algorithm previously developed in Section 2 is presented. Such a comparison is executed via simulation results with the aim of verifying the performance in closed-loop of the Nwachioma chaotic system, in master-slave configuration, with both controls. Later, the experimental implementation of the adaptive control on the Nwachioma chaotic system is carried out through a novel experimental realization.

3.1. Comparison with respect to Active Control

Although active control was one of the first methods proposed for solving the synchronization problem, currently, is still frequently used [101105]. This method can be considered a kind of feedback linearization one. Active control comprises two stages: one for compensation of nonlinearities and another one for decoupling. In this regard, and with the purpose of executing the comparison with the adaptive control developed in this paper; in the following, an active control is designed for solving the synchronization problem associated with the Nwachioma chaotic system.

3.1.1. Design of the Active Control

With the intention of avoiding any kind of confusion regarding both control algorithms, i.e. the adaptive control and the active control, new variables are defined for the design of the active control. Now the slave system, where the active control is applied, has the following dynamics:whereas the tracking error is given by

By considering (26) and (27), the following error dynamics in open-loop is obtained:

In (28), note the nonlinearities and the coupling of the variables. Hence, the following active control is proposed:

After replacing the proposed control (29) in the error dynamics (28), the following error dynamics in closed-loop is obtained:

It is easily observed that the dynamics (30) is linear and the time-varying error variables are decoupled. Additionally, if , , and , then .

3.1.2. Simulation Results

On the one hand, the efficiency of both controls, the adaptive one and the active one, is validated by using the criterion of the quadratic error integral as an index performance. For the adaptive control, the index performance is defined aswhereas the index performance for the active control is defined as

By using these indexes it is possible to obtain a measure, for comparative purposes, between both controls. Such a measure allows to observe graphically the sum of both errors, the transient one and the stable one (if exists). On the other hand, with the intention of comparing the performance of the adaptive control and the active control, four simulations are carried out when the parameters defined in (2) of the master-slave Nwachioma chaotic system are changed according to the values specified in Table 1.

The rest of parameters for the active control (29) were defined previously in (2) and were given as

The gains of both controls were chosen as , while the initial conditions for the master system were defined as , the initial conditions for the slave system when using the adaptive control were selected as , and those for the same slave system when using the active control were selected as . All simulations were executed in MATLAB-Simulink with the variable-step solver ode23s.(a)Numerical simulation 1: The results presented in Figure 3 show that both control algorithms solved the synchronization control task. This is accomplished because the parameters of the Nwachiona chaotic system, in the master-salve configuration, and those of the active control were the same.(b)Numerical simulation 2: Figure 4 depicts the performance of the Nwachioma chaotic system in closed-loop with both controls, the adaptive one and the active one. Although the synchronization control task is achieved, the transient response of the slave system due to the active control is greater than the one obtained in the previous simulation.(c)Numerical simulation 3: As can be observed in Figure 5, the synchronization control task is solved for the master-slave Nwachioma chaotic system in closed-loop with the adaptive control. However, such a task is not solved for the active control.(d)Numerical simulation 4: Similar to the previous simulation results, those presented in Figure 6 show that the chaotic system in closed-loop with the adaptive control solved the synchronization control problem. But when using the active control the synchronization is not achieved. It is worth mentioning that this numerical simulation was executed only for 4 s, since and when , as can be observed in Figure 6.

3.1.3. Comments on the Numerical Simulations

As can be noted in Figures 36, the adaptive control exhibits a better performance compared with the performance achieved by the active control. Such a superior behavior on the closed-loop Nwachioma system, in the master-slave configuration, with the adaptive control is observed through the performance indexes of the quadratic error integral calculated for both controls. The results associated with the indexes and , for each numerical simulation, are shown in Table 2.

3.2. Experimental Implementation

With the aim of highlighting the effectiveness of the adaptive control (9) developed in this paper, a novel and easy to understand implementation in closed-loop of the proposed approach with the Nwachioma chaotic system, in the master-slave configuration, is presented in this section. The experimental realization of the adaptive control is carried out by using MATLAB-Simulink and two computers, one for the master system and a second one for the slave system. The testbed is depicted in Figure 7, where the connections diagram between the master computer and the slave computer along with their corresponding Arduino UNO boards are shown.

The master system and the slave system are implemented by programming their mathematical models (3) and (4), respectively, in MATLAB-Simulink by using the numeric method ode4 with sampling step of . Both the computers are interconnected via the serial communication protocol RS-232 along with two Arduino UNO development boards [106]. It is worth mentioning that using MATLAB-Simulink along with the RS-232 serial protocol and the Arduino UNO board is, indeed, a low-cost implementation of the approach presented in this paper. In fact, the synchronization problem in chaotic systems is tremendously affordable when using these kind of computational tools.

3.2.1. Synchronization of the Master-Slave Nwachioma Chaotic System

The synchronization of the master-slave Nwachioma chaotic system is realized through the connections shown in Figure 7, whereas the flowchart shown in Figure 8 depicts the process to be followed for achieving the communication between the master system and the slave system.

It is worth noticing that for achieving the synchronization of the chaotic system, the Arduino UNO boards and the computers must be configured. In this regard, the Arduino UNO boards are interconnected to each other by using a virtual serial port. The code shown in the Listing 1 commands both Arduino UNO boards and establishes the flow of information, i.e., master computer-board-board-slave computer. The virtual port directs the communication between both Arduino boards. The data are received from the virtual (or the physical) serial port and are saved and sent via the variable InData to the remaining serial port, respectively.

# include <SoftwareSerial.h>
# define rxPin 2
# define txPin 3
SoftwareSerial VirtualSerial = SoftwareSerial(rxPin, txPin);
void setup()
{
  Serial.begin(9600);
  VirtualSerial.begin(9600);
}
void loop()
{
  byte InData;
  if (Serial.available())
  {
   InData = Serial.read();
   VirtualSerial.write(InData);
  }
  if(VirtualSerial.available())
  {
   InData = VirtualSerial.read();
   Serial.write(InData);
 }
}

On the one hand, Computer 1 is interconnected to the Arduino UNO 1 board via a USB cable, where the Arduino driver is used so that the connection is viewed as a serial port. On the other hand, both Arduino UNO boards are interconnected through pins RX and TX, as can be observed in the code presented in the Listing 1. This is the RX pin of the first board, which is connected to the TX pin and vice versa. Lastly, the Arduino UNO 2 board is connected to Computer 2 in the same way as computer 1 is connected to its corresponding Arduino board.

Once the connections have been made, the next step is the implementation of dynamics associated with the master system (3) and the slave system (4) in computer 1 and computer 2, respectively. Figure 9 depicts the block diagram programmed in MATLAB-Simulink with the intention of acquiring the response of master system (3) and send it to computer 2. Since the two Nwachioma systems of the master-slave configuration are equal, the parameters (2) are programmed in both systems for implementation purposes. However, such parameters are considered to be unknown and, consequently, are not used by the adaptive control (9).

In the following, the block diagram of Figure 9 is described.(i)Nwachioma master system: This block is composed of the blocks , Master, and Integrator. The block contains this constant parameters of the system (3), considered to be unknown. However, for implementation purposes, the parameters given by (2) are programmed instead. The equations (3) are programmed in Master block, whose output is the time-derivative of the vector state. Lastly, block Integrator generates the vector state, i.e., the vector whose elements are along with its corresponding initial conditions.(ii)Sampling and scaling: With the aim of sending the vector state of the master system, a Zero-Order Hold is required for sampling the response of the system. Additionally, since the data are sent in 1 byte packages, a scaling factor is implemented through the Scale block so that the elements of the vector state are mapped into the interval [0, 255].(iii)Data sending: All parameters for establishing the serial communication, such as velocity transmission, COM port, etc., are specified in the Serial Configuration block, whereas the Conversion block transforms double type data into uint8 type (equivalent to 1 byte). Lastly, data are sent through the COM port specified in the Serial Send block.

On the other hand, the block diagram programmed in MATLAB-Simulink for implementing the slave system is presented in Figure 10 and is divided into the following parts:(i)Data receiving: In this block, the Serial Configuration is used again with the purpose of selecting the communication parameters. The Serial Receive acquires the uint8 data of the slave system, which are mapped in the scale [0, 255], and by using the Conversion block the data are converted into type double. Later, the block Scale recovers the original scaling factor of the state vector.(ii)Nwachioma slave system: It comprises the block of parameters , where constants (2) are programmed again for implementation purposes. The block Slave is where the equations (4) are programmed with the aim of obtaining the time-derivatives , , and . The states , , and are obtained by considering the initial conditions of the slave system through the block Integrator2.(iii)Learning law: Equations (13) are programmed into the block Update law with the intention of obtaining . It is easily observed that after using the block Integrator1, over the time-derivatives previously mentioned, the corresponding signals are obtained (after considering initial conditions equal to zero) and now can be used into the proposed adaptive control.(iv)Adaptive control: This block generates the corresponding inputs , , and through (9) and by taking into account, as parameters, the signals , , , the estimated ones , and the states , , and .

3.2.2. Experimental Results

The master system (3) is experimentally implemented in computer 1, where the parameters given in (2) and the initial conditions (, , and retaken from [98]) for the Nwachioma system, are specified. On the other hand, the slave system (4) is implemented in computer 2 and the parameters given in (2) are used again. The initial conditions for the slave system are considered to be , , and , whereas for the learning law, and the initial condition of the time-derivative of the estimated values, . The gains of the proposed adaptive control are chosen to be , , and . With all these values, the system in closed-loop achieves the synchronization objective, i.e., , as can be observed in Figure 11.

Figure 12(a) shows that even when the initial conditions of both systems are not equal, whereas Figure 12(b) depicts the control inputs of the slave system, whose behavior not only allows that but also that .

3.2.3. Comments on the Experimental Results

As was previously mentioned, chaotic systems are very sensitive to initial conditions (this phenomenon can be observed in Figure 2). Notice that, in Figures 11 and 12, although such initial conditions are different in both, the master and the slave systems, the synchronization problem is solved. Also, despite the master-slave communication is low-cost and with communication delays, the synchronization is achieved in a short period of time. As depicted in Figure 13, although is not true, the errors are bounded.

4. Conclusions and Future Work

For the first time in literature, an adaptive control algorithm for solving the synchronization task on the Nwachioma master-slave chaotic system was presented in this paper. The feasibility and performance of the closed-loop system were demonstrated in two senses. The first one was by comparing via numerical simulations the adaptive control with an active control by implementing them in closed-loop on the master-slave Nwachioma chaotic system via MATLAB-Simulink. The simulation results showed that the performance of the adaptive control is superior to the one obtained with the active control, i.e., , and was verified through the performance indexes of the quadratic error integral associated with both controls in closed-loop. In all simulations, the parameters of the master system and those of the slave system were different for both control algorithms. The second one was by executing the experimental implementation of the adaptive control on a testbed of the master-slave Nwachioma chaotic system. The experimental implementation of the master system was carried out on a computer via MATLAB-Simulink. This computer sent the states , , and through the Arduino UNO board and the RS-232 serial protocol. Then, the computer associated with the slave system received such states and executed the corresponding learning law and the adaptive control, also via MATLAB-Simulink, with the aim of solving the synchronization task. The experimental results showed that the proposed adaptive control achieves in finite time that .

As a future work, the current results will be generalized to several slave systems synchronized only to one master system [107]. Also, a potential extension of the results presented in this paper could include external disturbances [108] on the Nwachioma chaotic system in the master-slave configuration.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by Secretaría de Investigación y Posgrado del Instituto Politécnico Nacional, Mexico, and SNI-CONACYT-Mexico.