Adaptive Single Neuron Anti-Windup PID Controller Based on the Extended Kalman Filter Algorithm

: In this paper, an adaptive single neuron Proportional–Integral–Derivative (PID) controller based on the extended Kalman ﬁlter (EKF) training algorithm is proposed. The use of EKF training allows online training with faster learning and convergence speeds than backpropagation training method. Moreover, the propose adaptive PID approach includes a back-calculation anti-windup scheme to deal with windup effects, which is a common problem in PID controllers. The performance of the proposed approach is shown by presenting both simulation and experimental tests, giving results that are comparable to similar and more complex implementations. Tests are performed for a four wheeled omnidirectional mobile robot. Tests show the superiority of the proposed adaptive PID controller over the conventional PID and other adaptive neural PID approaches. Experimental tests are performed on a KUKA ® Youbot ® omnidirectional platform.


Introduction
Presently, Proportional-Integral-Derivative (PID) controllers are still among the most popular controllers used in the industry [1][2][3]. However, a PID is just adequate for a nominal process; it performs poorly for a system with uncertainties in operating conditions or environmental parameters [2,4,5]. It is well known that if the mathematical model of a plant is available, various techniques to determine PID controller parameters exist. Based on that, improvements and tuning mechanisms were proposed in the literature for conventional PID controllers. However, those techniques are mainly offline methodologies, and in most cases, they require a model of the system, which is commonly not available [1][2][3]. Among these techniques, adaptive neural PID controllers are presented as an option due to neural networks characteristic that allows them to adapt themselves to changes in operating conditions and environmental parameters, giving the controller the capability of adapting its parameters online [5][6][7]. Adaptive control techniques are important to solve problems in robotics research, such as control of robot manipulators [8,9], control of mobile robots [10,11] and formation control [12], control of underwater vehicles [13,14], control for teleoperation systems [15] and industrial applications [16,17].
Adaptive neural PID controllers have been presented mainly in three different forms: •

Single neuron PID controllers
Examples of this group are works [6,[18][19][20][21]. These adaptive controllers are base on a single neuron whose inputs are the proportional error (P), integral of the error (I), and derivative of the error (D) (see Figure 1). Figure 1. Single neuron PID controller scheme.

Multi-layer neural PID controllers
Examples of this group are works [4,[22][23][24][25][26]. These works are mainly based on an architecture as shown in Figure 2, where the output layer only has one neuron, and the immediately before layer to this output layer has three neurons, each one dedicated to the proportional gain (K P ), the integral gain (K I ), and the derivative gain (K D ), respectively. The inputs are the proportional error (P), integral of the error (I), and derivative of the error (D). In some works, the inputs include the system output and its reference. •

Hybrid neural PID controllers
Examples of this group are [5,27,28]. These adaptive neural PID controllers are based on improving the performance of a conventional PID controller ( Figure 3). Typically, the neural network chooses online the proportional gain (K P ), the integral gain (K I ), and the derivative gain (K D ) parameters of the controller. However, they tend to have slow learning rates, complex architectures, and high computational cost [4,23]. Training methods for the previous mentioned adaptive neural PID controllers are mostly based on backpropagation. Also, most of them only report simulation results using benchmark systems that do not necessarily represent real-world problems. Another common problem with PID controllers is the windup effect [29]. The windup effect occurs when the cumulative error in the integral control action produces a saturation on the actuators, which while on the saturation zone, the system loses controllability [30,31]. The windup effect contributes to poor performance, overshoot, high settling time, and instability [32,33]. Anti-windup methods were proposed to deal with these issues, among them, the limiter integrator, conditional integration, back-calculation, the observer approach, modified tracking anti-windup, and others [31,33]. The inclusion of anti-windup strategies in control designs is essential to be considered. The previously mentioned adaptive neural PID controllers do not include it.
This work proposes an adaptive single neuron PID controller trained with the Extended Kalman Filter (EKF) training algorithm. The EKF for neural networks were proven to have faster learning speeds and convergence times than training based on backpropagation, which make them ideal for experimental and real-time tests [34,35]. Moreover, the neuron PID controller includes a back-calculation scheme to deal with windup effects. The proposed anti-windup scheme uses the information of the cumulative error and the input saturation to compute the integral action dynamically. No special tuning is required to adjust the contribution of input saturation, which is needed by conventional back-calculation methods. The performance of the proposed controller is shown through simulation and experimental results using an omnidirectional robot. For simulation tests, the robot is simulated on Matlab ® (Matlab is a registered trademark of the MathWorks, Inc.), on the other hand, for the experimental case a KUKA ® (KUKA is a registered trademark of KUKA Aktiengesellschaft Germany) Youbot ® (Youbot is a registered trademark of KUKA Aktiengesellschaft Germany) is used. Moreover, comparative results are presented with respect to the conventional PID controller, an adaptive single neuron PID controller, and an adaptive multilayer PID controller. A case of study is also presented to compare the performance of a PID controller with an anti-windup method against the proposed adaptive controller. The control objective is set as trajectory tracking, where through the tests and a smaller tracking error is obtained with the proposed controller compared to the other implemented techniques. Since the proposal is based on a neuron and an the EKF training algorithm, then, it is essential to mention the works (Sento, 2016, [24] and Gomez, 2016, [26]) where multilayer PID controllers are presented. However, those works only present simulation results; the first one uses an inverted pendulum system and a DC motor system. The second one presents results using a quadrotor system and a control scheme that presents a neural PD controller. Moreover, both approaches do not include an anti-windup scheme.
The main contribution of this work is an adaptive single neuron PID controller trained with an extended Kalman filter training algorithm, which includes an anti-windup scheme to overcome the overshoot and settling time inconveniences. The proposed controller scheme offers excellent results compared with other similar proposals and also compared to more complex ones.
A mobile system is considered to be autonomous if its motion is based on its own knowledge of the environment. Mobile robots can make decisions and perform appropriate actions without the intervention of a human user. To perform an autonomous motion, control techniques are required. The use of controllers that require the tuning of gains is not appropriated because the intervention of a user is needed every time the model changes. However, the proposed adaptive neuron controller provides an auto-tuning mechanism that contributes to robot autonomy.
Path planning is an important task to be solved for autonomous robot systems. Path planning consists of the determination of a path from an initial point to an endpoint, without collision with obstacles in the environment. Moreover, the autonomous guided vehicle (AGV) robots are widely used to transport materials between assembly stations. The AGV robots need to use a controller technique to follow special paths, which are usually electrical guide wires based on sensors. A trajectory tracking control algorithm is crucial to follow the given paths successfully. The proposed approach proved to be robust and reliable for control tracking tasks that are beneficial for autonomous mobile systems.
The work outline is as follows: • in Section 2 the proposed adaptive neuron anti-windup PID controller is presented, where EKF neural PID controller is presented, where Section 2.1 explains the EKF training algorithm.
• Section 3 presents the implementation of the propose adaptive controller for position tracking of an omnidirectional mobile robot. In Section 3.1 the robot kinematics are presented for illustrative purposes, Section 3.2 presents the conventional PID controller implementation scheme, and Section 3.3 presents the adaptive control scheme. • in Section 4, both simulation (Section 4.1) and experimental results (Section 4.3) are presented, showing the performance of the proposed single neuron PID controller against the conventional PID and others neural PID controllers. • in Section 5, important conclusions are presented and discussed.

Adaptive Single Neuron PID Controller Based on the Extended Kalman Filter Algorithm
An artificial neuron is a mathematical simplification of a biological neuron; however, simple as it is, an artificial neuron is capable of accomplishing multiple tasks. Many artificial neurons can then be put together to achieve even more complex tasks [7]. Similar to a neuron and a neural network, they learn a task of function obtaining information of the environment, such knowledge or information is stored in the synaptic weights ω, the output of a neuron is computed as represented in Equation (1) where ω is a weight vector, x the input vector,ŷ is the output of the neuron, and φ is an activation function. Training can be perform using different paradigms please see [7,36].
The proposed adaptive single neuron PID controller is illustrated in Figure 4, where e is the error (2) of the system under consideration, this error is the difference between the reference (y r ) and the system output (y). The error e is the output of the anti-windup scheme (8). x 1 , x 2 , and x 3 are the inputs to the neuron and they are define as the proportional error (3), the integral of the error (5), and the derivative of the error (4) [37]. The weights ω 1 , ω 2 , and ω 3 , are adapted online using the extended Kalman filter algorithm described in Section 2.1, and they represent the K P , K I , and K D gains, respectively. v is the weighted sum (6), u is the output of the neuron (7), where as activation function tanh (·) is selected and α scales the amplitude of tanh. e (k) = y r (k) − y (k) (2) x 1 (k) = e (k) (3) the activation function tanh (·) reacts in the range [−1, 1]. Moreover, the parameter α needs to be selected depend on the control action requires for control tasks. In the presence of actuator saturation, the cumulative error in the integral action produces windup effects. Back-calculation methods are often used to overcome these inconveniences. In general, back-calculation methods consist of reducing the integral action by feeding back the difference between saturated and unsaturated control signals. In order to prevent the windup effects, the feed-back difference e s is computed (9). The error e s defines the differences between the outputs u and v, and it is only considered when the value of v exceeds the saturated control signal u scaled by the parameter α, see (7). The anti-windup scheme consists of computing the error e , which handle the integral action. This scheme is defined as where The anti-windup scheme is conducted as follows: when the control signal u is saturated, then the error e is considered to be the actual error e plus the feed-back difference e s to reduce the cumulative error. When the control signal u is not saturated, the error e is the same as the error e. In this case, the cumulative error is not reduced. Typically, limitations in actuators provoke saturation. However, the presented anti-windup scheme prevents the actuator saturation by the selection of α.
It is important to remark that most of the reported adaptive neural PID controllers present training strategies mainly based on the backpropagation algorithm. In this work, the proposed adaptive neuron is trained online using an Extended Kalman Filter (EKF) algorithm that is described in the next section. An important advantage of online training is that the network can adapt itself to changes in the nature of the problem under consideration.

Adaptive Neuron Training Based on the EKF Algorithm
Several algorithms were reported for the training of neural networks, most of them with the problem of having a slow learning rate and high sensitivity to initial conditions. On the other hand, algorithms based on the Kalman filter are an alternative [34,38], as they reduce the number of neurons and epochs. Moreover, they improve learning convergence [39], and they proved to be reliable for online and offline training for several applications for both feedforward and recurrent neural networks [34,38,[40][41][42]. The Kalman filter is used to estimate the state of a linear system with additive white noise, both in the state and in the output using a recursive solution, which uses previous state and the current input [34]. In the case of neural networks, due to the nonlinear mapping EKF is required, and the weights of the neural network become the state variables to be estimated. The error between the measured output and the network output is considered additive white noise. The training goal is to find an optimal weight vector that minimizes the prediction error [34,38]. The EKF is used due to the mapping of the neural network is nonlinear [34,38,43]. The idea behind the use of the EKF to train the ANN is that other training algorithms, such as gradient descent, recursive least squares and backpropagation, are particular cases of the Kalman filter; for this reason, the EKF is suitable for training [44,45]. Moreover, Neural networks trained with the EKF demonstrated faster learning speeds and convergence times than networks trained with algorithms based on backpropagation [34,43].
The training algorithm for the proposed scheme is an EKF algorithm as proposed in [38], which was proven to be reliable for many applications using multilayer and recurrent neural networks [35,38,41]. Control scheme of the training is depicted in Figure 5. The training of this neuron is performed by an online supervised scheme in which the desired response is the desired trajectory, this is the reason such an error is the one considered for the training, which is going to train the neuron to give control signal such as the trajectory error is minimized. The EKF training algorithm is given by Equations (10)-(12) [43].
where ω ∈ R 3 is the weight vector, K ∈ R 3×1 is the Kalman gain vector, P ∈ R 3×3 , Q ∈ R 3×3 , and R ∈ R 1×1 are covariance matrices of weight estimation error, estimation noise, and error noise, respectively. η ∈ R is the Kalman filter learning rate, and H ∈ R 3×1 is a matrix whose entries H j are the derivative of the neural network output with respect to each weight Equation (13), u ∈ R is the neuron output, the error e ∈ R is defined as the difference between the desired output and the neuron output (2) [43]. The training objective is to have a set of weight ω such as the signal u minimizes the error between the desired reference and the system output in (2). In the EKF algorithm, the learning rate η is a scalar. However, it is proposed to use η ∈ R 3×1 to provide a learning rate to adjust each weight ω i independently with η i , respectively. Finally, the proposed neuron PID controller trained with the Extended Kalman Filter algorithm is called EKF-SNPID. A brief description of the proposed approach is given in the flowchart of Figure 6.
True False Figure 6. Flowchart of the proposed adaptive neuron PID controller trained with EKF algorithm.

Implementation of the Adaptive Neuron PID Controller for an Omnidirectional Mobile Robot
Omnidirectional mobile robots were used in many robotic applications due to their movement capabilities, which allow them simultaneously to move towards any position and reach any desired orientation [46][47][48][49]. In contrast to the limit movement capabilities of a conventional mobile robot with two or four wheels due to their nonholonomic kinematics constraints [50]. In this work, the proposed single neuron PID controller is to make an omnidirectional mobile robot reach a desired position and orientation; for this case, the control computes velocities.

Omnidirectional Mobile Robot Kinematics
The considered omnidirectional mobile robot in this work is made up of four mecanum wheels placed similarly to a conventional vehicle ( Figure 7). The pose of the robot with respect to the world frame is given by three degrees of freedom (DOF), which are the positions x, and y, and the orientation θ. Velocities of the mobile robot in the base frame are given by v x , v y , and v θ . Velocity v i correspond to the velocity of each wheels with i = 1, 2, 3, 4, where v i = r i × w i , where r i is the radius of the wheels, and w i is angular velocity. The parameter L is half of the distance between the front and the rear wheels, and l is half of the distance between the left and right wheels. The inverse kinematics of the omnidirectional mobile robot in the base frame are given by (14) [51].
Velocities v x v y v θ are mapped into the velocities ẋẏθ of the world frame using the transformation (15).
where J (θ) is a transformation matrix, which maps the mobile robot velocities ẋẏθ into the velocities for each of the wheels.
For further information about the kinematics of the considered mecanum omnidirectional mobile robot, please go to references [52,53].

Conventional Velocity Control Design
To achieve the position tracking, proper velocities have to be computed, then, the controller has to find velocities u x (k), u y (k), and u θ (k) at step time k, to drive the mobile robot, from the current pose (17) to the desired pose (18). The error between the desired pose and current pose is defined as (19): A PID control can be use to compute the velocities v i (k) of the mobile robot in order to asymptotically stabilize the system, for i = 1, 2, 3, 4 [51]. A discrete PID control laws [37] at step k are given in Equations (20)- (22), respectively. For this control scheme, there is one PID module for each error x e (k), y e (k), and θ e (k). Parameters K x P , K x I and K x D are the proportional, integrative and derivative gains for error x e , respectively. Similarly, the parameters K y P , K y I and K y D are the gains for error y e , and K θ P , K θ I and K θ D are the gains for error θ e .
Based on (16), the control outputs u x (k), u y (k) and u θ (k) are mapped to each wheel control velocity u j (k) with j = 1, 2, 3, 4, using transformation matrix J (θ (k)) as follows The conventional PID is widely used to control mobile robots due to its simplicity and performance [51,[54][55][56]. It is well known that the main problem of the conventional PID is the manual tuning of the proportional, integrative, and derivative gains. However, this paper presents an adaptive single neuron PID approach to overcome this inconvenience. The proposed approach can adjust itself online during the operation of the system.

Control Scheme Using the Adaptive Single Neuron PID Controller
The proposed control scheme based on the adaptive single neuron PID controller trained with EKF algorithm (EKF-SNPID) of an omnidirectional mobile robot is shown in Figure 8. In order to minimize the errors x e , y e and θ e , an adaptive PID controller module is designed for each DOF. Then, each output control signal (24) corresponding to each single neuron PID control module which is mapped into the control velocities signals (25) for each wheel, respectively. The system output is given by the pose of the mobile robot (26). It is important to note that even with the inclusion of the anti-windup block to the single neuron architecture (25), the computed control signal is bounded, then such control signal designed for a dynamic system, such as the one for the mobile robot (15) is a feed forward neural control law, which composes a stable system [57][58][59].

Results
In Section 4.1 results of both simulation and experimental tests of the proposed adaptive single neuron PID controller trained with extended Kalman filter (EKF-SNPID) compared to conventional PID, backpropagation trained adaptive neural PID controller (BP-PIDNN) [4], and an adaptive neuron PID controller trained with Hebbian learning rule (HR-PIDNN) [19]. Then, in Section 4.1.1, the proposed EKF single neuron PID controller is compared with a conventional PID controller with a back-calculation anti-windup method [29].
The presented kinematic model of the mobile robot is given in continuous time domain. This model is not used by the proposed EKF single neuron controller scheme. For simulation tests, the kinematic model is programmed on Matlab ® where it is discretize using zero-order hold Matlab ® function method. For the experimental tests, the information is sent a received on discrete instants of time.

Simulation Results
For this section, it is important to clear out that in the literature, the reported adaptive neural PID controllers do not integrate an anti-windup scheme. In this way, the proposed scheme is compared against different adaptive neural PID controllers as they where reported. Moreover, limits for control signals are not set due to lose of controllability of the techniques the proposal is compared with.
Simulation Parameter setting for proposed EKF-SNPID controller are: matricesP and Q are initialized as diagonal matrices with P 11 = P 22 = P 33 = 1 and Q 11 = Q 22 = Q 33 = 0.1, the parameter R = 0.0001, Kalman filter learning rates η 1 = 0.1, η 3 = 0.1 and η 2 = 0.01 and α = 0.3. The selection of these parameters was chosen experimentally. Considered trajectories at each step time k are generated as follows: • a sinusoidal trajectory is computed as • a rose curve trajectory generated as To compare the performance of the considered controllers, resulting tracking and control signals are shown in graphs. Additionally, the root mean square (RMS) and mean absolute deviation (MAD) measures of the obtained errors are reported.

Simulation Test: Sinusoidal Reference
Trajectory tracking results for the sinusoidal trajectory reference are shown in Figure 9. As with the circular trajectory case, the proposed adaptive PID controller achieves the best tracking among the other compared controllers.
Velocity control signals for the sinusoidal trajectory reference are provided in Figure 10. The proposed EKF-SNPID controller reports faster performance than the others.
The system response for the sinusoidal trajectory reference is shown in Figure 11 where Figure 11a shows the system response for x. In this case, it is shown that all compared controllers achieve the reference successfully. Respect to system response for y, the proposed adaptive PID controller outperformed the others, see Figure 11b. The proposal reported a less steady-state error. In contrast, the other controllers have bigger errors. In Figure 11c, the system response for θ is presented. In this case, there is not overshoot provided by the proposed EKF-SNPID.   The RMS and MAD results for the sinusoidal trajectory reference are presented in Table 1. The proposed adaptive neuron PID controller outperforms the other compared controllers.  Figure 12 shows the trajectory following results for the rose curve trajectory. Also for this case, the proposed adaptive PID controller outperformed the other controllers.  Figure 13 provides the velocity control signal for the rose curve trajectory. Velocity control signals for EKF-SNPID are lower than the others. Figure 14 shows the system response for the rose curve trajectory test. The system response for x, y, and θ are shown in Figure 14. The proposed adaptive PID controller follows in a better way the desired references than the other controllers. In this case, the proposed approach has the lowest steady-state errors. Additionally, the proposed controller reported a fast system response without overshoot respect to θ, see Figure 14c. Table 2 reports the RMS and MAD results for the rose curve trajectory. In this case, the BP-PIDNN reported the best RMS respect to the x e error. On the other hand, the proposed EKF-SNPID controller performed better than the other controllers for the y e and θ e error. Additionally, the proposal achieved the best results with the lowest MAD results.

Simulation Test: Rose Curve Reference
Based on the reported results so far, the BP-PIDNN controller performed better than the conventional PID controller. However, the performance of the proposed EKF-SNPID controller is superior to the compared controllers, respect to the best transient response, the smaller steady-state errors, and lower overshoot results. Additionally, the performance of the PID controller for tracking is acceptable. However, it is necessary to adjust the PID gains manually to improve its performance. In contrast, the proposed adaptive EKF-SNPID controller does not require any adjustment.

Anti-Windup Tests
The following simulations results show the performance of the proposed neuron PID controller with the integration of the back-calculation anti-windup method. Simulations consist of the tracking of a trajectory with offsets. These offsets provoke velocity saturation in the mobile robot when trying to reach the necessary speeds to get to the trajectory. The performance of the proposed adaptive single neuron controller is compared against a PID with back-calculation anti-windup [29]. The conventional PID is also considered for simulations to contrast the windup effects. These tests are implemented in Matlab ® .
The omnidirectional mobile robot of the previous simulation is also used for the following tests. Similarly, parameter settings of the considered controllers are chosen. Moreover, the back-calculation anti-windup on PID requires a parameter for the feeding back information [29], which is defined as T s , and its value is selected as 0.1. This tuning is not required by the proposed EKF-SNPID controller.
The considered trajectory at each step time k are given as follows: • An approximated trapezoidal trajectory which is calculated as To compare the performance of the considered controllers in this test, results are shown in graphs. Moreover, the RMS and MAD results are presented in terms of percent error. To compare the performance of the proposed approach against the PID controller, we proposed to measure the percent error as where a positive percent error indicates that the proposed approach performs better than PID, and a negative percent error indicates that PID overcomes the proposed approach. The same equation is used to compare the proposed controller against the PID with anti-windup. Similarly, the percent error of MAD results are also measured.

Simulation Test: Trapezoidal Reference
Trajectory tracking and Velocity control signal for the trapezoidal reference are give in Figure 15. The conventional PID presents a high tracking error caused by the windup effects, see Figure 15a. The Figure 15c shows that the PID with anti-windup reports better tracking results, but the tracking response is slow compared to the proposed EKF-SNPID with anti-windup that shows the fastest tracking response without windup effects, see Figure 15e. The Figure 15b,d,f reports that the saturation limits are reached by all controllers. The control signals are saturated at u x = 0.3 m/s, u y = 0.3 m/s and u x = 0.3 rad/s. The Figure 16 reports the system response for the trapezoidal trajectory tracking. The conventional PID reports the highest overshoot. The PID reduces the overshoot with anti-windup. Moreover, the proposed EKF-SNPID suppressed the overshoot and it reaches the reference faster than the others.
The percent errors for this test are give in Figure 17. As can be seen, a percent error is shown for each error of the mobile robot pose x e , y e and θ e . A percent error for RMS and MAD results is also computed. Figure 17a reports the comparison of the proposed EKF-SNPID against the conventional PID and Figure 17b illustrates the of EKF-SNPID against the PID with anti-windup. The reported results for both comparison are positive percent errors. This indicates that the proposed adaptive EKF-SNPID performs betters than the compared controllers.
This test indicates that the conventional PID controller suffers from overshot, which is provoked by saturation velocity. The use of the back-calculation method in the PID highly reduces this inconvenience. However, its response time and tracking results are poor. The conventional back-calculation requires the tune of a gain parameter to improve this performance. In contrast, the proposed EKF-SNPID with anti-windup outperformed the conventional PID and the PID with anti-windup. The proposal reduces overshoot effectively. Moreover, it has a better response time and tracking performance, even in the presence of saturation limits. Additionally, it does not require any adjustment or tuning.

Experimental Results
Experiment tests are performed using a four-wheeled omnidirectional mobile robot. The considered omnidirectional mobile robot is a KUKA ® Youbot ® platform ( Figure 18). Its parameters are L = 0.2355 m and l = 0.1 m, and the wheel radius r = 0.0475 m. For the experimental test, the performance of the proposed EKF-SNPID controller, which includes the back-calculation anti-windup, is compared to the PID controller with anti-windup. The PID and the proposed approach were implemented in C++ using the KUKA ® Youbot ® API. The sampling time for the system is set to 0.05 s. For the proposed adaptive EKF-SNPID controller, Kalman filter settings are given below. The matrices P and Q are initialized as diagonal matrices with P 11 = P 22 = P 33 = 1 and Q 11 = Q 22 = Q 33 = 0.1. The parameter r is set as 0.0001. The Kalman filter learning rates are set as η 1 = 0.2, η 3 = 0.2 and η 2 = 0.01 and α = 0.3. Moreover, initial weights are set randomly. All these parameters were chosen experimentally.
The experiments consist of some trajectory tracking tasks. The use of two trajectories with different degrees of difficulty. was considered. The considered trajectories at step time k are generated as follows: • a sinusoidal trajectory is computed as • a rose curve trajectory with offsets is generated as x r (k) = 2.5 + a cos (0.1kπ) For the simulation results, to compare the performance of the proposed EKF-SNPID and the PID controller, tracking and control signals results are illustrated in graphs. Moreover, the RMS and MAD measures of the achieved errors are reported in tables. Additionally, the RMS and MAD results are reported in terms of percent error as well. Figure 19 reports trajectory tracking and the velocity control signal of the test for a sinusoidal desired reference. Figure 19a,b show that the proposed EKF-SNPID controller outperformed PID.

Experimental test: sinusoidal reference
In this case, the proposal showed the best tracking result compared to PID, which performs poorly. From Figure 19c,d, it is seen that proposed EKF single neuron PID controller is adjusting itself to reject perturbation and changes during experimental test.  Figure 20 shows system response results for the sinusoidal trajectory. System response for x, y and θ are reported in Figure 20a-c, respectively. In this test, PID controller shows bigger steady-state errors. In contrast, the adaptive EKF-SNPID controller performed better. In the case of the system response for θ, PID controller provides a bigger overshoot and transient response, see Figure 20c. Table 3 reports the RMS and MAD results for the sinusoidal trajectory. In this case, the RMS and MAD results of the proposed EKF-SNPID controller are better than PID.

Experimental Test: Rose Curved Reference
Trajectory tracking and velocity control signals of test for rose curve trajectory are shown in Figure 21. This test includes velocity saturation since the trajectory includes offsets. Figure 21a,b show the trajectory results for PID and for proposed EKF-SNPID controllers, respectively. In this test, the EKF-SNPID performed better than PID. The velocities control signal for both controllers reached the saturation limits in the first 4 seconds, see Figure 21c,d. Figure 22 gives the system response for rose curve trajectory. The system response for x is shown in Figure 22a and the system response for y is shown in Figure 22b. For both cases, the adaptive EKF-SNPID controller outperformed PID with a better tracking results and faster system response. Additionally, the proposal reported the smallest steady-state errors. Both controller suppressed overshot, but PID controller showed slow response. The Figure 22c shows the system response for θ. In this case, there is no presence of overshoot in the system response of the proposed adaptive controller.     The RMS and MAD results for rose curve trajectory tests are reported in Table 4. The adaptive EKF-SNPID controller performed better than PID. In this case, better RMS and MAD results are provided by the proposal.

Measure
Method  Table 4. Figure 23a presents the percent results for the sinusoidal tracking results and the Figure 23b shows the percent results for the rose curve tracking results. The percent error for both tracking results are positive percentages, which indicates that the proposed adaptive EKF-SNPID performs betters than PID. Based on the results of the experiments, the performance of the adaptive EKF-SNPID controller is superior to PID controller with anti-windup. The results of PID controller present more significant steady-state errors for the required references. In contrast, the proposed approach reported smaller steady-state errors. PID controller needs to adjust its parameter setting to improve the performance. On the other hand, these experiments proved that the proposed EKF-SNPID controller can adjust its parameters to improve its performance. Moreover, the performance of the PID under perturbations and changes during the operation of the experiment is poor. In contrast, the proposed EKF-SNPID can adjust itself to overcomes these inconveniences. Additionally, the performance of EKF-SNPID to handle with windup effects is superior to PID controller with conventional back-calculation anti-windup method. Both controllers suppressed the overshoot provoked by saturation limits. However, the system time response of the proposed EKF-SNIP is faster.
The parameter setting for conventional PID controller was heuristically determined. Simulations and experiments results indicates that it is required to adjust the parameters of PID control to improve its performance. Even if the model is known and the gains are properly adjusted, unmodelled dynamics and uncertainties are present, moreover, the model changes when adding or changing sensors and it should be tuned again regardless of the method used. In contrast, the proposed single neuron PID adjusts dynamically these parameters to overcome this inconvenient.

Conclusions
In this paper, an adaptive single neuron PID controller trained with the EKF algorithm was proposed. Simulations and experiments test was implemented to show the performance of the proposed adaptive PID controller. Tests were designed for position tracking control of an omnidirectional mobile robot. A comparative study against a conventional PID controller and other adaptive neural PID controllers were included. The simulations report that the performance of the proposed adaptive neuron PID controller is superior to the compared controllers, respect to best transient response, smaller steady-state errors, and lower overshoot results. The use of the EKF algorithm improves faster learning and convergence speeds compared to backpropagation. An anti-windup test was also included to test the performance of the proposed controller under saturation limits. The proposal showed a better time and tracking response than the PID controller with a back-calculation anti-windup method. The experimental results indicate that the proposed adaptive controller outperformed the performance of PID with better system response under perturbations and changes during the operation of the experimental. Moreover, the conventional PID controller requires the tuning of its gains to improve the performance, which is not necessary for the proposed adaptive single neuron PID controller.
Based on the obtained results, the proposed scheme offers good performance compared to more computationally demanding techniques. This makes it an excellent option to be implemented in similar systems or as part of more complex systems as autonomous vehicles, where fast, reliable responses are needed. Also, it can be seen as future work and implementation of a multilayer approach of the proposal.
As future work, the proposed adaptive PID control can be used to control nonholonomic mobile robots by including the nonholonomic constraints in the control scheme. Moreover, the parameter setting of the EKF algorithm was heuristically determined. However, to improve the performance of the proposed adaptive PID, the use of metaheuristic techniques can be used to optimize the EKF parameters. Additionally, the proposed control method can be extended to handle time-delay systems. Finally, the application of the proposed controller is online based on the Youbot API through ethernet cable connection on the onboard computer. A study of the proposed scheme considering latency is left as future work.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The