© 2022 IIETA. This article is published by IIETA and is licensed under the CC BY 4.0 license (http://creativecommons.org/licenses/by/4.0/).
OPEN ACCESS
The present investigation suggests a novel control technique that merge the advantage of the adaptive Neuro Fuzzy inference system (ANFIS) with the proportional integral derivative (PID) controller, abbreviated as (ANFISPID), for dealing with the dynamics of the of wheeled mobile robot (WMR). A comparative study of various metaheuristic optimization algorithms is made. The results revealed the highest efficiency of the suggested ANFISPID technique compared to seven designed PID controllers, in terms of settling and rise time, overshoot, and the integral square error (ISE) as a cost function. Various cases, study (circular path, diamond path, zigzag path) have highlighted the over performance of mentioned controller. Moreover, this hybrid technique is fused with backstepping approach for the kinematic control. A lemniscate and a square trajectory were performed to clarify the capability of the mentioned controller.
wheeled mobile robot (WMR), trajectory tracking, backstepping, proportional integral derivative controller (PID), adaptive neurofuzzy inference system (ANFIS), metaheuristics
Nowadays, the tracking control issue in the robotics field still challenging and fascinates many researchers. Specifically for the wheeled mobile robot (WMR), since it covers a large civilian and military demands such as agriculture, manufacturing, services, medical, rescue and combat [15].
Each application has a special constraint connected to the robot composition (nonholonomic properties of WMRs), Moreover, WMRs are disturbed by task conditions, external load interruption, wheel slips, feedback sensors, which make the design of a precise control technique more difficult [6]. For that purpose, the investigating for new highly precise regulation schemes is required.
In order to overcome this issue, new control methods have been suggested in the last decade. These techniques can be classified into two parts and described by the kinematic or dynamic models [7]. The first group of researchers introduces a basic PID controller to handle the dynamics problem of the robot mobile and concentrating on developing the kinematic controller, an adaptive technique based on neural network using gradient decent for the autotuning the parameters for the backstepping controller is demonstrated in Ref. [8], fuzzy logic controller for the selftuning of the kinematic controller in Ref. [9], and a radial basis function network has been utilized in Ref. [10].
The major reason behind preferring this kind of controllers is that the dynamic controller’s design is more complex compared to the kinematic one, while the dynamics depend on robot internal components such as the moment of inertia, mass, frictions [11]. However, the underestimating of the complete dynamics knowledge produce insufficient control technique, a torque controller is essential in many applications, like highspeed motions and large transportation [11]. For that reason, a sliding mode controller is introduced in references [1214], an online real parameters identification of the WMR dynamics is suggested by Martins et al. [15], an adaptive backstepping controller in reference [16], using an adaptive neural network controller for treating unmodeled dynamics in references [17, 18], fuzzy logic controller has been applied in reference [19, 20].
The PID control technique is one of the highly practical and most generally adopted approaches in various industrial applications because of the simplicity structure and good performance [21]. However, optimizing the parameter of the controller is challenging, especially for MIMO systems applications, to overcome this issue, many studies prove the high capability of metaheuristic algorithms in dealing with this problem. We distingue, Genetic Algorithms (GA) [22], using particle swarm optimizer (PSO) [23], whale optimizer (WOA) [24], grey wolf optimizer (GWO) [25], using Henry gas solubility optimizer in reference [26], artificial bee colonies (ABC) [27].
Generally, the fixed parameters reduce the control performance [28]. In order to overcome this problem, many researchers focusing on the inventing of new modified PID, like integrating the neural network with traditional PID controller (NNPID) in references [2931]. This concept gets the simplicity of a PID controllers and the capacity of understanding, adaptability and treating with nonlinearity from neural networks. Other researchers aiming to use the fuzzy logic controller as a tuning method for adjusting PID gains [3234], a Reinforcement Learning method, have been utilized in reference [35]. However, the need for new regulation mechanisms growing higher and higher in accordance to complexity of the working environment.
The ANFIS could solve this problem by combining fuzzy logic controller advantage to deal with the uncertainties with the ability of neural networks to learn from plants/processes, this concept has attracted an exceptional attention in various engineering fields [3640]. In this context, several hybrid designs have been made to enhance the robustness of the ANFIS controlled system, by benefiting from advantage and simplicity of a PID controller, we distingue the following mergers: hybrid ANFISPID [4143], (ANFIS+I) controller optimizing using multidimensional PSO for Quadrotor Position Control [44], (ANFISPD+I) controller for robot manipulator [45].
The purpose of this work is to design a new hybrid optimized controller (ANFIS with PID) by using the grey wolf optimizer (GWO). The suggested controller is abbreviated as GWOANFISPID controller and it combines the advantages of the PID controller with the ANFIS controller to deal with the speed and angle control of the robot mobile. Moreover, a backstepping kinematic controller is located in external loop for the regulation of the X, Y and theta coordinates. The following points present the main contributions of our work:
Introducing seven new metaheuristics techniques to optimize the PID controller, based on the objective function under the name integral square error (ISE). Where these techniques are: particle swarm optimizer (PSO), grey wolf optimizer algorithm (GWO), dragonfly algorithm (DA), ant lion optimizer (ALO), grasshopper algorithm (GOA), moth flame optimizer (MFO), and the artificial bee colony algorithm (ABC).
Several tests in time domain have been made (such as rise time (tr), settling time (ts), overshoot (Mp), peak, and peak time (tp)) to give judgments between the selected nature inspired algorithms.
Results in MATLAB Shows the best designed PID candidate to realize the new hybrid controller (ANFISPID).
Improving the ANFISPID gains by the power full algorithm namely, grey wolf optimizer (GWO). Where several cases study (circular path, diamond path and zigzag path) gives the demonstration of the high robustness for the mentioned controller over the seven designed PID controllers.
Combining the ANFISPID controller with a Backstepping approached in order to guarantee a minimum tracking error.
To prove the need for a kinematic controller, two types of paths are selected, the lemniscates and the squares trajectory to highlight the superiority of the designed technique in handling both smooth and sharp shaped trajectory.
The rest of the paper is presented as follows: The complete mathematical model of the wheeled mobile robot is presented in Section 2. The global control strategy is described in Section 3, where the simulation findings and analyses are summarized in Sections 4 and section 5, the conclusion of the work.
The WMR in Figure 1 has two pairs of DC motors, where R represents the driving wheels radius, φ_{L} and φ_{R} are the left and right spinning angles of wheels, respectively. Separated by a distance L, θ is the robot angle. At the distance d from the mindpoint A, where (Xa, Ya) is the coordinate of A in the inertial frame (X,Y), and the coordinates of any position in the robot frame are illustrated by (Xr, Yr).
Figure 1. Description of the WMR
There are three basic steps to arrive at the complete mathematical model of the WMR: the kinematic model, dynamic model, and finally the DC actuator modeling, which are expressed as follows:
2.1 Kinematic model
This section concentrates on revealing the relationship between the linear and angular velocities of the mechanical processes without analyzing the forces disturbing the motion [8]. The linear speed of each driving wheel is represented as follows:
$\left\{\begin{array}{l}v_{R}=R \dot{\varphi}_{R} \\ v_{L}=R \dot{\varphi}_{R}\end{array}\right.$ (1)
The linear and angular speeds for the WMR are formulated by Eqns. (2) and (3):
$v=\frac{v_{R}+v_{L}}{2}=R \frac{\left(\dot{\varphi}_{R}+\dot{\varphi}_{L}\right)}{2}$ (2)
$\omega=\frac{v_{R}v_{L}}{2 L}=R \frac{\left(\dot{\varphi}_{R}\dot{\varphi}_{L}\right)}{2 L}$ (3)
The kinematic constraint can express by the following equations [34]:
No slip constraint:
$\dot{x}_{a} \sin \theta+\dot{y}_{a} \cos \theta=0$ (4)
Pur rolling constraint:
$\dot{x}_{a} \cos \theta+\dot{y}_{a} \sin \theta+L \dot{\theta}=R \dot{\varphi}_{R}$
$\dot{x}_{a} \cos \theta+\dot{y}_{a} \sin \thetaL \dot{\theta}=R \dot{\varphi}_{L}$ (5)
The three constraint equations are:
$\Lambda(q) \dot{q}=0$ (6)
where:
$(q)=\left[\begin{array}{ccccc}\sin \theta & \cos \theta & 0 & 0 & 0 \\ \cos \theta & \sin \theta & L & R & 0 \\ \cos \theta & \sin \theta & L & 0 & R\end{array}\right]$ (7)
and
$\dot{q}=\left[\dot{x}_{a} \dot{y}_{a} \dot{\theta} \dot{\varphi}_{R} \dot{\varphi}_{L}\right]^{T}$ (8)
So, the kinematic model obtained is:
$\left[\begin{array}{c}\dot{x}_{a} \\ \dot{y}_{a} \\ \dot{\theta} \\ \dot{\varphi}_{R} \\ \dot{\varphi}_{L}\end{array}\right]=\left[\begin{array}{cc}\cos \theta & 0 \\ \sin \theta & 0 \\ 0 & 1 \\ \frac{1}{R} & \frac{L}{R} \\ \frac{1}{R} & \frac{L}{R}\end{array}\right]\left[\begin{array}{l}v \\ \omega\end{array}\right]=\frac{1}{2}\left[\begin{array}{cc}\cos \theta & 0 \\ \sin \theta & 0 \\ 0 & 1 \\ \frac{1}{R} & \frac{L}{R} \\ \frac{1}{R} & \frac{L}{R}\end{array}\right]\left[\begin{array}{c}\dot{\varphi}_{R} \\ \dot{\varphi}_{L}\end{array}\right]$ (9)
This may be written as:
$\dot{q}=S(q)_{\eta}$ (10)
where, $\eta=\left[\begin{array}{l}\dot{\varphi}_{R} \\ \dot{\varphi}_{L}\end{array}\right]$ is the vector of the angular velocities of two wheels.
2.2 Dynamical model
The dynamic model purpose describes the study of the relationship between many forces and energies influencing on the process. The interpretation of the robot mechanism is expressed in terms of its component parts, such us the inertia, and centre of mass. Where The Lagrangian equation is represented by Ben Jabeur et al. [34, 46]:
$M(q) \ddot{q}+V(q, \dot{q}) \dot{q}+F(\dot{q})+G(q)+\tau_{d}$$=B(q) \tau\Lambda^{T}(q)^{\lambda}$ (11)
For simulation purposes and control, Eq. (11) should be transformed into an alternative form, using the kinematic model (10):
$S^{T}(q) \Lambda^{T}(q)=0$ (12)
The new matrices are illustrated as following:
$\left\{\begin{array}{c}\bar{M}(q)=S^{T}(q) M(q) S(q) \\ \bar{V}=S^{T}(q) M(q) \dot{S}(q)+S^{T}(q) V(q, \dot{q}) S(q) \\ \bar{B}=S^{T}(q) B(q)\end{array}\right.$ (13)
The simplified structure of the dynamic equations is given as:
$\{\bar{M}(q) \dot{\eta}+\bar{V}(q, \dot{q}) \eta=\bar{B}(q) \tau$ (14)
where,
$\bar{M}(q)=\left[\begin{array}{cc}I_{w}+\frac{R^{2}}{4 L^{2}}\left(m L^{2}+I\right) & \frac{R^{2}}{4 L^{2}}\left(m L^{2}I\right) \\ \frac{R^{2}}{4 L^{2}}\left(m L^{2}I\right) & I_{w}+\frac{R^{2}}{4 L^{2}}\left(m L^{2}+I\right)\end{array}\right]$ (14a)
and
$\bar{V}(q, \dot{q})=\left[\begin{array}{cc}0 & \frac{R^{2}}{2 L} m_{c} d \dot{\theta} \\ \frac{R^{2}}{2 L} m_{c} d \dot{\theta} & 0\end{array}\right]$, $\bar{B}(q)=$$\left[\begin{array}{ll}1 & 0 \\ 0 & 1\end{array}\right]$ (14b)
Eq. (14) may be rewritten in a compact form:
$\left\{\begin{array}{c}\left(m+\frac{2 I_{w}}{R^{2}}\right) \dot{v}m_{c} d \omega^{2}=\frac{1}{R}\left(\tau_{R}+\tau_{L}\right) \\ \left(I+\frac{2 L^{2}}{R^{2}} I_{w}\right) \omega+m_{c} d \omega v=\frac{L}{R}\left(\tau_{R}\tau_{L}\right)\end{array}\right.$ (15)
where, $m=m_{c}+2 m_{w}$ is the total mass of the robot.
$I=I_{c}+m_{c} d^{2}+2 m_{w} L^{2}+2 I_{m}$ is the total equivalent inertia.
2.3 Actuator modeling
The job of the electrical actuator is to drive the mechanical system of a robot. In this work, two pairs of DC motor are used in order to guide the wheels there a determined motion (Figure 2).
Figure 2. Equivalent electrical scheme of the motor.
The dynamic model of the actuators can be represented as [34]:
$\left\{\begin{array}{c}v_{a}=R_{a} i_{a}(t)+L_{a} \frac{d i_{a}(t)}{d t}+e_{a}(t) \\ e_{a}(t)=K_{b} \omega_{m}(t) \\ \tau_{m}=j \frac{d w_{m}(t)}{d t}+f w_{m}(t)+K_{t} i_{a}(t) \\ \tau=N \tau_{m}\end{array}\right.$ (16)
where, i_{a} is the armature current, (R_{a}, L_{a}) is the resistance and inductance of the armature winding, respectively, e_{a }is the back emf, ω_{m} is the rotor angular speed, τ_{m} is the motor torque, (K_{t}, K_{b}) are the torque constant and back emf constant, respectively, N is the gear ratio, and τ is the output torque applied to the wheel Since the robot motors are mechanically coupled to wheels through the gears. Therefore, each dc motor will have:
For the two motors, the dynamic model is expressed as:
$\left\{\begin{aligned} \omega_{m R}=N \dot{\varphi}_{w R} & \text { and } \tau_{R}=N \tau_{m R} \\ \omega_{m L}=N \dot{\varphi}_{w L} & \text { and } \tau_{L}=N \tau_{m L} \end{aligned}\right.$ (17)
$\left\{\begin{array}{l}\frac{1}{\left(R+L_{a} P\right)}\left(e_{a r}K_{b} N \dot{\varphi}_{w R}\right)=i_{R} \text { with } \tau_{R}=N k_{t} i_{R} \\ \frac{1}{\left(R+L_{a} P\right)}\left(e_{a l}K_{b} N \dot{\varphi}_{w L}\right)=i_{L} \quad \text { with } \tau_{L}=N k_{t} i_{L}\end{array}\right.$ (18)
The Physical parameters of the robot are presented in Ref. [34].
Figure 3 explains the simplified form of the general control concept based of the WMR dynamics and kinematics. The role of path generator is to supplies the desired variable x, y and θ, a backstepping act as a kinematic controller, located in the external loop, this controller measures the difference between the recommended signals (taken from the bloc trajectory generator) and real value from the robot, at next realizes its own linear speed and angle which they are passed to the internal loop, where two ANFISPID controller deal with the dynamics. Here, the two dynamic controllers give their own angular and linear speeds based on the data selected from the kinematic controller.
Figure 3. General control scheme of the WMR
3.1 Kinematic controller design
In order to reach at a nearly zero distance error, a kinematic controller is required. The major advantage of the backstepping approach is its practical and simplicity structure, since it will depend only on the kinematic model. Moreover, it has been classified as a stable tracking control law, where other techniques, such as nonlinear feedbacks and slidingmode techniques, demand the knowledge of the dynamic model and their hardware realization is difficult to implement. For that reason, this controller makes it adopted in our study [33]. The controller structure is introduced in Figure 3, where the input error and velocity vector (v_{c}) are:
$\left[\begin{array}{l}e_{x} \\ e_{y} \\ e_{\theta}\end{array}\right]=\left[\begin{array}{ccc}\cos \theta & \sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1\end{array}\right]\left[\begin{array}{cc}X_{r} & X \\ Y_{r} & Y \\ \theta_{r} & \theta\end{array}\right]=T_{e} e_{r}$ (19)
$v_{c}=\left[\begin{array}{c}v_{r} \cos \left(e_{\theta}\right)+k_{x} e_{x} \\ w_{r}+k_{y} v_{r} e_{y}+k_{\theta} v_{r} \sin \left(e_{\theta}\right)\end{array}\right]$ (20)
where, k_{x}, k_{y }and k_{θ} are tuning parameters.
3.2 The PID dynamic controller
The PID is a feedback controller that is widely utilized in various applications, especially for robotics and automation industry due to its simplicity structure and reliability that usually leads to satisfying results [21, 47] (Figure 4).
Figure 4. Block diagram of the PID controller
The representation of the transfer function for the PID in the time domain (Eq. (21)) and the transfer function in the Laplace domain (Eq. (22)).
$u(t)=K_{p} e(t)+k_{i} \int_{0}^{t} e(t)+K_{d} \frac{d e(t)}{d t}$ (21)
$C(s)=\frac{U(s)}{E(s)}=K_{p}+\frac{K_{i}}{S}+K_{d} S$ (22)
where, K_{p}, K_{i }and K_{d} are proportional, integral and derivative gains constants, respectively. The proportional constant kp role is to regulate the rise time value. where the purpose of the integral action ki is to eliminate steadystate error, the derivative gain kd for reducing the value of overflow and improving a transient response.
The success in designing PID controller rests to the optimal selection of parameters. The Ziegler–Nichols (ZN) was supported in adjusting the tuning details for the PID. Today, the tuning methodology reaches a new era for soft computing approaches like the metaheuristics algorithms. For that reason, the next section will focus on describing the tuning strategies.
3.3 Tuning methodology for PID
The block diagram for WMR tuning strategy is highlighted in Figure 5. While the first PID controller obtains the contrast between the desired and real speed from the right DC motor wheel as an input, where the reference velocity is fixed at: Ur =1 m/s.
Figure 5. Bloc diagram for tuning methodology
The second PID controller in the left wheel examines the difference between the physical and desired directions angle as input. Here, the reference angle is a constant value: θr=0.785 rad.
The following Eq. (23) represent the relation between the input voltage of the right and left DC actuators, respectively U_{R}, U_{L} with the outputs of the first and second controller U_{V}, U_{θ, }respectively.
$\left\{\begin{array}{l}U_{R}=\frac{U_{V}+U_{\theta}}{2} \\ U_{L}=\frac{U_{V}U_{\theta}}{2}\end{array}\right.$ (23)
The cost function used in the study is the integral square error (ISE) which is demonstrated by Eq. (24):
$I S E=\left(\int_{0}^{\infty}\left[e_{v}(t)\right]^{2} d t+\int_{0}^{\infty}\left[e_{\theta}(t)\right]^{2} d t\right)$ (24)
where:
$\left\{\begin{array}{l}e_{v}=U_{r}U_{m} \\ e_{\theta}=\theta_{r}\theta_{m}\end{array}\right.$ (25)
U_{r} is the desired velocity, U_{m} the actual velocity, e_{v }the velocity error, θ_{r} the desired orientation, θ_{m} the measured orientation, and e_{θ }is the orientation error, The optimization algorithms used to tune the parameters (K_{p}, K_{I}, K_{d}) are described in the next section.
A comparative study has been made to demonstrate the capability of the grey wolf optimizer (GWO), compared to particle swarm optimizer (PSO), dragonfly optimizer (DA), Ant Lion optimizer (ALO), grasshopper algorithm (GOA), moth flame optimizer (MFO), and the artificial bee colony algorithm (ABC). Therefore, a brief description of all algorithms is given:
4.1 Particle Swarm Optimizer (PSO)
Each particle in the swarm updates their positions according to the following equations [48, 49]:
$\begin{aligned} V_{i}^{k+1}=w V_{i}^{k}+& C_{1} R_{1}\left(p_{i}^{k}+x_{i}^{k}\right) \\ &+C_{2} R_{2}\left(g b e s t_{i}+x_{i}^{k}\right) \end{aligned}$ (26)
$X_{i}^{k+1}=X_{i}^{k}+V_{i}^{k+1}$ (27)
Here, i refer to the particle in the swarm. k the iteration step carried out, w the inertia weight parameter and R_{1} and R_{2} are random numbers in the range [0, 1]. The coefficients C_{1} and C_{2} are the optimization parameters, X: position vector, and $p_{i}^{k}$: best position information achieved by the i^{th} particle, $g b e s t_{i}$: best position information available in the swarm.
4.2 Dragonfly Algorithm (DA)
This approached was first introduced by Mirjalili [50], and was inspirited by the dynamic and static behaviour of dragonflies in nature explained in the references [5052]. The life cycle of dragonflies is divided into two phases: the nymph phase and the adult phase [51]. The natural behaviour of each agent in the swarm obligates the attraction to nurturing sources and distract outward enemies [50, 52].
As demonstrated by Reynolds [53], the behaviour of swarm follows the following principles [50, 52, 53]:
4.2.1 Separation
This step aims to avoid individuals’ collision with their neighbours that is near to its position, the static swarm defined by the following equation:
$S_{i}=\sum_{j=1}^{n} XX_{j}$ (28)
Here X and $X_{j}$are the positions of the current individual and the j^{th} neighboring individual, respectively. n is the number of neighboring individuals.
4.2.2 Alignment
The velocity matching between dragonflies of the same group is given by:
$A_{i}=\frac{\sum_{j=1}^{n} V_{j}}{n}X$ (29)
where, v_{j }is the velocity of neighbouring individual j.
4.2.3 Cohesion
The tendency of members towards the centre of the swarm’s group is known as the cohesion and it is defined as:
$C_{i}=\frac{\sum_{j=1}^{n} X_{j}}{n}X$ (30)
4.2.4 Attraction to food
In order to survive, all individuals must move toward the food. As presented by this mathematical formula:
$F_{i}=X^{+}X$ (31)
where, $X^{+}$ shows the position of the food source.
4.2.5 Distraction from enemy
This equation represents the movement of dragonflies far away from the enemy’s sources to survive:
$E_{i}=X^{}X$ (32)
where, $X^{}$ shows the position of the enemy. The position update of each dragonfly for testing another weight solution and receiving another fitness value is gotten by calculating ΔX and X using Eq. (36) and Eq. (37) [50, 52]:
$\Delta X_{i}=\left(s S_{i}+a A_{i}+c C_{i}+f F_{i}+e E_{i}\right)+w$ (33)
$X_{t+1}=X_{t}+\Delta X_{t+1}$ (34)
$e=0.11 *\left(\frac{0.1}{\frac{I}{2}}\right)$ (35)
$w=0.9i *\left(\frac{0.90.4}{I}\right)$ (36)
where, s, a, c, f, e, and w are the weights of their correspondent element. w is calculated using Eq. (36) here i is the current iteration and I is the number of iterations, and e is calculated in Eq. (35). s, a, and c are three different random numbers between 0 and 2e, f is a random number between 0 and 2. More details can be found elsewhere [50].
4.3 Ant Lion Optimizer (ALO)
This method proposed by Mirjalili [54] is inspired by the hunting mechanism of antlions in nature. The antlions have about three years average lifespan that it is spent as larvae except for 35 weeks of that period is spent in adulthood [55]. The mechanism is explained elsewhere [55, 56]. The mathematical illustration is given as follows [5456]:
$X(t)=\left[0, \operatorname{cumsum}\left(2 r\left(t_{1}1\right), \operatorname{cumsum}\left(2 r\left(t_{2}\right)\right.\right.\right.$$1, \cdots$, cumsum $\left.\left(2 r\left(t_{n}\right)1\right)\right]$ (37)
where, n is the maximum number of iterations, cumsum calculates the cumulative sum, and t is the step of the random walks. Thus,
$r(t)= \begin{cases}1 & \text { if rand }>0.5 \\ 0 & \text { if rand }<0.5\end{cases}$ (38)
Here (t) is a stochastic function and rand is a random number generated with uniform distribution at interval of [0, 1]. The positions of ants is saved and utilised during optimisation in the matrix:
$M_{a n t}=\left[\begin{array}{ccccc}A_{1,1} & A_{1,2} & \cdots & \cdots & A_{1, d} \\ A_{2,1} & A_{2,2} & \cdots & \cdots & A_{2, d} \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ A_{n, 1} & A_{n, 2} & \cdots & \cdots & A_{n, d}\end{array}\right]$ (39)
where, $M_{\text {Ant }}$ is the matrix for saving the position of each ant, $A_{i}$, shows the value of the $j_{w}^{\text {th }}$ variable of $i_{w}^{\text {th }}$ ant, nis the number of ants, and dis the number of variables. Based on the random walk, each ant updates their position with each step of optimisation. The minmax normalisation equation is used to normalise the random walks:
$X_{i}^{t}=\frac{\left(X_{i}^{t}a_{i}\right) \times\left(d_{i}c_{i}^{t}\right)}{\left(d_{i}^{t}a_{i}\right)}+c_{i}$ (40)
Here $a i$ is the minimum of random walk of $i_{m}^{\text {th }}$ variable, $d_{i}$ is the maximum of random walk of $i_{m}^{\text {th }}$ variable, $c_{i}^{t}$ is the minimum of $i_{\text {th }}$ variable at $\tau_{\text {th }}$ iteration, and $d_{i}^{t}$ is the maximum of $i_{\mathrm{w}}^{\text {th }}$ variable at $\tau_{\mathrm{m}}^{\text {th }}$ iteration.
The random walks of ants are influenced by the Antlion’s trap. It is defined as:
$\begin{aligned} c_{i}^{t} &=\text { Antlion }_{j}^{t}+c^{t} \\ d_{i}^{t} &=\text { Antlion }_{j}^{t}+d^{t} \end{aligned}$ (41)
where, $c^{t}$ represents the minimum of all variables at $t^{\text {th }}$ iteration, $d^{t}$ indicates the vector including the maximum of all variables at $t^{\text {h }}$ iteration, $c_{i}^{t}$ is the minimum of all variables for $i^{\text {th }}$ ant, $d_{i}^{t}$ is the maximum of all variables for $i^{\text {th }}$ ant, and Antlion ${ }_{j}^{t}$ shows the position of the selected $j^{\text {th }}$ antlion at $t^{\text {th }}$ iteration.
During optimisation the algorithm used a roulette wheel operator to choose antlions according to their fitness. This method increased the chance if catching ants.
The following equations compute the decrease adaptively to the radius of the random walks hyper sphere of ants:
$c^{t}=\frac{c^{t}}{I}$
$d^{t}=\frac{d^{t}}{I}$ (42)
where, $I$ is a ratio, $c^{t}$ is the minimum of all variables at $t^{\text {th }}$ iteration, and $d^{t}$ indicates the vector, including the maximum of all variables at $t^{\text {th }}$ iteration.
In the final hunting stage, antlions update their position to improve the possibility of catching new prey according to the position of the latest hunted ant:
Antlion $_{j}^{t}=A n t_{i}^{t}$ if $f\left(A n t_{i}^{t}\right)>f\left(\right.$ Antlion $\left._{j}^{t}\right)$ (43)
Here $t$ represents the current iteration, Antlion ${ }_{j}^{t}$ is the position of the selected $j^{\text {th }}$ antlion at $t^{\text {th }}$ iteration, and $A n t_{i}^{t}$ represents the position of $i^{\text {th }}$ ant at $t^{\text {th }}$ iteration.
Through the whole iteration, the bestobtained antlion is called an elite. This elite influences the movement of the rest of the ants during iteration. So, it is considered that every prey walks randomly around a chosen individual by the roulette wheel and the elite altogether represented by the following equation:
$A n t_{i}^{t}=\frac{R_{A}^{t}+R_{E}^{t}}{2}$ (44)
where, $R_{A}^{t}$ is the random walk around the antlion selected by the roulette wheel at $t^{\text {th }}$ iteration, $R_{E}^{t}$ is the random walk, and $A n t_{i}^{t}$ represents the position of $i^{\text {th }}$ ant at $t^{\text {th }}$ iteration.
4.4 Artificial Bee Colony (ABC)
The artificial bee colony algorithm was first introduced by Karaboga and Basturk [57] in 2005, while its behaviour [58] was analysed in 2007. The behaviours of honeybees in finding food sources, splitting the knowledge with the nest, are its main inspiration. The approached classified bees to three types (employed, onlooker, and scout) where each agent plays different roles in the process. More details can be found in reference [52] while the process of the ABC algorithm is the following [52]:
At first, a ratio of the population is randomly sprayed into the solution area. Then, the fitness value, the nectar amounts, is fixed.
This equation calculates the probability of selecting a food source:
$P_{i}=\frac{F\left(\theta_{i}\right)}{\sum_{k=1}^{S} F\left(\theta_{k}\right)}$ (45)
where, $\theta_{i}$ denotes the position of the ith employed bee, $S$ represents the number of employed bees, and $P_{i}$ is the probability of selecting the $i$ th employed bee. Later, onlooker bees move by the roulette wheel selection. The amount of nectar is then determined:
$x_{i j}(t+1)=\theta_{i j}+\phi\left(\theta_{i j}(t)\theta_{k j}(t)\right)$ (46)
Here $x_{i}$ denotes the position of the ith onlooker bee, $t$ denotes the iteration number, $\theta_{k}$ is the randomly chosen employed bee, $j$ represents the dimension of the solution and $\phi(\cdot)$ produces a series of a random variable in the range [1, 1].
The given equation shows the move of scouts:
$\theta_{i j}=\theta_{i j \min }+r \cdot\left(\theta_{i j \max }\theta_{i j \min }\right)$ (47)
where, $r$ is a random number and $r \in[0,1]$. Next, the best food source obtained so far and the fitness value are updated according to the response, with the respect of termination condition the algorithm outputs the results or repeats the program from step $2 .$
4.5 Grey Wolf Optimizer (GWO)
The grey wolf algorithm inspired from the social leadership and hunting behaviour of grey wolves in nature $[48,49,59]$. This approached consist of social hierarchy, enriching prey, search for prey, attacking prey, and hunting. Social hierarchy: The alpha $(\alpha)$ wolf is the leader of wolves, while $\operatorname{Beta}(\beta)$ and delta $(\delta)$ wolves are the second and third levels in the group, respectively. Those three wolves are considered as the best solution to lead the rest wolves known as omega $(\omega)$ wolves toward promising areas in order to find the global solution.
$d=\leftc \cdot x_{p}(n)x(n)\right$ (48)
$x(n+1)=x_{p}(n)a \cdot d$ (49)
where, $\mathrm{x}_{\mathrm{p}}$ : position vector of the prey, $\mathrm{n}$ : current iteration, and $\mathrm{x}$ : position vector of a grey wolf. The coefficient vectors $a$ and $c$ are defined as follows:
$\vec{a}_{(.)}=2 \vec{l} \cdot \vec{r}_{1}\vec{l}$ (50)
$\vec{c}_{(.)}=2 \cdot \vec{r}_{2}$ (51)
Here, r_{1} and r_{2} are random numbers in [0, 1]. The following equations illustrate the mechanism of hunting:
$\left\{\begin{array}{l}\vec{d}_{\alpha}=\left\vec{c}_{1} \cdot \vec{x}_{\alpha}\vec{x}\right \\ \vec{d}_{\beta}=\left\vec{c}_{2} \cdot \vec{x}_{\beta}\vec{x}\right \\ \vec{d}_{\delta}=\left\vec{c}_{3} \cdot \vec{x}_{\delta}\vec{x}\right\end{array}\right.$ (52a)
$\left\{\begin{array}{l}\vec{x}_{1}=\vec{x}_{\alpha}\vec{a}_{1} \cdot\left(\vec{d}_{\alpha}\right) \\ \vec{x}_{2}=\vec{x}_{\beta}\vec{a}_{2} \cdot\left(\vec{d}_{\beta}\right) \\ \vec{x}_{3}=\vec{x}_{\delta}\vec{a}_{3} \cdot\left(\vec{d}_{\delta}\right)\end{array}\right.$ (52b)
$x(n+1)=\frac{\vec{x}_{1}+\vec{x}_{2}+\vec{x}_{3}}{3}$ (52c)
4.6 Grasshoppers Optimization Algorithm (GOA)
The Grasshoppers Optimization Algorithm simulated by [60] is inspired from the natural flocking behaviour of grasshoppers. Those insects are regarded as pests because they damage agricultural corps. The swarming behaviour can be mathematically explained by the following equations [6062]:
$X_{i}=S_{i}+G_{i}+A_{i}$ (53)
where, X_{i} is the position of the i^{th} grasshopper, S_{i} is the classical interaction, G_{i} is the gravity force on the i^{th} grasshopper, and A_{i} is the wind advection. The classical interaction is given by:
$S_{i}=\sum_{j=1}^{N} s\left(d_{i j}\right) \hat{d}_{i j}$ (54)
$d_{i j}=\leftx_{i}x_{j}\right$ (55)
$\hat{d}_{i j}=\frac{x_{j}x_{i}}{d_{i j}}$ (56)
Here, d_{ij }is the distance between the i^{th} and j^{th} grasshoppers, and s is a function for the definition of the strength of social forces defined as follows:
$s(r)=f e^{\frac{r}{l}}e^{r}$ (57)
where, f is the intensity of attraction, and l is the attractive length scale. The distance between grasshoppers ranges between 0 and 15. Repulsion is observed in the interval [0 2.079]. The grasshoppers enter the comfort zone if they are far from 2.079 units from other grasshoppers. G component is defined as follows:
$G_{i}=g \hat{e}_{g}$ (58)
Here, $g$ is the gravitational constant and $\hat{e}_{g}$ is a unity vector towards the center of the earth. Parameter $A$ is given by:
$A_{i}=u \hat{e}_{w}$ (59)
where, $\mathrm{u}$ is a constant drift and $\hat{e}_{w}$ is a unit vector in the direction of the wind. The position is updated to a new position based on the common position of the grasshoppers, the food source position, and the position of all other grasshoppers:
$X_{i}=\sum_{\substack{j=1 \\ j \neq i}}^{N} s\left(\leftx_{j}x_{i}\right\right) \frac{x_{j}x_{i}}{d_{i j}}g \hat{e}_{g}+u \hat{e}_{w}$ (60)
Here, N is the number of grasshoppers. Although, this Eq. (65) cannot be straightforward applied for optimization because grasshoppers do not converge to a specified point. Hence, the following is a corrected equation to update the grasshopper’s position:
$X_{i}^{d}=c\left\sum_{\substack{j=1 \\ j \neq 1}}^{N} c \frac{u b_{d}l b_{d}}{2} s\left(\leftx_{j}^{d}x_{i}^{d}\right\right) \frac{x_{j}x_{i}}{d_{i j}}\right+\widehat{T}_{d}$ (61)
$C=\left(C_{\max }1\right) \frac{C_{\max }C_{\min }}{M a x I t r}$ (62)
where, $u b_{d}$ is the upper bound, $l b_{d}$ is the lower bound, $\widehat{T}_{d}$ is the value of the $\mathrm{D}_{\mathrm{th}}$ dimension in the target space (optimal solution found so far), and $\mathrm{c}$ is a decreasing coefficient to shrink the comfort zone, repulsion zone, and attraction zone.
4.7 Moth Flame Optimization (MFO) Algorithm
The Mothflame optimization algorithm was first introduced by Mirjalili [63]. Those fancy insets are quite similar to the butterfly family. The natural behaviour of them in navigation known as transverse orientation is the main motivation for the algorithm. Moths fly using a fixed angle with respect to the moon, which is a very efficient mechanism for long travelling distances in a straight line. The MFO algorithm follows the following steps:
$M F O=(R, V, T)$ (63)
moths randomly and also the fitness values of them, V is a main function that makes the moths move around the search space and T is a termination criterion flag. In V function, the position of each moth with regard to a flame is updated as per Eq. (64):
$M_{i}=S\left(M_{i}, G_{j}\right)$ (64)
where, S is the spiral function, M_{i }is the i^{th} moth, and G_{j }is the j^{th} flame, whereas $S\left(M_{i}, G_{j}\right)$ is calculated using the following equations:
$S\left(M_{i}, G_{j}\right)=D_{i} e^{b l} \cos (2 \pi l)+G_{j}$ (65)
Here, Di represents distance of i^{th} moth from j^{th} flame, b is constant for announcing the shape of logarithmic spiral, and l is a random number between [− 1, 1]. D is calculated using the following equation.
$D_{i}=\leftG_{j}M_{i}\right$ (66)
where, $G_{j}$ indicate the $j_{m}^{\text {th }}$ flame and $M_{i}$ is the $i_{m}^{\text {th }}$ moth. The position of moths is updated with respect to $\mathrm{n}$ different locations in the search space, which can degrade the best promising solutions exploitation. Consequently, the number of flames adaptively decreases over the course of iterations using the following formula:
$\operatorname{flame}_{n o}=\operatorname{round}\left(F N1 * \frac{N1}{I N}\right)$ (67)
where, I is the current number of iterations, I N is the maximum number of iterations and FN is the maximum number of flames. More details can be found elsewhere [6365].
Adaptive NetworkBased Fuzzy Inference System (ANFIS) is a hybrid soft computing algorithm that combined the neurofuzzy technique, namely fuzzy inference system (FIS) with artificial neural network (ANN). ANFIS was firstly introduced by Jang [66] and it is based on the firstorder Sugeno fuzzy model [67].The ANFIS approaches integrate the best feature of fuzzy systems and neural networks by exercising learning ability and capability of FIS and ANN, respectively [68]. The ANFIS architecture consists of ifthen rules and couples of inputoutput data of fuzzy. For training, ANFIS uses neural network learning algorithms. As the algorithm used it to finetune the membership function (MF) and the associated parameter that methods the desired data sets [68, 69].
For clarifying, a Sugeno fuzzy model with two inputs, x and y, and one output is considered. Normally, the fuzzy rules are reported as follows [6669]:
Rule I: if x=A_{1} and B_{1}, then
$f_{1}=p_{1} x+q_{1} y+r_{1}$ (68)
Rule II: if x=A_{2} and y=B_{2}, then
$f_{2}=p_{2} x+q_{2} y+r_{2}$ (69)
where, f is an output parameter (response), p, q, & r are linear parameters, and A&B are nonlinear parameters. Figure 6 Illustrates the five layers used to create ANFIS structure while the function of each layer is represented as follows:
Figure 6. The ANFIS architecture with two input parameters x and y
Layer 1. Input nodes: the nodes of this layer generate membership grades to which they belong to each of the relevant fuzzy sets using MFs.
$\left\{\begin{array}{l}O_{i}^{1}=\mu_{A i}(x) \\ O_{i}^{2}=\mu_{B i}(y)\end{array}\right.$ (70)
Here, i= 1, 2, x, y are the crisp inputs to node i, and A_{i }&B_{i}. The linguistic label (small, large, etc.) associated with the node function. µ_{Ai}, µ_{Bi} respectively. Typically, µ_{Ai }(or µ_{Bi}) is selected as:
$\mu_{A i}(x)=\frac{1}{1+\left[\left(xc_{i} / a_{i}\right)^{2}\right]^{b_{i}}}$ (71)
or
$\mu_{A i}(x)=\exp \left\{\left(\frac{xc_{i}}{a_{i}}\right)^{2}\right\}$ (72)
where, {a_{i}, b_{i}, c_{i}} are the premise parameter set.
Layer 2. Rule nodes: The firing strength of each rule is calculated with mathematical multiplication. For instance,
$O_{i}^{2}=w_{i}=\mu_{A_{i}}(x) \cdot \mu_{B_{i}}(y)$ (73)
Each node output represents the firing strength of a rule.
Layer 3. Average nodes: the i^{th} node calculates the ratio of the i^{th} rule firing strength to the summation of the firing strengths of all rules consequently, defined as:
$O_{i}^{3}=\bar{w}_{i}=\frac{w_{i}}{w_{1}+w_{2}}$ (74)
w_{i} is taken as the normalized firing strength.
Layer 4. Consequent nodes: The node function of the fourth layer calculates the contribution of each i^{th }rules toward the overall output, as given:
$O_{i}^{4}=\bar{w}_{i} f_{i}=\bar{w}_{i}\left(p_{i} O_{i}^{4}=\bar{w}_{i} f_{i}\right.$$=\bar{w}_{i}\left(p_{i} x+q_{i} y+r_{i}\right)$ (75)
where, $\bar{w}_{i}$ isthe output of the layer 3, and {p_{i}, q_{i}, r_{i}} the parameter set.
Layer 5. Output nodes: The singlenode computes the overall output by adding all the incoming signals from the 4^{th} layer:
$O_{i}^{5}=$ overall output $=\sum_{i} \bar{w}_{i} f_{i}=\frac{\sum_{i} w_{i} f_{i}}{\sum_{i} w_{i}}$ (76)
The final output of ANFIS can be given as:
$f_{\text {out }}=\bar{w}_{1} f_{1}+\bar{w}_{2} f_{2}=\frac{w_{1}}{w_{1}+w_{2}} f_{1}+\frac{w_{2}}{w_{1}+w_{2}} f_{2}$$=\left(\bar{w}_{1} x\right) p_{1}+\left(\bar{w}_{1} y\right) q_{1}+\left(\bar{w}_{1}\right) r_{1}$$+\left(\bar{w}_{2} x\right) p_{2}+\left(\bar{w}_{2} y\right) q_{2}+\left(\bar{w}_{2}\right) r_{2}$ (77)
5.1 Designing the ANFISPID dynamic controller
The complete control approach that controls the dynamics of the robot mobile based on the ANFISPID is divided into three steps:
First step, Figure 7, represent the first step, which indicates the training stage of the ANFIS controller. The ANFIS use their adaptive and learning skills to learn and to predict the best recommended control efforts based on the already data. Which they are obtained from the designed GWOPID controllers in the previous section.
Figure 7. The ANFIS in training phase
The realized data were saved in a MATLAB/SIMULINK file. From the command anfisedit, these data were taken for training. The complete process was illustrated in Figure 8.
Figure 8 presents the internal composition of the ANFIS controller. The method used for ANFIS training is the hybrid training algorithm, with the input nodes (2, 2, 2), gaussmf membership function for the inputs and linear membership function for the output, each having 8 rules (see Figure 8.b), the epoch length was used is 50 iterations for each sample, with, 0.01s as the Simulink sampling time.
At the end of the training the result was saved as a fis file with respect to Sugenostyle. The root mean square error (RMSE) was found to be 0.1053 and be 0.094977 06 for ANFISPID1 and ANFISPID2, respectively.
(a)
(b)
(c)
(d)
Figure 8. (a) Data configuration for first ANFISPID controller, (b) structure of the ANFISPID controller, (c) data configuration for second ANFISPID controller, (d) error minimization corresponding to the second controller
Figure 9. Adjusting the parameters for the designed ANFISPID controller using GWO
Second step, scaling the new parameters using the GWO optimizer.
After the training step is complete and the optimal data are received, the designed ANFISPID controller must be developed by improving the parameters, i.e., Kp, KI, Kd, Kv, K_{θ} as demonstrated in Figure 9. To find the optimal values of the scaling gains, grey wolf method is proposed to guarantee a minimum ISE value.
Third step, the gained control scheme of the dynamic controller is showed in Figure 10. It reveals the hybridize between the ANFIS and PID controller, abridged as ANFISPID. Two trained ANFISPID controllers are selected for running the right and left DC motor voltage of the WMR, where a decoupling process is applied to separate the two control actions.
Figure 10. Bloc diagram of the final ANFISPID dynamic controller
The first controller takes the difference between the actual and reference speed from the right wheel as an input. The angle controller located in the left wheel studies the difference between the actual and desired orientations as an input.
Eq. (52) describe the relationship between the input voltages of the right and left DC actuators UR and UL, respectively, with the outputs of the first and second controller UV and Uθ, respectively, where the factors of the decoupling system are respectively Kv and K_{θ}.
$\left\{\begin{array}{l}U_{R}=K_{V} \cdot U_{V}+K_{\theta} \cdot U_{\theta} \\ U_{L}=K_{V} \cdot U_{V}K_{\theta} \cdot U_{\theta}\end{array}\right.$ (78)
where
$\left\{\begin{array}{l}e_{v}=U_{r}U_{m} \\ e_{\theta}=\theta_{r}\theta_{m}\end{array}\right.$ (79)
U_{r} is the desired velocity, U_{m} the actual velocity, e_{v }the velocity error, θ_{r} the desired angle, θ_{m} the measured orientation, and e_{θ }is the orientation error.
This study selected the use of various criteria and evaluations, a comparative study of the convergence curve performance between all controllers, the transition parameters of linear speed and of the angle for all techniques, also several cases study for the path tracking has been created, in order to confirm the over performance and high robustness of the suggested GWOANFISPID controller, In comparison to GWOPID, PSOPID, ALOPID, GOAPID, DAPID, ABCPID and MFOPID.
In order to examine the convergence behavior of the nature inspired algorithms, all simulation experiments were executed more than 30 times for each method on a PC separately, the maximum number iterations were 100, and population size is set to 20.
6.1 Convergence curve of all algorithms
Figure 11 highlights the convergence curves of the seven selected optimizations algorithms for designing the PID controller in comparison to our proposed hybrid controller (GWOANFISPID).
The result proves the overperformance of the GWOANFISPID controller. The minimum ISE value attained for all approaches used in the study is shown in Table 1. From Figure 11 and Table 1, it’s straightforward that the GWO optimizer gives the lowest ISE value with the faster convergence behavior compared to the other six techniques. Which were made it the best candidate for designing the ANFISPID controller. While the proposed GWOANFISPID controller has the lowest ISE value (0.0889).
Figure 11. Convergence curve of the seven algorithms compared to GWOANFISPID
Table 1. ISE values of the five algorithms
algorithms 
ISE 
PSOPID 
0.138826 
DAPID 
0.139292 
ALOPID 
0.154018 
ABCPID 
0.143813 
GOAPID 
0.176242 
MFOPID 
0.138489 
GWOPID 
0.138510 
GWOANFISPID 
0.089690 
6.2 Step response performance of speed controller
Figure 12 reveals the comparative analyses of the step responses performance for the linear speed that was designed with the help of the seven different techniques in comparison to the proposed GWOANFISPID controller.
Figure 12. Step response comparison for all velocity controllers
Table 2 shows the parameter details of all metaheuristic approaches, for the linear speed controller, and Table 3 presents the performance achieved in the time domain.
Table 2. The tuned gain details of linear velocity for all controllers
Methods 
Speed controller parameter tuning 

$K_{p}$ 
$K_{i}$ 
$K_{d}$ 
$K_{V}$ 
$K_{\theta}$ 

PSOPID 
149.98 
97.40 
1.013 
0.50 
0.50 
DAPID 
150 
1 
1 
0.50 
0.50 
ALOPID 
108.46 
52.24 
0.72 
0.50 
0.50 
ABCPID 
148.78 
142.40 
1 
0.50 
0.50 
GOAPID 
81.60 
89.97 
1 
0.50 
0.50 
MFOPID 
149.88 
149.97 
1 
0.50 
0.50 
GWOPID 
150 
148.94 
1.001 
0.50 
0.50 
GWOANFISPID 
452.007 
13.59 
1.25 
1.5 
0.9 
The best overshoot percentage (Mp %) was found by the ABCPID, and best settling time (ts) is reached by DAPID. where the GWOPID controller advantage is the fast rise time and accepted settling time (ts) value obtained, but a high overshoot, this result were shared with the PSOPID and MFOPID.
While the GWOANFISPID controller enclose all advantages of the previous seven techniques by giving the best settling time and an excellent overshoot value and fastest rise time (tr).
6.3 Step response performance of angle controller
Figure 13 describes the comparative analyses of the angle step responses performance that was designed with the aid of the seven previous mentioned approaches in comparison to the recommended GWOANFISPID controller.
Table 3. Performance characteristic for velocity controller
Methods 
Transition parameters for speed control 

$t_{r}$ 
Mp% 
Undershoot 
Peak 
$t_{p}$ 
$t_{s}$ 

PSOPID 
0.0190 
21.3279 
3.3018e05 
1.2133 
0.2148 
1.5344 
DAPID 
0.0191 
22.2135 
3.3017e05 
1.2221 
0.2148 
0.5248 
ALOPID 
0.0221 
23.2889 
3.5750e05 
1.2329 
0.2148 
1.9670 
ABCPID 
0.0190 
17.1998 
3.3097e05 
1.1720 
0.1933 
1.3128 
GOAPID 
0.0332 
35.0362 
7.8275e05 
1.3504 
0.2148 
2.0684 
MFOPID 
0.0189 
21.1015 
3.3025e05 
1.2110 
0.2148 
1.4805 
GWOPID 
0.0189 
21.1147 
3.3017e05 
1.2111 
0.2148 
1.4849 
GWOANFISPID 
0.0125 
8.8853 
0 
1.0889 
0.1700 
0.2547 
Figure 13. Comparison of step response for the orientation
From Figure 13, Tables 4 and 5, we can say that the GWOANFISPID gives a zeroovershoot value, with the best rise time (t_{r }for 10% → 90%) and settling time value (t_{s }for ±2% tolerance), were the GWOPID comes at the second place. For that reason, our next examinations are concentrating only on analyzing the two best candidates (GWOPID and GWOANFISPID).
Table 4. The tuned main parameters of the three controllers for angle control
Methods 
angle controller parameter tuning 

$K_{p}$ 
$K_{i}$ 
$K_{d}$ 
$K_{V}$ 
$K_{\theta}$ 

PSOPID 
149.93 
1 
31.019 
0.50 
0.50 
DAPID 
150 
1 
30.53 
0.50 
0.50 
ALOPID 
131.90 
22.60 
33.21 
0.50 
0.50 
ABCPID 
145.24 
11.46 
37.86 
0.50 
0.50 
GOAPID 
149.95 
112.96 
41.14 
0.50 
0.50 
MFOPID 
150 
1 
30.85 
0.50 
0.50 
GWOPID 
150 
1.388 
30.83 
0.50 
0.50 
GWOANFISPID 
500 
1.01 
75.31 
1.5 
0.9 
Table 5. Performance characteristics of all angle controllers
Methods 
Transition parameters for angle controller 

$t_{r}$ 
Mp% 
Undershoot 
Peak 
$t_{p}$ 
$t_{s}$ 

PSOPID 
0.3539 
7.2995 
0 
0.8423 
0.7449 
1.1016 
DAPID 
0.3499 
7.7670 
0 
0.8460 
0.7449 
1.1006 
ALOPID 
0.4034 
8.1941 
0 
0.8493 
0.9259 
6.0690 
ABCPID 
0.4247 
3.8441 
0 
0.8152 
0.9539 
3.1976 
GOAPID 
0.3606 
20.0551 
0 
0.9424 
0.9826 
3.3034 
MFOPID 
0.3522 
7.5138 
0 
0.8440 
0.7449 
1.1013 
GWOPID 
0.3518 
7.5961 
0 
0.8446 
0.7449 
1.1057 
GWOANFISPID 
0.2834 
0.1047 
0 
0.7858 
0.7700 
0.4302 
Figure 14. (a) Circle trajectory in XY plane, (b) linear velocity response for all controllers, (c) angle response of all controllers, (d) error of the distance
6.4 Circular path
This case, represent a conventional type of smooth trajectory that have been made to confirm the capacity of the GWOANFISPID controller in dealing with this kind of paths, in comparison to the GWOPID (Figure 14).
Here, a progressive variation in both linear and angular speed is applied for that purpose, results proves that the GWOANFISPID controller better handling with smooth trajectory than the GWOPID controller, due to a minimum tracking error from the suggested controller than the GWOPID one. Moreover, since the PID controller gives a very high overshoot in the linear velocity response at starting time. Which makes him. unsupported for handling the tracking issue.
6.5 Diamond shape trajectory
The Diamond shaped trajectory is a clear example of a noncontinuous gradient path. The main problem of this type of paths is the sharp and a noncontinuous motion, which calls for a serious control technique.
The spontaneous changing in velocity and due to the slow rise time and settling time, makes the GWOPID controller gives slow actions, that causes high distance error and a very high overshoot value too from this controller, that might generate an unstable and a troubled motion, which could by the time damage the DC actuators, for that reason it’s unsuitable for this kind of paths (Figure 15).
The GWOANFISPID controller has a tolerable overshoot contrasted to the GWOPID and rapidly time response, and a very small distance error too, which makes it supported for this type of trajectory.
(a)
(b)
(c)
(d)
Figure 15. (a) Diamond shape trajectory in XY plane, (b) linear velocity corresponding to controllers, (c) angle response corresponding to the path for the two controllers, (d) error of the distance
6.6 Zigzag trajectory
(a)
(b)
(c)
(d)
Figure 16. (a) Zigzag path in XY plane, (b) the tracking error of the controllers, (c) the theta angle response corresponding to the controllers, (d) the linear velocity corresponding to the controllers
Here a trapezoidal signal was applied, for that purpose progressively changing can be seen for both linear speed and angle, the GWO ANFISPID controller gives less overshoot and better time response, contrary to the GWOPID which gives an important overshoot and a high distance error value (Figure 16).
6.7 Adding the backstepping controller in the external loop
The designed ANFISPID controller role is to guarantee a minimum linear and angular velocity error, which calls for a kinematic controller. Accordingly, a backstepping controller was suggested to maintain a minimal distance error. The error is less than 0.002 m. To highlight the robustness of the Backstepping combined with ANFISPID controller, a square and a lemniscates trajectory were preferred.
6.7.1 Case of lemniscates
In order to generate this path, the following equation were applied [70]:
$x_{R}(n)=2.5 * \cos \left(2 * \pi * \frac{t}{20}\right)$ (80)
$y_{R}(n)=2.5 * \sin \left(2 * \pi * \frac{t}{30}\right)$ (81)
$\theta_{R}(n)=\operatorname{atan2}\left[\begin{array}{l}\left(\frac{y_{R}(n)y_{R}(n1)}{t+\epsilon}\right) \\ \frac{\left(x_{R}(n)x_{R}(n1)\right)}{t+\epsilon}\end{array}\right]$ (82)
where the backstepping parameters are selected as: k_{x}=10, k_{y }= 80 and k_{θ }= 15.
The desired and physical paths of the lemniscates are presented in Figure 17, displayed in blue and red lines, respectively. Figure 18 (ad) illustrate the errors of x, y, θ, and the tracking trajectory, respectively. The effect of the included kinematic controller in the external loop is indicated in Figure 18 (d), the distance error is less than 0.002 meter. For that reason, the two trajectories have exactly the same form in Figure 17.
Figure 17. Lemniscate path
(a)
(b)
(c)
(d)
Figure 18. Error corresponding to (a) x, (b) y, (c) the theta angle, (d) the trajectory tracking
6.7.2 Case of square trajectory
The recommended and actual trajectories of the square path are shown in Figure 19, highlighted in blue and red lines, respectively, Figure 20 (a)(c) display the errors of x, y, θ, and the tracking distance error, respectively.
Figure 19. Square trajectory
(a)
(b)
(c)
(d)
Figure 20. Error corresponding to (a) x, (b) y, (c) the theta angle, (d) the trajectory tracking
The square trajectory is classified as a sharpshaped path too, therefore it was chosen for this study in order to justify the capability of the proposed hybrid controller, a minimum distance error reached (about 0.015 meter), and an error angle fewer than 0.01 rad, therefore we can see the nearly superposition of the actual on reference path in Figure 19.
This paper suggested a new combination technique between the PID controller and an adaptive neurofuzzy inference system (ANFIS), shortened to ANFISPID controller, to deal with the motion regulation of the wheeled mobile robot (WMR). Tuning parameter of the proposed hybrid controller are challenging tasks, a comparative study of various nature inspired methods are introduced in the study, based on the integral square error (ISE). the selected algorithms namely, particle swarm optimizer (PSO), grey wolf optimizer algorithms (GWO), dragonfly optimizer(DA), ant lion optimizer (ALO), grasshopper algorithm (GOA), moth flame optimizer (MFO), and the artificial bee colony algorithm (ABC), simulation in MATLAB environment gives a demonstration and judgment between the ANFISPID controller and these seven techniques ,in terms of lowest overshoot value, minimum ISE value, convergence curve, less peak, peak time, and faster rise time and settling time received. Various study cases have been made, demonstrates the ability and stability of the proposed ANFISPID controller tuned by GWO algorithm, which has the capacity to generate smooth and suitable control signals for both linear and angular speeds, great performance over the PID controllers.
Moreover, to guarantee a low tracking error, a backstepping technique was applied at the kinematic control level, where a lemniscate and a square trajectory have already demonstrated the robustness of the mentioned controller in both smooth and sharp, shaped trajectory.
N. Jarasthitikulchai would like to acknowledge financial support by Navamindradhiraj University through the Navamindradhiraj University Research Fund (NURF).
[1] Poberznik, A., Leino, M., Huhtasalo, J., Jyräkoski, T., Valo, P., Lehtinen, T., Kortelainen, J., Merilampi, S., Virkki, J. (2021). Mobile robots and RFID technologybased smart care environment for minimizing risks related to employee turnover during pandemics. Sustain., 13(22): 12809. https://doi.org/10.3390/su132212809
[2] Saputra, R.P., Rakicevic, N., Kuder, I., Bilsdorfer, J., Gough, A., Dakin, A., de Cocker, E., Rock, S., Harpin, R., Kormushev, P. (2021). Resqbot 2.0: An improved design of a mobile rescue robot with an inflatable neck securing device for safe casualty extraction. Appl. Sci., 11(12): 5414. https://doi.org/10.3390/app11125414
[3] Catalan, J.M., Blanco, A., BertomeuMotos, A., GarciaPerez, J.V., Almonacid, M., Puerto, R., GarciaAracil, N. (2021). A modular mobile robotic platform to assist people with different degrees of disability. Appl. Sci., 11(15): 7130. https://doi.org/10.3390/app11157130
[4] Kot, T., Novák, P. (2018). Application of virtual reality in teleoperation of the military mobile robotic system TAROS. Int. J. Adv. Robot. Syst., 15(1): 16. https://doi.org/10.1177%2F1729881417751545
[5] Fue, K., Porter, W., Barnes, E., Rains, G. (2020). An extensive review of mobile agricultural robotics for field operations: Focus on cotton harvesting. AgriEngineering, 2(1): 150174. https://doi.org/10.3390/agriengineering2010010
[6] Cen, H., Singh, B.K. (2021). Nonholonomic wheeled mobile robot trajectory tracking control based on improved sliding mode variable structure. Wireless Communications and Mobile Computing, 2021: 2974839. https://doi.org/10.1155/2021/2974839
[7] Abdulwahhab, O.W., Abbas, N.H. (2018). Design and stability analysis of a fractional order state feedback controller for trajectory tracking of a differential drive robot. Int. J. Control. Autom. Syst., 16: 27902800. https://doi.org/10.1007/s1255501702348
[8] Mohareri, O., Dhaouadi, R., Rad, A.B. (2012). Indirect adaptive tracking control of a nonholonomic mobile robot via neural networks. Neurocomputing, 88: 5466. https://doi.org/10.1016/j.neucom.2011.06.035
[9] Khai, T.Q., Ryoo, Y.J., Gill, W.R., Im, D.Y. (2020). Design of kinematic controller based on parameter tuning by fuzzy inference system for trajectory tracking of differentialdrive mobile robot. Int. J. Fuzzy Syst., 22: 19721978. https://doi.org/10.1007/s40815020008429
[10] Khai, T.Q., Ryoo, Y.J. (2019). Design of adaptive kinematic controller using radial basis function neural network for trajectory tracking control of differentialdrive mobile robot. Int. J. Fuzzy Log. Intell. Syst., 19(4): 349359. http://dx.doi.org/10.5391/IJFIS.2019.19.4.349
[11] Gheisarnejad, M., Khooban, M.H. (2019). Supervised control strategy in trajectory tracking for a wheeled mobile robot. IET Collab. Intell. Manuf., 1(1): 39. https://doi.org/10.1049/ietcim.2018.0007
[12] Nikranjbar, A., Haidari, M., Atai, A.A. (2018). Adaptive sliding mode tracking control of mobile robot in dynamic environment using artificial potential fields. J. Comput. Robot., 11(1): 114.
[13] Wu, X., Jin, P., Zou, T., Qi, Z., Xiao, H., Lou, P. (2019). Backstepping trajectory tracking based on fuzzy sliding mode control for differential mobile robots. J. Intell. Robot. Syst. Theory Appl., 96: 109121. https://doi.org/10.1007/s10846019009809
[14] Wang, G., Zhou, C., Yu, Y., Liu, X. (2019). Adaptive sliding mode trajectory tracking control for WMR considering skidding and slipping via extended state observer. Energies, 12(17): 3305. https://doi.org/10.3390/en12173305
[15] Martins, F.N., Celeste, W.C., Carelli, R., SarcinelliFilho, M., BastosFilho, T.F. (2008). An adaptive dynamic controller for autonomous mobile robot trajectory tracking. Control Eng. Pract., 16(11): 13541363. https://doi.org/10.1016/j.conengprac.2008.03.004
[16] Binh, N.T., Tung, N.A., Nam, D.P., Quang, N.H. (2019). An adaptive backstepping trajectory tracking control of a tractor trailer wheeled mobile robot. Int. J. Control. Autom. Syst., 17: 465473. https://doi.org/10.1007/s1255501707110
[17] Rossomando, F.G., Soria, C., Carelli, R. (2011). Autonomous mobile robots navigation using RBF neural compensator. Control Eng. Pract., 19(3): 215222. https://doi.org/10.1016/j.conengprac.2010.11.011
[18] Bozek, P., Karavaev, Y.L., Ardentov, A.A., Yefremov, K.S. (2020). Neural network control of a wheeled mobile robot based on optimal trajectories. Int. J. Adv. Robot. Syst., 17(2): 110. https://doi.org/10.1177/1729881420916077
[19] Das, T., Kar, I.N. (2006). Design and implementation of an adaptive fuzzy logicbased controller for wheeled mobile robots. IEEE Trans. Control Syst. Technol., 14(3): 501510. https://doi.org/10.1109/TCST.2006.872536
[20] Štefek, A., Pham, V.T., Krivanek, V., Pham, K.L. (2021). Optimization of fuzzy logic controller used for a differential drive wheeled mobile robot. Appl. Sci., 11(13): 6023. https://doi.org/10.3390/app11136023
[21] Aldair, A.A., AlMayyahi, A., Wang, W. (2020). Design of a stable an intelligent controller for a quadruped robot. J. Electr. Eng. Technol., 15: 817832. https://doi.org/10.1007/s42835019003325
[22] Serradilla, F., Cañas, N., Naranjo, J.E. (2020). Optimization of the energy consumption of electric motors through metaheuristics and PID controllers. Electron., 9(11): 116. https://doi.org/10.3390/electronics9111842
[23] Latha, K., Rajinikanth, V., Surekha, P.M. (2013). PSObased PID controller design for a class of stable and unstable systems. ISRN Artif. Intell., 2013: 111. https://doi.org/10.1155/2013/543607
[24] Mosaad, A.M., Attia, M.A., Abdelaziz, A.Y. (2019). Whale optimization algorithm to tune PID and PIDA controllers on AVR system. Ain Shams Eng. J., 10(4): 755767. https://doi.org/10.1016/j.asej.2019.07.004
[25] Dutta, P., Nayak, S.K. (2021). Grey wolf optimizer based PID controller for speed control of BLDC motor. J. Electr. Eng. Technol., 16(6): 955961. https://doi.org/10.1007/s42835021006605
[26] Ekinci, S., Hekimoğlu, B., Izci, D. (2021). Opposition based Henry gas solubility optimization as a novel algorithm for PID control of DC motor. Eng. Sci. Technol. an Int. J., 24(2): 331342. https://doi.org/10.1016/j.jestch.2020.08.011
[27] Bagis, A., Senberber, H. (2017). ABC algorithm based PID controller design for higher order oscillatory systems. Elektron. ir Elektrotechnika, 23(6): 39. https://doi.org/10.5755/j01.eie.23.6.19688
[28] Slama, S., Errachdi, A., Benrejeb, M. (2019). Neural adaptive PID and neural indirect adaptive control switch controller for nonlinear MIMO systems. Mathematical Problems in Engineering, 2019: 7340392. https://doi.org/10.1155/2019/7340392
[29] Ye, J. (2008). Adaptive control of nonlinear PIDbased analog neural networks for a nonholonomic mobile robot. Neurocomputing, 71(79): 15611565. https://doi.org/10.1016/j.neucom.2007.04.014
[30] Pei, G., Yu, M., Xu, Y., Ma, C., Lai, H., Chen, F., Lin, H. (2021). An improved PID controller for the compliant constantforce actuator based on bp neural network and smith predictor. Appl. Sci., 11(6): 2685. https://doi.org/10.3390/app11062685
[31] Xu, S.S.D., Huang, H.C., Chiu, T.C., Lin, S.K. (2019). Biologicallyinspired learning and adaptation of selfevolving control for networked mobile robots. Appl. Sci., 9(5): 1034. https://doi.org/10.3390/app9051034
[32] Mai, T.A., Dang, T.S., Duong, D.T., Le, V.C., Banerjee, S. (2021). A combined backstepping and adaptive fuzzy PID approach for trajectory tracking of autonomous mobile robots. J. Brazilian Soc. Mech. Sci. Eng., 43: 113. https://doi.org/10.1007/s40430020027678
[33] Tiep, D.K., Lee, K., Im, D.Y., Kwak, B., Ryoo, Y.J. (2018). Design of fuzzyPID controller for path tracking of mobile robot with differential drive. Int. J. Fuzzy Log. Intell. Syst., 18(3): 220228. https://doi.org/10.5391/IJFIS.2018.18.3.220
[34] Ben Jabeur, C., Seddik, H. (2021). Design of a PID optimized neural networks and PD fuzzy logic controllers for a twowheeled mobile robot. Asian J. Control, 23(1): 2341. https://doi.org/10.1002/asjc.2356
[35] Wang, S., Yin, X., Li, P., Zhang, M., Wang, X. (2019). Trajectory Tracking Control for Mobile Robots Using Reinforcement Learning and PID. Iran. J. Sci. Technol.  Trans. Electr. Eng., 44: 10591068. https://doi.org/10.1007/s40998019002864
[36] AlMayyahi, A., Wang, W., Birch, P. (2014). Adaptive neurofuzzy technique for autonomous ground vehicle navigation. Robotics, 3(4): 349370. https://doi.org/10.3390/robotics3040349
[37] Selma, B., Chouraqui, S., Abouaïssa, H. (2020). Optimization of ANFIS controllers using improved ant colony to control an UAV trajectory tracking task. SN Appl. Sci., 2: 118. https://doi.org/10.1007/s424520202236z
[38] Premkumar, K., Manikandan, B.V. (2014). Adaptive neurofuzzy inference system based speed controller for brushless DC motor. Neurocomputing, 138: 260270. https://doi.org/10.1016/j.neucom.2014.01.038
[39] Pang, F., Luo, M., Xu, X., Tan, Z. (2021). Path tracking control of an omnidirectional service robot based on model predictive control of adaptive neuralfuzzy inference system. Appl. Sci., 11(2): 118. https://doi.org/10.3390/app11020838
[40] Elsisi, M., Tran, M.Q., Mahmoud, K., Lehtonen, M., Darwish, M.M.F. (2021). Robust design of ANFISbased blade pitch controller for wind energy conversion systems against wind speed fluctuations. IEEE Access, 9: 3789437904. https://doi.org/10.1109/ACCESS.2021.3063053
[41] Hidayat, Pramonohadi, S., Sarjiya, Suharyanto. (2013). A comparative study of PID, ANFIS and hybrid PIDANFIS controllers for speed control of Brushless DC Motor drive. Proceeding  2013 Int. Conf. Comput. Control. Informatics Its Appl. “Recent Challenges Comput. Control Informatics”, IC3INA, pp. 117122. https://doi.org/10.1109/IC3INA.2013.6819159
[42] Pal, D., Bhagat, S.K. (2020). Design and analysis of optimization based integrated ANFIS PID controller for networked controlled systems (NCSs). Cogent Eng., 7(1): 121. https://doi.org/10.1080/23311916.2020.1772944
[43] Guo, Y., Mohamed, M.E.A. (2020). Speed control of direct current motor using ANFIS based hybrid PID configuration controller. IEEE Access, 8: 125638125647. https://doi.org/10.1109/ACCESS.2020.3007615
[44] Housny, H., Chater, E.A., El Fadil, H. (2020). Multi closedloop adaptive neurofuzzy inference system for quadrotor position control. Adv. Sci. Technol. Eng. Syst., 5(5): 526535. https://doi.org/10.25046/AJ050565
[45] Chaudhary, H., Panwar, V., Sukavanam, N., Prasad, R. (2014). ANFIS PD+I based hybrid force/ position control of an industrial robot manipulator. Int. J. Mater. Mech. Manuf., 2(2): 107112. https://doi.org/10.7763/ijmmm.2014.v2.110
[46] Fierro, R., Lewis, F.L. (1995). Control of a nonholonomic mobile robot: backstepping kinematics into dynamics. Proc. IEEE Conf. Decis. Control, 4: 38053810. https://doi.org/10.1109/cdc.1995.479190
[47] Demir, B.E., Bayir, R., Duran, F. (2016). Realtime trajectory tracking of an unmanned aerial vehicle using a selftuning fuzzy proportional integral derivative controller. Int. J. Micro Air Veh., 8: 252268. https://doi.org/10.1177/1756829316675882
[48] Şenel, F.A., Gökçe, F., Yüksel, A.S., Yiğit, T. (2019). A novel hybrid PSO–GWO algorithm for optimization problems. Eng. Comput., 35: 13591373. https://doi.org/10.1007/s0036601806685
[49] Singh, N., Singh, S.B. (2017). Hybrid algorithm of particle swarm optimization and grey wolf optimizer for improving convergence performance. J. Appl. Math., 2017: 2030489. https://doi.org/10.1155/2017/2030489
[50] Mirjalili, S. (2016). Dragonfly algorithm: a new metaheuristic optimization technique for solving singleobjective, discrete, and multiobjective problems. Neural Comput. Appl., 27: 10531073. https://doi.org/10.1007/s0052101519201
[51] Reynolds, C.W. (1987). Flocks, herds, and schools: A distributed behavioral model. Proc. 14th Annu. Conf. Comput. Graph. Interact. Tech. SIGGRAPH 1987, 21: 2534. https://doi.org/10.1145/37401.37406
[52] Yasen, M., AlMadi, N., Obeid, N. (2018). Optimizing neural networks using dragonfly algorithm for medical prediction. 2018 8th Int. Conf. Comput. Sci. Inf. Technol. CSIT, pp. 7176. https://doi.org/10.1109/CSIT.2018.8486178
[53] Salam, M.A., Zawbaa, H.M., Emary, E., Ghany, K.K.A., Parv, B. (2016). A hybrid dragonfly algorithm with extreme learning machine for prediction. Proc. 2016 Int. Symp. Innov. Intell. Syst. Appl. INISTA. https://doi.org/10.1109/INISTA.2016.7571839
[54] Mirjalili, S. (2015). The ant lion optimizer. Adv. Eng. Softw., 83: 8098. https://doi.org/10.1016/j.advengsoft.2015.01.010
[55] Saha, S., Mukherjee, V. (2018). A novel quasioppositional chaotic antlion optimizer for global optimization. Appl. Intell., 48: 26282660. https://doi.org/10.1007/s1048901710977
[56] Gupta, E., Saxena, A. (2016). Performance evaluation of antlion optimizer based regulator in automatic generation control of interconnected power system. J. Eng. (United Kingdom). https://doi.org/10.1155/2016/4570617
[57] Karaboga, D., Basturk, B. (2008). On the performance of artificial bee colony (ABC) algorithm. Appl. Soft Comput. J., 8(1): 687697. https://doi.org/10.1016/j.asoc.2007.05.007
[58] Yu, X., Chen, W., Zhang, X. (2018). An artificial bee colony algorithm for solving constrained optimization problems. Proc. 2018 2nd IEEE Adv. Inf. Manag. Commun. Electron. Autom. Control Conf. IMCEC, pp. 26632666. https://doi.org/10.1109/IMCEC.2018.8469371
[59] Mirjalili, S., Mirjalili, S.M., Lewis, A. (2014). Grey wolf optimizer. Adv. Eng. Softw., 69: 4661. https://doi.org/10.1016/j.advengsoft.2013.12.007
[60] Saremi, S., Mirjalili, S., Lewis, A. (2017). Grasshopper optimisation algorithm: Theory and application. Adv. Eng. Softw., 105: 3047. https://doi.org/10.1016/j.advengsoft.2017.01.004
[61] Seifi, A., Ehteram, M., Singh, V.P., Mosavi, A. (2020). Modeling and uncertainty analysis of groundwater level using six evolutionary optimization algorithms hybridized with ANFIS, SVM, and ANN. Sustain., 12(10): 4023. https://doi.org/10.3390/SU12104023
[62] Bhuyan, M., Barik, A.K., Das, D.C. (2020). GOA optimised frequency control of solarthermal/seawave/biodiesel generator based interconnected hybrid microgrids with DC link. Int. J. Sustain. Energy, 39(7): 615633. https://doi.org/10.1080/14786451.2020.1741589
[63] Mirjalili, S. (2015). Mothflame optimization algorithm: A novel natureinspired heuristic paradigm. KnowledgeBased Syst., 89: 228249. https://doi.org/10.1016/j.knosys.2015.07.006
[64] Sayed, G.I., Hassanien, A.E. (2018). A hybrid SAMFO algorithm for function optimization and engineering design problems. Complex Intell. Syst., 4: 195212. https://doi.org/10.1007/s407470180066z
[65] Singh, R.K., Gangwar, S., Singh, D.K., Pathak, V.K. (2019). A novel hybridization of artificial neural network and mothflame optimization (ANN–MFO) for multiobjective optimization in magnetic abrasive finishing of aluminium 6060. J. Brazilian Soc. Mech. Sci. Eng., 41: 119. https://doi.org/10.1007/s4043001917788
[66] Jang, J.S.R. (1993). ANFIS: Adaptivenetworkbased fuzzy inference system. IEEE Trans. Syst. Man Cybern., 23(3): 665685. https://doi.org/10.1109/21.256541
[67] Buragohain, M., Mahanta, C. (2008). A novel approach for ANFIS modelling based on full factorial design. Appl. Soft Comput. J., 8(1): 609625. https://doi.org/10.1016/j.asoc.2007.03.010
[68] Bektas Ekici, B., Aksoy, U.T. (2011). Prediction of building energy needs in early stage of design by using ANFIS. Expert Syst. Appl., 38(5): 53525358. https://doi.org/10.1016/j.eswa.2010.10.021
[69] Boyacioglu, M.A., Avci, D. (2010). An adaptive networkbased fuzzy inference system (ANFIS) for the prediction of stock market return: The case of the Istanbul stock exchange. Expert Syst. Appl., 37(12): 79087912. https://doi.org/10.1016/j.eswa.2010.04.045
[70] Mohamed, M.J. (2018). Design a fuzzy PID controller for trajectory tracking of mobile robot. Eng. Technol. J., 36(1): 100110. https://doi.org/10.30684/etj.36.1a.15