Using Ultrasonic Sensors and a Knowledge-Based Neural Fuzzy Controller for Mobile Robot Navigation Control

: This study proposes a knowledge-based neural fuzzy controller (KNFC) for mobile robot navigation control. An effective knowledge-based cultural multi-strategy differential evolution (KCMDE) is used for adjusting the parameters of KNFC. The KNFC is applied in PIONEER 3-DX mobile robots to achieve automatic navigation and obstacle avoidance capabilities. A novel escape approach is proposed to enable robots to autonomously avoid special environments. The angle between the obstacle and robot is used and two thresholds are set to determine whether the robot entries into the special landmarks and to modify the robot behavior for avoiding dead ends. The experimental results show that the proposed KNFC based on the KCMDE algorithm has improved the learning ability and system performance by 15.59% and 79.01%, respectively, compared with the various differential evolution (DE) methods. Finally, the automatic navigation and obstacle avoidance capabilities of robots in unknown environments were veriﬁed for achieving the objective of mobile robot control.


Introduction
Neural fuzzy controllers have attracted considerable attention in control engineering.Neural networks and the fuzzy logic controller learning ability of human thinking and inference are combined to automatically adjust the controller parameters of neural fuzzy learning algorithms to obtain superior capacity and robot control results [1][2][3].In neural fuzzy controller parameter learning, the back propagation algorithm [4,5] is widely used.This algorithm is based on the steepest descent technique for obtaining an error function, and it can achieve fast convergence to the optimal local optimum.Thus, the global optimal solution may not be determined.
Recently, some scholars have proposed evolutionary learning algorithms with neural fuzzy controllers to solve the problem of parameter optimization.Genetic and particle swarm optimization (PSO) algorithms are well-known algorithms that can mimic human physiological functions and simulate biological behavior, respectively [6].Genetic and PSO algorithms exhibit a good global solution for space exploration capability; however, the best solution can fall in the local optima and the premature convergence problem still persists [7].Many evolutionary algorithms have been increasingly researched over the past few decades, such as evolutionary programming algorithms and evolutionary strategies [8][9][10].However, in the implementation of evolutionary algorithms, the user must not only determine its coding mode but also select the methods of setting appropriate parameters.Therefore, the aforementioned methods can involve high computation cost, a long computation time, trial and error, and numerous operator adjustments.To overcome these problems, many scholars have actively studied evolutionary algorithms of parameters and operator adaptability [11,12].In the literature, different methods of adaptation by categorizing the parameter have been proposed [13,14].To avoid local optimization and enhance global optimization search ability, the differential evolution (DE) algorithm is an excellent option.Storn and Price [15] proposed the DE algorithm, which is not only a direct and parallel search method but also an easy application of optimized search technology.The DE algorithm provides better results than the genetic algorithm and other traditional methods [16].Many studies have proved its advantages, and it has been widely used in practice [17,18].Three key parameters, namely the population size, mutation rate adjustment factor, and crossover rate, can considerably influence the DE.To successfully solve the problems of specific applications, considerable time is required to determine the most suitable evolution strategy and adjust its parameters through trial and error.Qin et al. [19] proposed the self-adaptive DE algorithm to reduce the time spent determining the most suitable strategy.In addition, Reynolds proposed a cultural algorithm (CA) [20].This algorithm is a self-evolutionary algorithm and can retrieve relevant information from the problem field for evolution.The CA has two main parts, namely the population and belief spaces [21].The population space consists of feasible solutions of the problem.This space could be any population-based evolutionary algorithm to be optimized.The belief space is similar to an information database that can store individual experience and indirectly allow other individuals to use this information as a learning reference.In the CA, information is shared by an individual with the entire population.In contrast to other evolutionary algorithms, an individual can only share information with its offspring in the CA.The population and belief spaces should be able to achieve information exchange through a communication protocol.This protocol consists of acceptance and influence functions.The acceptance function is a method to add the individual experience of the overall space to the belief space.The influence function is the feedback of individual information from the belief space to the population space.In some optimization problems [22,23], to capture useful information in order to evolve has proven to be very efficient and can considerably reduce costs.
In this study, a knowledge-based neural fuzzy controller (KNFC) is proposed for mobile robot navigation control.An effective knowledge-based cultural multi-strategy differential evolution (KCMDE) is used for adjusting the parameters of KNFC.The KNFC is applied in PIONEER 3-DX mobile robots to achieve automatic navigation and obstacle avoidance capabilities.A novel escape approach is proposed to enable robots to autonomously avoid special environments.The angle between the obstacle and robot is used and two thresholds are set to determine whether the robot entries into special landmarks and to modify the robot behavior for avoiding dead ends.Finally, the automatic navigation and obstacle avoidance capabilities of robots in unknown environments were verified for achieving the objective of mobile robot control.Relative to our previous published papers [24][25][26], the major contributions of this study are as follows: (1) an efficient KNFC is proposed for mobile robot navigation control, (2) the proposed KCMDE algorithm contains features of both the CA and DE strategy, and is implemented using the knowledge sources of the belief space in the CA to increase global search ability, and (3) in special environments, two thresholds are used to switch the controller mode between the wall-following mode and the general controller.
The remainder of the paper is organized as follows.Section 2 introduces the mobile robot structure and sensor signal.Details of the knowledge-based neural fuzzy controller and a knowledge-based cultural multi-strategy differential evolution (KCMDE) for adjusting the parameters of KNFC are described in Section 3. Section 4 presents an escape approach in special environments.The experimental results of mobile robot navigation control are illustrated in Section 5. Section 6 offers conclusions for this study.

Description of the Mobile Robot Structure and Sensor Signal
This section introduces the experiments conducted using the mobile robot PIONEER 3-DX [24][25][26] (see Figure 1).The robot includes eight front ultrasonic sensors, a battery, two differential drive wheels, and wheel encoders.The ultrasonic sensors are positioned on the left and right side, with six sensors facing forward at 20

Description of the Mobile Robot Structure and Sensor Signal
This section introduces the experiments conducted using the mobile robot PIONEER 3-DX [24][25][26] (see Figure 1).The robot includes eight front ultrasonic sensors, a battery, two differential drive wheels, and wheel encoders.The ultrasonic sensors are positioned on the left and right side, with six sensors facing forward at 20° intervals.

The Proposed Knowledge-Based Neural Fuzzy Controller
This section describes the proposed knowledge-based neural fuzzy controller (KNFC).In this KNFC, the first three inputs of the mobile robot are the distance between the obstacle and the left front, and right sensors (S1, S2, and S3, respectively).The unit of the inputs is cm.The fourth input is the angle between the front of the mobile robot and the target (θd), and the unit is degrees.The output is the velocity of the two wheels of the mobile robot.The velocities of the left and right wheels are defined as LV and RV, respectively, and the unit is cm/s.Thus, the controller has four inputs and two outputs.The KCMDE algorithm is proposed to adjust the parameters of KNFC.The proposed KCMDE In this study, the detection range of the ultrasonic sensors was approximately 20-70 cm.The configuration of the position of the ultrasonic sensors [24][25][26] is presented in Figure 2.

Description of the Mobile Robot Structure and Sensor Signal
This section introduces the experiments conducted using the mobile robot PIONEER 3-DX [24][25][26] (see Figure 1).The robot includes eight front ultrasonic sensors, a battery, two differential drive wheels, and wheel encoders.The ultrasonic sensors are positioned on the left and right side, with six sensors facing forward at 20° intervals.The eight ultrasonic sensors (sensor1, sensor2, …, sensor8) were allocated into three call signs: S1, S2, and S3.S1 is the distance between the obstacle and left sensor of the robot, S2 is the distance between the obstacle and the front sensor of the robot, and S3 is the distance between the obstacle and right sensor of the robot.S1, S2, and S3 are depicted in Figure 2 and determined as follow:

The Proposed Knowledge-Based Neural Fuzzy Controller
This section describes the proposed knowledge-based neural fuzzy controller (KNFC).In this KNFC, the first three inputs of the mobile robot are the distance between the obstacle and the left front, and right sensors (S1, S2, and S3, respectively).The unit of the inputs is cm.The fourth input is the angle between the front of the mobile robot and the target (θd), and the unit is degrees.The output is the velocity of the two wheels of the mobile robot.The velocities of the left and right wheels are defined as LV and RV, respectively, and the unit is cm/s.Thus, the controller has four inputs and two outputs.The KCMDE algorithm is proposed to adjust the parameters of KNFC.The proposed KCMDE The eight ultrasonic sensors (sensor1, sensor2, . . ., sensor8) were allocated into three call signs: S1, S2, and S3.S1 is the distance between the obstacle and left sensor of the robot, S2 is the distance between the obstacle and the front sensor of the robot, and S3 is the distance between the obstacle and right sensor of the robot.S1, S2, and S3 are depicted in Figure 2 and determined as follow:

The Proposed Knowledge-Based Neural Fuzzy Controller
This section describes the proposed knowledge-based neural fuzzy controller (KNFC).In this KNFC, the first three inputs of the mobile robot are the distance between the obstacle and the left front, and right sensors (S1, S2, and S3, respectively).The unit of the inputs is cm.The fourth input is the angle between the front of the mobile robot and the target (θ d ), and the unit is degrees.The output is the velocity of the two wheels of the mobile robot.The velocities of the left and right wheels are defined as LV and RV, respectively, and the unit is cm/s.Thus, the controller has four inputs and two outputs.The KCMDE algorithm is proposed to adjust the parameters of KNFC.The proposed KCMDE algorithm adopts the concepts of the culture algorithm (CA), which is composed of three parts, namely the belief space, population space, and information exchange protocol, comprising the acceptance and influence functions.In addition, different problems exhibit distinct performance in various DE strategies.Therefore, the KCMDE algorithm is designed using the multistrategy method.The KCMDE algorithm combines the advantages of the CA and multistrategy method to adjust the parameters of the KNFC efficiently and improve global search capability.

Structure of the Knowledge-Based Neural Fuzzy Controller
The structure of the knowledge-based neural fuzzy controller (KNFC) is illustrated in Figure 3.The KNFC implements a fuzzy if-then rule [23] in the following form: Then y 1 is w j and y 2 is v j , ( where x 1 is the value of sensor group S1,x 2 is the value of sensor group S2, x 3 is the value of sensor group S3, x 4 is the angle between the direction of the robot and the target, A ij is the linguistic term of the precondition part, γ j ∈ [0, 1] is the compensatory factor, y 1 is the left-wheel velocity of the robot (LV), y 2 is the right-wheel velocity of the robot (RV), and w j and v j are the weights of consequent parts.
algorithm adopts the concepts of the culture algorithm (CA), which is composed of three parts, namely the belief space, population space, and information exchange protocol, comprising the acceptance and influence functions.In addition, different problems exhibit distinct performance in various DE strategies.Therefore, the KCMDE algorithm is designed using the multistrategy method.The KCMDE algorithm combines the advantages of the CA and multistrategy method to adjust the parameters of the KNFC efficiently and improve global search capability.

Structure of the Knowledge-Based Neural Fuzzy Controller
The structure of the knowledge-based neural fuzzy controller (KNFC) is illustrated in Figure .3. The KNFC implements a fuzzy if-then rule [23] where 1 x is the value of sensor group S1, 2 x is the value of sensor group S2, 3 x is the value of sensor group S3, 4 x is the angle between the direction of the robot and the target, Aij is the linguistic term of the precondition part, is the compensatory factor, 1 y is the left-wheel velocity of the robot (LV), 2 y is the right-wheel velocity of the robot (RV), and wj and vj are the weights of consequent parts.The operation of each node in each layer of the KNFC structure is described as follows: Layer 1 (input layer): Each node in this layer transfers the input value to the next layer directly.
Layer 2 (membership function layer): Each node in this layer calculates the membership value with each value from the last layer corresponding to the linguistic of the jth rule.The operation used as the Gaussian membership function [23] is given as follows: where mij and σij are the mean and standard deviation of the Gaussian membership function, respectively, i is the ith input, and j is the jth rule.The operation of each node in each layer of the KNFC structure is described as follows: Layer 1 (input layer): Each node in this layer transfers the input value to the next layer directly.
Layer 2 (membership function layer): Each node in this layer calculates the membership value with each value from the last layer corresponding to the linguistic of the jth rule.The operation used as the Gaussian membership function [23] is given as follows: where m ij and σ ij are the mean and standard deviation of the Gaussian membership function, respectively, i is the ith input, and j is the jth rule.

Layer 3 (rule layer):
The nodes in this layer execute the product operation, which uses the membership values of each input corresponding to the jth rule in Layer 2. In addition, the operation uses the compensatory factor to perform if-condition matching of fuzzy rules.The compensatory operation [23] is given as follows: where is the compensatory factor and c j , d j ∈ [−1, 1] are the parameters of compensatory factors.The purpose of tuning c j and d j is to increase the adaptability of the fuzzy operator.

Layer 4 (output layer):
The nodes in this layer function as defuzzifiers.This operation summarizes the final output of the fuzzy inference as follows:

The Proposed Knowledge-Based Cultural Multi-Strategy Differential Evolution Algorithm
To realize the KNFC, a novel evolutionary learning algorithm called the knowledgebased cultural multi-strategy differential evolution (KCMDE) algorithm is proposed.The proposed KCMDE algorithm comprises the concept of the cultural knowledge source algorithm and the probability assignment of the knowledge source according to the space of the learning period.In the cultural algorithm (CA), the knowledge source is used to lead the individual to move toward the optimal solution.In cognitive science, knowledge sources can be described by the physical meaning of animals, things, and other social activities.In this study, the knowledge source was realized using the mutation strategy of the DE algorithm.Suitable individuals can gradually drive the belief space to direct the overall feasible solution in order to search a superior solution space.Next, using the method of the learning period space, the probability of each knowledge source can be adjusted instead of the traditional probability assignment.Complete suppression of certain knowledge sources can increase the adaptability of the algorithm, thereby enabling superior results to be obtained.The flowchart of the KCMDE algorithm is shown in Figure 4.The steps in the learning process of the KCMDE algorithm are described in the following text.

•
Step 1: Initialization of the population space The algorithm must initialize the population space before the evolution process and achieve uniform distribution and random generation of each individual.The upper boundary and lower boundaries of each element in the individual must be predefined.Assume that x min and x max are the minimum and maximum boundaries of each element in each domain, respectively.The structural parameter of the KNFC is coded according to the predefined number of rules.Each individual of the population represents a KNFC.In this study, the mobile robot control problem was a four-input and two-output problem.Each input was coded into two parameters, namely m ij and σ ij , which represent the mean of the Gaussian membership function and the variance of the Gaussian membership function, respectively.The two outputs were coded into w j and v j , where w j and v j are the weights of the consequent part of the KNFC.The other two parameters, c j and d j , are the internal parameters of γ j , where γ j is the compensatory factor of the KNFC.The coding method [24] is illustrated in Figure 5.

Start
The initialization of population space The initialization of belief space The initialization of learning period space


Step 1: Initialization of the population space The algorithm must initialize the population space before the evolution process and achieve uniform distribution and random generation of each individual.The upper boundary and lower boundaries of each element in the individual must be predefined.Assume that xmin andxmax are the minimum and maximum boundaries of each element in each domain, respectively.The structural parameter of the KNFC is coded according to the predefined number of rules.Each individual of the population represents a KNFC.In this study, the mobile robot control problem was a four-input and two-output problem.Each input was coded into two parameters, namely mij and σij, which represent the mean of the Gaussian membership function and the variance of the Gaussian membership function, respectively.The two outputs were coded into wjand vj, where wj and vj are the weights of the consequent part of the KNFC.The other two parameters, cj and dj, are the internal parameters of γj, where γj is the compensatory factor of the KNFC.The coding method [24] is illustrated in Figure 5.The population of the KCMDE algorithm is generated according to the coding method.The operation of each element in each individual is depicted as follows: where xi,j represents the x th elements of the j th individual and randi(0,1) is uniformly distributed between 0 and 1.


Step 2: Initialization of the belief space The initialization of the belief space is empty; however, the size of the belief space is the same as the population and gradually decreases with the evolution of the generations, whereas the number of individuals that become paragons decreases over time.


Step 3: Initialization of the learning period space The initialization of the learning period space is empty.The learning period space is composed of successful memory and failed memory.The size of the learning period space is set according to the parameter LP (the size of the successful memory and failed The population of the KCMDE algorithm is generated according to the coding method.The operation of each element in each individual is depicted as follows: where x i,j represents the x th elements of the j th individual and rand i (0,1) is uniformly distributed between 0 and 1.

•
Step 2: Initialization of the belief space The initialization of the belief space is empty; however, the size of the belief space is the same as the population and gradually decreases with the evolution of the generations, whereas the number of individuals that become paragons decreases over time.

•
Step 3: Initialization of the learning period space The initialization of the learning period space is empty.The learning period space is composed of successful memory and failed memory.The size of the learning period space is set according to the parameter LP (the size of the successful memory and failed memory), which is predefined by the user.In this study, the LP is set to 30.This space is responsible for recording each generation of the selected source of knowledge to improve individual performance.If the individual performance of the selected knowledge improves, the number of the selected knowledge for the successful memory increases.By contrast, the number of the selected knowledge for the failed memory increases.

•
Step 4: Evaluation of each individual Evolutionary algorithms usually rely on the performance of the individual to decide the selection progress.The larger the fitness function, the more improved are performance and fitness values.The evaluation operation is expressed as follows: where y l represents the l th the real of the left-wheel and right-wheel speeds of the mobile robot, y l represent the l th the desired (training data) of the left-wheel and right-wheel speeds of the mobile robot, and Nt is the size of the training data.

•
Step 5: Selection process of the knowledge source based on the learning period space When the learning period space is not filled, the selection probability of each knowledge source is set as equal.Once the learning period space is filled, the selection probability of each knowledge source changes.After the learning period space is filled, the selection probability of each knowledge source is based on the roulette-wheel area.The initial roulette-wheel area is the same.Thus, selection probability is used to select the knowledge source, which is used to update the current individual.The belief space of the KCMDE algorithm has five knowledge sources, namely situational, normative, topographical, domain, and history knowledge.In this study, three knowledge sources, namely situational knowledge, topographical knowledge, and history knowledge were used.These sources are described as follows: 1.

Situational knowledge
The best individual in the evolutionary process x g i,best is a model to lead other individuals for situational knowledge.In this study, the differential mutation strategy DE/best/1 [16] is used, and evaluation of the initial population is necessary in initial situational knowledge.Therefore, the initial best individual is determined and stored.For situational knowledge, the mutation strategy is affected in the following way: 2.

Topographical knowledge
Topographical knowledge presents spatial information to build a map of the fitness landscape in the evolution process.A tree structure was used to achieve topographical knowledge.In the tree structure, the root can only have two children that represent two differential mutation strategies, namely x g i,best − x g i,j and x g i,r1 − x g i,r2 .Therefore, the influence function moves the children using DE/current-to-best/1 [16] as follows: ), otherwise (13) where x g i,j represents the current individual, x g i,best is the best individual in the belief space, an Historical knowledge This is the best historical knowledge of the individual's past records as an eventbased memory, such as local optimal.Therefore, historical knowledge is achieved as a list to store the w temporal on the last search.If the population diversity decreased during late evolution in this study, the best individual was used as a model to induce premature convergence.To obtain fast search but not early convergence, a new mutation strategy, namely DE/current-to-w past best [16], was implemented to use the wth best individual in a history list to guide the other individuals (Figure 6).The expression for the DE/current-to-w past best mutation strategy is as follows: where x w i,best is randomly selected as one of the wth best individuals in the belief space.

•
Step 6: Crossover  To implement the DE operation search strategy, the KCMDE algorithm uses the crossover operation.The population after the mutation (v g i,j ) and the population before the mutation (x g i,j ) based on the crossover rate (CR) was used to generate the new population (u g i,j ).The operation of u g i,j is expressed as follows: where CR ∈ [0, 1] is the CR and defined by the user, j is the dimension number of the individual, and Rand j (0, 1) is a uniform random number operator.

•
Step 7: Survivor selection In survivor selection, the new individual (u g i,j ) is evaluated using Equation (16).If the performance of the new individual (u g i,j ) is better than that of the original individual (x g i,j ), the new individual (u g i,j ) is used instead of the original individual (x g i,j ).

•
Step 8: Update of the learning period space The update of the learning period space is based on whether the individual (u g i,j ) of the selected knowledge source is better than the original individual (x g i,j ) in the current generation.When the individual (u g i,j ) of the selected knowledge source is not better than the original individual (x g i,j ), the failed factor (nf k,g ) is increased.By contrast, the successful factor (ns k,g ) is increased.The number of generations (g) is not larger than the size of the learning period space in Tables 1 and 2. Until the learning period space is filled, the selection probability of each knowledge source is marginally adjusted.When the number of generations is larger than the size of the learning period space in Tables 3 and 4, the earliest records stored are removed to enable new values in the current generation to be stored.When the evolution generation is increased, the selection probability of each knowledge source is adjusted.
In the aforementioned tables, LP is the size of the learning period space, strategy k is the kth knowledge source, nf k,g is the number of failed attempts in the g generation, and ns k,g is the number of successful attempts in the g generation.
When the learning period space is filled, execute step 9.Then, execute step 10.

•
Step 9: Adjusting the selection probability of each knowledge source according to the learning period space In the KCMDE algorithm, the selection probability of each knowledge source is adjusted according to the failed factor (nf k,g ) and successful factor (ns k,g ).In the initialization of KCMDE, the selection probability of each knowledge source is set as equal.The success rate (S k,g ) is operated by gathering the failed factor (nf k,g ) and the successful factor (ns k,g ) from 1 to LP in the learning period space.The operation is expressed as follows: where k is the number of the knowledge source; S k,g , which enters the generation successfully based on previous LC generation, is the success rate of the offspring individual generated by the kth strategy; and ε is the value that prevents the success rate from being equal to 0. After the success rate of the knowledge source is generated, the proportion of each knowledge source is operated using Equation ( 16) and summarized to 1. Equation ( 16) represents the selected probability of each knowledge source and is expressed as follows: where K is the number of knowledge source, k is the k th knowledge source, g is the evolution generation, and p k,g is the selected probability of each knowledge source.

•
Step 10: Adjustment of the belief space The belief space of the KCMDE algorithm is a space that stores the experience of the paragon individual.Irrespective of whether the individual becomes a paragon, the adjustment of the belief space is influenced.The evaluation method of acceptance is designed.The evaluation method of acceptance is responsible for evaluating which individual becomes a paragon and adjusts the belief space.The elite selection mechanism [22] is used, and the specific proportion of population in which the individual has superior fitness is selected to become the paragon.The proportion gradually decreases when the number of evolution generations increases.The operation is expressed as follows: where n% is predefined by the user and represents the proportion of acceptance, I is the number of the population, and t is the number of the current generation.

An Escape Approach in Special Environments
In a complex environment, the controller is responsible for moving the mobile robot away from the obstacle and close to the target.When the mobile robot encounters special environments, such as concave, continuous concave, and V-shaped environments, the mobile robot can produce dead-end traps or infinite loops.Thus, the mobile robot cannot successfully reach the target.The escape special environment approach is designed for solving the four types of special environment (Figure 7).In the design of the escape special environment approach, first, namely A and B, are designed.Thresholds A and B are angle values and When the angle between the direction of the mobile robot and the targ threshold A, the robot enters the wall-following mode.Threshold B is the mobile robot enters the wall-following mode.The angle between the dire bile robot and the target enforces threshold B. Thus, the mobile robot en lowing mode.When the angle between the direction of the mobile robot equal to threshold B again, the mode of the mobile robot is transferred ba controller navigation mode.The flowchart of the escape special environm illustrated in Figure 8.
The schematic of the escape special environment approach is depic First, no obstacles are present near the robot.The mobile robot moves to until it encounters the obstacle (point 1), when the angle between the dire bile robot and the target is larger than threshold A (point 2).At this time, judges to the left of the robot and no obstacle is accounted for.When th the direction of the mobile robot and the target is larger than threshold B, the wall-following mode (point 3).Thus, the mobile robot moves along th When the angle between the direction of the mobile robot and the target is old B again, the mode of the mobile robot is transferred back to the n navigation mode (point 5) In the design of the escape special environment approach, first, two thresholds, namely A and B, are designed.Thresholds A and B are angle values and are predefined.When the angle between the direction of the mobile robot and the target is larger than threshold A, the robot enters the wall-following mode.Threshold B is the angle when the mobile robot enters the wall-following mode.The angle between the direction of the mobile robot and the target enforces threshold B. Thus, the mobile robot enters the wall-following mode.When the angle between the direction of the mobile robot and the target is equal to threshold B again, the mode of the mobile robot is transferred back to the normal controller navigation mode.The flowchart of the escape special environment approach is illustrated in Figure 8.The schematic of the escape special environment approach is depicted in Figure 9. First, no obstacles are present near the robot.The mobile robot moves toward the target until it encounters the obstacle (point 1), when the angle between the direction of the mobile robot and the target is larger than threshold A (point 2).At this time, the mobile robot judges to the left of the robot and no obstacle is accounted for.When the angle between the direction of the mobile robot and the target is larger than threshold B, the robot enters the wall-following mode (point 3).Thus, the mobile robot moves along the wall (point 4).When the angle between the direction of the mobile robot and the target is equal to threshold B again, the mode of the mobile robot is transferred back to the normal controller navigation mode (point 5).The real angle between robot and target is equal to threshold B again.

5.
Figure 9. Schematic of the escape special environment approach.

Experimental Results
The proposed KNFC based on the KCMDE algorithm was tested using the mobile robot Pioneer 3-DX to navigate in the unknown environment.The KNFC was tested in a complex and unknown environment to prove its navigation ability.The learning performance of the KCMDE algorithm was then compared with that of the DE strategy.Finally, the learned KNFC by the KCMDE algorithm were simulated in an unknown environment and the special environment.The code of our technique (as well as dataset) is made publicly available in [27].

Performance Comparison of Various DE Methods
The performance of the proposed KNFC based on KCMDE algorithm was compared with that of the DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, and DE/current-torand/1 mutation strategies [16] of the original DE.KCMDE has four parameters: a population size PS, a crossover rate CR, a scale factor F, and a learning period space (LP).In general, the larger the PS, the more robust will be the search, with increased computational cost.However, a large CR will lead to large perturbations and a slow convergence speed.On the other hand a low CR will lead to rapid loss of diversity.Additionally, if F is small, it will lead to extensive exploitation and thus a much higher likelihood of nonconvergence.On the other hand, a large value of F will lead to over exploration and a significantly reduced convergence speed.Finally, the LP will guide the search in population.If LP closes to PS that is meaningless, and LP is small, this easily makes the solution fall into the local optimum.The initial parameters of various DE were as follows: the population size was 100, CR was 0.9, scale factor was 0.5, and size of the learning period was 30 (Table 5).Each algorithm was run 30 times.The mean of the fitness of each generation of 30 runs was calculated, and these data were plotted into the convergence curve.In the DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, DE/current-to-rand/1, and KCMDE algorithms, the number of fitness evaluations (FES) is 1000 (generations) × 100 (population size) = 100,000 for a fair comparison.The convergence curve is displayed in Figure 10.The convergence curve indicates that the KCMDE algorithm has the fast convergence features of DE/best/1 and the superior learning features of DE/current-to-best/1. Thus, the KCMDE algorithm, which combines the concept and multistrategy, is an effective algorithm.Table 6 indicate that the learning ability of the proposed KNFC based on the KCMDE algorithm is superior to that of other algorithms.

Experimental Results
The proposed KNFC based on the KCMDE algorithm was tested using the mobile robot Pioneer 3-DX to navigate in the unknown environment.The KNFC was tested in a complex and unknown environment to prove its navigation ability.The learning performance of the KCMDE algorithm was then compared with that of the DE strategy.Finally, the learned KNFC by the KCMDE algorithm were simulated in an unknown environment and the special environment.The code of our technique (as well as dataset) is made publicly available in [27].

Performance Comparison of Various DE Methods
The performance of the proposed KNFC based on KCMDE algorithm was compared with that of the DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, and DE/currentto-rand/1 mutation strategies [16] of the original DE.KCMDE has four parameters: a population size PS, a crossover rate CR, a scale factor F, and a learning period space (LP).In general, the larger the PS, the more robust will be the search, with increased computational cost.However, a large CR will lead to large perturbations and a slow convergence speed.On the other hand a low CR will lead to rapid loss of diversity.Additionally, if F is small, it will lead to extensive exploitation and thus a much higher likelihood of non-convergence.On the other hand, a large value of F will lead to over exploration and a significantly reduced convergence speed.Finally, the LP will guide the search in population.If LP closes to PS that is meaningless, and LP is small, this easily makes the solution fall into the local optimum.The initial parameters of various DE were as follows: the population size was 100, CR was 0.9, scale factor was 0.5, and size of the learning period was 30 (Table 5).Each algorithm was run 30 times.The mean of the fitness of each generation of 30 runs was calculated, and these data were plotted into the convergence curve.In the DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, DE/current-to-rand/1, and KCMDE algorithms, the number of fitness evaluations (FES) is 1000 (generations) × 100 (population size) = 100,000 for a fair comparison.The convergence curve is displayed in Figure 10.The convergence curve indicates that the KCMDE algorithm has the fast convergence features of DE/best/1 and the superior learning features of DE/current-tobest/1.Thus, the KCMDE algorithm, which combines the concept and multistrategy, is an effective algorithm.Table 6 indicate that the learning ability of the proposed KNFC based on the KCMDE algorithm is superior to that of other algorithms.

Navigation Ability in Complex Environments
A map with complex obstacle environments was used to test the mobile robot navigation ability of the KCMDE algorithm and compare it to other DE/strategy algorithms.Equation (19) was designed to test the mobile robot navigation ability of the algorithms such as DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, and DE/current-to-rand/1 [16] in order to test the mobile robot navigation ability of the algorithms.In mobile robot navigation, the best path is the path with the shortest distance from the start point to target one in the shortest time.Thus, the operation is designed to calculate the system performance (SP) to compare the performance of controllers.The SP is expressed as follows: where D is the distance the mobile robot navigates from the start point to target one and T is the time for the mobile robot to navigate from the start point to target one.
In Equation (19), a large SP value represents a superior performance of the controller for mobile robot navigation.Table 7 indicate the KCMDE algorithm has the best SP. Figure 11 displays the navigation of the mobile robot using the proposed KNFC based on the KCMDE algorithm in a complex environment.However, the mobile robot navigation of

Navigation Ability in Complex Environments
A map with complex obstacle environments was used to test the mobile robot navigation ability of the KCMDE algorithm and compare it to other DE/strategy algorithms.Equation (19) was designed to test the mobile robot navigation ability of the algorithms such as DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, and DE/current-to-rand/1 [16] in order to test the mobile robot navigation ability of the algorithms.In mobile robot navigation, the best path is the path with the shortest distance from the start point to target one in the shortest time.Thus, the operation is designed to calculate the system performance (SP) to compare the performance of controllers.The SP is expressed as follows: where D is the distance the mobile robot navigates from the start point to target one and T is the time for the mobile robot to navigate from the start point to target one.In Equation (19), a large SP value represents a superior performance of the controller for mobile robot navigation.Table 7 indicate the KCMDE algorithm has the best SP. Figure 11 displays the navigation of the mobile robot using the proposed KNFC based on the KCMDE algorithm in a complex environment.However, the mobile robot navigation of the KNFC based on DE/current to rand/1 is unsuccessful.These results indicate that the KCMDE algorithm is effective.

Navigation Ability in Highly Complex and Special Environments
Highly complex and special environments were designed for testing the KNFC base on the KCMDE algorithm.Figures 12 illustrate the analysis of the sensor values and the two-wheel velocity in the highly complex environment.For example, the point A in Figure 13 corresponds to the point A in Figure 12.S1 is near the robot; however, the target is on the left of the robot.Therefore, the robot turns left (see LV and RV in Figure 13).At point B, S3 with a low value represents the obstacle on the right of the mobile robot.The velocity of the two wheels gradually decreases, and the velocity of the right wheel is marginally larger than that of the left wheel.The robot moves forward slowly.At point C, the mobile robot moves without obstacles, the velocity of the two wheels is large, and the robot turns toward the target gradually.At point D, the obstacle is on the left and the mobile robot thus turns right.
In the special case environment, the threshold of A is set as 150° and the threshold of B is set as 90°.Figures 14 and 15 illustrate the analysis in the special case environment.At point A, the angle between the direction of the mobile robot and the target is larger than threshold A. Thus, the mobile robot enters the wall-following mode.The line between point A and point B in Figure 14 indicates the angle between the direction of the mobile robot and the target is more than threshold B. Therefore, the mobile robot follows the wall.When the angle between the direction of the mobile robot and the target is equal to threshold B, the mobile robot navigates using the KNFC base on the KCMDE algorithm.At point C, the sensor groups S2 and S3 indicate that the obstacles are on the front and right of the robot.Because the obstacle to the right is near the robot, the robot turns left with low speed.(see LV and RV in Figure 14) At point D, the situation of the V-shaped environment is satisfied.In this situation, the sensor values become low and the target is on the left of the mobile robot.The velocity of the left wheel is nearly 0. The velocity of the right wheel

Navigation Ability in Highly Complex and Special Environments
Highly complex and special environments were designed for testing the KNFC base on the KCMDE algorithm.Figure 12 illustrate the analysis of the sensor values and the twowheel velocity in the highly complex environment.For example, the point A in Figure 13 corresponds to the point A in Figure 12.S1 is near the robot; however, the target is on the left of the robot.Therefore, the robot turns left (see LV and RV in Figure 13).At point B, S3 with a low value represents the obstacle on the right of the mobile robot.The velocity of the two wheels gradually decreases, and the velocity of the right wheel is marginally larger than that of the left wheel.The robot moves forward slowly.At point C, the mobile robot moves without obstacles, the velocity of the two wheels is large, and the robot turns toward the target gradually.At point D, the obstacle is on the left and the mobile robot thus turns right.is marginally higher than that of the left wheel but still low.The mobile robot slowly turns right in the V-shaped environment.In the special case environment, the threshold of A is set as 150 • and the threshold of B is set as 90 • .Figures 14 and 15 illustrate the analysis in the special case environment.At point A, the angle between the direction of the mobile robot and the target is larger than threshold A. Thus, the mobile robot enters the wall-following mode.The line between point A and point B in Figure 14 indicates the angle between the direction of the mobile robot and the target is more than threshold B. Therefore, the mobile robot follows the wall.When the angle between the direction of the mobile robot and the target is equal to threshold B, the mobile robot navigates using the KNFC base on the KCMDE algorithm.At point C, the sensor groups S2 and S3 indicate that the obstacles are on the front and right of the robot.Because the obstacle to the right is near the robot, the robot turns left with low speed.(see LV and RV in Figure 14) At point D, the situation of the V-shaped environment is satisfied.In this situation, the sensor values become low and the target is on the left of the mobile robot.The velocity of the left wheel is nearly 0. The velocity of the right wheel is marginally higher than that of the left wheel but still low.The mobile robot slowly turns right in the V-shaped environment.

Implementation of Pioneer 3-DX Robots
Pioneer 3-DX robots were used to test the navigation ability of the proposed controller in complex, V-shaped, and U-shaped environments.Eight points were selected to describe the motion of the robot in each environment.In the complex environment (Figure

Implementation of Pioneer 3-DX Robots
Pioneer 3-DX robots were used to test the navigation ability of the proposed controller in complex, V-shaped, and U-shaped environments.Eight points were selected to describe the motion of the robot in each environment.In the complex environment (Figure

Implementation of Pioneer 3-DX Robots
Pioneer 3-DX robots were used to test the navigation ability of the proposed controller in complex, V-shaped, and U-shaped environments.Eight points were selected to describe the motion of the robot in each environment.In the complex environment (Figure 16), M1 was the panorama.Initially, the robot was at the start point (P1).The robot navigated through points P2, P3, P4, P5, and P6 and finally reached the target.Next, the robot was tested in the V-shaped environment (Figure 17), where M2 was the panorama.At P1, P2, and P3, the robot moved toward the target and encountered the V-shaped sac.Because the target was on the left of the robot, the robot turned right to avoid the obstacle.At P3 and P4, the angle between the robot and the target was larger than threshold A. Therefore, the robot entered the wall-following with a fixed target angle after threshold B. At P6, the angle between the robot and the target was equal to threshold B and the robot navigated using KNFC base on KCMDE algorithm.Finally, the robot reached the target (P7 and P8).The motion of the robot in the U-shaped environment in Figure 18 was similar to that in the V-shaped environment.16), M1 was the panorama.Initially, the robot was at the start point (P1).The robot navigated through points P2, P3, P4, P5, and P6 and finally reached the target.Next, the robot was tested in the V-shaped environment (Figure 17), where M2 was the panorama.At P1, P2, and P3, the robot moved toward the target and encountered the V-shaped sac.Because the target was on the left of the robot, the robot turned right to avoid the obstacle.At P3 and P4, the angle between the robot and the target was larger than threshold A. Therefore, the robot entered the wall-following mode with a fixed target angle after threshold B. At P6, the angle between the robot and the target was equal to threshold B and the robot navigated using KNFC base on KCMDE algorithm.Finally, the robot reached the target (P7 and P8).The motion of the robot in the U-shaped environment in Figure 18 was similar to that in the V-shaped environment.

Conclusions and Future Work
This study proposes a KNFC for mobile robot navigation control.In the proposed KNFC, a KCMDE is proposed to adjust the parameters of KNFC.The KCMDE algorithm combines the CA and DE strategy and is implemented using the knowledge sources of the belief space of the CA.For knowledge source selection, the concept of multi-strategy

Conclusions and Future Work
This study proposes a KNFC for mobile robot navigation control.In the proposed KNFC, a KCMDE is proposed to adjust the parameters of KNFC.The KCMDE algorithm combines the CA and DE strategy and is implemented using the knowledge sources of the belief space of the CA.For knowledge source selection, the concept of multi-strategy is used.The proposed KNFC is applied in PIONEER 3-DX mobile robots to achieve automatic navigation and obstacle avoidance capabilities.A novel escape approach is proposed to enable robots to autonomously avoid special environments.The angle between the obstacle and robot is used and two thresholds are set to determine whether the robot entries into the special landmarks and to modify the robot behavior for avoiding dead ends.The experimental results show that the proposed KNFC based on the KCMDE algorithm has improved the performance of learning ability, and system performance by 15.59%, and 79.01%, respectively, compared with the various DE methods.This study proved that the proposed method has a large SP value in high complex environments and an escape ability in special environments.Although the KNFC based on the KCMDE algorithm can perform mobile robot navigation control, several parameters of DE algorithms (such as DE/best/1, DE/current-to-best/1, DE/rand-to-best/1, and DE/current-to-rand/1) still need to be set in advance.Therefore, an adaptive adjustment method of these parameters will be developed in future work.

Figure 1 .
Figure 1.Pioneer 3-DX.In this study, the detection range of the ultrasonic sensors was approximately 20-70 cm.The configuration of the position of the ultrasonic sensors [24-26] is presented in Figure 2.

Figure 2 .
Figure 2. Sensors of Pioneer 3-DX The eight ultrasonic sensors (sensor1, sensor2, …, sensor8) were allocated into three call signs: S1, S2, and S3.S1 is the distance between the obstacle and left sensor of the robot, S2 is the distance between the obstacle and the front sensor of the robot, and S3 is the distance between the obstacle and right sensor of the robot.S1, S2, and S3 are depicted in Figure 2 and determined as follow: ) 3 , 2 , 1 min( 1 sensor sensor sensor S =

Figure 1 .
Figure 1.Pioneer 3-DX.In this study, the detection range of the ultrasonic sensors was approximately 20-70 cm.The configuration of the position of the ultrasonic sensors [24-26] is presented in Figure 2.

Figure 5 .
Figure 5. Example of the coding method for an individual.

Figure 6 .
Figure 6.The DE/current-to-w past best mutation strategy.

Figure 6 .
Figure 6.The DE/current-to-w past best mutation strategy.

Figure 8 .
Figure 8. Flowchart of the escape special environment approach.

Figure 8 .
Figure 8. Flowchart of the escape special environment approach.

Figure 9 .
Figure 9. Schematic of the escape special environment approach.

Figure 10 .
Figure 10.Convergence curves for the various algorithms.

Figure 10 .
Figure 10.Convergence curves for the various algorithms.

Figure 11 .
Figure 11.Mobile robot trajectories using various algorithms in a complex environment.

Figure 11 .
Figure 11.Mobile robot trajectories using various algorithms in a complex environment.

Figure 12 .
Figure 12.Mobile robot trajectories using the KNFC base on the KCMDE algorithm in highly complex environments.

Figure 12 .
Figure 12.Mobile robot trajectories using the KNFC base on the KCMDE algorithm in highly complex environments.

Figure 12 .
Figure 12.Mobile robot trajectories using the KNFC base on the KCMDE a plex environments.

FigureFigure 13 .
Figure Ultrasonic sensor values and velocities of the left and right whe the KNFC base on the KCMDE algorithm in highly complex environmentsFigure 13.Ultrasonic sensor values and velocities of the left and right wheels of the robot using the KNFC base on the KCMDE algorithm in highly complex environments.

Figure 14 .
Figure 14.Mobile robot trajectory using KNFC base on the KCMDE algorithm in special environments.

Figure 15 .
Figure 15.Ultrasonic sensor values and velocities of the left and right wheels of the robot using the KNFC base on the KCMDE algorithm in special environments.

Figure 14 .
Figure 14.Mobile robot trajectory using the KNFC base on the KCMDE algorithm in special environments.

Figure 14 .
Figure 14.Mobile robot trajectory using the KNFC base on the KCMDE algorithm in special environments.

Figure 15 .
Figure 15.Ultrasonic sensor values and velocities of the left and right wheels of the robot using the KNFC base on the KCMDE algorithm in special environments.

Figure 15 .
Figure 15.Ultrasonic sensor values and velocities of the left and right wheels of the robot using the KNFC base on the KCMDE algorithm in special environments.

Figure 16 .
Figure 16.Navigation of the Pioneer-3DX mobile robot in the case of a normal obstacle.Figure 16.Navigation of the Pioneer-3DX mobile robot in the case of normal obstacle.

Figure 16 . 22 Figure 17 .
Figure 16.Navigation of the Pioneer-3DX mobile robot in the case of a normal obstacle.Figure 16.Navigation of the Pioneer-3DX mobile robot in the case of normal obstacle.Electronics 2021, 10, x FOR PEER REVIEW 20 of 22

Figure 17 .
Figure 17.Navigation of the Pioneer-3DX mobile robot in the case of a V-shaped obstacle.Figure 17.Navigation of the Pioneer-3DX mobile robot in the case of a V-shaped obstacle.

Figure 17 .Figure
Figure 17.Navigation of the Pioneer-3DX mobile robot in the case of a V-shaped obstacle.

Figure 18 .
Figure 18.Navigation of the Pioneer-3DX mobile robot in the case of a U-shaped obstacle.

Table 1 .
g < Learning period (LP situation) of successful memory.

Table 2 .
g < LP situation of failed memory.

Table 3 .
g > LP situation of successful memory.

Table 4 .
g > LP situation of failed memory.

Table
Initial parameters of knowledge-based cultural multi-strategy differential evolution (KCMDE).

Table 5 .
Initial parameters of knowledge-based cultural multi-strategy differential evolution (KCMDE).

Table 6 .
Performance comparison of the various algorithms.

Table 6 .
Performance comparison of the various algorithms.

Table 7 .
System performance comparison of various algorithms in a complex environment.Electronics 2021, 10, x FOR PEER REVIEW 16 of 22 the KNFC based on DE/current to rand/1 is unsuccessful.These results indicate that the KCMDE algorithm is effective.

Table 7 .
System performance comparison of various algorithms in a complex environment.