1 Introduction

Nowadays, optimization theory has been receiving increasing attention, and its applications in recent decades have achieved a greater impact in real-world applications. Flexible computing techniques, such as fuzzy logic [1, 2], neuro-fuzzy systems [3], and nature inspired algorithms (Algorithm of bee colony optimization [4, 5], particle swarm optimization [6], ant colony algorithm [7], shark smell optimization algorithm [8], air-driven optimization [9], galactic swarm algorithm [10], differential evolution [11] and more), are some examples, where optimization techniques have been used in mobile robot navigation. In addition, it has been proven that techniques inspired by nature provide very good results, but it has also been seen that they are not the best solutions for all problems. The No-Free-Lunch (NFL) optimization theorem establishes that there is no algorithm of universal learning. On the other hand, fuzzy logic has been shown to be one of the most cited and used methods in the field of mobile robotics and control. Undoubtedly, the current use of metaheuristic algorithms to solve optimization problems is due to their ability to find the solutions closest to the optimum, reducing computational time and costs [12, 13]. These algorithms are currently being widely used in various applications, demonstrating that they have become a new paradigm of collective intelligence and a topic that has guided the work by many researchers in different fields, such as in fuzzy control and linguistic synthesis [14,15,16]. In nature, when looking closely at real phenomena, some systems can be found to be of self-organizing [7] nature. This characteristic of systems in nature has been applied to many algorithm-based search and optimization methods in solving many problems. Here, we describe some examples of related metaheuristics that have been used for the optimization of fuzzy controllers.

In [6], an improved particle swarm optimization (PSO) algorithm with dynamic adaptation of parameters is presented. An improvement to diversity and convergence in the particle swarm algorithm was proposed by applying type-1 fuzzy logic. In this case, fuzzy rules are used to adjust the main parameters in PSO, thus achieving a better dynamic adaptation of the algorithm parameters.

In [10], an improvement to the galactic swarm (GSO) algorithm is proposed. At least three different designs of fuzzy systems for the dynamic adjustment in the main parameters in GSO are presented. This optimized fuzzy logic GSO method increases its efficiency as a metaheuristic by having multiple exploration and exploitation cycles, thus increasing the possibilities of improving its precision in finding the global minimum.

In [13,14,15], different improvements to the differential evolution (DE) algorithm, with a fuzzy approach to dynamically adapt the main mutation parameter (F), are presented. This new algorithm proposal was called the fuzzy differential evolution (FDE) algorithm. For a set of benchmark functions, a performance comparison between type-1 and interval type-2 fuzzy logic was carried out by applying the proposed algorithm. In addition, a path optimizer was designed by dynamically adjusting the fuzzy controller membership functions in a motion controller [17, 18].

In [19], an improvement to the BCO algorithm (bee colony optimization) was proposed by applying a fuzzy approach in the dynamic adjustment of the parameters in BCO. This work initially shows the traditional BCO in the optimization of type-1 fuzzy controllers. Second, a change is applied to the original method by making use of fuzzy logic in dynamically adjusting the values of the main parameters, during execution. Finally, the proposed modification to the method is used in the optimization of control problems. In addition, in [20] BCO was used to search for the optimal distribution of parameter values in the membership functions of the fuzzy controllers, seeking stability in the autonomous mobile robot (AMR) trajectory. In the model for the type-2 fuzzy system, two types of perturbation were used in the search for improving its behavior in the face of uncertainty, showing better results against its counterpart, the original BCO.

In [21], the artificial bee colony (ABC) algorithm was used for automatically tuning a fuzzy load frequency controller (FLFC), and it was designed to smooth out deviations in frequency and power, due to load disturbances of the interconnected electrical system. The optimal adjustment in the membership functions (MFs) and the fuzzy control rules are taken into consideration, and this was of great importance to improve the performance of the method and achieve a level of robustness in the operation of the system.

There are also previous works that use the SSO algorithm [8, 22]. For example, the work oriented to Solar energy forecasting [23] or the optimal switching sequence of the reconfiguration of the electrical distribution network [24]. However, this work makes a difference by using a fuzzy variant that adjusts the main alpha and beta parameters of VSSO and is applied for the first time to optimize fuzzy logic controllers. The objective of this research is the dynamic search for better parameter values of the membership functions of the interval type-2 fuzzy logic controller (IT2FLC), having as objective function the minimization of errors (MSE) and the execution time in the process of following a trajectory. So, the main contribution of the paper is the proposal of the fuzzy variant of SSO and its application for the optimization of type-2 fuzzy control of AMR.

The following parts of this document are organized as follows: Sect. 2 presents an introduction and description of the used methodology, Sect. 3 describes the problems to be solved using the proposed methodology, Sect. 4 explains and shows the obtained experimental results, and finally, we close in Sect. 5 showing some future work suggestions and conclusions.

2 Overview of the Proposed Methodology, Type-1 and Type-2 Fuzzy Logic Systems

This section presents the methodology used in the development of our proposal, where their characteristics and behavior are detailed, and this is because they are relatively new and innovative. The particular SSO metaheuristic was selected from a set of extensive and recently used optimization algorithms that have been shown to give excellent results in solving optimization problems. For this reason, this work aims to show its potential and performance in problem optimization.

2.1 The Fuzzy Variant of Shark Smell Optimization (VSSO)

The original shark smell optimization (SSO) is a nature-based metaheuristic proposed by Oveis Abedinia et al. [8], based on the observation of how sharks' olfactory power is capable of detecting different types of smells from all directions. This metaheuristic uses a method that emulates the technique used by sharks when looking for prey (moves, moves, and turns) and methods, such as using the blood concentration as a key factor in finding optimal routes to the food sources [22]. Recently, bio-inspired systems have caused a great boom, becoming a source of inspiration for the development of new ideas that currently model many artificial intelligence systems. This SSO metaheuristic presents several assumptions, described below in this section. The mathematical model is described based on the three main components that are shown below:

  1. (1)

    Initialization of food source (Population of solutions): The injured fish leaves a scattered trail of blood in the sea (search domain). It is considered at this point that the food (prey) is approximately fixed.

  2. (2)

    Shark search (exploitation phase, determination of food location): When blood is dispersed in the water, the flow of water distorts the scent particles of the prey. Therefore, the more intense the odor particles are, the closer the shark is to the prey. Following the effect of the shark's scent intensity, the shark can reach the prey.

  3. (3)

    Scout sharks (exploitation Phase): this is a process of evaluating the quality of the solution in the search for a food source, in the shark search domain.

This metaheuristic is a highly efficient optimization algorithm, which can be extremely efficient in finding solutions based on the shark’s prey scent-picking abilities. Figure 1 illustrates the dynamics of shark movement in search of the most highly concentrated smell source. This new methodology is implemented during the iterations of the proposed algorithm (VSSO) in the search for the best solution for an optimization problem.

Fig. 1
figure 1

Shark following the effect of the shark’s scent intensity, the shark reaches the prey

The detailed steps of the proposed algorithm (in a minimization problem) are briefly explained below:

2.1.1 Shark Position Initialization

First, we have to perform the shark position initialization using Eq. (1), which randomly generates initial solutions of a population for an optimization problem in the search domain (the sea, in this case). The food source (prey) is an optimal solution, so the set of solutions is characterized by a source with an smell concentration and with a position. An initial solution is formulated in the following general way according to Eq. (1) [22]:

$$ \left[ {X_{1}^{1} ,~X_{2}^{1} ,~X_{3}^{1} , \ldots ~X_{{{\text{NP}}}}^{1} } \right]\;\;\;\;\;\;\;\;\;\;\;{\text{NP}} = {\text{Population}}\;{\text{size}} $$
(1)

where superscript 1 represents the number of execution or iteration, there \(i_{{{\text{th}}}}\) initial point vector \(X_{i}^{k}\), i.e., \(i_{{{\text{th}}}}\) possible initial solutions for the problem to be optimized is as follows Eq. (2):

$$ X_{{i,j}}^{1} = \left[ {X_{{i,1}}^{1} ,~X_{{i,2}}^{1} ,~X_{{i,3}}^{1} ,~ \ldots ~X_{{i,{\text{NV}}}}^{1} } \right] $$
(2)

where \(X_{{i,j}}^{k}\) belonging to \(J{\text{th}}\) dimension in the \(i{\text{th}}\) shark position; \({\text{NV}}\) represents the number of decision variables in the optimization problem. A higher concentration on the current position of the shark will be an indication of how close the shark is to the prey (solution).

2.1.2 Forward Movement

Hypothetically, while there is dispersal in the water of the prey's blood, the position and speed of the shark evolve towards the target, resulting in better solutions. So synchronously, the position vector and the velocity vector contain dimensional elements and decision variables represented by Eq. (3):

$$ V_{{i~}}^{1} = \left[ {\nu _{{i,1}}^{1} ,~\nu _{{i,2}}^{1} ,~\nu _{{i,3}}^{1} ,~ \ldots ~\nu _{{i,NV}}^{1} } \right] $$
(3)

Limits must be established that should not be exceeded, when the intensity and concentration of the odor exponentially increase the speed of the shark. The dynamic inertia, when the shark swims, is given by the speed formula of each dimension and is given as follows in Eq. (4):

$$ \begin{gathered} \left| {v_{{i~j}}^{k} } \right| = {\text{min}}\left[ {\left| {\eta _{k} \cdot R_{1} \cdot \nabla \left( {OF} \right)} \right|~_{{x_{{i~j}}^{k} }} + \left| { \propto _{k} \cdot R_{2} \cdot v_{{i~j}}^{{k - 1}} } \right|,\left| {~\beta _{k} \cdot v_{{i~j}}^{{k - 1}} } \right|~~} \right] \hfill \\ i = 1,2,3, \ldots ,{\text{NP}}\;\;j = 1,2,3, \ldots ,{\text{NV}}\;\;k = 1,2,3, \ldots ,k_{{{\text{max}}}} \hfill \\ \end{gathered} $$
(4)

where in the original SSO: \(\eta _{k} :\) is a parameter in the interval [0 1], which is a gradient coefficient; \(\nabla \left( {{\text{OF}}} \right):\) is the gradient of the objective function; \(R_{1}\) and \(R_{2}\) are random values with uniform distribution. The sign considered for the value of \(v_{{i~j}}^{k}\) is based on the direction taken by the term chosen in the minimal operator;\(~\beta _{k} :\) is a speed limiter factor for each stage k, it's a random number in [0, 1] and \(\propto _{\user2{k}} :\) is a measure of inertia and represents the weight coefficient in the shark's swim, it is also a random number in [0, 1].

In our proposal (VSSO), two main parameters are adjusted with a fuzzy approach, taking the iteration as input with a range [0 1], and having as outputs: Alpha with a range [0 1] and finally Betha in a range [0 4]. In this form, the coefficient of inertia or moment range ∝ and the speed limiting factor β, are dynamically adjusted in each stage k (number of stages or iterations involved in the frontal movement of the shark). For the calculation of the iteration value, we use Eq. (5) [7].

$$ {\text{Iteration}} = \frac{{{\text{Current}}\;{\text{iteration}}}}{{{\text{Maximum~of}}\;{\text{iterations}}}} $$
(5)

where the iteration variable performs the calculation of the percentage of elapsed iterations, the “current iteration” is described as the actual iteration and the “maximum of iterations” as the number of iterations established in the algorithm, this illustrated in Fig. 2a. Equation (5) is used as the input for the fuzzy system (called FSSO) for the adaptation of parameters, using this equation where the range of the input is from 0 to 1. The input variable is shown in Fig. 2b, where this variable has three triangular membership functions (Low, Medium, High), and their values are calculated using Eq. (5). The first output variable that is the α parameter is granulated into three triangular membership functions (Low, Medium, High) is shown in Fig. 3a, with a range from 0 to 1. This range was found by trial and error, in the search for the desired behavior of the SSO established by its original author. The second output variable β is shown in Fig. 3b with the range from 0 to 4, granulated into three membership functions (low, medium, high), which correspond to a factor to limit the speed of the shark.

Fig. 2
figure 2

a FSSO proposed fuzzy system and b the input iteration

Fig. 3
figure 3

FSSO output variables: a Alpha and b Beta

The current velocity (velocity vector) considered as the previous position will give us a new position \(Y_{{i~}}^{{k + 1}}\) during the shark’s forward movement shown by Eq. (6):

$$ Y_{{i~}}^{{k + 1}} = x_{{i~}}^{k} + v_{{i~}}^{{k - 1}} \cdot \Delta t_{k} $$
(6)

where: \(\Delta t_{k}\) is time interval assumed to be 1 for every \(k_{{{\text{th}}}}\) iteration; \(Y_{{i~}}^{{k + 1}}\) is the new position; \(x_{{i~}}^{k}\) is the actual position; and \(v_{{i~}}^{{k - 1}}\) is the velocity in the previous position.

2.1.3 Rotational Movement

The rotational displacement gives a shark the ability to find the highest odor particles as it moves forward, allowing it to perform a local search at each iteration to find higher quality candidate solutions (positions). As shown in Fig. 4, the shark's rotation is in a closed pattern, almost never in a circle. This is modeled by Eq. (7) below:

$$ Z_{{i~}}^{{k + 1,m}} = ~Y_{{i~}}^{{k + 1}} + R_{{3~~.~}} Y_{{i~}}^{{k + 1}} ;\;\;\;\;\;\;m = 1,~2,~3 \ldots ,M $$
(7)

where \(R_{3}\) is a correlation value in the interval [− 1 1]. The previous procedure looks for the answer \(Y_{{i~}}^{{k + 1}}\) to complete the local search, and the best location \(Z_{{i~}}^{{k + 1,m}}\) is determined. The maximum number of iterations to be performed by the VSSO algorithm is determined by \(M\), and \(m = \left( {1,~2,~3 \ldots ,M} \right)\) is the iteration (ubication points) searched at each stage around \(~Y_{{i~}}^{{k + 1}}\).

Fig. 4
figure 4

Illustration of Shark’s rotational movement

2.1.4 The Location Search of the Shark Position

When the shark encounters, during the rotational movement, a position with more intense smell, this will be the basis of its search from this position and continue its movement on this path, as shown in Fig. 4. Our goal during its execution is the minimization of the error, and we look for the smallest objective function value that is determined in the formula shown in Eq. (8):

$$ X_{i}^{{k + 1}} = {\text{argmin}}\{ {\text{OF}}\left( {Y_{{i~}}^{{k + 1}} } \right),{\text{~OF}}\left( {{\text{~}}Z_{{i~}}^{{k + 1,1}} } \right), \ldots .,{\text{OF}}\left( {Z_{{i~}}^{{k + 1,M}} } \right) $$
(8)

where \(X_{i}^{{k + 1}}\) is the next shark position; \(Y_{{i~}}^{{k + 1}}\) is the forward movement and \(Z_{{i~}}^{{k + 1,M}}\) is the shark’s rotational movement, similar to a local search of the SSO algorithm.

The goal is the minimization of the objective function OF. The iterations will stop until k reaches its minimum value (the best individual) or a stopping criterion is met in a particular search space, determined for the particular problem to be optimized.

The Variant Shark Smell Optimization Algorithm, like other methods based on a population, contains parameters in a similar way to other metaheuristic optimization methods, which include the parameters of number of stages \(k_{{{\text{max}}}}\) as well as \(\propto\), \(\beta\), and \(\eta\) of each stage. The following values were determined for VSSO: \(\eta = 0.7\), \(\propto = {\text{dynamic}}\), and \(\beta = {\text{dynamic}}\), these parameters are adjusted for an optimization problem individually, and this is part of the proposal of our work using fuzzy logic to achieve this adaptation.

2.2 Wind-Driven Optimization (WDO) Background

Developed in [25], WDO is a new metaheuristic inspired by atmospheric wind circulation, today it is widely used to solve multidimensional problems [26]. A characteristic of this metaheuristic algorithm is how it represents its population by employing air packets, where the position and speed of their displacement are updated in each iteration.

$$ u_{{t + 1}}^{i} = \left( {1 - } \right)u_{t}^{i} - {\text{gx}}_{t}^{i} \left( {{\text{RT}}\left| {\frac{1}{r} - 1} \right|\left( {x_{{{\text{op}}}} - x_{t}^{i} } \right)} \right) + \left[ {\frac{{{\text{cu}}_{t}^{{{\text{other}}~{\text{dim}}}} }}{r}} \right] $$
(9)

The new speed, from Eq. (9), describes the terms of the algorithm procedure, a maximum atmospheric pressure, \(\propto\) is the coefficient of friction, and \(u^{i}\) is the speed of the current air package. The second term is made up of \(g,\) which is equivalent to gravity, while \(x^{i}\) is the current position, \(RT\) is a universal constant that denotes the gas and temperature separately, \(r~\) is the range of the air package with regards to their pressure, here the air particles are classified in descending order, \(x_{{{\text{opt}}}}\) denotes the best global position, and the Coriolis constant is represented by \(c\).

Equation (10) represents the next position in the WDO.

$$ x_{{t + 1}}^{i} = x_{t}^{i} + u_{{t + 1}}^{i} $$
(10)

2.3 Type-1 and Type-2 Fuzzy Logic Background

Zadeh originally proposed fuzzy logic in [27], and in [28] also describes recent applications of the method. Fuzzy logic unifies the incompatibility between precision and complexity because normal computational procedures are so precise that there is an intrinsic incompatibility with the complexity of human reasoning. Nowadays, fuzzy logic is a tool that makes life more comfortable, and human reasoning in its different ways of thinking can be modeled through the use of linguistic variables, with the result that when implemented on a machine, the logic of a human expert can be used for automating human reasoning in decision making.

Type-2 Fuzzy logic [29] was presented as an extension of classical fuzzy logic by assigning fuzzy values to memberships of linguistic variables and improves on the inference in type-1 fuzzy sets, thanks to the management of the existing uncertainties. In Figs. 3 and 4, Eqs. (11) and (12), the trapezoidal type-1 and type-2 membership functions are illustrated, as follows. As can be appreciated, when comparing the figures, a type-2 membership function (Fig. 6) uses an area to represent uncertainty (called footprint of uncertainty (FOU)) instead of having a simple curve like in a type-1 membership function (Figs. 5, 6).

$$ \mu _{{a,~b,~c,~d}} \left( x \right) = \left\{ \begin{array}{ll} 0 & \quad {\text{si}},~~x \le a \\ \frac{{x - a}}{{b - a}} &\quad {\text{si}},\;a \le x \le b \\ 1 & \quad {\text{si}}, \; b \le x \le c \\ \frac{{d - x}}{{d - c}}, & \quad {\text{si}} \; c \le x \le d \\ 0, & \quad {\text{si}} \; d \le x \\ \end{array} \right.\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mu _{{\left( x \right)}} = trapmf\left(x,\left[ {a_{~} ~b_{~} ~c_{~} ~d_{~} } \right] \right) $$
(11)
$$ \begin{gathered} \mu _{{a,~b,~c,~d}} \left( x \right) = \left\{ \begin{array}{ll} 0& \quad {\text{si}}, \; x \le a \\ \frac{{x - a}}{{b - a}} & \quad {\text{si}}, \; a \le x \le b \\ 1& \quad {\text{si}}, \; b \le x \le c \\ \frac{{d - x}}{{d - c}}, &\quad {\text{si}} \; c \le x \le d \\ 0, & \quad {\text{si}} \; d \le x \\ \end{array} \right.\;\;\;\;\;\;\;\;\;\;\;\;\;\;\mu _{{\left( x \right)}} = itrapaty\left( {x,\left[ {a_{1} ~b_{1} ~c_{1} ~d_{1} ~a_{2} ~b_{2} ~c_{2} ~d_{2} } \right]} \right) \hfill \\ \tilde{\mu }\left( x \right) = \left[ {\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{\mu } \left( x \right),~\bar{\mu }\left( x \right)} \right] = ~itrapaty\left( {x,\left[ {a_{1} ~b_{1} ~c_{1} ~d_{1} ~a_{2} ~b_{2} ~c_{2} ~d_{2} } \right]} \right) \hfill \\ \mu _{1} \left( x \right) = {\text{max}}\left( {{\text{min}}\left( {\frac{{x - a_{1} }}{{b_{1} - a_{1} }},1,\frac{{d_{1} - x}}{{d_{1} - c_{1} }}} \right),0} \right) \hfill \\ \mu _{2} \left( x \right) = {\text{max}}\left( {{\text{min}}\left( {\frac{{x - a_{2} }}{{b_{2} - a_{2} }},1,\frac{{d_{2} - x}}{{d_{2} - c_{2} }}} \right),0} \right) \hfill \\ \end{gathered} $$
(12)
Fig. 5
figure 5

Description of type-1 trapezoidal membership function

Fig. 6
figure 6

Description of type-2 trapezoidal membership function IT2

The combination of fuzzy logic with various AI techniques makes it possible to achieve good results in areas that previously seemed to be very difficult, like navigation of autonomous mobile robots. In the industry, robotics also plays a crucial role in the manufacturing processes. The updating and optimization of the software and hardware through these methodologies is of utmost importance since the efficiency and performance in the robot's working environment will be improved [30].

We propose the design of a fuzzy controller that, when implemented, offers outputs with a soft response instead of a traditional hard logic response with oscillations. Recent work has been developed using other combinations based on metaheuristics and fuzzy logic in robotics, such as those described in [31], and [32]. In the last decade, other metaheuristics and combinations between them have been carried out, and they have also been hybridized with fuzzy logic in robotic applications, as in [33]. In addition, in [34, 35], the development of applications with other similar methods has been presented. In the same way, an optimization of the fuzzy logic controller with the VSSO metaheuristic is proposed in this work. In this case, it is a Mamdani type-2 fuzzy controller and its main function is to create a smooth response without oscillations on a mobile robotic platform, outperforming what can be done with type-1 fuzzy and traditional PID controllers [36].

3 Application of the Proposed Algorithm for Optimizing the Performance of the Mobile Robot

The proposed methodology for the optimization of parameter values in the fuzzy controller membership functions with the Variant Shark Smell Optimization Algorithm is the following: Evaluate the fuzzy controller performance using a differential robot plant and generate evaluation results concerning the desired path, these values will be taken by the VSSO algorithm, which will produce as a result the distance between the parameters of the membership functions, to then continue with the loop process. Next, we propose a fuzzy control architecture to achieve the dynamic variation of the parameters of the plant in the execution time, as shown in Fig. 7.

Fig. 7
figure 7

Procedure for searching for optimal parameter values of membership functions

3.1 Type-1 Fuzzy Controller

A fuzzy controller is optimized for an AMR of differential type, using the proposed VSSO algorithm applied to this specific problem. The final design of the fuzzy controller is described in the following sections, and Fig. 8 describes the final methodology that is applied, and we describe how the VSSO dynamically searches for the optimal parameters of the membership functions in the fuzzy input and output sets. The plant for the differential mobile robot is described in [37]. The main objective of finding a better controller is to optimally follow a certain path, where the relationship between the linguistic variables is presented through an expert design of nine fuzzy rules. Figure 9 presents the desired path that will be the reference to be followed by the robot. Figure 9 illustrates the X-axis that shows the displacement in the X coordinate and the Y-axis represents the displacement in the Y coordinate, which dynamically changes during the iterations of the algorithm in the adjustment of the values of the parameters that form the membership functions of the fuzzy controller, using error data interpretation.

Fig. 8
figure 8

Proposed methodology

Fig. 9
figure 9

Desired path

In Fig. 10, the best result of 35 executions is shown, without noise disturbances, where the continuous red line shows us the desired trajectory, and the blue dotted line denotes the real trajectory of the robot. At first glance, it highlights how the robot has good performance when optimally following a given trajectory, generating an MSE of 4.64 × \(10^{{ - 03}}\) and a standard deviation of 1.03 × \(10^{{ - 02}}\).

Fig. 10
figure 10

Graph of the real and desired path using the mean square error (MSE) for comparison

Figures 11 and 12 show the design of the input variables, \(e_{{{\text{lv}}}}\) and \(e_{{{\text{wv}}}}\), where each input is similarly granulated into three membership functions, trapezoidal at the ends and triangular in the middle. Standardization of the response values of the output variables was carried out, obtaining only values in the range of [− 1 1]. Both outputs are granulated into three membership functions of the triangular type, and the output variables are shown in Figs. 13 and 14, for \({\text{PM}}_{{\text{1}}}\) and \({\text{PM}}_{2} ,~{\text{respectively}}\). The proposed controller performs control on the right and left motors with the parmotor or torque of the mobile robot using as input the error data. The structure of the fuzzy system is shown in Fig. 15.

Fig. 11
figure 11

Input 1;\(~e_{{lv}}\)

Fig. 12
figure 12

Input 2; \(e_{{wv}}\)

Fig. 13
figure 13

Output 1; \({\text{PM}}_{{\text{1}}}\)

Fig. 14
figure 14

Output 2; \({\text{PM}}_{{\text{2}}}\)

Fig. 15
figure 15

Type-1 FLC design for the robot controller

Table 1 contains the fuzzy rule set of the proposed fuzzy controller (T1FLC and IT2FLC), where the relationship between the linguistic variables is described, \(e_{{{\text{lv}}}}\) represents the linear velocity error and \(e_{{{\text{wv}}}}\) is the angular velocity error. First of all, the designed T1FLC is used directly in the mobile robot plant for simulation tests, integrating a Mamdani type-1 fuzzy model as shown below:

$$ Rule_{n} :if\,e_{{{\text{vl}}}} \,is\,e_{{{\text{vl}}_{{\left( i \right)}} }} \,and\,e_{{{\text{WV}}}} \,is\,e_{{{\text{WV}}_{k} }} \,then\,{\text{PM}}_{{1}} \,is\,{\text{PM}}_{{1_{{\left( {i\,k} \right)}} }} \;and\,{\text{PM}}_{2} \,is\,{\text{PM}}_{{2_{{\left( {i\,k} \right)}} }} $$
Table 1 Fuzzy rules set

\(n = 1,~2,~3 \ldots ,~9~\left( {nine~rules} \right);\) \(i = 1,~2,~3~\); \(k = 1,~2,~3\); because \(e_{{{\text{vl}}}}\) and \(e_{{{\text{WV}}}}\) have three membership functions each. The \(e_{{{\text{vl}}_{{\left( i \right)}} }}\) and \(e_{{{\text{WV}}_{k} ~}}\) correspond to fuzzy sets of the inputs \({\text{e}}_{{{\text{vl}}}}\) and \({\text{e}}_{{{\text{WV}}}}\) Similarly, the \({\text{PM}}_{{1_{{\left( {i~k} \right)}} ~}}\) and \({\text{PM}}_{{2_{{\left( {i~k} \right)}} }}\) correspond to fuzzy sets of the outputs \({\text{PM}}_{{1{\text{~}}}}\) and \({\text{PM}}_{{2{\text{~}}}}\), respectively.

3.2 Dynamic Parameter Setting of Membership Functions Using SSOV

This section mainly describes how the dynamic adjustment of the parameter values of the MFs is developed in the fuzzy controllers. We made use of the variant of the SSO algorithm for the selection and search of the values of the parameters that form the already mentioned membership functions. Similar methodologies have recently been implemented in other works [38]. The main idea of choosing and creating a variant algorithm (VSSO) is that there is no published work on this algorithm using fuzzy logic in the optimization of membership functions, which is our proposal. There also exist other variants of SSO [39, 40], and we consider their implementation and analysis to be a good idea to demonstrate that good results can be achieved in comparison with other metaheuristics, but this can constitute possible future work.

3.2.1 The Location Search of the Shark Position

3.2.1.1 Autonomous Mobile Robot General Description

The control scheme for the AMR is established as follows: A differential robot model has been used, which consists of two independent driving wheels implemented on the same axle and as the support a free front wheel, [41, 42]. We define the problem to be solved as an autonomous robot with independent wheels with the ability to follow a given path in a fixed or dynamic environment. The robot's structure is symmetrical on the perpendicular axis, and its center of mass has its location at the geometric center of the robot. Figure 16 graphically describes the differential robot model. For practicality in the robot model, we assume that we can ignore the dynamics of the freewheel, as shown in Eq. (13) [43].

$$ M_{{\left( q \right)}} \dot{v} + C_{{(q,\dot{q}{\text{)}}}} v + D_{v} = \tau + P\left( t \right) $$
(13)
(14)

where \(q = \left( {x,y,\theta } \right)^{T}\) describes a vector of the configuration coordinates of the model, \(v = \left( {v,w} \right)^{T}\) contains the vector of system velocities, \(\tau = \left( {\tau _{1} \tau _{2} } \right)\) is the vector of torque response values or individual torque to the two wheels of the differential autonomous mobile robot, where \(\tau _{1} \;{\text{and}}\,\tau _{2}\) denote the intensity of the traction on the right or left wheels, \(P \in R^{2}\) describes the uniformly bounded disturbance vector, \(M_{{\left( q \right)}} \in {\text{~}}R^{{2 \times 2}}\) describes the positive-definite inertia matrix, \(C_{{(q,\dot{q}{\text{)}}}} v\) is the vector of centripetal and Coriolis forces, and \(D \in R^{{2x2}}\) a diagonal positive-definite damping matrix.

Fig. 16
figure 16

Wheeled Mobile Robot Model

According to [37], the kinematics of the system is described in Eq. (14), here \(\left( {x,~y} \right)\) indicates the position in the \(X - Y\) (world) reference frame; \(\theta\) is the angular difference given between the direction to follow and the x-axis; \(v\) and \(w\) derivatives of the velocity vector are identified as the linear and angular velocities, respectively. Furthermore, Eqs. (13) and (14) have the following nonholonomic constraint (Eq. 15):

$$ \dot{y}cos\theta - xsin\theta = 0 $$
(15)

An ideal condition is displayed so that the wheel does not slip, avoiding skidding towards the sides of the robot [13]. So Eq. (14) does not satisfy the necessary Brockett condition for stabilization of the feedback in the system [39], being able to conclude that we do not have a continuous static state feedback controller that stabilizes the closed-loop system, so there is no equilibrium point.

The control objective is to design a fuzzy logic controller such that \(\tau \;{\text{or}}\;{\text{PM}}\) ensures given a path \(q_{d} \left( t \right)\) and the desired orientation. A fuzzy logic controller must be designed to apply an adequate Parmotor \(\left( {{\text{PM}}} \right),\) such that the measured positions \(q\left( t \right)\) reach the reference trajectory \(q_{d} \left( t \right)\) that is the following control goal (Eq. 16):

$$ \mathop {\lim }\limits_{{t \to \infty }} \Vert q_{d} \left( t \right) - q\left( t \right) \Vert = 0 $$
(16)

Below we can find the structure for achieving the stabilization of the differential robot that is following the desired path. The backward approach is used to design the stabilization control law in Eqs. (13) and (14), since the velocity vector \(v\) indirectly controls the kinematics subsystem. The overall controller design consists of two steps:

  1. 1.

    A reference velocity vector is applied \(v_{r} = v\) such that the kinematics model (Eq. 14) be uniformly asymptotically stable.

  2. 2.

    Design a velocity controller \(\tau ~{\text{or}}\;{\text{PM}}\) by using FLC that ensures:

    $$ v_{r} \left( t \right) - v\left( t \right) = 0,~\forall t \ge t_{s} $$
    (17)

where \(t_{s}\) is the accessibility time.

Equation (15) proposes that real AMRs have driving wheels, where the control input is \({\text{PM}},\) which must be utilized to stabilize the dynamics (Eq. 13), without destabilizing the system (Eq. (14)), by forcing \(v \in R^{2}\) to reach the reference velocity vector \(v_{r} \in R^{2}\) in a finite-time. Roughly speaking, if (Eq. 15) is asymptotically satisfied \(\left( {i.e.,~t_{s} = \infty } \right)\), then \(v\) along \(t < \infty\). Thus, the mobile robot will be neither positioned nor oriented at the desired point. Figure 8 shows the feedback connection that implies the fuzzy controller in their process.

3.2.1.2 Optimal Membership Function Parameter Reconfiguration Using the Variant Algorithm (VSSO)

The previous version of our fuzzy controller to adjust [42] was of the Takagi–Sugeno type, and for simplicity, we decided to modify it and make it of the Mamdani type, so that the input and output parameter values are represented by linguistic variables.

For simplification, fixed parameters (a, k) are established, which correspond to the initial-final parameters of the fuzzy sets, which is as a restriction on the input variables. By means of the VSSO metaheuristic, we find the optimal values of the remaining parameters, namely b, c, d, e, f, g, h i, j, in a simple way (Fig. 11). Regarding the membership functions of the output variables, the algorithm will search for the optimal values of the parameters (b, c, d, e, f, g, h except a, i, which remain fixed for simplicity) and the span of each one. The controller receives as input variables \(e_{{{\text{lv}}}}\) and \(e_{{{\text{wv}}}}\) (Figs. 11 and 12), that is, the difference between the predefined desired speed and the actual speed of the plant, and as output variables, the right \({\text{PM}}_{1}\) and left \({\text{PM}}_{2}\) parmotors of the above-mentioned robot (Figs. 13 and 14).

The next step is to define an appropriate objective function to evaluate the performance of the VSSO metaheuristic with respect to the final fit of the membership functions of the controller output variables. Where the objective function represents the degree to which the solution of the problem under consideration is solved. For this reason, Eq. (18) describes the root mean square error used to evaluate the suitability of the fuzzy system.

$$ {\text{MSE}} = ~\frac{1}{N}\mathop \sum \limits_{{K = 1}}^{N} ~\left[ {y\left( k \right) - \tilde{y}\left( k \right)} \right]^{2} $$
(18)

where \(y\left( k \right)\) is the reference value at instant k; \(\tilde{y}\left( k \right)\) is the computed output of the system at instant k; \(N\) number of the samples considered. Since the system can control the linear \(\left( v \right)\) and angular \(\left( w \right)\) velocities of the plant, the total error is given by (Eqs. 1921):

$$ {\text{MSE}}_{v} = ~\frac{1}{N}\mathop \sum \limits_{{K = 1}}^{N} ~\left[ {v\left( k \right) - \tilde{v}\left( k \right)} \right]^{2} $$
(19)
$$ {\text{MSE}}_{w} = ~\frac{1}{N}\mathop \sum \limits_{{K = 1}}^{N} ~\left[ {w\left( k \right) - \tilde{w}\left( k \right)} \right]^{2} $$
(20)
$$ E_{{{\text{Total}}}} = ~{\text{MSE}}_{v} + {\text{MSE}}_{w} $$
(21)

This is used to represent the total distance between the points on each MF plot of the controller’s inputs and outputs, generated by shark algorithm. Thus, for the development of the Mamdani type-1 and interval type-2 fuzzy systems, with the dynamic parameters adjustment, and the two measurements described as linear velocity error \((e_{{{\text{lv}}}} )\) and angular velocity error \((e_{{{\text{wv}}}} )\) were considered as the inputs. The system has the fuzzy outputs: Parmotor1 \(\left( {{\text{PM}}_{1} } \right)\) and Parmotor 2 \(\left( {{\text{PM}}_{{\text{2}}} } \right)\).

Regarding the input values to the fuzzy system, the linguistic error variables have a defined range of possible values that can go from − 50 to 50, with \(e_{{{\text{lv}}}}\) and \(e_{{{\text{wv}}}}\), and the normalization of the values of these variables was formulated obtaining values in a range [− 1 1]. Equations (22) and (23) describe how the normalization of the linear velocity and angular velocity errors is performed, respectively.

$$ e_{{{\text{lv}}}} = \frac{{~V_{{{\text{Ref}}}} ~ - ~V_{{{\text{Actual}}}} }}{{50{\text{~}}}} $$
(22)
$$ e_{{{\text{wv}}}} = \frac{{~{\text{w}}_{{{\text{Ref}}}} ~~{-}~w_{{{\text{Actual}}}} ~}}{{50}} $$
(23)

We establish the following sequence of steps with the VSSO algorithm in the approach of the proposed method. Figure 17 graphically describes the order of the steps to be followed in the proposed algorithm.

Fig. 17
figure 17

Procedure to first adjust the parameters of the VSSO algorithm and finally apply it to the fuzzy controller

We establish the following sequence of steps with the VSSO algorithm in the approach of the proposed method.

Step 1:

random initial population of point particles is generated for the MF values that satisfy the constraints. The particle has a position in its memory, and that position becomes a possible solution to the problem using Eq. (2), representing the values of the point parameters of the membership functions of the fuzzy controller. We generate the fuzzy system, this is for the parameter setting and initialization of the VSSO algorithm, in addition to the fuzzy controller. We establish a lower and upper limits from − 1 to 1, for normalizing the range of the membership functions in the input and output fuzzy sets.

Step 2:

For this case, dimensions of size 40 are needed for T1FLC and 80 for IT2FLC, where each point value of the membership function represents one dimension. Also, perform the iteration calculation using the current iteration (k) divided by the total iterations to be performed (Kmax) and set the calculation value, as the input for fis FSSO and evaluate the initial positions fit value using Eqs. (2) and (3).

Step 3:

The fitness of each particle is evaluated, and each one of the point parameters that form the MFs is identified using the metaheuristic variant (VSSO) and then new solutions are evaluated again using Eqs. (4) and (6). The new value of the MF parameters is represented by each shark position.

Step 4:

The most appropriate positions of each shark are taken at each stage, while dynamically adjusting each of the values that represent the parameter values of the MFs in the Fuzzy Inputs and Outputs.

Step 5:

The new value of the fitness function is evaluated using Eq. (7), to verify if it is better than the previous value of the fitness function. If the condition is satisfied, then update the final position to each of the points in the fuzzy system membership function.

Step 6:

Select the best position for local search using Eq. (8). The selected smell particle contains the best position found so far and to define the fitness of each shark position, which is made by the mean square error of Eq. (18). The error between the ideal values and the output of the fuzzy controller is the fundament for the calculation of the objective function (OF) is given by Eqs. (19) to (21).

Step 7:

Evaluate the stopping criteria. If it is fulfilled, the search ends, otherwise, increase the stage K = K + 1 to \(K_{{{\text{max}}}}\) and then display and save the optimal values found.

Both fuzzy controllers are of Mamdani form with type-1 and type-2 fuzzy logic, where the parameter values that make up the membership functions are dynamically changed with the VSSO metaheuristic and evaluated using nine fuzzy rules that are based on prior knowledge of the problem. The VSSO metaheuristic algorithm is based on PSO, which is also biologically inspired by nature [33, 44], clarifying that PSO is only referenced, but it is not used in the development of this methodology. Table 2 is used to make a comparison between the parameters of the metaheuristic algorithms, which are VSSO (proposed) and wind-driven optimization (WDO).

Table 2 Comparison between methods: WDO: Wind-driven Optimization; VSSO: Shark Smell Optimization Variant

3.3 Interval Type-2 Fuzzy Controller

The concepts of type-1 and type-2 fuzzy logic systems (T2FLS) were coined between 1965 and 1975 by Zadeh [28]. This section is aimed at providing a basic understanding of the operation of an IT2FLS through a precise description of its function. It is by granulating the input domains of a T1FLS baseline with a footprint uncertainty (FOU) that we obtain the T2FLS. The interval type-2 fuzzy logic system (IT2FS) input variables and their ranges are developed to follow the path. The membership functions of the input variables are shown in Figs. 18 and 19, and for the outputs, in Figs. 20 and 21.

Fig. 18
figure 18

Footprints of IT2 MFs for input \(e_{{{\text{lv}}}}\)

Fig. 19
figure 19

Footprints of IT2 MFs for input \(e_{{{\text{wv}}}}\)

Fig. 20
figure 20

Footprints of IT2 MFs for output \({\text{PM}}_{{\text{1}}}\)

Fig. 21
figure 21

Footprints of It2 for the output \({\text{PM}}_{{\text{2}}}\)

First, the overall performance of the robot we call it "behavior" is evaluated in the task of tracking and following a trajectory. The design of the controller that takes control of the actions of the mobile robot is presented in Fig. 22. In this case, the selection of the appropriate actions that are transmitted to the system is defined by the controller's rule set. The control structure for the basic behaviors is based on a interval type-2 fuzzy logic controller supported by a set of IF–THEN fuzzy rules [45,46,47].

Fig. 22
figure 22

IT2FLC architecture

According to the uncertainty of the problem, the membership functions acquire distributed values. From the design, three MFs are used for the \(e_{{{\text{lv}}}}\) input (SN: Small Negative, Z: Zero, BP: Big Positive), three MFs for the \(e_{{{\text{wv}}}}\) input (SN: Small Negative, Z: Zero, BP: Big Positive), three MFs for both the PM1 and PM2 outputs (SN: Small Negative, Z: Zero, BP: Big Positive), are built. Nine fuzzy rules were designed for the T2FLS for route tracking, and they are determined by expert knowledge on the control process. The fuzzy rules are used to evaluate the intensity of the torque of the right and left wheels and can generate changes in the direction to follow the trajectory when the robot wheels interact, and these rules are described in Table 1.

4 Results

This section presents the simulation results of the final adjustment of the fuzzy controller membership functions, to evaluate the performance of the proposed approach in the differential mobile robot model, defined by Eqs. (13) and (14).

The desired path for the robot is defined by the following expressions (Eq. 24):

$$ v_{d} \left( t \right) = \left\{ {\begin{array}{*{20}c} {v_{d} \left( t \right) = ~0.4*cos\left( {0.2\left( t \right)} \right)} \\ {w_{d} \left( t \right) = 0.3*sin\left( {0.2\left( t \right)} \right)} \\ \end{array} } \right. $$
(24)

The optimization approach generates a vector of values that are presented as the dynamically found values for the optimized membership functions, shown in Fig. 23.

Fig. 23
figure 23

Vector of smell particles to adjust the membership functions of fuzzy controllers of T1 and IT2

The FLC design for the AMR controller has trapezoidal and triangular membership functions at the inputs with four and three parameter values, respectively (see Figs. 11, 12, 15). Three triangular MFs in each output with three values for each triangular membership function (see Figs. 13, 14, 15), obtaining a total of 40 values for the vector of the Type-1 FLC. On the other hand, when the IT2FLC is used, each trapezoidal MF needs eight values and each triangular MF needs six values (see Figs. 18, 19, 20, 21), obtaining 80 values in the vector for the design of an IT2FLC (Fig. 22). The adjustable parameters: a, b, c and d, of the type-1 and type-2 inputs and outputs are listed in Tables 3 and 4, respectively, which are adjusted in the next subsection 4.1 using the proposed VSSO algorithm.

Table 3 Adjustable parameters of the type-1 and type-2 inputs before optimization
Table 4 Adjustable parameters of the type-1 and type-2 outputs before optimization

4.1 Results of Adjustment of Fuzzy Controllers Parameters

The parameters used in the VSSO and WDO metaheuristics are described in Table 5. Tables 6, 7, 8 and 9 are presenting the details of the 30 experiments carried out in the search for the best optimized fuzzy system, using the MSE (The objective function) as the metric. Tables 7, 8, and 10, 11 show the best parameters for the controller, obtained from the results after optimization. Figures 24, 25, 26, 27 show the inputs and outputs of the optimized controller with VSSO and Figs. 28, 29, 30, 31 optimized by WDO.

Table 5 Parameters used VSSO and WDO method for fuzzy controller IT2FLC
Table 6 Results of the experiments with the fuzzy controller IT2FLC, obtained with VSSO
Table 7 Adjusting parameters of the type-1 and IT2FLC inputs after optimization with VSSO
Table 8 Adjustment obtained for type-1 and IT2FLC output parameters after optimization with VSSO
Table 9 Results of the experiments with the fuzzy controller IT2FLC, obtained with WDO
Table 10 Adjusting parameters of the input after optimization with T1FLC and WDO
Table 11 Adjusting parameters of the outputs after optimization with T1FLC and WDO
Fig. 24
figure 24

Input 1 optimized by VSSO algorithm. a Type-1, b and Type-2

Fig. 25
figure 25

Input 2 optimized by VSSO algorithm. a Type-1, b and Type-2

Fig. 26
figure 26

Output 1 optimized by VSSO algorithm. a Type-1, b and Type-2

Fig. 27
figure 27

Output 2 optimized by VSSO algorithm. a Type-1, b and Type-2

Fig. 28
figure 28

Input 1 optimized by WDO algorithm

Fig. 29
figure 29

Input 2 optimized by WDO algorithm

Fig. 30
figure 30

Output 1 optimized by WDO

Fig. 31
figure 31

Output 2 optimized by WDO

Figures 24, 25, 26, 27, 28, 29, 30 and 31 how the adjustment that was made to the values of the parameters that form the membership functions of the inputs and outputs in the fuzzy controller by the VSSO and WDO metaheuristics, respectively. Looking closely at the differences generated between each of them and how they perform, the improvement in the error generated by the proposed controller when simulating is notable. In addition, as has already been demonstrated in previous fuzzy control works, the cause for this is the overlap between the membership functions, which helps the robot to improve the tracking of the desired path, in contrast to the other method (WDO) that does not achieve this in all its membership functions. It can be noted in Tables 6 and 9, that there is less variation in the results obtained with the VSSO metaheuristic since it has the best MSE of 1.2679\({\text{e}}^{{ - 06}}\), but the worst is of 2.800\({\text{e}}^{{ - 03}}\), while the WDO metaheuristic has a greater variation in results; the best MSE with 1.90\({\text{e}}^{{ - 05}}\), a worst of 5.7094\({\text{e}}^{{ - 02}}\). Based on the obtained results, the proposed VSSO metaheuristic can be viewed as the best one to optimize this specific problem. Table 12 describes the average results of the optimization methods without disturbance.

Table 12 Results (MSE) of the optimization methods

4.2 Statistical Comparison of Results

A dynamic tracking control was developed to adjust the membership functions with the VSSO and WDO metaheuristics. Each of them was tested, competing with the same parameters, with 30 experiments as the limit. This was used to establish a comparison between the methods based on the statistical z test, detailing the statistical data in Table 13, whose parameters and results are summarized in Table 14. The statistical z-test, with a significance level of 0.05, was done, where the null hypothesis tells us that the average of the proposed VSSO \(\left( {\mu _{1} } \right)\) is lower than or equal to the average of WDO \(\left( {\mu _{2} } \right)\). In this case, the rejection region for all values that fall below − 1.645.

Table 13 Statistical data
Table 14 Statistical test

We apply the statistical Z test as defined by Eq. (25):

$$ Z = ~\frac{{\left( {\bar{x}_{1} - \bar{x}_{2} } \right) - \left( {\mu _{1} - \mu _{2} } \right)}}{{\sigma _{{\bar{x}_{1} - \bar{x}_{2} }} }} $$
(25)

If the Z value falls outside the rejection zone, we fail to reject the null hypothesis. As a conclusion, then we can state that there is not enough statistical evidence at a significance level of 5% to support the claim that the mean of the VSSO is lower than WDO.

4.3 Experimental Results Between T1FLC and IT2FLC with Disturbance

An evaluation of the controllers was carried out to analyze their performance in the mobile robot, using IT2FLC in comparison with T1FLC, applying the proposed VSSO method and WDO, using the same number of rules. Disturbances are applied to the robot system by the band-limited white noise block, which generates normally distributed random numbers that are suitable for use in continuous or hybrid systems, with a degree of 0.1 and 0.2 of power level in white noise. This is shown in Figs. 38 and 39 (Table 15). The sensitivity of the change in movement of the mobile robot towards the trajectory is evaluated using simulation, which is carried out through the differential platform in Simulink (Fig. 32). The tests were carried out with the same parameters in the different environments, as will be explained later. The collected information for processing will be taken from linear and angular velocity errors when simulated with the differential robot platform in Simulink.

Fig. 32
figure 32

Robot following the path

Table 15 Values of integral performance metrics for the test plant with 0 to 0.2 white noise power, (tracking for 60 s)

The control surface of the T2FLS is described below, whose inputs are the linear velocity error and angular velocity error, and the output response is the left and right wheel torque.

Figures 33 and 34 show that the IT2FLS when compared to the T1FLS has a smoother surface, where each slope represents a gradual change in the torque of the wheel traction force.

Fig. 33
figure 33

a T1 and b T2 FLC surface for parmotor 1

Fig. 34
figure 34

a T1 and b T2 FLC surface for parmotor 2

In the search for a way to quantify the behavior of the fuzzy controllers with and without disturbance, performance metrics were established based on the error signal e(t), which is the difference between the desired value of the reference variable of the tracking trajectory and its real value produced by the robot that follows it. The best known metrics are the so-called integral criteria presented in Eqs. (26) to (29):

Integral of absolute error.

$$ {\text{IAE}} = \mathop \int \limits_{0}^{\infty } \left| {e\left( t \right)} \right|{\text{d}}t $$
(26)

Integral of time by absolute error

$$ {\text{ITAE}} = \mathop \int \limits_{0}^{\infty } t\left| {e\left( t \right)} \right|{\text{d}}t $$
(27)

Integral of the quadratic error

$$ {\text{ISE}} = \mathop \int \limits_{0}^{\infty } e\left( t \right)^{2} {\text{d}}t $$
(28)

The error is given by:

$$ ~e\left( t \right) = r\left( t \right)~{-}~y\left( t \right) $$
(29)

The tracking performance of the IT2FLC and T1FLC controllers without noise is illustrated in Fig. 35, which also shows the amplified response of the controllers after application. The system with which this work is carried out is illustrated in Fig. 36. The performance comparison between the VSSO and WDO metaheuristics using white noise is measured by applying the IAE, ISE, and ITAE criteria for 60 s and are shown in Fig. 37. As it is obvious, tracking accuracy, controller error, and time response have better results with VSSO-IT2FLC in comparison with T1FLC (Figs. 38, 39), according to Tables 15 and 16.

Fig. 35
figure 35

Fuzzy controllers IT2 and T1 responses relative the reference. Shown Performance for the trajectory times and Observed differences

Fig. 36
figure 36

Design of the mobile robot platform system

Fig. 37
figure 37

Tracking performance a VSSO Without noise, b VSSO With High noise, c WDO Without noise, d WDO With High noise, for IT2FLS tuning

Fig. 38
figure 38

VSSO results a T1FLC and b IT2FLC with 0.2 white noise power

Fig. 39
figure 39

WDO Results a T1FLC and b IT2FLC with 2% white noise power

Table 16 Time response comparison

In addition to the previous comment, the robustness of the IT2 FLC applying the proposed metaheuristic and WDO proposal is tested by performing several experiments with different levels of white noise and we describe the values of the three used performance metrics below. Table 15 shows the results of ITAE, ISE, IAE metrics of more than 1200 experiments with noise levels ranging from 0 (Zero noise), 0.1 (Low) and 0.2 (High). Table 16 shows a contrast between the response times.

From the linear and angular errors and their integral performance metrics, it follows that the type-2 fuzzy in VSSO has a much better adaptation for fitting the values of the parameters of the FLC. Therefore, we can infer that employing type 2 fuzzy logic leads to a better system response and therefore the fuzzy parameters have been adjusted quickly, while looking for the best vector of solutions for the FLC.

The proposed methodology exhibits a better performance using the VSSO metaheuristic with a fuzzy approach, when adjusting the parameter values that form the membership functions. The data vector that was obtained was able to optimize the fuzzy controller in such a way that the results were very close to the trajectory that it was given, unlike its counterpart (WDO) which was not as close to the desired trajectory. The details of the implementation can be checked at the following link: https://drive.google.com/drive/folders/1-bivaFfmcjSRURHRc--YzkpVlSKCXc58

5 Conclusion

The fuzzy methodology proposed for the adjustment of the alpha and beta main parameters of the variant of the shark smell optimization algorithm (VSSO), and its application for the optimization of the membership functions of the fuzzy controllers, is the main contribution of this article. Results demonstrate that this is the best method for this task, among other methods considered in this work. The results show that the proposed method is efficient in terms of controller performance and the rejection of noise disturbances. Furthermore, the proposed method, with interval type-2 fuzzy sets, can achieve the parameter adaptation of the fuzzy sets considering the complexities of the model and the uncertainties inherent in the input data. Also, it is worth mentioning that in the path following by the robot, with T1FLC and T2FLC, it is possible to observe how the values of the parmotors are changing when analyzing the results with the integral parameters applied and the times of traversing the path.

In addition, the gains with IT2FLC are smaller than those of the T1FLC baseline and they gradually decrease as the FOU increases. Therefore, smaller IT2 gains result in even smaller control signals, so an IT2FLC tends to be more resistant to disturbances and its response is slower [48]. The details that the results provide an explanation of the experimental observations that show that an IT2 fuzzy controller has the ability to handle uncertainty and eliminate disturbances present in the system.

For future work, our objective is to test our method in other types of problems that contain higher levels of uncertainty. In addition, performing more experimentation with other optimization methods in adjusting the parameters of the VSSO metaheuristic. In the same way, find other forms of efficiently adjusting the parameter values of the MFs of the fuzzy input and output sets of the fuzzy controller, testing the true efficiency of type-2 fuzzy systems through their application. Also, we are thinking about considering other VSSO parameters that could be dynamically adjusted that may improve results even more.