Building maps for mobile robot navigation using ... - Semantic Scholar

2 downloads 6518 Views 255KB Size Report
Journal of Intelligent & Fuzzy Systems 11 (2001) 171–184. 171. IOS Press. Building maps for .... nism is used to update the interconnection weights of the winner ...
171

Journal of Intelligent & Fuzzy Systems 11 (2001) 171–184 IOS Press

Building maps for mobile robot navigation using fuzzy classification of ultrasonic range data Omar M. Al-Jarrah∗ and Omar Q. Bani-Melhem Department of Computer Engineering, Jordan University of Science and Technology, Irbid 22110, Jordan E-mail: {aljarrah, omelhem}@just.edu.jo

Abstract. For a mobile robot to navigate in a completely unknown environment, it has to perceive its environment locally or globally, reason about its perceptions, and act accordingly. This paper presents a method for building environmental maps for mobile robot navigation using fuzzy classification of ultrasonic range data. The paper concentrates on the classification method. A fuzzy classifier is built to classify the ultrasonic data while the robot is exploring its environment. The generated map will be a graph-representation (topological) of the environment in which nodes represent situation areas and edges represent transitions between these areas. The fuzzy classification is compared with self-organizing feature map neural network classifier. It is shown that when using fuzzy classification, the generated nodes in the map are reduced. This will reduce the time to build the path between the start and target positions. Simulation results prove the success of the fuzzy classification in building environmental maps in comparison with neural networks. Keywords: Fuzzy, classification, navigation, mobile robot, topological map, ultra-sonic sensors

1. Introduction The ultimate goal of an autonomous mobile robot is to navigate safely to its target. Many methods have been introduced in the field of mobile robot navigation. These methods can be classified into three categories: model-based approaches, behavior-based approaches, and hybrid approaches [1,7]. Model-based approaches use a model of the environment to generate a path for the robot to follow. Behavior-based approaches map sensor readings into a proper subset of a state space and associate a behavior with each subset. Behaviors are goal-driven actions that are designed to achieve particular goals. One of the mobile robot navigation approaches that has received attention by several researchers is the mapbased navigation. In this approach, the mobile robot relies on a map that models the environment. When such ∗ Corresponding

author.

1064-1246/01/$8.00  2001 – IOS Press. All rights reserved

map is not given to the mobile robot a priori, it must be built by the robot itself using a sensory system such as ultrasonic sensors [10]. Two fundamental paradigms for modeling the robot environment have been introduced. The first one is the grid-based approach [7,8]. In this approach, the environment is represented by grids. Each grid cell may indicate the presence of an obstacle in the corresponding region of the environment. The Second paradigm is the topological approach. In this approach, the environment is represented by graphs. Nodes in such graphs correspond to distinct situations, places, or landmarks. The nodes in the graph representation are connected by arcs to indicate a direct path between them [5,6]. The grid-based approaches suffer from the fact that the grid must be fine enough to capture the details of the environment. Therefore, as the environment grows more grids are needed for successful navigation. On the other hand, topological approaches are more compact and the size of the map depends on the complexity of the environment rather than its size. Furthermore, in

172

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

grid-based approaches, the position of the robot must be precisely determined which is a difficult task in the presence of sensory uncertainty. This paper focuses on building a graph-representation (topological map) of the environment. Using a set of ultrasonic sensors, the robot collects data about its environment. At the same positions in the environment, the sensed data will be the same. Nevertheless, when the robot moves to another position, the sensed data will be changed. This change depends on the extent of the move. Using a suitable classification algorithm, the similar data will be grouped with each other and it will be possible to attach similar data classes to specific local areas in the environment. These local areas are called situation areas and the corresponding classes of sensed data are called situations [5,6]. Depending on the classification process, the map of the environment is built in the form of a graph representation. In this case, the situation areas are stored as nodes and the transitions from one situation area to another as edges. This map is called situation map Kurz used a self-organizing feature map neural network as a classifier to classify the ultrasonic range data [5,6]. The neural network was firstly trained while the robot was moving on an arbitrary chosen path in the environment. After training the neural network, the robot executes a second exploration to generate the map. In addition, Kurz used a classical classifier called Restrict Coulomb Energy (RCE) classifier [5]. In this paper, we introduce a fuzzy classification approach that is used to build a map of the environment for the purpose of mobile robot navigation. The motivation for this approach comes from the uncertainty in the ultrasonic range data and hence the uncertainty in the classes. We show the ability of the fuzzy classifier to outperform the neural network counter part. This will improve the navigation and reduce the cost in term of time and storage. This paper is organized as follows: in the next section, we describe the approaches used to process the ultrasonic range data. In the third section, we introduce our fuzzy classifier. The fourth section is devoted for training of the fuzzy classifier. Map building is described in the fifth section. In the sixth section, we present the simulation results. Finally, the paper is concluded in section seven. 2. Perception of the environment In this paper, we assume that the mobile robot is equipped with two sensory systems. The first one con-

sists of a ring of 24 ultrasonic sensors mounted on the periphery of the robot’s base. This system is used to measure the distance between the robot and the obstacles in the environment. The second system is used to determine the internal state of the robot in the environment (i.e., the position of the robot and its orientation). For this purpose, goniometers are used to measure angles of the wheel axles and these angles will be used to determine the position of the robot using the dead-reckoning method. Before the ultrasonic range data are classified, they must be preprocessed. This step is necessary to make the ultrasonic data independent from the orientation of the robot. There are two basic steps involved in the preprocessing of the ultrasonic range data which are described in [5,6] and will briefly mentioned for the purpose of completeness: 1. Cut the distance measured by each sensor value at a certain threshold. If it is greater than that threshold, it will be assigned the value of that threshold. In our approach, we cut each sensor value if it is greater than 2 meters. This process does not affect the classification of ultrasonic range data because the situation areas are local entities. 2. Rotate the sensor ring virtually. This means cyclical shift of the 24-dimensional ultrasonic data vector, which is equivalent to rotation of the sensor ring relative to a mobile robot base. Kurz defined two types of virtual rotation of the sensor ring [5,6]. The first one is to rotate the sensor ring into a reference orientation (RO), which is the initial orientation of the robot in the environment. This assumes that this reference orientation is known and given. The second type of virtual rotation is to rotate the sensor ring into the Most Occupied Orientation (MOO). In this type of rotation, a specific orientation is calculated for each sensor data vector where the environment looks most occupied by obstacles. (i.e., when the sensors measure the shortest distances). This orientation is given by 24

dMOO =

1  di , 24 i=1

(1)

where di , 1  i  24, is a vector from the point measured by the i-th sensor to the central point of the mobile robot and d MOO is the algebraic sum of the 24 ultrasonic measurements. The x and y components of the dMOO are calculated and applied to the inputs of the classifier instead of applying all the 24 components of the input data vector.

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

A11

Class 1

d1 Class 2

d2

Class 3

Class n Fig. 1. Neuro-fuzzy classifier.

1

R ij

L ij

w ij

b ij

sical classification algorithms yield a large number of situations. While, using fuzzy classification, one can control the interference among classes and therefore, the number of situations can be reduced. Our fuzzy classifier combines the neural network concepts as well as the fuzzy set theory so it can be called a neuro-fuzzy classifier. The classifier consists of a neural network with two layers: the input layer and the output layer. Each neuron in the output layer represents a fuzzy class. Each component in the weight vector for each class is represented as a fuzzy set. Triangular membership functions are used to represent each component in the weight vectors. A triangular membership function is given by [9]: Aij = triangle (dj ; wij .bij , cij )  dj  bij , dj  cij .   0,d −b j ij = wij −bij , bij  dj  wij .   cij −dj , w  d  c . ij j ij cij −wij

A ij

dj c ij

Fig. 2. The fuzzy set Aij .

3. The fuzzy classifier Before we introduce the fuzzy classifier, we describe briefly the self-organizing feature map (SOFM) neural network. It consists of an array of neurons receiving a coherent input vector. In this type of neural networks, a neighborhood constraint on the output units is imposed such that a certain topological property in the input data is reflected on the output unit’s weights [11]. A simple output function is computed for each output unit. Then, these output functions are compared to select the neuron that approximately matches the input vector. This neuron is called the winner unit. An adaptive mechanism is used to update the interconnection weights of the winner unit and its neighbors. For more detail about SOFM neural network and how it is trained, see [11, 12]. The ultrasonic range data are uncertain and ambiguous due to the nature of the ultrasonic sensors. Because of the nature of fuzzy logic, fuzzy classifiers are more suitable in this case than other classification algorithms. Note that due to the errors in the measured data, clas-

173

(2)

where dj is the reading measured in the j-th dimension, Aij is the j-th fuzzy component for the i-th fuzzy class, wij is the center of the fuzzy set A ij , bij and cij are the minimum and maximum values in the support of the fuzzy set Aij , respectively. So, the fuzzy weight vector for the i-th class can be written as:   Ai1  Ai2   (3) Ai =   ... , 1  i  n Aim where n is the number of classes in the classifier and m is the dimension of the input space. For example, Figure 1 shows the Aij neuro-fuzzy classifier while Figure 2 shows the Aij component in the case where the input vector lies in the 2-dimensional space. The final shape of each component in the weight vectors will be determined at the end of the training process of the classifier.

4. Training the fuzzy classifier To determine the final shape of each A ij , the classifier will be trained using N samples of the data sets. For this purpose, we define two parameters for each membership function: the left width L ij and the right width Rij as shown in Fig. 2. The support of each fuzzy set is the sum of these two parameters. The left-width L ij of the fuzzy set A ij is the extension of its support to the left of its center w ij and is

174

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

Aij

1

∆j3

Vj

∆j1

∆jc dj

b1j

w1j

dj

wcj

w3j c3j

Fig. 3. Calculating the membership value Vj .

Fig. 4. Representative positions of the situation areas.

calculated as: Lij = wij − bij

(4)

While, the right-width R ij of the fuzzy set A ij is the extension of its support to the right of its center w ij and it is calculated as: Rij = cij − wij

(5)

To train the fuzzy classifier, we need to update the parameters of each fuzzy set A ij . In the context of classification, this can be done by updating the center of each fuzzy set wij , its left width Lij , and its right width Rij . Training of these parameters can be described as follows: 1. The center value of each fuzzy set A ij (i.e., wij ) is initialized randomly with values in the interval [0,1]. 2. The left-width L ij and the right-width R ij are initialized for each fuzzy set A ij with small values. This is because the widths determine the support of each fuzzy set, which obviously should not be large value, or zero.

3. Normalize the center values of the fuzzy sets A ij . 4. Apply the normalized input vector to the input layer of the fuzzy classifier. Then compute the output function of each neuron in the output layer according to the following equation: O i = d − wi , 1  i  n.

(6)

where . is the Euclidean norm and w i represents the vector of the central values of the fuzzy sets Aij . 5. Select the winning output unit c according to the following equation: d − w c  = min d − w i , 1in

(7)

6. Update the weight vector for the winner unit using the following equation: ∆wc = η(d − w c )

(8)

where η is the learning rate. The new weight vectors will be:

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

175

Fig. 5. Situation map using fuzzy classification with RO-preprocessing for the test environment.

wc (t + 1) = w c (t) + ∆wc ,

and then normalize the weight vector of the winner unit. 7. Update Lij or Rij as following: For each component in the input vector d = [d1 d2 . . . dm ]T , a membership value is calculated using the following equations: ∆ij = |dj − wij | n 

∆ij

ηo (Initial value of the learning rate) Number of training samples Number of neurons for the fuzzy classifier Number of neurons for the SOFM classifier

(10)

(11)



i=1

where: ∆ij is the absolute difference between the j-th component in the input vector and the corresponding component of the weight vector of class i. n is the number of classes in the output layer. Sj is the sum of all absolute differences between the j-th component in input vector and the corresponding components in the weight vectors of all classes. Then, the membership value of the j-th component in the input vector, V j is calculated as: Vj = 1 −

∆cj Sj

0.7 10,000 25 100

that the number of classes in the classifier is three classes and the current winner class is class two. Finally, the limits Lcj and Rcj are updated according to the value d j as follows:

and Sj =

Table 1 Values of variables used in exploration 1

(9)

(12)

where ∆cj is the absolute difference between the j-th component in the input vector and the corresponding component in the weight vector of the winner unit c. Figure 3 explains how to calculate the membership value V j , where it is assumed

Lcj (t + 1) =

(13)

Lcj (t), dj  

wcj  wcj −dj − L Lcj (t) + η (t) , dj < wcj cj 1−Vj

and

Rcj (t + 1) =

(14)

Rcj (t), dj 

wcj   dj wcj − Rcj (t) , dj > wcj Rcj (t) + η 1−Vj

where η is the learning rate. This rate starts with large positive values in the range 0.2–0.8 and decreases as the training process progresses in time. 8. If there are more data left in the training data set, then continue with step 4. Otherwise, stop the training process. 5. Building the map After the training process, the final shape of the fuzzy set of each component in the fuzzy weight vectors is

176

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

Fig. 6. Situation map using SOFM classification with RO-preprocessing for the test environment.

Fig. 7. Graph-representation using fuzzy classification with RO-preprocessing for the test environment.

determined. The fuzzy if-then rules can be generated directly from the fuzzy classes. Each fuzzy class can be represented by its corresponding fuzzy rule as follows: Ri : if d1 is Ai1 and d2 is Ai2

Ai (d) = Ai1 (d1 )Ai2 (d2 ) . . . Aim (dm )

and . . . and dm is Aim then d = [d1 d2 . . . dm ]T belongs to class 1 with A1

truth value which indicates the degree by which d = [d1 d2 . . . dm ]T belongs to class i. Ai is calculated as the product of the degrees of the membership functions Aij , i.e., it will be given by:

(15)

and to class 2 with A2 and to class n with An where n is the number of classes in the classifier, R i is the label associated with ith class, and A i is the

(16)

After the training process, the fuzzy classifier will be ready to classify the data. The input vector, after being normalized, will be applied to the input layer. After that, the truth-value for each class is calculated using Eq. (16). The class with maximum truth-value will be the class associated with the input vector. The mobile robot will run two explorations in the environment. In the first exploration, the classifier will

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

177

Fig. 8. Graph-representation using SOFM classification with RO-preprocessing for the test environment.

Fig. 9. Situation map using fuzzy classification with MOO-preprocessing for the test environment.

be trained to determine the final shapes of the fuzzy sets associated with the weight vectors. This step is necessary for the mobile robot to learn about its environment by training the classifier. The robot will move in an arbitrary selected path collecting a large number of samples (10,000 in our case) of the input vector using the ultrasonic sensors. These samples constitute the training data set which will be used to train the classifier. After the first exploration, the robot will start the second exploration. In this exploration, the situation map and the graph-representation of the environment will be generated. In addition, during this exploration, the parameters of the fuzzy sets are fixed.

To generate the situation map, the surface of the environment is divided into small squares or cells (5 cm × 5 cm in our case), and each square will be marked with a symbol associated with the class or neuron in the output layer of the classifier. The area of the square or cell depends on the nature of the environment. As the complexity of the environment increases this area should be reduced. Note that the neuron will respond when the input vector of the ultrasonic data closely matches the class associated with that neuron. This matching occurs for a neuron that has maximum membership grade. To generate the graph representation of the environment, specific positions in the environment are at-

178

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

Fig. 10. Situation map using SOFM classification with MOO-preprocessing for the test environment.

Fig. 11. Graph-representation using fuzzy classification with MOO-preprocessing for the test environment.

tached. These positions are calculated for each situation area in the environment by averaging all those positions which belong to the same portions of the traces used by the robot when crossing the same areas. Figure 4 shows how the represented positions of the situation areas are calculated. The represented positions will be replaced by nodes in the graph-representation of the environment. In addition, transitions between neighboring situations are represented as edges that connect the corresponding neighboring nodes. This graph-representation will be generated during the second exploration of the environment. During the motion of the robot, the classi-

fier will identify the current situation area. When the robot moves to a new position which belongs to a different situation or class, the classifier will identify this situation. If this node does not already exist in the graph, a new node and a new edge are added to the graph-representation. This will represent the current situation area and the transition from the last to the present situation areas. At the end of the second exploration, the map of the environment will be generated in a topological form. After building the map for the robot’s environment as a graph-representation, the robot can solve any navigation task in the environment using that map. In this

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

179

Fig. 12. Graph-representation using SOFM classification with MOO-preprocessing for the test environment.

Fig. 13. Graph-representation using fuzzy classification with RO-preprocessing for large environment.

case, the start and goal positions will be passed to the robot as two points in the environment coordinates. The robot will search the graph-representation to find the closest nodes to the start and goal positions. Then, it adds an edge between the start position and its nearest node and it does the same thing for the goal position. After that, it will start the navigation task from the start position by generating successive nodes to follow until it reaches the goal position. For this purpose, an optimal graph-searching method, the A ∗ algorithm, is used to find the optimal path from the start position to the goal position [13].

6. Simulation results Simulation was done using fuzzy classification as well as SOFM. In our work, we have made the following assumptions: – The environment of the robot is assumed a static environment. This means that the robot is the only moving object in the environment. This is one of the limitations of using classification methods to recognize situation areas [5]. This assumption is necessary in such methods because in a dynamic environment, the situations will be continuously

180

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

Fig. 14. Graph-representation using SOFM classification with RO-preprocessing for large environment.

Fig. 15. Graph-representation using fuzzy classification with MOO-preprocessing for large environment.

varying and hence the classification must be performed on-line which is very difficult, especially in real-time. However, situation maps can be built in dynamic environments if the changes in the environment are too small. – The dead-reckoning method is assumed to estimate the mobile robot’s position with neglected errors. This is possible in small-scale environments, because the error in this case is small and so, it can be neglected. Nevertheless, in largescale environments, the error will be accumulated and it will have an effect on the position estimation. Some filtering techniques can be used to reduce the dead-reckoning error such as Kalman filtering [5,6]. This assumption relies on the use

of small situation areas, which are regions in the Cartesian space, associated with a perceptual category given by the clustering algorithm and labeled with a particular coordinate. This assumption depends on having small situation areas in the robot map so that the error in the corrected robot position remains small. – Errors in the ultrasonic sensor readings are assumed to be random by adding a normal random noise scaled by the actual measurement since the actual error depends on the distance to the obstacle. In the first exploration, the robot will collect the data to train the classifiers. The parameters that are used in this exploration are listed in Table 1.

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

181

Fig. 16. Graph-representation using SOFM classification with MOO-preprocessing for large environment.

Fig. 17. A navigation task using graph-representation generated by fuzzy classification with RO-preprocessing.

In our classifier, we use 25 neurons in the output layer to represent 25 different classes. This value is chosen for the purpose of comparison with the results using SOFM neural network which is a two-dimensional array composed of a 10 × 10 neurons. In the second exploration, the robot will start the map building. Before testing the two approaches in a large environment, we test them in a small environment. Figures 5 and 6 show the situation map for the test environment with RO-preprocessing using fuzzy and SOFM classifications, respectively. Figures 7 and 8 show the corresponding graph-representations. Figures 9 and 10 show the situation map for the test environment with MOO-preprocessing using the two approaches, while Figs 11 and 12 show their correspond-

ing graph-representations. After that, our approach is tested in large environment. Figures 13 and 14 show the graphrepresentations for the environment with RO-preprocessing using fuzzy and SOFM classifications, respectively. Figures 15 and 16 show the graphrepresentations for the same environment but with MOO-preprocessing. To test the navigation task, the start and goal positions are selected as two corners in the environment. Figures 17 and 18 show the path followed by the robot with RO-preprocessing using fuzzy and SOFM classifiers, respectively. The results when using MOOpreprocessing are shown in Figs 19 and 20.

182

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

Fig. 18. A navigation task using graph-representation generated by SOFM classification with RO-preprocessing.

Fig. 19. A navigation task using graph-representation generated by fuzzy classification with MOO-preprocessing.

RO-preprocessing assumes that the orientation of the robot is known with respect to its initial orientation in the environment. While in MOO-preprocessing, this assumption is not required. In addition, MOOpreprocessing is calculated using the information provided by the sensors, which is localized and more reliable. Note that classification based on ROpreprocessing results in a simpler model and is preferred on that based on MOO-preprocessing. However, if the orientation of the robot is not known or if it needs correction, RO-preprocessing should not be used, as it will provide unstable situation maps [5,6]. The numbers of nodes that are obtained for the test environment using the SOFM and the fuzzy classifications with the two preprocessing types are recorded in

Table 2. As shown in the table, the number of nodes using fuzzy classification is approximately one half that using SOFM. In this case, the environment still has a good representation. Reducing the number of nodes means the robot can navigate easily since it will make fewer decisions when it construct the path to do the navigation task. To emphasis our last argument, the number of nodes and the time needed to construct the path are shown in Table 3. These data are recorded when the robot applied the navigation task in the large environment. As shown in the table, the time needed to construct the path is reduced using fuzzy classification in the two preprocessing types. This time includes two searches of the graph-representation: the time to find the closest

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

183

Fig. 20. A navigation task using graph-representation generated by SOFM classification with MOO-preprocessing. Table 2 Number of nodes for the test environment Type of classification SOFM Fuzzy

Number of nodes using RO-preprocessing 52 26

Number of nodes using MOO-preprocessing 106 51

Table 3 Recorded data for the large environment during the navigation task Classification SOFM with RO-preprocessing Fuzzy with RO-Preprocessing SOFM with MOO-Preprocessing Fuzzy with MOO-Preprocessing

N 707 156 933 221

Tp (s) 31 7 50 9

D (m) 22.59 23.09 22.26 22.27

Np 235 352 591 542

Ts (s) 257 238 273 232

Legends: N: Number of nodes; Tp: Time to construct the path; D: Distance; Np: Number of processed nodes; Ts: Navigation Time.

nodes to the start and goal positions and the time to find the optimal path. The reduction in time is a result of reducing the number of nodes that are processed in the searching process as shown in Table 3. Many nodes in the graph-representation may be processed more than one time because they are successors for more one node. This is the reason that the number of processed nodes appears more than the number of the generated nodes in the graph-representation. In addition, the table shows the crossed distance as well as the navigation time. The navigation time is calculated after the start and goal positions are passed to the robot including the time to search the graphrepresentation and the time needed to do the navigation. For this purpose, the velocity of the robot is assumed 10 cm/s. As it is shown in the table, the crossed distance is approximately equal in all cases. This is because the optimal path will be approximately the same.

7. Conclusions The main goal of this work is to build a map for the mobile robot’s environment using fuzzy classification of ultrasonic data. This type of classification enables the robot to recognize the situation areas more clearly by reducing the uncertainty in the sensed data. The robot will run two explorations. In the first exploration, the fuzzy classifier is trained to learn the shape of the fuzzy set of each component of the weight vectors in the output layer of the neuro-fuzzy classifier. Then, the robot will run the second exploration to build the map of the environment. The map will be a graphrepresentation in which the nodes represent the situation areas and the edges represent the transitions between the adjacent areas. The fuzzy classification is compared with self-organizing feature map neural network classifier. The fuzzy classifier reduces the number

184

O.M. Al-Jarrah and O.Q. Bani-Melhem / Building maps for mobile robot navigation

of generated nodes in the map. Consequently, the time to build the path between the start and target positions is reduced. Simulation results prove the success of the fuzzy classification in building environmental maps in comparison with neural networks.

[5]

[6]

[7]

References [8] [1]

[2]

[3]

[4]

M.G. Lagoudakis and A.S. Maida, Mobile robot local navigation with polar neural 9map, Ph.D. thesis, 142 pages, University of southwestern Louisiana Lafayette, LA, USA, May 1998. Y. Yagi, Y. Nishimitus and M. Yachida, Map based Navigation of the Mobile Robot using Omnidirectional Image Sensor COPIS, Proceedings of the IEEE Conference on Robotics and Automation, Nice, France, 1992, pp. 47–52. B. Beaufrere and S. Zeghloul, A mobile robot navigation method using a fuzzy logic approach, Robotica 13 (1995), 437–448. H.R. Beom and H.S. Cho, A Sensor-Based Navigation for a Mobile Robot Using Fuzzy Logic and Reinforcement Learning, IEEE Tran. Systems, Man and Cybernetics 25(3) (Oct. 1997), 464–477.

[9] [10] [11] [12]

[13]

A. Kurz, Constructing Maps for Mobile Robot Navigation Based on Ultrasonic Range Data, IEEE Tran. Syst., Man, Cybern. 26 (1996), 233–242. A. Kurz, Building Maps Based on a Learned Classification of Ultrasonic Range Data, in: 1st IFAC International Workshop Intelligent Autonomous Vehicles, D. Charnley, ed., Pergamon, Southampton, UK, 1993. A. Elfes, Sonar-based Real World Mapping and Navigation, IEEE Journal of Robotics and Automation RA-3(3) (June 1987), 249–265. A. Howard and L. Kitchen, Generating Sonar Maps in Highly Specular Environments, Proceedings of the Fourth International Conference on control, Automation, Robotics and Vision, December 1996. J. Jang, C. Sun and E. Mizutani, Neuro-Fuzzy and Soft Computing, Printice-Hall, 1997. H.P. Moravec, Sensor Fusion in Certainty Grids for Mobile Robots, AI Magazine (1988), 61–74. T. Kohonen, Self-Organization and Associative Memory, Springer-Verlag, Berlin, 1988. S. Mitra and S.K. Pal, Self-Organizing Neural Network As A Fuzzy Classifier, IEEE Tran. Syst., Man, Cybern. 24 (1994), 385–399. E. Rich and K. Knight, Artificial Intelligence, McGraw-Hill, 1991.