International Journal of Knowledge-based and Intelligent Engineering Systems -1 (2015) 1–9 DOI 10.3233/KES-150317 IOS Press

1

A modified neuro-evolutionary algorithm for mobile robot navigation: Using fuzzy systems and combination of artificial neural networks Sajjad Fouladvand∗, Soroor Salavati, Pedram Masajedi and Afshin Ghanbarzade Faculty of Engineering, Shahid Chamran University of Ahvaz, Golestan Boulvard, Ahvaz, Iran

Abstract. In this paper, an efficient, novel neuro-evolutionary algorithm to navigate a mobile robot in partially visible environments is introduced. The main disadvantage of Neuro-Evolutionary algorithm is the slow perception and low efficiency in complex environments which is required to be developed. This research is aimed to speed up the iteration and improve the performance in complicated ambient. In the typical neuro-evolutionary algorithm, random values are employed either in weights initialization of neural networks or during the training phase. To do so, this research employed a novel method in which robot navigation will be done by using selected values by 3 neural networks rather than one which improve the performance of learning procedure. Another novel method used in this article is replacing the neural networks which are responsible for obstacle avoidance by fuzzy algorithm. It will be shown that fuzzy logic is an easy way to put some initial knowledge in the neuro-evolution algorithm to avoid learning from zero. The results clearly demonstrate that the training algorithm approaches the optimum values with the least iterations which not only reduce the required time for reaching the target but also materialize the obstacle avoidance aim. Keywords: Neuro-evolutionary algorithm, mobile robot navigation, adaptive learning algorithms, combination of neural networks, fuzzy systems, infrared sensor, object avoidance

1. Introduction Mobile robot navigation means the efficient and reliable ability of a robot to reach the target, based on its knowledge. The interest in Artificial Neural Networks (ANNs) originated from the wish of understanding principles leading in some manner to comprehension of basic human brain functions to generate machines that are able to handle complex tasks and approximate an arbitrary function by given sufficient number of neurons [5]. These features make the neural networks efficient for mobile robot navigation [16]. One of the first attempts to use neural networks in robot navigation was made by Amosov et al. [18]. Since then, many ∗ Corresponding author: Sajjad Fouladvand, Faculty of Engineering, Shahid Chamran University of Ahvaz, Golestan Boulvard, Ahvaz, Iran. Tel.: +98 9163 696 538; E-mail: [email protected] gmail.com.

researches have been done to utilize different kinds of neural networks such as multilayer perceptron, selforganizing neural network, recurrent neural networks, Neuro-Fuzzy approach and so on to solve path finding problems. In mobile robot navigation, the optimal performance at each moment is not always known; typically, after several operations it is possible to find out whether the performance is satisfying or not [21]. This is why researchers have attempted to develop robot navigation methods [13]. In [10], it was concluded that positive and negative reinforcement signals improve the robot behavior through learning a competitive neural network. The work presented in [2] has proposed a combination of short term memory and online neural network learning using history of events stored in the memory. One of the most recent researches [19] has used adaptive Neuro-Fuzzy controller to navigate a mobile robot in a partially visible environment.

c 2015 – IOS Press and the authors. All rights reserved ISSN 1327-2314/15/$35.00

2

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

Neuro-evolutionary algorithm is a method for modifying neural network parameters adaptively. This algorithm has been used in different control tasks. Some researchers used the neural networks trained with neuroevolutionary algorithm for robot navigation [17]. By using the neuro-evolutionary algorithm, the robot navigation operation can be performed efficiently and adaptively with no need to depict a map of the robot’s environment using only limited sensor-based information. However, relatively slow learning algorithm and weak performance in complex environments are still some unresolved issues that require further investigations [17]. These mentioned issues about neuroevolutionary algorithm motivated us to perform this research and try to overcome these issues. The navigation issue of this research is to bring a mobile robot into a stationary and predefined target in a partially visible environment containing immobile obstacles. We have used a combination of three neural networks trained using a neuro-evolutionary learning algorithm. The robot is driven by real time data acquired by the sensors. In obstacle avoidance phase, a method called behavior-based or sensor-based approach is used [9]. The behavior control architecture can handle the navigation problem in an online manner and it does not require environment model; thus, it has been widely used for mobile robot navigation [7]. Fuzzy logic control (FLC) is the most important method for robot behavior-based control and has been investigated for mobile robot navigation and obstacle avoidance by many researchers [4,11,15]. This work will address the mobile robot obstacle avoidance issue by combining the ideas of behavior-based control and fuzzy logic control. The contribution of this work is to show that in neuro-evolutionary algorithm using multiple networks with different initial values is better than using a single but best network. In the neuro-evolutionary algorithm which is used in this study, random values are used either in initialization of weights or during the training phase. Hence, employing combination of neural networks instead of using one neural network improves the performance of this algorithm in the robot’s navigation. Furthermore, in obstacle avoidance phase, fuzzy rules as the case study in this research, with no need to training, can always guarantee online obstacles avoidance in complex environments even in initial performances of the robot in unseen environments. Thereby, robot will reach the target faster. In addition, the neuroevolutionary algorithm optimizes the weights and biases of neural networks faster.

Fig. 1. Simple schematic of robot characteristics.

Fig. 2. IR sensors location.

2. Mobile robot systems In this research, an autonomous wheeled robot is selected for indoor environment and Webots software is utilized to simulate the robot movement. It has two identical parallel wheels which are controlled by two independent DC gear motors. Each wheel is considered to be perpendicular to the ground and the contact between the wheels and the ground is pure rolling and non-slipping. The velocity of the center of mass of the robot is orthogonal to the wheel axis and the center of mass of the robot is located in the middle of the axis connecting the wheels (Fig. 1). The equations used to generate the Matlab simulation model of the robot are given by Eq. (1). ⎡1 cos ∅ ⎤ ⎡ ⎢2 vx (t) ⎢ ⎥ ⎢1 ⎢ ⎣vy (t)⎦ = ⎢ sin ∅ ⎢2 ⎣ ∅(t) −1 L

⎤ 1 cos ∅ ⎥ 2 ⎥ v 1 ⎥ r sin ∅ ⎥ ⎥ vl 2 ⎦ 1 L

(1)

Sensors are mounted on the front platform which is shown in Fig. 2. The sensors are in the left side, front and the right side of the robot named Left Sensor, Front Sensor and Right Sensor respectively. The detection distance for each sensor is more than 10 cm with 80% sensitivity. In practice, sensors have a detection

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

3

3. Methodology

Fig. 3. Sensitivity of IR sensors.

In this paper, Webots simulation besides the C programming language has been used. A wheeled robot with 15 centimeters in height and 16 centimeters in length is selected. To determine the location of the robot, a GPS coordinates is employed. A compass is implemented to identify the angle between robot directions of motion and target. Moreover, the robot uses three 45 degrees-spaced infrared sensors ahead. The selected environment has an area of 20 × 20 = 400 m2 . Obstacles in different sizes and shapes are inserted. In this work, neural networks are responsible for global navigation and finding the proper direction and the fuzzy rules act as a local navigation method when the sensors detect an object. In the rest of the current section, different parts of the proposed hybrid method are represented. 3.1. Neuro-evolutionary algorithm

Fig. 4. Simple schematic of robot characteristics.

range of 10 cm around the mobile robot platform and the detection angle is more, approximately 90◦ , in the front of the robot which is shown in Fig. 3. Distance between the robot and the target (d) and the angle between the robot direction of motion and the target (θ) are input data for the neural network. These two features are shown schematically in Fig. 4.

Neuro-evolutionary algorithm is a method for modifying neural network attributes such as weights and topologies to learn a particular task. Evolutionary computation is used to search for network parameters that maximize the objective function (fitness function) as a measure of performance in the task. Most neuroevolutionary methods follow the usual generate-andtest loop of evolutionary algorithms [21].

2.1. Robot navigation

3.2. Neuro-evolutionary algorithm using one neural network for decision making

In the case of limited resources, especially in ability to observe the surrounding environment of robot, analyzing the incoming data is very noticeable. So, specifying of robot navigation inside an unknown, complex environment need to be addressed. Robot must be able to select a safe and efficient way to reach the target which includes preventing of obstacle collision and maximizing the robot speed. In this study two algorithms are used to meet such requirements which are listed below: – Neuro-Evolved Navigation: a multilayer perception based controller that interpret the environment and qualify each potential path to select the most qualified one. – Fuzzy algorithm to ensure obstacle avoidance purpose which reduces the time consumption to reach the target and improve the performance of controller.

Firstly, a set of twenty neural networks is selected. All neural networks contain one hidden layer with ten neurons in which one neuron is in the output layer and two neurons are in the input layer. For many practical problems, there is no reason to use any more than one hidden layer and a single hidden layer can approximate any function that contains a continuous mapping from one finite space to another [12]. Also in most situations, there is no way to determine the best number of hidden units without training several networks while estimating the overall error. For few hidden units, high training error, high generalization error, due to underfitting, and high statistical bias are expected. Many hidden units cause low training error while having high generalization error due to over-fitting and high variance. However, a multilayer perceptron with one hidden layer will never require more than twice the number of hidden units as it has inputs [14]. In addition,

4

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

transfer function of the neural networks is the sigmoid function at which values correspond to all weights and biases of neurons are initialized with random decimal numbers over the range of [−1, 1]. Once the run starts (corresponding time in which the robot reaches or fails to reach the target upon starting from the initial position), after random selection among twenty neural networks, corresponding weights and biases values are mutated by adding a randomlyselected number in the interval of [−1, 1]. Then, at each time step (32 milliseconds is considered in this study), for 360 individual possible paths attributed to the environment divided into 360 sections, input features are measured and then specified as the neural network inputs. These inputs are then normalized using Min-Max normalization so that to be mapped in the range of [0, 1]. The reliability of each path, as the output of the neural network, is obtained and robot will select the best path among them. At the end of the current run, objective function of current network is calculated and then the network is replaced by a network among 19 remaining networks. The calculated objective function for the replaced network must be minimum compared to objective function relating to current network. Although d is constant for all 360 possible paths in each time step, it may vary in different environments. Besides, for the purpose of obstacle avoidance, a fuzzy logic which is described in the next section is utilized. Selecting the appropriate objective function has a direct and significant influence on neural network’s performance and, hence, the robot’s performance. This is why all aspects must be considered in defining the objective function. In this study, the objective function is based on Eq. (2) to meet all requirements. G(d, t) = Goptimum (d, t) − {((−0.005d) + 1) + ((−0.005t) + 1)}

(2)

where d and t are, respectively the path taken by the robot and the total time elapsed during the current run. The parameter c is the total amount of time elapsed recovering from collisions during one iteration. In this equation, all effective and important issues in robot navigation for evaluating a neural network are considered. As consumption time and robot displacement decrease, the calculated value for the objective function gets minimized. Optimal value of the objective function (Goptimum ) depends on the environment while varies for different conditions. This optimal value is determined by some predefined conditions ensuring that the robot takes a straight path from the initial state

Table 1 Neuro-evolved algorithms to determine neural network weights Initialize N networks at T = 0 For T < Tmax Loop: 1. Pick a random network Ni from population with probability ∈: Ncurrent ← Ni with probability 1− ∈: Ncurrent ← Nbest 2. Mutate Ncurrent to produce N 3. Control robot with N for next episode For T < Tepi Loop: 3.1 For θ 360 Loop: Run N to produce X(θi ) 3.2 αu ← argument X(θi ) 3.3 Vu ← F (X(αu )) 4. Rank N based on performance (Objective Function) 5. Replace Nworst with N

to the goal without hitting any obstacles. This term is incorporated to make the objective function independent from different conditions (initial positions of robot and obstacles in different environments). Moreover, parameters d and t varies in the range of [0, 1] considering their maximum values. It is worth noting that according to Eq. (2), no parameter is identified to satisfy the obstacle avoidance purpose, so fuzzy algorithm is considered to be responsible for this aim. Table 1 presents the neuro-evolved algorithms procedure where θi is the angle between potential path i and robot orientation, X(θi ) is the evaluated value of objective function αu is the vehicle relative robot angle for next time step and Vu is the chosen robot speed. 3.3. Evolutionary algorithm using a combination of neural networks The main reasons for combining these networks are: 1) A designer may have access to several classifiers with different characteristics. 2) Often more than one training set corresponding to different times or conditions are available. 3) Each classifier focuses on the part of the problem in which it has better performance. 4) In some classifiers (e.g. neural networks) due to random initialization of the training phase, multiple networks with different initial values are preferred compared to using the best network [3]. Therefore, a combination of three neural networks among all twenty possible networks is used and yielded results are compared with a single neural network. In both cases, fuzzy rules are employed for the aim of object avoidance. The number of individual neural networks in the combination system is a fixed value (three) taken as a default one. It is worth noting that, the use of a small number of neural networks (two or three) with a sufficiently small correlation in their mistakes reaches a

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

combined performance which is significantly higher than the best achievable from the individual nets [20]. There are some methods to combine learning procedures in available literatures such as Boosting, Bagging, Stacked Generalization, Voting, etc. [1]. In this study, voting scheme (linear combination of classifiers) is utilized as combination method. The method is similar to the procedure described in Section 3.2, while at the beginning of each iteration, three networks are selected randomly among all twenty networks instead of one single neural network. The final output is then calculated from the arithmetic average outputs of these networks. The objective function defined by Eq. (2) is used to evaluate all networks. At the end of any iteration, current neural networks will be replaced with networks having minimum objective function values.

5

(a) Near

(b) Far

4. Robot obstacle avoidance based on fuzzy rules In obstacle avoidance phase, an algorithm presented in [9] is utilized. In fact, fuzzy rules perform as a local navigation method in this work. Unlike the classical logic, fuzzy logic is tolerant to imprecision, uncertainty and partial truth. The basic structure of a Fuzzy Logic Controller (FLC) consists of these conceptual components: Fuzzification, Knowledge base, Inference engine, Defuzzification. 4.1. Fuzzification phase A membership function for a fuzzy set, A, on the universe of discourse X is defined as μA : X ∈ [0, 1], where each element of X is mapped to a value between 0 and 1. This value, which is called membership value or degree of membership, quantifies the grade of membership of an element in X to fuzzy set A. Membership functions allow us to graphically represent a fuzzy set such that the x and y axes, represent respectively the universe of discourse and the degrees of membership in the [0, 1] interval. Simple functions are used to generate membership functions. Since fuzzy concepts are defining, using more complex functions does not add further precision. Simple triangular functions are defined by a lower limit ‘a’, an upper limit ‘b’, and a value ‘m’, where a < m < b. This function is defined in this study. In the first step, three functions (μN – near, μM – medium and μF – far) are defined. Each of these functions needs to be defined for each individual sensor. Since three sensors are involved in this part, the number of laws will be 27. It should be noticed that the

Fig. 5. Membership functions μA (x) for the IR sensor.

computation of all 27 rules by the inference engine is time consuming. That is why only near and far fuzzy sets are used in this study. Membership functions for these two concepts are as Eq. (3) and shown in Fig. 5.

0 0n

1

A modified neuro-evolutionary algorithm for mobile robot navigation: Using fuzzy systems and combination of artificial neural networks Sajjad Fouladvand∗, Soroor Salavati, Pedram Masajedi and Afshin Ghanbarzade Faculty of Engineering, Shahid Chamran University of Ahvaz, Golestan Boulvard, Ahvaz, Iran

Abstract. In this paper, an efficient, novel neuro-evolutionary algorithm to navigate a mobile robot in partially visible environments is introduced. The main disadvantage of Neuro-Evolutionary algorithm is the slow perception and low efficiency in complex environments which is required to be developed. This research is aimed to speed up the iteration and improve the performance in complicated ambient. In the typical neuro-evolutionary algorithm, random values are employed either in weights initialization of neural networks or during the training phase. To do so, this research employed a novel method in which robot navigation will be done by using selected values by 3 neural networks rather than one which improve the performance of learning procedure. Another novel method used in this article is replacing the neural networks which are responsible for obstacle avoidance by fuzzy algorithm. It will be shown that fuzzy logic is an easy way to put some initial knowledge in the neuro-evolution algorithm to avoid learning from zero. The results clearly demonstrate that the training algorithm approaches the optimum values with the least iterations which not only reduce the required time for reaching the target but also materialize the obstacle avoidance aim. Keywords: Neuro-evolutionary algorithm, mobile robot navigation, adaptive learning algorithms, combination of neural networks, fuzzy systems, infrared sensor, object avoidance

1. Introduction Mobile robot navigation means the efficient and reliable ability of a robot to reach the target, based on its knowledge. The interest in Artificial Neural Networks (ANNs) originated from the wish of understanding principles leading in some manner to comprehension of basic human brain functions to generate machines that are able to handle complex tasks and approximate an arbitrary function by given sufficient number of neurons [5]. These features make the neural networks efficient for mobile robot navigation [16]. One of the first attempts to use neural networks in robot navigation was made by Amosov et al. [18]. Since then, many ∗ Corresponding author: Sajjad Fouladvand, Faculty of Engineering, Shahid Chamran University of Ahvaz, Golestan Boulvard, Ahvaz, Iran. Tel.: +98 9163 696 538; E-mail: [email protected] gmail.com.

researches have been done to utilize different kinds of neural networks such as multilayer perceptron, selforganizing neural network, recurrent neural networks, Neuro-Fuzzy approach and so on to solve path finding problems. In mobile robot navigation, the optimal performance at each moment is not always known; typically, after several operations it is possible to find out whether the performance is satisfying or not [21]. This is why researchers have attempted to develop robot navigation methods [13]. In [10], it was concluded that positive and negative reinforcement signals improve the robot behavior through learning a competitive neural network. The work presented in [2] has proposed a combination of short term memory and online neural network learning using history of events stored in the memory. One of the most recent researches [19] has used adaptive Neuro-Fuzzy controller to navigate a mobile robot in a partially visible environment.

c 2015 – IOS Press and the authors. All rights reserved ISSN 1327-2314/15/$35.00

2

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

Neuro-evolutionary algorithm is a method for modifying neural network parameters adaptively. This algorithm has been used in different control tasks. Some researchers used the neural networks trained with neuroevolutionary algorithm for robot navigation [17]. By using the neuro-evolutionary algorithm, the robot navigation operation can be performed efficiently and adaptively with no need to depict a map of the robot’s environment using only limited sensor-based information. However, relatively slow learning algorithm and weak performance in complex environments are still some unresolved issues that require further investigations [17]. These mentioned issues about neuroevolutionary algorithm motivated us to perform this research and try to overcome these issues. The navigation issue of this research is to bring a mobile robot into a stationary and predefined target in a partially visible environment containing immobile obstacles. We have used a combination of three neural networks trained using a neuro-evolutionary learning algorithm. The robot is driven by real time data acquired by the sensors. In obstacle avoidance phase, a method called behavior-based or sensor-based approach is used [9]. The behavior control architecture can handle the navigation problem in an online manner and it does not require environment model; thus, it has been widely used for mobile robot navigation [7]. Fuzzy logic control (FLC) is the most important method for robot behavior-based control and has been investigated for mobile robot navigation and obstacle avoidance by many researchers [4,11,15]. This work will address the mobile robot obstacle avoidance issue by combining the ideas of behavior-based control and fuzzy logic control. The contribution of this work is to show that in neuro-evolutionary algorithm using multiple networks with different initial values is better than using a single but best network. In the neuro-evolutionary algorithm which is used in this study, random values are used either in initialization of weights or during the training phase. Hence, employing combination of neural networks instead of using one neural network improves the performance of this algorithm in the robot’s navigation. Furthermore, in obstacle avoidance phase, fuzzy rules as the case study in this research, with no need to training, can always guarantee online obstacles avoidance in complex environments even in initial performances of the robot in unseen environments. Thereby, robot will reach the target faster. In addition, the neuroevolutionary algorithm optimizes the weights and biases of neural networks faster.

Fig. 1. Simple schematic of robot characteristics.

Fig. 2. IR sensors location.

2. Mobile robot systems In this research, an autonomous wheeled robot is selected for indoor environment and Webots software is utilized to simulate the robot movement. It has two identical parallel wheels which are controlled by two independent DC gear motors. Each wheel is considered to be perpendicular to the ground and the contact between the wheels and the ground is pure rolling and non-slipping. The velocity of the center of mass of the robot is orthogonal to the wheel axis and the center of mass of the robot is located in the middle of the axis connecting the wheels (Fig. 1). The equations used to generate the Matlab simulation model of the robot are given by Eq. (1). ⎡1 cos ∅ ⎤ ⎡ ⎢2 vx (t) ⎢ ⎥ ⎢1 ⎢ ⎣vy (t)⎦ = ⎢ sin ∅ ⎢2 ⎣ ∅(t) −1 L

⎤ 1 cos ∅ ⎥ 2 ⎥ v 1 ⎥ r sin ∅ ⎥ ⎥ vl 2 ⎦ 1 L

(1)

Sensors are mounted on the front platform which is shown in Fig. 2. The sensors are in the left side, front and the right side of the robot named Left Sensor, Front Sensor and Right Sensor respectively. The detection distance for each sensor is more than 10 cm with 80% sensitivity. In practice, sensors have a detection

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

3

3. Methodology

Fig. 3. Sensitivity of IR sensors.

In this paper, Webots simulation besides the C programming language has been used. A wheeled robot with 15 centimeters in height and 16 centimeters in length is selected. To determine the location of the robot, a GPS coordinates is employed. A compass is implemented to identify the angle between robot directions of motion and target. Moreover, the robot uses three 45 degrees-spaced infrared sensors ahead. The selected environment has an area of 20 × 20 = 400 m2 . Obstacles in different sizes and shapes are inserted. In this work, neural networks are responsible for global navigation and finding the proper direction and the fuzzy rules act as a local navigation method when the sensors detect an object. In the rest of the current section, different parts of the proposed hybrid method are represented. 3.1. Neuro-evolutionary algorithm

Fig. 4. Simple schematic of robot characteristics.

range of 10 cm around the mobile robot platform and the detection angle is more, approximately 90◦ , in the front of the robot which is shown in Fig. 3. Distance between the robot and the target (d) and the angle between the robot direction of motion and the target (θ) are input data for the neural network. These two features are shown schematically in Fig. 4.

Neuro-evolutionary algorithm is a method for modifying neural network attributes such as weights and topologies to learn a particular task. Evolutionary computation is used to search for network parameters that maximize the objective function (fitness function) as a measure of performance in the task. Most neuroevolutionary methods follow the usual generate-andtest loop of evolutionary algorithms [21].

2.1. Robot navigation

3.2. Neuro-evolutionary algorithm using one neural network for decision making

In the case of limited resources, especially in ability to observe the surrounding environment of robot, analyzing the incoming data is very noticeable. So, specifying of robot navigation inside an unknown, complex environment need to be addressed. Robot must be able to select a safe and efficient way to reach the target which includes preventing of obstacle collision and maximizing the robot speed. In this study two algorithms are used to meet such requirements which are listed below: – Neuro-Evolved Navigation: a multilayer perception based controller that interpret the environment and qualify each potential path to select the most qualified one. – Fuzzy algorithm to ensure obstacle avoidance purpose which reduces the time consumption to reach the target and improve the performance of controller.

Firstly, a set of twenty neural networks is selected. All neural networks contain one hidden layer with ten neurons in which one neuron is in the output layer and two neurons are in the input layer. For many practical problems, there is no reason to use any more than one hidden layer and a single hidden layer can approximate any function that contains a continuous mapping from one finite space to another [12]. Also in most situations, there is no way to determine the best number of hidden units without training several networks while estimating the overall error. For few hidden units, high training error, high generalization error, due to underfitting, and high statistical bias are expected. Many hidden units cause low training error while having high generalization error due to over-fitting and high variance. However, a multilayer perceptron with one hidden layer will never require more than twice the number of hidden units as it has inputs [14]. In addition,

4

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

transfer function of the neural networks is the sigmoid function at which values correspond to all weights and biases of neurons are initialized with random decimal numbers over the range of [−1, 1]. Once the run starts (corresponding time in which the robot reaches or fails to reach the target upon starting from the initial position), after random selection among twenty neural networks, corresponding weights and biases values are mutated by adding a randomlyselected number in the interval of [−1, 1]. Then, at each time step (32 milliseconds is considered in this study), for 360 individual possible paths attributed to the environment divided into 360 sections, input features are measured and then specified as the neural network inputs. These inputs are then normalized using Min-Max normalization so that to be mapped in the range of [0, 1]. The reliability of each path, as the output of the neural network, is obtained and robot will select the best path among them. At the end of the current run, objective function of current network is calculated and then the network is replaced by a network among 19 remaining networks. The calculated objective function for the replaced network must be minimum compared to objective function relating to current network. Although d is constant for all 360 possible paths in each time step, it may vary in different environments. Besides, for the purpose of obstacle avoidance, a fuzzy logic which is described in the next section is utilized. Selecting the appropriate objective function has a direct and significant influence on neural network’s performance and, hence, the robot’s performance. This is why all aspects must be considered in defining the objective function. In this study, the objective function is based on Eq. (2) to meet all requirements. G(d, t) = Goptimum (d, t) − {((−0.005d) + 1) + ((−0.005t) + 1)}

(2)

where d and t are, respectively the path taken by the robot and the total time elapsed during the current run. The parameter c is the total amount of time elapsed recovering from collisions during one iteration. In this equation, all effective and important issues in robot navigation for evaluating a neural network are considered. As consumption time and robot displacement decrease, the calculated value for the objective function gets minimized. Optimal value of the objective function (Goptimum ) depends on the environment while varies for different conditions. This optimal value is determined by some predefined conditions ensuring that the robot takes a straight path from the initial state

Table 1 Neuro-evolved algorithms to determine neural network weights Initialize N networks at T = 0 For T < Tmax Loop: 1. Pick a random network Ni from population with probability ∈: Ncurrent ← Ni with probability 1− ∈: Ncurrent ← Nbest 2. Mutate Ncurrent to produce N 3. Control robot with N for next episode For T < Tepi Loop: 3.1 For θ 360 Loop: Run N to produce X(θi ) 3.2 αu ← argument X(θi ) 3.3 Vu ← F (X(αu )) 4. Rank N based on performance (Objective Function) 5. Replace Nworst with N

to the goal without hitting any obstacles. This term is incorporated to make the objective function independent from different conditions (initial positions of robot and obstacles in different environments). Moreover, parameters d and t varies in the range of [0, 1] considering their maximum values. It is worth noting that according to Eq. (2), no parameter is identified to satisfy the obstacle avoidance purpose, so fuzzy algorithm is considered to be responsible for this aim. Table 1 presents the neuro-evolved algorithms procedure where θi is the angle between potential path i and robot orientation, X(θi ) is the evaluated value of objective function αu is the vehicle relative robot angle for next time step and Vu is the chosen robot speed. 3.3. Evolutionary algorithm using a combination of neural networks The main reasons for combining these networks are: 1) A designer may have access to several classifiers with different characteristics. 2) Often more than one training set corresponding to different times or conditions are available. 3) Each classifier focuses on the part of the problem in which it has better performance. 4) In some classifiers (e.g. neural networks) due to random initialization of the training phase, multiple networks with different initial values are preferred compared to using the best network [3]. Therefore, a combination of three neural networks among all twenty possible networks is used and yielded results are compared with a single neural network. In both cases, fuzzy rules are employed for the aim of object avoidance. The number of individual neural networks in the combination system is a fixed value (three) taken as a default one. It is worth noting that, the use of a small number of neural networks (two or three) with a sufficiently small correlation in their mistakes reaches a

S. Fouladvand et al. / A modified neuro-evolutionary algorithm for mobile robot navigation

combined performance which is significantly higher than the best achievable from the individual nets [20]. There are some methods to combine learning procedures in available literatures such as Boosting, Bagging, Stacked Generalization, Voting, etc. [1]. In this study, voting scheme (linear combination of classifiers) is utilized as combination method. The method is similar to the procedure described in Section 3.2, while at the beginning of each iteration, three networks are selected randomly among all twenty networks instead of one single neural network. The final output is then calculated from the arithmetic average outputs of these networks. The objective function defined by Eq. (2) is used to evaluate all networks. At the end of any iteration, current neural networks will be replaced with networks having minimum objective function values.

5

(a) Near

(b) Far

4. Robot obstacle avoidance based on fuzzy rules In obstacle avoidance phase, an algorithm presented in [9] is utilized. In fact, fuzzy rules perform as a local navigation method in this work. Unlike the classical logic, fuzzy logic is tolerant to imprecision, uncertainty and partial truth. The basic structure of a Fuzzy Logic Controller (FLC) consists of these conceptual components: Fuzzification, Knowledge base, Inference engine, Defuzzification. 4.1. Fuzzification phase A membership function for a fuzzy set, A, on the universe of discourse X is defined as μA : X ∈ [0, 1], where each element of X is mapped to a value between 0 and 1. This value, which is called membership value or degree of membership, quantifies the grade of membership of an element in X to fuzzy set A. Membership functions allow us to graphically represent a fuzzy set such that the x and y axes, represent respectively the universe of discourse and the degrees of membership in the [0, 1] interval. Simple functions are used to generate membership functions. Since fuzzy concepts are defining, using more complex functions does not add further precision. Simple triangular functions are defined by a lower limit ‘a’, an upper limit ‘b’, and a value ‘m’, where a < m < b. This function is defined in this study. In the first step, three functions (μN – near, μM – medium and μF – far) are defined. Each of these functions needs to be defined for each individual sensor. Since three sensors are involved in this part, the number of laws will be 27. It should be noticed that the

Fig. 5. Membership functions μA (x) for the IR sensor.

computation of all 27 rules by the inference engine is time consuming. That is why only near and far fuzzy sets are used in this study. Membership functions for these two concepts are as Eq. (3) and shown in Fig. 5.

0 0n