Optimization of fuzzy rules using neural network to control mobile robot in non-structured environment

ABSTRACT


INTRODUCTION
Mobile robot is design as manipulator to sense the unknow topology of moving or stationary obstacle during its movements [1], [2].Two main aspects need to be addressed in designing this type of robot: nonlinear and non-analytical controller and reliability of controller system.Fuzzy logic controller (FLC) is one of the controller systems that represent the human experience by set of linguistic rules.Although FLC is a robust controller in solving a tedious and difficult problem but it is very slow in response when used for large-scale problems [3], [4].FLC is more efficient than all soft computing method since it can tolerantly noise and error of reading from the sensory system, also it can reflect the expertise of the human behavior [5], [6].Two approaches are used to solve navigation problem in fuzzy logic, behavior based approach [7], [8] and classical fuzzy rule base approach [9].The fuzzy inference engine is design based on using fuzzy logic rules.These rules represent the human experience as an if-then rules.These rules might be not correct and consistent, or do not possess complete domain knowledge, and/or could have a proportion of redundant rules.This will increase the processing time or produce a wrong decision from the fuzzy controller [10], [11].
Several successful reactive navigation approaches based on neural networks (NN) have been suggested in the literature [12], [13].In spite of various suggested network topologies and learning methods, neural reactive navigators still perceive their knowledge and skills from demonstrating actions [14].Therefore, they suffer from a very slow convergence, lack of generalization due to limited patterns to represent complicated environments, and finally information encapsulated within the network can not be interpreted into physical knowledge [15].Consequently, the utilization of NN in reactive mobile robot navigation is limited when compared to fuzzy logic.However, the role of NN has been found to be very useful and effective when integrated with fuzzy systems [16].The birth of this integration between these two soft-computing paradigms is the neuro-fuzzy systems.Neuro-fuzzy systems provide an urgent synergy that can be found between the two paradigms, especially the capability to mimic human experts as in fuzzy logic, and learning from previous experience capability as in NN [17], [18].
The mobile robot is still a challenge to all authors.So, this paper will propose a new algorithm to control a mobile robot in an unstructured environment.The proposed algorithm is focused on increasing the response time for the inference engine.Therefore, NN are used to select and optimum fuzzy rule(s) from the inference engine.As a result, there is no need to process all the fuzzy rules in the inference engine and this will speed up the processing time and increase the mobile robot response.
This paper is organized as follows.A brief survey of previous work is presented in section 2. The materials and methods that are used in this proposed approach are presented in section 3. Section 4 presents the results, discussion and evaluation materials, while concluding remarks are given in section 5.

LITERATURE REVIEW
Different artificial intelligent techniques are implemented by many authors to control a mobile robot.A pattern recognition approach is one of the intelligent techniques implemented by Singh et al. [19] to control a mobile robot.The approach is designed based on collecting different data from ultrasonic sensory then develop a pattern mapping for the mobile robot based on these sensors.The mapping approach was designed using fuzzy kohonen clustering network (FKCN).As a result, the robot moves safely from the starting point to its target.Research by Yung and Ye [20], implement fuzzy logic in controlling a mobile robot.They used an alternative training approach and reactive fuzzy navigation to control the mobile robot.This method was 270 times faster than the traditional rule based fuzzy controller.A neuro-fuzzy controller also used in mobile robot [10].The authors implement a new technology of hybrid neuro-fuzzy controller to control an autonomous mobile vehicle called Bearcat II.The controller has the ability to achieve target point, given a location, and reach in real time unexpected events like sudden appearance of obstacles.Others such as Carpenter et al. [21] implement a neuro-fuzzy controller in mobile robot.Due to the high response of the proposed algorithm, the mobile robot can avoid nonlinear dynamic problems.The controller is divide to three main stages: fuzzification, NN (instead of inference engine), and defuzzification.

METHOD
Mobile robot is required to explore several paths in a maze to reach its desired position safely.The mobile robot must therefore possess the necessary sensors in order to detect its path and the target point.In this paper, the mobile robot is equipped with three physical ultrasonic sensors and one virtual sensor as shown in Figure 1.In this paper, a neuro-fuzzy controller is designed to control a mobile robot in an unstructured environment.The proposed controller is divided into three main stages as shown in Figure 2. In the first stage, all crisp data from the sensors are converted to fuzzy data using a fuzzification engine.Then, neuro-fuzzy inference engine is worked to activate an optimum number of fuzzy rule(s).Lastly, the defuzzification engine will convert the fuzzy data into crisp data that can be used to control the mobile robot.

Fourty rules fuzzy navigator system
Xu and Tso [22] proposed a FLC40 to control an autonomous mobile robot.They analyzed and tested different cases for a mobile robot.When testing their algorithm on another complicated problem, the mobile robot failed to reach the target point.The main reason behind this failure was the limitation in number of membership function for each sensor (FAR and NEAR) as shown in Figure 3.To avoid these problems, a relaxation of the membership function was done by increasing number of fuzzy sets from two to five fuzzy sets.Therefore, the number of activation rules will be increased from 40 to 625 activation rules.

Improved fuzzy navigator system
FLC40 fails in avoiding collision with the edges of the obstacles as presented in the previous section.The reason behind this failure is the use of a limited number of fuzzy membership functions (NEAR and FAR).To overcome this problem, the number of fuzzy membership functions are increase from two to five membership functions for each input sensors.The linguistic labels for these fuzzy sets are entitled (VL, L, M, S, and VS) as shown in Figures 4(a)-(c).In this case, the fuzzy sets are shorter than before, so the controller is more accurate and performs better.In addition to the increase in the number of sets, the number of fuzzy rules increases as well, up to 625 activation rules (5555=625 activation rules).As an example, a sample is presented where the activation rules are:

i) IF dr is L and dc is L and dl is L and tr is LB THEN Sa is TLB; ii) IF dr is S and dc is M and dl is L and tr is RB THEN Sa is TZ; and iii) IF dr is L and dc is M and dl is S and tr is RS THEN Sa is TRS.
A FLC62 can avoid collisions with obstacles as shown in Figure 5, but the processing of 625 activation rules will take a long time.As a result, the response time of the mobile robot will be decreased.Therefore, a NN is used in the inference engine to select the optimum number of activation rules for increasing mobile robot response, as described in the following section.

Optimized fuzzy rule base using neural network
Any FLC has a problem with its inference engine since it consists of many fuzzy rules.Processing these fuzzy rules will take a long time and decrease the response time for a FLC.To increase the response time of a fuzzy controller, an artificial NN is used to select the optimum number of activation rules in the inference engine.Therefore, the proposed controller will be a hybrid system of fuzzy logic and NN.

Creating input and output data
In supervised NN, both input and output data must be known.In our case, the inputs data are crisp data from three ultrasonic sensors and one virtual sensor.The detection range of the ultrasonic sensor is [0 to 6] m whereas the target orientation virtual sensor's range [-180 to 180] degrees.The output is also a crisp value that presents the steering angle of the mobile robot which is in the range of [-65, 65] angle degree.To generate an input matrix, the distance is divided into seventeen points with step of 0.25 m between each point, whereas the target orientation's step was 8.125 degree.As a result, the input matrix will of the size of four rows (four sensors) and 83,521 columns (17×17×17×17=83,521).
To find the output, the fuzzy rules in the inference engine are divided to 16 sections.Each section includes 40 rules.As a result, the total number of rules will be 640 activation rules.Where the 625 will actual activation rules and 15 do nothing rules that will be used null action in some cases.Therefore, the output nodes for the NN are set to 16 nodes which are the number of sections in the inference engine.For each output node activation rule number that has a value [0.025 to 1] is set.The interval [0.025 to 1] comes from normalize the number of rules in the section based on the maximum number of the rules in the section which is 40.Therefore, the output matrix that have the desired activation rules for each input is set.As a result the size of the output matrix is 16×83,521 elements.

Training and learning the neural network
The feedforward NN were used in this paper, where the input and output data were arranged in a manner similar to Jackknife method [23], [24].Approximately 70% of the data was used for training, and 30% for testing and validation.As we have four inputs and sixteen outputs, the NN topology was designed to satisfy these parameters.So, the input layer of the NN have four nodes (ultrasonic sensor left, ultrasonic sensor right, ultrasonic sensor center, virtual sensor) and sixteen output nodes (sections 1 to 16) in the output layer as shown in Figure 6.Choosing the best number of hidden nodes or hidden layer depends on minimum mean square error (MSE) [25].Therefore, many trials are carried out to choose the best performance of the NN as shown in Figure 7.As a result, the best topology was in using two hidden layers (9 nodes in the first layer and 5 in the second layer).
(Desg1: One hidden layer with three nodes, Desg2: One hidden layer with five nodes, Desg3: One hidden layer with seven nodes, Desg4: two hidden layers with five nodes in first layer and three nodes in second layer, Desg5: two hidden layers with nine nodes in first layer and five nodes in second layer, Desg6: three hidden layers with three nodes in first layer and three nodes in second layer and three layers in the third layer, Desg7: three hidden layers with five nodes in first layer and five in second layer and three layers in the third layer)

RESULTS AND DISCUSSION
When using FLC40, the mobile robot is not capable of avoiding collision with edges of the obstacles due to the limitation in number of membership functions.Also, the inference engine in FLC625 needs a long processing time since it consists of large number of activation rules which affect on the mobile robot's response.Therefore, the NN is used to select the best number of activation rules in the inference engine.As a result, the processing time of the inference engine was reduced by 70% compared with traditional inference engine.The mobile robot's response was increased, and it can avoid collision with all the obstacles in different cases as shown in Figure 8.The three FLC (FLC40, FLC625, optimized FLC) were compared with each other in order to determine the total processing time per stage of each FLC.Based on Table 1, the optimized FLC had a 70% reduction in processing time compared to FLC 625.

FLC40 simulation results
FLC625 simulation results Optimized FLC simulation results

CONCLUSION
The response time of FLC40 was fast, but unfortunately it is not capable of avoiding collision with the obstacles in different cases due to limitation in number of its fuzzy sets (FAR and NEAR).The FLC625 can successfully avoid collision with obstacles but the mobile robot's response time was high since the inference engine consists of large number activation rules.The proposed optimized FLC was designed to reduce the processing time of the inference engine.So, the NN is used to select the optimum number of activation rules in the inference engine.As a result, the processing time of the inference engine was reduced by 70% compared with traditional inference engine.

Figure 1 .
Figure 1.The four sensors of a mobile robot