Abstract
In this study, a fuzzy cerebellar model articulation controller based on group-based strategy bacterial foraging optimization is proposed for mobile robot wall-following control. In fuzzy cerebellar model articulation controller, the inputs are the distance between the sonar and the wall, and the outputs are the angular velocity of two wheels. The proposed group-based strategy bacterial foraging optimization learning algorithm is used to adjust the parameters of fuzzy cerebellar model articulation controller model. The proposed group-based strategy bacterial foraging optimization has the advantages of global search, evolutionary strategies, and group evolution to speed up the convergent rate. A new fitness function is defined to evaluate the performance of mobile robot wall-following control. The fitness function includes four assessment factors which are defined as follows: (1) maintaining safe distance between the mobile robot and the wall, (2) ensuring successfully running a cycle, (3) avoiding mobile robot collisions, and (4) mobile robot running at a maximum speed. The experimental results show that the proposed group-based strategy bacterial foraging optimization obtains a better wall-following control than other methods in unknown environments.
Keywords
Introduction
In recent years, mobile robot control is one of the popular research areas, which includes wall-following control, navigation, parallel parking and path tracking, and so on. The wall-following control is the fundamental requirement for navigation and parallel parking, and its purpose is to enable the robot to explore in unknown environments. Therefore, this study focuses on mobile robot wall-following control.
In general, because external noise interference and sensitivity of sensing module exist, traditional control methods are difficult to control the stable behavior of robot. In order to solve the design problem of controller, fuzzy logic control has been successfully applied on the robot control problem. 1 –3 Fuzzy logic 4 was proposed by Zadeh in 1965, which can be used to deal with imprecise, ambiguous, and uncertainty problems. A fuzzy controller consists of four parts: fuzzification, rule base, fuzzy inference engine, and defuzzification.
Neural networks and fuzzy theory
5
–9
have been used successfully in various fields. In neural networks, both the multilayer neural network and the cerebellar model articulation controller (CMAC)
7
are widely adopted. The
The related parameters of CMAC model are usually adjusted by backpropagation (BP) algorithm. The BP algorithm is based on a fast gradient descent, which is used to adjust the parameters of CMAC model by the error function. The BP algorithm has a fast convergence speed. Thus, it is usually used to solve several engineering problems. However, the BP algorithm has the disadvantage of falling into the local minimum. Therefore, many researchers 10 –15 adopted the evolutionary computation methods to obtain the global optimum. These algorithms derive from observing the phenomenon of the natural world and the imitation of various biological behaviors, such as predatory strategy, social organization, evolution, and so on. First, genetic algorithms 10,11 were based on Darwin’s theory of evolution and Mendelian inheritance. The method is essentially a kind of high efficiency, parallel processing, and global search algorithms. In other words, in order to achieve the optimal solution, this method can automatically acquire and accumulate knowledge on searching space during a search processing and adaptively control the reaching process. Secondly, several researchers have proposed different evolutionary computation algorithms, such as ant colony optimization, 12 particle swarm optimization, 13 differential evolution, 14 and bacterial foraging optimization (BFO). 15
Recently, BFO has been applied in various fields successfully, 16 –18 such as model predictive control, adaptive estimation, portfolio optimal and classification, and so on. The traditional BFO has several advantages, such as less parameters, good robustness, parallel processing, and global search ability. Poor accuracy and slow convergence speed happen in traditional BFO when solving more complex problems; especially on dealing with the multi-peak problems. Therefore, a modified BFO is proposed to improve the traditional BFO.
In this study, the fuzzy theory will be embedded into the traditional CMAC model. In order to solve more hypercube cells required in the traditional CMAC, the inputs use Gaussian membership function and form a fuzzy hypercube, and a linear combination of input variables in the consequent memory is used to replace a single value memory. Therefore, an FCMAC model is proposed for mobile robot wall-following control. In addition, to avoid the drawbacks of poor accuracy, slow convergence speed, and the multi-peak problem in traditional BFO, this study proposes a group-based strategy bacterial foraging optimization (GSBFO) to adjust the parameters of FCMAC model. The proposed GSBFO has the advantages of global search, evolutionary strategies, and group evolution to speed up the convergent rate. Thus, the algorithm can efficiently obtain the global optimal solution. Experimental results show that the proposed FCMAC with GSBFO can successfully implement mobile robot wall-following control and has a better performance than other methods.
The rest of this article is organized as follows: “Description of mobile robot” section describes the mobile robot of Pioneer 3-DX. “An improved bacterial foraging optimization of FCMAC model” section presents the proposed FCMAC with GSBFO. The experimental results of several unknown environments are described in “Experimental results” section. The final section draws the conclusions.
Description of mobile robot
The mobile robot of Pioneer 3-DX is introduced by US MobileRobots. 19 The characteristics of the mobile robot are high payload, high endurance, strong extensibility, and support cross-platform software development kit (SDK). This SDK includes motion control, client–server architecture, and various accessories. Therefore, users can apply the robot to various fields and integrate all peripheral equipment to complete the research goals.
In Figure 1, the Pioneer 3-DX mobile robot consists of three wheels, where two wheels are used to drive the mobile robot and one auxiliary wheel is used to keep the stabilization of a mobile robot. The positions of sonar arrays in Pioneer 3-DX robot are fixed: one on each side and six facing outward at 20° intervals. Sensitivity ranges from 10 cm (6 inches) to 5 m. It is a fully autonomous intelligent mobile robot. Table 1 shows the Pioneer 3-DX specification.

Pioneer 3-DX.
Pioneer 3-DX specification.
An improved BFO of FCMAC model
In this session, the structure of proposed FCMAC model will be introduced in subsection “A fuzzy cerebellar model articulation controller”. “The proposed GSBFO” subsection describes an improved bacteria foraging optimization algorithm, which is called GSBFO. The proposed learning algorithm is used to adjust the parameters of FCMAC model for implementing mobile robot wall-following control.
A fuzzy cerebellar model articulation controller
The traditional CMAC model adopts the concept of multi-hypercube and memory cells and the mapping technique to store the information of the different states in the corresponding multi-hypercube cells. Finally, access the information from the corresponding memory cells and accumulate it as output. In this study, the fuzzy theory will be embedded into the traditional CMAC model. The inputs use Gaussian membership function and form a fuzzy hypercube. A linear combination of input variables in the consequent memory is used to replace a single value memory. In order to solve more hypercube cells required in the traditional CMAC, this study proposes a FCMAC model and its structure is shown in Figure 2.

The structure of FCMAC model. FCMAC: fuzzy cerebellar model articulation controller.
In each node, (1) Layer 1 (input layer)
Input variables
(2) Layer 2 (fuzzification layer)
The fuzzification layer is to fuzzify the output of layer 1 and each node uses Gaussian membership function to perform fuzzification operation. It is defined as follows
where
(3) Layer 3 (spatial firing layer)
Each node represents the fuzzy hypercube cells by assembling the output of layer 2. This node performs fuzzy product operator to obtain the firing strength αj in space. The output is calculated as follows
where
(4) Layer 4 (consequent layer)
Each node represents one memory. The information from internal memory is a linear combination of input variables. The firing strength αj maps to the corresponding memory for obtaining a fuzzy output. It is expressed as follows
where
(5) Layer 5 (output layer)
The final output y adopts centroid of area to perform defuzzification
where R is the number of fuzzy hypercube cells.
The proposed GSBFO
In this section, the proposed GSBFO will be introduced. The proposed learning method can be effectively used to adjust the parameters of FCMAC model.
The encoding of one bacterium in FCMAC is shown in Figure 3. One fuzzy hypercube cell contains the center mij and width σij of Gaussian membership function and the constants a0j and aij of the corresponding memory of linear combination of input variables.

Encoding of one bacterium in FCMAC. FCMAC: fuzzy cerebellar model articulation controller.
The traditional BFO was proposed by Passino. 15 Bacteria searches the better quality solution via chemotaxis, reproduction, and elimination-dispersal. In the chemotaxis operation, bacteria uses tumble and swim to move to their location. Therefore, bacteria usually search randomly in various regions, and this operation can increase the diversity of searching range. On the contrary, it may ignore the searching capabilities of the better range.
In order to overcome the aforementioned problems, this study proposes an efficient GSBFO algorithm. The flowchart of GSBFO is shown in Figure 4. In GSBFO, the evolutionary strategy of chemotaxis operation process is used. Thus, bacteria in the chemotaxis process have the opportunity to move to the best location

The flowchart of GSBFO. GSBFO: group-based strategy bacterial foraging optimization.

Group formation process.
(1) Group formation
Step 1: The fitness functions of a swarm are arrayed in ascending order.
Step 2: Find the threshold τth of group formation. The maximum fitness value Pbest and the minimum fitness value Pworst in a swarm are selected. According to the locations of two bacteria (Pbest and Pworst), we can calculate the threshold of group formation. The formula is shown as follows
where n is the size of bacterial cell structure and d is a constant between 0 and 1. In general, d is usually set to 0.6.
Step 3: First, set a bacterium with the maximum fitness value Pbest in a swarm as the leader of local best position in the group 1
(2) Evolutionary strategy
In the proposed GSBFO, the states of the previous two bacterial chemotactic processes will be recorded. The states consist of deterioration, status quo, and improvement. Therefore, there are nine gathered-statuses based on the previous two bacterial chemotactic operations. According to the nine gathered-statuses, three strategies are generated and shown in Table 2. These strategies are applied in the tumble step of the bacterial chemotactic process.
The gathered-statuses and evolutionary strategies of bacteria.
Deterioration: −; status quo: =; improvement: +.
Strategy 1: In this strategy, the moving of bacteria will tend to the global best bacterium in the swarm (
where CS is the movement step of the last chemotactic operation, C(i) is the size of the step taken in the random direction as specified in the tumble step,
where the step coefficient K is set to [4, 6] and f(⋅) indicates the fitness function. Strategy 2: In this strategy, the moving of bacteria will tend to the local best position
where
The step coefficient K is set the same as strategy 1. Strategy 3: This is a random search strategy. It can be used to expand the diversity of the search range
where Δ(i) is a random direction and its value is set as [−1, 1].
Experimental results
In order to verify the performance of proposed GSBFO, we will apply the mobile robot wall-fallowing control problem and compare the proposed method with various methods. The experiment consists of the simulated control and the practical control of mobile robot. In the simulation experiment, the Webots PRO 7.4.3 simulator software (https://www.cyberbotics.com/) is used to simulate the Pioneer 3-DX mobile robot.
The environment of mobile robot is shown in Figure 6. The mobile robot has three input signals, such as the distance S1 from 10° angle sonar, the distance S2 from 50° angle sonar, and the distance S3 from 90° angle sonar. The detecting distance of sonar sensors is limited between 0.1 and 5 m. The two output signals control the velocity of left wheel (V L) and the velocity of right wheel (V R) of mobile robot. The outputs are limited in the interval [−5.24, 5.24] (rad/s). The execution cycle of mobile robot is 500 ms. Figure 7 shows the control diagram of the mobile robot using an FCMAC controller with GSBFO learning algorithm.

Environment of mobile robot.

The mobile robot control using an FCMAC controller. FCMAC: fuzzy cerebellar model articulation controller.
In the experimental process, the mobile robot wall-fallowing control includes three terminal conditions. In evolutionary process, when the terminal conditions occur, the number of evolution will be added one, and the robot returns to the initial position of the experiment and reperforms again. The evolutionary process will be terminated until the mobile robot detours around the venue of an unknown environment successfully. Three terminal conditions are described as follows: Mobile robot collides with the wall. For example, the distance from the sonar sensor is less than 0.1 m. The robot is far away from the wall. For example, the distance S3 is greater than 0.7 m. The mobile robot can detour around the venue successfully.
Table 3 shows the initial parameters set of proposed algorithm. The objective function of a controller depends on the environment of mobile robot. In this study, the assessment factors consist of four objective functions
Initial parameters setting of the proposed algorithm.
(1) Objective function CF1: When a collision occurs, the proportionality of the robot moving distance (Tdis) and the predefined walking with maximum distance (Tstop) is defined as follows
If the actual moving distance of mobile robot is larger than the walking with maximum distance (Tstop), we set
(2) Objective function CF2: The objective function describes the distance (RD(t)) between the right wheel of mobile robot and the wall at time step t. If the mobile robot moves the wall-following with the desired path, the RD(t) will be zero at time step t. RD(t) is defined as follows
where dwall is the predefined wall-robot distance to be maintained. The goal of CF2 is defined as the average value of RD(t) at all time steps Ttotal
(3) Objective function CF3: The objective function describes the angle (∅) between the front of mobile robot and the wall, as shown in Figure 6. If the mobile robot moves parallel to the wall, then the angle ∅ is zero. The angle ∅(t) is defined as follows
where θ is an angle between S2 and S3 of sonar sensing distances. The CF3 is the average angle ∅(t) at all time steps Ttotal defined as follows
(4) Objective function CF4: The objective function describes the proportionality between an average moving speed (Vaverage) of mobile robot and the predefined desired speed (Vhope)
If the average moving speed is greater than the predefined desired speed, we set Vaverage = Vhope. This indicates that the mobile robot has satisfied the conditions. The goal of CF4 is to move the mobile robot at high speed.
The fitness function f(⋅) is based on the control factor of four objective functions CF1, CF2, CF3, and CF4, which combines the weighting coefficients α1, α2, α3, and α4 to form a total objective function
In equation (16), we can find that the goal of the fitness function f(·) converges approaching to 1. In addition, the sum of the weighting coefficients is equal to 1. In this study, the weighting coefficients of control factors are set as
Training of environment
Firstly, the training environment is set to 5 × 4 m, as shown in Figure 9. It consists of the straight line, the bevel angle, and the right angle problems. The starting point of mobile robot is (x, y) = (2, −1.5). The distance from the start point to the target point is 18 m, dwall is set to 0.3 m, and Vhope is set to 0.4 m/s. This study compares the proposed GSBFO algorithm to the BFO algorithm 15 , and the Strategy-Adaptation-based Bacterial Foraging Optimization (SABFO) algorithm. 18 Each of these algorithms is applied to the mobile robot wall-following control. The performance measures include the best fitness function, the worst fitness function, the average fitness function, and the standard deviation. Figure 8 illustrates the obtained fitness functions by different learning algorithms. The best fitness functions by the proposed GSBFO, the SABFO, 18 and the BFO 15 learning methods are 0.962, 0.945, and 0.944, respectively. The comparison results are shown in Table 4. The proposed GSBFO has better fitness function than other methods, 15,18 under the same conditions. In Table 4, the proposed GSBFO has the smallest standard deviation than other methods. 15,18 Therefore, the proposed GSBFO method is more stable than other methods.

The best fitness function by different learning algorithms.

The moving path of mobile robot using the proposed algorithm in training environment.
Comparison results of the best fitness function, the worst fitness function, the average fitness function, and standard deviation.
GSBFO: group-based strategy bacterial foraging optimization; BFO: bacterial foraging optimization.
The learned FCMAC model is applied to simulate the robot wall-following control. Figure 9 presents the moving path of mobile robot by the proposed FCMAC model with GSBFO learning algorithm. In this figure, the proposed algorithm gives a good wall-following control in points A and B of a bevel angle, and points C and D of a right angle control problems. In addition, the root-mean-square error (RMSE) is effectively used to evaluate the control factor CF2 of the mobile robot wall-following control problem. The mobile robot maintains a fixed distance from the wall and the RMSE is defined as follows
The simulation results are shown in the second row of Table 5. The RMSE results of the training environment using the proposed GSBFO, the SABFO, and the BFO methods are 0.032, 0.052, and 0.069, respectively. Experimental results show that the proposed GSBFO method has a smaller RMSE than other methods. 15,18
Comparison results of RMSE using various learning algorithms.
“—” represents that the mobile robot collides the wall.
RMSE: root-mean-square error; GSBFO: group-based strategy bacterial foraging optimization; BFO: bacterial foraging optimization.
In order to verify the robust ability of the proposed algorithm, two complex and noise interference environments are adopted in this study. Finally, experimental verification mobile robot can be successfully implemented with the wall-following control in an unknown environment.
Testing environment 1
Testing environment 1 is set to 10 × 8 m. The distance from the start point to the target point is 65 m. In a continuously changing environment, some different learning methods are used for implementing the mobile robot wall-following control. Figure 10(a), (c), and (e) shows the moving path of the mobile robot in testing environment 1 using the proposed GSBFO, the SABFO, 17 and the BFO 15 methods. Figure 10(b), (d), and (f) indicates the robot sonar sensing distance to the wall and the wheel speed at each time step. The RMSE results in testing environment 1 using the proposed GSBFO, the SABFO, and the BFO methods are 0.043, 0.056, and 0.078, respectively. The RMSE results without disturbance are shown in the third row of Table 5. In addition, we have added a disturbance to verify the robust capability for various learning algorithms. During the testing process, we add a disturbance signal to the two-wheel outputs. That is, at points A and B, we added disturbance signals of 5.24 rad/s and 0 rad/s, respectively, to the two-wheel outputs V R and V L. Figure 11(a), (c), and (e) presents the moving trajectory of mobile robot with disturbance in testing environment 1, whereas Figure 11(b), (d), and (f) indicate the robot sonar sensing distance to the wall and the wheel speed at each time step. In testing environment 1, disturbance is added at points A and B. Figure 11(c) shows the SABFO algorithm 18 collides with the corner after adding a disturbance at point B, which is indicated by the symbol “^ ”. The RMSE results in testing environment 1 using the proposed GSBFO, the SABFO, and the BFO methods are 0.088, —, and 0.098, respectively. The symbol “—” indicates that the robot collides with the wall. The RMSE results with disturbance are also shown in the fourth row of Table 5. The simulation results also show that the proposed method gives a smaller RMSE and has a better robust ability than other algorithms, 15,17

The simulation results without disturbance in testing environment 1. The moving trajectory of mobile robot using (a) GSBFO, (c) SABFO, 18 (e) BFO 15 and the sonar sensing distance and the angular velocity of two wheels using (b) GSBFO, (d) SABFO, 18 (f) BFO. 15 GSBFO: group-based strategy bacterial foraging optimization; BFO: bacterial foraging optimization.

The simulation results with disturbance in testing environment 1. The moving trajectory of mobile robot using (a) GSBFO, (c) SABFO, 17 (e) BFO 15 and the sonar sensing distance and the angular velocity of two wheels in (b) GSBFO, (d) SABFO, 18 (f) BFO. 15 GSBFO: group-based strategy bacterial foraging optimization; BFO: bacterial foraging optimization.
Testing environment 2
The setting conditions of testing environment 2 are the same as testing environment 1. Figure 12(a), (c), and (e) presents the moving trajectory of mobile robot in testing environment 2, which has no influence of disturbance. Figure 12(b), (d), and (f) indicates the robot sonar sensing distance and the wheel speed at each time step. In testing environment 2, Figure 12(e) illustrates that the robot collides with the wall using the BFO learning algorithm. 15 The RMSE results without disturbance in testing environment 2 using the proposed GSBFO, the SABFO, and the BFO methods are 0.044, 0.054, and —, respectively. The RMSE results without disturbance are shown in the fifth row of Table 5. In addition, disturbance signals at points A and B are also added in testing environment 2. Figure 12(e) illustrates that the mobile robot collides with the wall using the BFO method. 15 Therefore, Figure 13 only shows the simulation results with disturbance by the proposed GSBFO and the SABFO methods. In this figure, the proposed method quickly keeps a fixed distance from the wall when the mobile robot encounters a disturbance. The RMSE results with disturbance in testing environment 2 using the proposed GSBFO, the SABFO, and the BFO methods are 0.054, 0.067, and —, respectively. The RMSE results with disturbance are shown in the sixth row of Table 5. In this table, we can find that simulation results show the proposed GSBFO method has better robust ability than other methods, 15,18 when the mobile robot encounters a disturbance.

The simulation results without disturbance in testing environment 2. The moving trajectory of mobile robot using (a) GSBFO, (c) SABFO, (e) BFO and the sonar sensing distance and the angular velocity of two wheels in (b) GSBFO, (d) SABFO, (f) BFO. GSBFO: group-based strategy bacterial foraging optimization; BFO: bacterial foraging optimization.

The simulation results with disturbance in testing environment 2. The moving trajectory of mobile robot using (a) GSBFO, (c) SABFO and the sonar sensing distance and the angular velocity of two wheels in (b) GSBFO, (d) SABFO. GSBFO: group-based strategy bacterial foraging optimization.
Testing real environment
Finally, the proposed GSBFO algorithm is used to control the Pioneer 3-DX mobile robot in a real environment. Since the real environment has the uncertainty and unpredictability characteristics, the control of a real mobile robot is difficult. The real testing environment is set as the range of size 4 × 2.5 m, as shown in Figure 14. Experimental results demonstrate the proposed algorithm can successfully implement the mobile robot wall-following control in a real unknown environment.

The wall-following control using the proposed GSBFO algorithm in real environment. GSBFO: group-based strategy bacterial foraging optimization.
Conclusion
This study proposes the mobile robot wall-following control using an FCMAC with GSBFO learning method. The proposed GSBFO has the advantages of global search, evolutionary strategies, and group evolution to speed up the convergence rate. Thus, the proposed method is not easy to fall into the regional solution. Two simulated testing environments without/with disturbance and a real environment are used to validate the effectiveness of the proposed GSBFO algorithm. Experimental results show that the proposed method in the testing environments without/with disturbance are better than the traditional BFO 15 and the SABFO 18 algorithms.
Footnotes
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) received no financial support for the research, authorship, and/or publication of this article.
