• No se han encontrado resultados

16638098

N/A
N/A
Protected

Academic year: 2020

Share "16638098"

Copied!
19
0
0

Texto completo

(1)

Efficient integration of metric and topological maps for directed

exploration of unknown environments

A. Poncela

, E.J. Perez, A. Bandera, C. Urdiales, F. Sandoval

Departamento de Tecnolog´ıa Electrónica, E.T.S.I. Telecomunicación, Universidad de Málaga, Campus de Teatinos, 29071 Málaga, Spain

Received 6 August 2001; received in revised form 7 May 2002 Communicated by F.C.A. Groen

Abstract

Recent research in mobile robot navigation is focused on integrating the metric and topological paradigms to unsupervisedly construct representations of indoor environments. While metric methods produce accurate environment representations, these representations present a huge data volume and they are consequently difficult to process in real time. On the other hand, topological maps can be processed in a more efficient way, but they are typically difficult to disambiguate and update.

This paper describes an exploration algorithm for totally or partially unexplored environments. The algorithm is based on a representation that integrates the metric and topological paradigms. Exploration planning is performed at two levels: global planning is performed at topological level and local planning is performed at metric level. The main advantage of the proposed algorithm is that exploration can be performed in a fast and efficient way by using the presented representation. The method has been successfully tested for a Pioneer P2AT mobile robot in indoor environments.

© 2002 Elsevier Science B.V. All rights reserved.

Keywords: Mobile robot; Metric and topological paradigms; Indoor environment

1. Introduction

One of the main concerns of modern robotics is efficient exploration of totally or partially unknown environments. Consequently, much work has been done on the subject. Although some supervised ex-ploration techniques rely on specifically providing a route that the agent must follow [6], this approach is not valid for unknown or dynamic environments because the predesigned route might not be feasible. Unsupervised exploration schemes are typically di-vided into undirected and directed techniques [29]. Undirected schemes explore the environment based on randomness. The most simple of these schemes

Corresponding author.

relies on selecting every action the agent may perform with uniform probability distribution. More complex works on the subject typically use neural networks to change that probability distribution according to on-line acquired knowledge[2]. Directed exploration techniques use exploration-specific knowledge to guide the robot. These techniques aim at selecting those actions that optimize the efficiency of the explo-ration process. However, it is impossible to know in advance how an action will affect such an efficiency in a partially or totally unknown environment. Hence, most of these methods are based on using heuristics to optimize knowledge gain[28].

Most directed techniques rely on building a rep-resentation of the environment. Then, they use that representation to visit the less explored representation

0921-8890/02/$ – see front matter © 2002 Elsevier Science B.V. All rights reserved. PII: S 0 9 2 1 - 8 8 9 0 ( 0 2 ) 0 0 2 7 2 - 5

(2)

states. Directed exploration techniques can rely on local and global navigation techniques. Local naviga-tion[17]requires the recognition of only one location, namely the goal. Global navigation[26]involves the recognition of several places and the representation of the relations among places. Some of these places may be outside the current range of perception. Local methods are computationally cheaper because they do not require global planning. Global techniques are typically more efficient than local ones. Actually, most autonomous robots do not rely on a single navigation strategy, but on several different ones. The navigation hierarchy[11]aims at classifying behaviors according to the complexity of the task to be performed. Thus, each level of the hierarchy is characterized by a com-petence that can be tested experimentally. An agent at a given level has all the capabilities of the lower levels of its respective group. However, it does not necessarily include all behaviors from other groups. The navigation hierarchy acknowledges two groups of behaviors, local and way-finding behaviors, which are equivalent to local and global navigation behaviors.

This paper presents a navigation scheme to travel in an efficient way in a totally or partially unknown environment. To achieve the aforementioned effi-ciency, we use a directed exploration technique where previously acquired environment information is used to optimize navigation as much as possible. This in-formation is stored into a model of the environment and, in our case, the geometric relationships between unexplored areas of the environment must be explic-itly represented so that we can plan on these regions as well. Thus, if a previously explored path between two regions is now blocked, the robot can move through unknown areas to travel from one to the other. This navigation scheme corresponds to the highest level of the navigation hierarchy[11], which is known as sur-vey navigation. It must be noted that higher levels of the hierarchy also include lower ones. Thus, our navi-gation scheme also uses local reactive navinavi-gation tech-niques. Consequently, we work in a hierarchical way. The proposed scheme clearly depends on having a compact and reliable environment representation that can be globally handled in an efficient way. The most typical problems related to map building are presented inSection 2. InSection 3we propose a new map which combines the most important map build-ing paradigms. Once a representation is available, a

planning technique is required to visit all unexplored states. This technique is presented inSection 4 and it relies on a two-level planner. First, a sequence of unexplored nodes is calculated so that they can be visited in an efficient order. Then, a route between each two consecutive nodes is calculated at topologi-cal level. Finally, a feasible path is obtained at metric level by refining the results of the high level plan-ner.Section 5 presents some experiments and results in different environments. Finally, conclusions and future work are presented inSection 6.

2. The map building problem

Unlike local navigation behaviors, which rely on lo-cal sensory information, way-finding schemes require global planning. One of the main problems of global planning algorithms is that their complexity grows with the input data volume, often in a non-linear way. Consequently, representations of the environment must present a reduced data volume if they are meant to be manipulated in real time.

Traditional spatial representation methods, usually known as metric schemes, are based on accumulating accurate geometric descriptions of the environment. These descriptions are usually extracted from the combined information of several sensors [9]. There are many different metric schemes like configura-tion space[20], generalized cones [3], Voronoi dia-grams [23], grid models [24], segment models [7], vertex models [15] or convex polygon models [4]. The main advantage of these representations is that their geometry corresponds directly with the geo-metry of the represented environment. Hence, they implicitly provide information about the relations among different places, even if those places are still unexplored. However, because of low mechanical ac-curacy and sensory errors, it is usually difficult to get accurate metric information in large-scale space.

Topological approaches try to overcome the draw-backs of geometric schemes by representing the environment by means of graphs. There are several methods to extract such graphs. Earlier methods[4]

suggested to model objects by polyhedra and use them to split the space into a limited number of regions corresponding to rooms, doors and so on. More recent schemes insert nodes in the graph each time the robot

(3)

travels a certain distance[8]or each time a distinctive input sensory pattern is captured [18,22]. Typically, two nodes are connected when it is possible to find a path free of obstacles between them. Nodes inserted consecutively in the graph are implicitly connected by an arc. However, in order to link recently inserted nodes to previous ones, it is necessary to analyze the graph. This process is known as disambiguation.

Many authors [4,18,29] have acknowledged that either geometric or topological schemes alone have significant drawbacks. Usually, topological maps scale better than metric maps to large-scale environments, even though recent progress in metric mapping has made it possible to build reasonably compact metric maps [21,29]. Topological maps are reported to be more directly suited to problem solving [18]. Also, since they do not rely on an absolute frame of refer-ence, topological maps are resistant to errors in metric information. However, they may have difficulty in distinguishing adequately among different places. It is also reported[29]that topological approaches may yield suboptimal paths. Besides, it must be noted that non-explored areas are not included in topological maps. Thus, planning can only be performed over explored areas.

In order to combine the advantages of metric and topological paradigms, some map building techniques rely on integrating both paradigms. This integration can be performed either by annotating topological maps with metric information [18] or by extract-ing a topological map from a metric representation

[1,29,32]. The first approach basically consists of building a topological map where each node includes information about the geometry of the place where the node was inserted. This information facilitate the disambiguation of the map and allows inference of geometric relations between nodes to a certain degree. However, these operations are usually reported to be performed off-line because they are typically slow and computationally expensive. The second approach basi-cally rely on partitioning a geometric map into signifi-cant regions. In this second case, the chosen geometric map is usually an occupancy grid[24]. These grids are very easy to calculate and to update, but they present a too large data volume in large environments. To reduce their data volume, grids are processed to obtain a vari-able resolution partitioning where the environment is discretized into subareas of cells representing

homo-geneous regions. Each one of these regions is a node. Two nodes are connected if there is a feasible path joining them, typically if they are related to touching regions at metric level. Zelinsky [32] performs this partitioning by using quadtrees. However, the optimal-ity of the resulting partition depends strongly on the distribution of the obstacles in the environment [5]. Arleo et al.[1]model obstacle boundaries by means of straight lines. The main disadvantage of their method is that it cannot deal correctly with irregularly shaped regions nor with walls which are not parallel or orthog-onal. Fabrizzi and Saffiotti[10]extract the topological map from the grid by analyzing the shape of free space by means of the mathematical morphology im-age processing tool. However, they only represent free space and no unexplored regions at topological level. Thrun et al. [29] split free space into homogeneous regions according to region shape criteria. However, their topological map is constructed off-line and only when a fully explored metric map is available. Also, it is reported in[16]that these maps, as well as other self organizing maps like the colored Kohonen map and the growing neural gas, produce unintuitive tessellations of free space. To solve these problems, Kraetzschmar et al.[16]propose a topological map based on extract-ing walls from a grid by usextract-ing wall histograms. How-ever, they acknowledge that their method provides no suitable topologies for navigating in free space.

3. A hierarchical approach to metric-topological maps

We propose a map generation algorithm which relies on building a hierarchical structure over a metric map to extract a grounded topological map. Most geo-metric maps rely on the recovery and manipulation of geometric world models. Low level sensing processes extract geometric features from the sensor data. Then, high level sensing processes use symbolic models, geometric templates and prior heuristic assumptions about the environment to constrain the sensor inter-pretation process. However, this approach present sev-eral shortcomings, as reported in[24]: (i) it requires early decisions in the interpretation of the sensor data; (ii) it does not provide adequate mechanisms for han-dling sensor uncertainty and errors; and (iii) it usu-ally introduces strong domain-specific dependencies.

(4)

To overcome these problems, Moravec[24]developed the occupancy grids. These grids are a multidimen-sional tessellation of the space into cells where each cell presents a probability ranging from 0 to 1 of being occupied. Occupied areas present a probability 1 of being occupied, and free areas present a proba-bility 0 of being occupied. Unexplored areas present a probability 0.5 of being occupied. Occupancy grids have become very popular because[29]: (i) they are easy to build, represent and maintain; (ii) recognition of places is non-ambiguous and view point indepen-dent; and (iii) it facilitates the computation of shortest paths. However, they also present major drawbacks

[29]: (i) it is necessary to have precise information on the position of the robot; (ii) their resolution does not depend on the complexity of the environment; thus, planning becomes inefficient; (iii) they offer a poor interface for most symbolic problem solvers.

In order to estimate the position of the robot with a reasonable certainty, several localization methods have been proposed by many researchers. The sim-plest one relies on counting wheels turns to calculate where the robot is in relation with its departing point. This method is known as dead-reckoning. In large en-vironments, dead-reckoning estimates are not reliable enough to provide the position of the robot because of wheel slippage. Consequently, tracking methods use landmarks or map matching to reduce the registration imprecision due to motion. Localization is not an easy problem to solve. However, this paper does not focus on localization. Hence, we rely on well-known local-ization methods, basically map correlation and wall orientation. Further information on these methods can be found in[27,29].

Our main contribution to map building is meant to solve the second and third aforementioned problems of the grids by extracting a grounded topological map from those grids. Using this map, we can work at dif-ferent levels of abstraction depending on which prob-lem we want to solve. The proposed map generation algorithm works as follows:

1. Grid thresholding. Initially, the occupancy proba-bility of each cell in the metric map is thresholded. Cells whose occupancy value is below a thresh-old U1are considered free space(P (x, y)=cF).

Cells whose occupancy values are above U1 and

below threshold U2 are considered non-explored

(P (x, y) =cN). The rest of the cells are

consid-ered to be occupied(P (x, y)=cO).

2. Hierarchical structure generation. The thresh-olded metric map becomes the base of a pyramidal structure. Each level l of the pyramid is a reduced map presenting 1/4 of the cells in the level imme-diately below. The following five parameters are associated to each pyramid cell(x, y, l):

Homogeneity, H (x, y, l). H(x, y, l) is set to 1 if the four cells immediately underneath at levell−1 have the same occupancy probability and their homogeneity values are equal to 1. Otherwise, it is set to 0.

Occupancy probability,P (x, y, l). If the cell is homogeneous, as defined above, P (x, y, l) is equal to the occupancy probability value of any of the four cells immediately underneath. If the cell is not homogeneous, the value ofP (x, y, l) is set to a fixed value (cNH).

Area,A(x, y, l). It is equal to the addition of the areas of the four cells immediately underneath at levell−1.

Parent link,(X, Y )(x,y,l). If H (x, y, l)is equal to 1, the parent link values of the four cells immediately underneath at levell−1 are set to (x, y). Otherwise, these four parent links are set to a null value.

Centroid, C(x, y, l). It is the center of mass of the base region associated to(x, y, l).

When the generation step has finished, cells at up-per levels presenting an homogeneity value equal to 1 are related to a set of regular homogeneous cells at the highest resolution level.Fig. 1(a)shows a simple example of an initialized map. Homo-geneous nodes are represented by using the same gray level. White nodes in upper level represent empty nodes which have no physical meaning. These nodes are not included at topological level. Thus far, it can be observed that the map presents the same problem than quadtrees [5]: the com-plexity of the resulting decomposition strongly depends on the position of the obstacles. To avoid this problem, further steps are required.

3. Fusion of homogeneous cells. This step aims at linking cells whose parent link values are null. Hence, orphan nodes at a given level try to find a linked neighbor node at their level to link

(5)

them-Fig. 1. Topological map generation: (a) initialization; (b) fusion of homogeneous cells; (c) classification of homogeneous cells.

selves to its parent. Basically, a cell (x, y, l) is linked to the parent of a neighbor cell, (xp, yp, l+1), if the following conditions are true: • H (x, y, l)=1 andH (xp, yp, l+1)=1,

P (x, y, l)=P (xp, yp, l+1),

• ||C(x, y, l)-C(xp, yp, l+1)||2<DistMax,

where DistMax is a threshold that fixes the maxi-mum dispersion of the regions at the base. When this step is accomplished, regions defined at the highest resolution level are not regular anymore.

Fig. 1(b) shows the map inFig. 1(a) after this step is accomplished. It can be noted that the free nodes in level 2 disappear because they are absorbed by the nodes at level 3.

4. Classification of homogeneous cells. This step reduces the number of classes in an unsupervised way. Two neighbor cells,(x1, y1, l)and(x2, y2, l),

are fused if the following conditions are true:

(X, Y )(x1,y1,l)=NULL,(X, Y )(x2,y2,l)=NULL,

H (x1, y1, l)=1 andH (x2, y2, l)=1,

P (x1, y1, l)=P (x2, y2, l),

• ||C(x1, y1, l)C(x2, y2, l)||2<DistMax.

Fig. 1(c) shows the final topological map after this step is performed. No node is absorbed by a higher level node. In this case, touching nodes are merged at the same level if they present an homo-geneous occupancy probability, but no hierarchical relation is defined.

When the structure is fully generated, any cell pre-senting an homogeneity value equal to 1 at any level

of the structure is linked to an homogeneous irregular region at the base. A cell presenting an homogeneity value equal to 1 becomes a node of the topological map if it is not linked to a parent cell presenting as well an homogeneity value equal to 1 at a higher level. It must be noted that the nodes of the resulting topological map are spread all over the different lev-els of the structure.Fig. 2shows the topological map construction process. Fig. 2(a) presents the metric level of the map, where obstacles are printed in white. Regions corresponding to the different nodes of the topological level of the map are printed in different gray levels. There is no node at the highest level of the structure. The first two nodes appear at level 6. It can be observed that they are linked to two homoge-neous regions at level 5 which are painted in the same color than nodes 1 and 2 so that they can be recog-nized through all the levels of the structure. Level 5 presents seven additional nodes of the map. Levels 4 and 3 presents 10 and three nodes, respectively. There are no nodes defined in lower levels.Fig. 2(i)presents the resulting topological map, where nodes related to touching regions are joined by an arc. If two regions are not in contact, their nodes are never linked by an arc. The weight of the arc between two nodes is equal to the Euclidean distance between the centroids of the regions they are related to. Obviously, that does not mean that the robot can travel between those two re-gions following a straight line. A local planner will be used to find a path between nodes related by an arc at metric level if it is necessary to travel between them. The proposed algorithm abstracts a grounded topo-logical map from a metric representation on-line. Besides, unlike similar approaches [29], the whole

(6)

Fig. 2. Topological map extraction: (a) base level; (b) level 1; (c) level 2; (d) level 3 yielding three topological nodes; (e) level 4 yielding 10 topological nodes; (f) level 5 yielding seven topological nodes; (g) level 6 yielding two topological nodes; (h) level 7; (i) topological map.

Fig. 3. Dependence of the topological map on parameter DistMax: (a) partially explored grid; (b) topological map for DistMax=40; (c) topological map for DistMax=60; (d) topological map for DistMax=80.

(7)

Table 1

Topological map extracting times

Structure initialization (s) 0.120 Fusion and classification of homogeneous cells (s) 0.012 Class generation and characterization (s) 0.050 Topological map arc calculation (s) 0.018

Total time (s) 0.200

global map does not need to be explored to construct the map. The proposed topological graph extracting algorithm presents two important advantages: (i) a very low calculation time; and (ii) it depends only on threshold DistMax, which controls the maximum area of the region related to a node. Fig. 3shows how a graph is affected by changes on DistMax. It can be observed that low values of DistMax provoke a larger number of nodes in the graph (Fig. 3(b)). However, it can be noted that results are not unstable against

Dist-Max. Consequently, even though topological maps

may present more or less nodes depending on this parameter, resulting graphs are usually very similar. In fact, the resulting representation tends to depend uniquely on the layout of the environment when

Dist-Max is over a given threshold (Fig. 3(c) and 3(d)).

DistMax is typically fixed so that the maximum area

of any given region is lower than the sonar range. Hence, when the robot visits a given node, it explores completely the region it is linked to.

The average topological graph extracting times are shown in Table 1. These processing times were cal-culated using metric maps yielding 65,536 cells in a Pentium III 550 MHz with 128 MB RAM. It can be observed that the algorithm is fast enough to allow on-line generation of the proposed topological map each time the metric map is significantly updated.

4. A survey navigation technique for exploration of unknown areas

When a map is available, directed exploration tech-niques may rely on way-finding navigation techtech-niques rather than on semi-randomness to explore the envi-ronment in a more efficient way. There are three kinds of way-finding techniques in the navigation hierarchy: (i) recognition triggered responses; (ii) topological navigation; and (iii) survey navigation.

Recognition triggered responses [12]connect two locations by using a local navigation method. Hence, a pair <starting location, local navigation method> is used to represent them. Once the starting location is recognized, the local navigation method is triggered. There is no planning of a sequence of movements, but just the selection of the very next action. Hence, the scheme is not flexible to dynamic changes in the environment. This scheme is used to build routes as a concatenation of recognition triggered responses. Routes may connect places that could not be reached by local navigation alone. Topological navigation (i.e.

[22]) relies on a topological map of the environment as described in Section 2. In this case, global plan-ning is possible. However, as previously commented, unexplored places are not included in the representa-tion. Consequently, a topological map cannot be used to plan a route through unknown regions. Despite this fact, some approaches rely on topological navigation

[8] by simply visiting unexplored places close to the robot position in a local way. Finally, survey navi-gation requires embedding of all known places and their spatial relations into a common frame of refer-ence so that the representation can be manipulated as a whole, while topological navigation only required spatial relations between connected places. Since ev-ery location is embedded into a common frame of reference in survey navigation, the agent may find novel paths over unknown terrain by inferring its spatial relation to the known places. There are many examples of local navigation mechanisms, recogni-tion triggered responses and topological navigarecogni-tion in the animal kingdom, but survey navigation may be limited to vertebrates. However, there is very little work available on survey navigation[11].

Most metric maps support survey navigation because the geometric relations between unexplored areas and explored ones are implicitly available. How-ever, as aforementioned, these maps are not suitable to solve symbolic problems. Hence, most exploration methods based on metric maps rely on simple criteria like moving to the closest area outside of the sensor range [31] rather than on real planning over unex-plored areas. Metric-topological maps also support survey navigation as long as the topological level of the map explicitly represents unexplored areas. In this case, planning can be performed at topological level in a symbolic way and also at metric level in a local

(8)

and partially reactive way. It can be noted that the pro-posed hierarchical map supports survey navigation, since the topological level presents nodes related to unexplored areas and the geometric relations between them are represented at metric level. Besides, the map we propose can be constructed on-line. Hence, this map can easily be updated while the robot navigates through unknown areas.

This section presents a two-level survey navigation technique. First, a high level efficient route to visit all unexplored areas in the most recently acquired map of the environment is calculated at topological level. Since the topological map presents a reduced number of nodes, this calculation is not too computationally expensive. Then, we plan a trajectory joining all the nodes in the calculated order at high level and we propagate it to metric level. Then, the robot tracks the route at metric level in a local reactive way, so that it can react to unexpected changes in the environment. Being reactive, the low level planning is computation-ally cheap. Hence, the total computational load of the procedure is bounded. This is particularly interesting because the size of the environment is not known a priori and the robot is likely to find unexpected ob-stacles when travelling through the unexplored areas. Thus, it is desirable that the whole algorithm can run while the robot is moving.

4.1. High level planning

Basically, the proposed exploration technique for a totally or partially unknown environment relying on the proposed map can be reduced to the following facts:

• There is a number of nodes in the representation whose occupancy value is equal to 0.5. These nodes are related to unexplored regions.

• The robot must visit each one of those nodes only once.

• It is desirable to choose an efficient trajectory to travel from node to node, so that the total traveled distance is as reduced as possible.

This problem is equivalent to the travelling sales-person problem (TSP), a classic NP-complete prob-lem. Given a finite set of nodesN = {c1, c2, . . . , cn}

and a distance d(ci, cj) for each pair of nodes, the TSP consists of searching for a tour of all the nodes

presenting a minimum length. The TSP is easy to de-scribe but difficult to solve because there are12(n−1)! tours for n cities. Since the TSP is a well-known prob-lem, several methods to solve it have been suggested. Some methods return a exact solution to this problem as long as the number of cities is very small. It would be desirable to find a solution algorithm that gives an optimal solution in a time that has a polynomial variation with the size n of the problem. However, researchers have at most been capable of solving it in a time that varies exponentially with n. Consequently, when the number of nodes grows over a certain threshold, most methods search for a good solution, but not for the optimal one. A review on different approaches to the problem can be found in[14].

Although the TSP has been traditionally used as a neural network benchmark, their validity for this par-ticularly problem has been widely questioned [13]. Consequently, this paper relies on a genetic algorithm based method instead. This TSP solving method is pro-posed in[19]. Its fitness function is equal to the total length of the route. In this implementation, it is spe-cially important to choose a correct region coding. The chosen one has been the path representation because: (i) it is the most natural one; (ii) it is intuitive; and (iii) it provides a good performance[19]. Further details about the implemented algorithm can be found in[19]. It must be noted that the topological level of the pro-posed metric-topological map will typically present a number of nodes low enough to allow calculation of the exact solution. For example,Table 2shows how the exact solution may be calculated very fast for a low number of nodes in an ordinary PC. However, as soon as the number of nodes grows, the processing time re-quired to calculate the exact solution of the TSP grows enormously, while the processing time using a genetic algorithm is still quite low. Hence, we rely on a genetic algorithm because: (i) we do not know a priori the number of nodes we are going to work with in a totally or partially unknown environment; and (ii) even if we

Table 2

Global planning processing times

Map Optimal

solution

Genetic algorithm (s) 256×256 cells, 8 nodes 0.28 s 0.42 512×512 cells, 13 nodes 13 min, 25 s 1.77

(9)

calculated the exact solution, the robot would proba-bly not track it in a precise way because of unexpected obstacles in the environment, sensor imprecisions and wheel slippage. It is important to note that we have not optimized the TSP solving algorithms because they are just a tool to obtain a global route. Hence, Table 2is only meant to give an idea about how processing times grow depending on the number of nodes in a map.

The TSP solving algorithm returns an ordered list of nodes, C, to visit. However, it must be noted that there is still no valid path between each two cities, because arcs between nodes at topological level only mean that those nodes are linked to connected regions and, consequently, that it is possible to travel from one to the other. As previously commented, the weight of the arc is equal to the distance between the centroids of the regions related to each pair of linked nodes at metric level. However, the robot will most likely not be located at any of those centroids nor be capable of travelling from one to the other following a straight line. Consequently, it is necessary to calculate a path between each two consecutive nodes in C. These paths are calculated by the high level planner because path planning at metric level would be too computationally expensive.

Most path planning algorithms are either optimal or heuristical. The first group of planning algorithms grants the best possible route between two nodes. However, their computational complexity is much higher than that of heuristical path planning algo-rithms. Heuristical algorithms provide a good solution in a faster way, but we cannot know a priori if that

Fig. 4. High level route planning for a partially unknown environment: (a) topological map; (b) suggested route.

solution is equal to the optimal one or, if it is not, how far from the optimal the solution is.

Since path planning is performed at topological level, even if we use optimal path planning algorithms, it cannot be granted that we obtain an optimal path at metric level, specially in dynamic environments. Consequently, an heuristical algorithm is going to be used to calculate the paths between unexplored nodes. The chosen path planning algorithm is the A∗ algo-rithm[25], which is probably the most representative heuristical one. It is important to note that we do not calculate the paths between all the nodes in the route at the same time, but only the one the robot is going to track at a given moment. If the robot cannot travel between two nodes because of unexpected obstacles in the way, the route planner simply calculates a new route between the current node and all remaining unexplored ones.

Fig. 4shows a route calculated by the TSP solving algorithm in a real environment. The topological map is presented inFig. 4(a)overimposed to its correspond-ing metric map, which is only partially explored. This topological map presents 10 nodes, including seven unexplored ones and three explored ones. If the robot can travel between two regions, their corresponding nodes are linked with an arc. The route is presented in

Fig. 4(b). The robot is located in the north end of the explored corridor and it has found a dead end while travelling north, so its route is recalculated by the global planner. Nodes are visited in an ordered way according to the solution of the TSP at high level. Then, a feasible path between each two consecutive

(10)

nodes is calculated. It is necessary to observe that to get to the unexplored areas, sometimes the robot must travel through explored ones, typically when it finds a dead end in its way. Nevertheless, explored nodes are not fed to the TSP solver. It is also important to note that the routes between nodes are not equal to the arcs between nodes, because these arcs simply indicate that two regions are connected. Finally, it must be observed that the final path is calculated at metric level by a low level planner, as described in next section. Hence, final paths tracked by the robot may be different from the ones returned by the global planner.

4.2. Low level planning

When the high level planner returns the node path that the robot must follow to visit all the unexplored regions in an efficient way, a low level planner is used to generate a trajectory at metric level. This low planner is based on a potential field approach similar to the one in [30]. However, we do not apply the algorithm described in[30]to the whole metric map, but only to the path region returned by the high level planner. Thus, our approach is adapted to the pro-posed two-level planner. It consists of the following stages:

1. Calculation of the region of cells linked at metric level to the node path returned by the high level planner. This step is immediate because cells at metric level are related to the topological nodes by the link structure.

2. Calculation of the skeleton of the resulting region as proposed in[30]. The skeleton extraction relies on calculating a map of distance to obstacles in the working region (regwor).

Fig. 5(b)shows the map of distance to obstacles for the region inFig. 5(a), which is related to one of the many nodes defined inFig. 4. Nevertheless, the process can be applied to any region of cells.

Fig. 5(c)shows the skeleton extracted from the map inFig. 5(b).

3. Generation of the potential field V[30]of the skele-ton of the region.

4. Generation of the potential field[30]of the rest of the region.

Fig. 5(d)shows the potential field generated for the region inFig. 5(a).

Fig. 5. Low level planning based on potential fields: (a) path region linked to nodes returned by the high level planner; (b) map of distance to obstacles for region (a); (c) skeleton of map (b); (d) potential field for region (a) and resulting path.

5. Path tracking relying on the resulting potential field. When the potential field of the path region returned by the high level planner is available, the robot can move from the departure to the arrival cell by following a path of minimum potential. The path that the robot would track in the region inFig. 5(a)is overimposed in white toFig. 5(d).

5. Tests and results

The proposed exploration technique has been tested for several different environments totally or partially unexplored. The system has been implemented on a Pioneer P2AT robot from Activmedia Robotics. The robot is connected via radio to a Pentium III 550 MHz with 128 MB RAM. This PC supports the whole planning algorithm.

It must be noted that the proposed exploration technique predicts possible paths in unexplored areas to reach all unexplored nodes. However, most times there are obstacles in the unexplored areas that make those predicted paths unfeasible. In those cases, it is

(11)

necessary to rerun the algorithm so that the explo-ration technique provides a new route for the robot to reach all unexplored nodes according to the updated metric information. Since the whole calculation time of the planning algorithm is lower than 1 s, if the robot is moving at less than 4 m/s (14.4 km/h) for a typical Polaroid sonar range of 6 m average, the planning al-gorithm may suggest a new route to avoid collisions in an efficient way while exploring the environment when an obstacle is detected in the route while the robot is still moving.

Fig. 6 shows an environment yielding an area of 2500 m2. This environment has been simulated be-cause there was no such a large indoor environment in the laboratories where tests were performed. Nev-ertheless, tests in smaller real environments have also been satisfactory, as shown later in the other tests. In order to achieve a suitable decomposition degree at metric level, the environment in Fig. 6 has been represented by using a grid of 512×512 cells. Each cell had an area approximately equal to 100 cm2.

Initially, the topological-metric map for the com-pletely unexplored environment is presented in

Fig. 6(b). It can be observed that at first the algorithm behaves as if there are no obstacles in the environ-ment. Hence, a regular route is suggested (Fig. 6(c)), being the initial position of the robot represented with a black circle. However, such a route will not be feasible as soon as an obstacle appears in the way of the robot. Fig. 7 shows the topological-metric maps

Fig. 6. (a) Environment to be explored; (b) initial topological-metric map for a completely unexplored environment; (c) initially suggested route for total exploration of the environment in (a).

created at different stages of the exploration process.

Fig. 7(a) shows how the robot changes its direction when its initial southwest route becomes unfeasible because of an unexpected wall. This time, it turns southeast and a round trip through unexplored regions is proposed. It must be noted that the metric map is relocated to keep the explored area always centered in the map.Fig. 7(b)shows what happens when the robot finds a new wall while travelling west. Once again, it turns east and a route to visit all unexplored regions according to the available metric map is calculated. In Fig. 7(c) most of the environment is already ex-plored except for the northeast and south unexex-plored areas. It can be noted how the proposed path runs through those areas. It is also interesting to observe that the topological map preserves details like the small unexplored area in the center of the map where two nodes are inserted.Fig. 7(d)shows a stage of the exploration process where the whole map is explored. However, there are still small unexplored areas out of the labyrinth where the robot cannot go because there are no exit doors. Since the robot has not explored yet the southwest corner of the map, it tries to go there to explore the mentioned areas. However, as soon as it gets to that corner, the algorithm realizes that there is no way out and the exploration process finishes. In this case, the high level routing algorithm was run up to 35 times because of unexpected walls. Table 3

shows the calculation times for the routes inFig. 7. It can be noted that most the time is used to extract

(12)

Fig. 7. (a)–(d) Topological-metric maps for an environment at different stages of the exploration process and routes returned by the proposed algorithm.

a topological map from the metric one because it is 512 ×512 cells. The TSP solving time obviously depends on the number of nodes of the topological map, which cannot be predicted a priori. The local planner depends on the path region returned by the global planner. Nevertheless, processing times using the above described hardware are usually close to 2 s. Unfortunately, the results obtained in simulations are not as significant for the real world because, even though the simulator models some sonar errors, these errors are very simple. Consequently, all experiments onward have been performed in a laboratory. This laboratory (Fig. 8(a)) has metallic cupboards, card boxes, chairs and tables. Hence, sonars are exposed

Table 3

Planning times for the exploration algorithm

Fig. 7(a) Fig. 7(b) Fig. 7(c) Fig. 7(d)

Topological map building (s) 1.21 1.23 1.23 1.22

TSP solving algorithm (s) 0.63 0.48 0.56 0.09

Local path planning (s) 0.253 0.270 0.249 0.208

Total time (s) 2.093 1.98 2.039 1.518

to most typical errors. Further tests are performed in the corridor inFig. 8(b).

Fig. 9(a)shows some stages of an exploration test where the robot starts to explore on the left side on the room heading east. As in the previous experiment, each time the robot detects an obstacle in its way, it changes its direction and runs again the global planner. However, it must be noted that some false detections may exist because of sonar errors. In these cases, the global planner is unnecessarily re-run. In this experi-ment, the door in the room was closed. Since this envi-ronment is quite smaller than the one inFig. 6(a), the global planner was only ran seven times until it was detected that the robot could reach no more unexplored

(13)

Fig. 8. Real test environment: (a) laboratory; (b) laboratory plus corridor.

(14)

areas. It can be observed that the map is not as clean as in simulations.Fig. 9(b)shows the same exploration experiment. However, in this case the robot started in the right side of the room and it was headed west. In this case, the globar planner was run nine times. Obvi-ously, the resulting exploration route is different. The metric maps obtained are different as well because sonar readings may change depending on the direction of the beam, particularly when they are erroneous.

To evaluate the consistency of topological maps extracted in the same room according to different ex-ploration strategies,Fig. 10shows three different topo-logical maps of the laboratory inFig. 8(a). The first one (Fig. 10(a)) corresponds to room exploration by means of a wall following strategy. In a small closed room like this one, this strategy is probably the most robust one. The maps inFig. 10(b) and 10(c)were obtained

Fig. 10. (a)–(c) Final topological maps for three different exploration schemes; (d)–(f) regions defined at metric level by the topological maps in (a)–(c).

after tracking the routes inFig. 9(a) and 9(b). It can be observed that the whole room is modeled with a single node in all three cases because it is quite small. Also, the robot knows it cannot go there from inside the room. Thus, there is no arc joining the node in the room to the rest. It can be noted that unexplored areas present different node distributions, even though the maps in

Fig. 10(b) and 10(c)are quite similar. This happens because unexplored areas act like a wild card to ac-commodate the geometry of the explored environment. Thus, depending on the shape of the explored environ-ment, the node distribution of large unexplored areas may change. The aforementioned effect can be appre-ciated by observing the regions assoappre-ciated to the nodes in the topological maps (Fig. 10(d)–(f )). White re-gions correspond to obstacles. These obstacle rere-gions are larger than in the metric map because an obstacle

(15)

enhancement algorithm is used to work with a point ro-bot model. Different colors represent different regions. It can be seen that the nodes in the right side of the map inFig. 10(a)correspond to different regions cre-ated because of the three false reflections in the metric map, that make the robot believe that the wall is thicker than it really is. Since no echoes appear inFig. 10(b) and 10(c), the node distribution in the right side of those maps is more logical. However, the left side of the room is better mapped at metric level inFig. 10(a)

than in the rest. Hence, the topological map present less nodes in this case. Also, the distributions of these nodes is more coherent with the layout of the envi-ronment. It can be observed that the noisy mapping in the northwest and southwest corners of the room in Fig. 10(b)provokes the loss of two arcs between nodes in those areas which appeared in Fig. 10(c). These experiments and similar ones have proven that maps tend to be consistent in well explored areas,

Fig. 11. (a) Topological map and associated regions at metric level for a room with a chair; (b) topological map and associated regions at metric level for a room with a moving obstacle.

but that the node distribution in unexplored areas may significantly change. Nevertheless, this is not too problematic because maps in those areas are bound to change as soon as the robot moves through them.

It is also interesting to see what happens when mov-ing or unexpected irregularly shaped obstacles appear in the environment. Fig. 11 shows two topological maps created in the environment inFig. 8(a)plus the regions they define at metric level. In Fig. 11(a), a chair is put in the center of the room while the robot is exploring. It can be appreciated that the chair is poorly defined at metric level. However, instead of modeling the room with only one node (Fig. 10(a)), in this case three nodes are required at topological level to model the environment. It can be appreciated in the regions in Fig. 11a that the obstacle is clearly mapped in the center of the environment. This obstacle does not appear at topological level, as previously explained. The first node corresponds to the free space around

(16)

the chair. Since this chair is closer to the south wall than to the north one, a second node represents the free narrow region between the metallic cupboard and the chair in the south. Finally, a third node represents a small region at the southeast corner of the room where walls are poorly defined. Obviously, the robot can travel between all three nodes around the chair, so they are all linked. Probably, if the robot kept explor-ing the environment, the chair and the southwest cor-ner would be better defined and the number of nodes might get reduced to 2.Fig. 11(b)presents an experi-ment where, instead of a chair, a person walks in front of the robot. Since it is at a different position for each sonar reading, the metric map gets stained. Basically, the effect of this walking person is the division of the room in two areas, which are basically located at the right and left sides of the trajectory of the moving obstacle. Unfortunately, the readings of the sensor are not precise enough to locate the position of the moving person at a given moment. Nevertheless, the robot would avoid collisions in a reactive way because of the local navigator. It can be noticed that, after obstacle enhancement, obstacles seem to cover most of the room. However, it must be noted that navigation

Fig. 12. (a)–(d) Topological maps and associated regions at metric level for a known room and an unexplored corridor at different exploration stages.

is performed in a local way. Hence, the global plan-ner knows that the robot can cross both regions and the local planner is capable of getting it closer to the walls that it might seem possible when observing the topological map.

Finally, Fig. 12 shows how previously available information can be integrated with the map obtained through exploration using the proposed technique. In this case, we open the door to the corridor inFig. 8(b). The robot already has precise information about the laboratory inFig. 8(a). To transform that information into a metric map, we simply assign a probability of being occupied equal to 1 to known obstacles and a probability equal to 0 of being occupied to free space. The rest of the cells present a probability of being occupied equal to 0.5. This step is immediate because each cell of a metric map is intrinsically related to a physical position. The original topological map cor-responding to the initial metric map is presented in

Fig. 12(a). First, the algorithm proposes to explore the corridor following the route in the same figure. It can be noted inFig. 12(b)that the robot stops at the door even though it is open. This occurs because sonar read-ings tend to be messy at doors. Nevertheless, the

(17)

navi-gation algorithm manages to get the robot out of the room.Fig. 12(c)andFig. 12(d)shows different stages of the exploration process. It can be observed that un-reachable unexplored areas are mapped at topological level but yield no connectivity to the rest of the map.

6. Conclusions and future work

This paper has presented a new strategy for efficient exploration of totally or partially unknown environ-ments. The proposed technique relies on a metric-topo-logical representation of the environment. The result-ing map allows explicit representation of non-explored areas and the relationships among them at topolog-ical level. The main advantage of the proposed map is that the relationship between its topological and metric levels is explicitly kept by means of a link set. When the representation is available, a exploring route is calculated by using a two-level planner. First, unexplored nodes at topological level are disposed to be visited in an efficient order. Then, a path between each pair of consecutive nodes is calculated at topo-logical level as well. Finally, the path is propagated at metric level by using a potential field based approach. The proposed method is fast enough to recalculate the route without stopping the robot when unexpected obstacles appear in unexplored areas. The method has been successfully tested in different environments.

The main drawback of the proposed method is probably its lack of optimality. The reactive nature of local navigation in our approach makes it clearly more suboptimal than purely deliberative navigation approaches. However, in exchange, it can easily adapt to unexpected events. A second disadvantage is that nodes in the topological map do not necessarily corre-spond to rooms. Hence, this map is not intuitive from a human point of view. A lateral effect of this is a certain randomness in the distribution of nodes in unexplored space. Finally, moving obstacles and false reflections may provoke some instability in the topological map. Future work will focus on establishing relationships between topological maps constructed at different in-stants so that the history of the explored environment can be used to characterize it better. Also, we need to work further in the global planner to evaluate possible alternatives to the TSP, specially when the robot is in areas where multiple echoes appear often.

Acknowledgements

This work has been partially supported by the Span-ish Ministerio de Ciencia y Tecnolog´ıa (MCYT) and FEDER funds, project No. TIC2001-1758.

References

[1] A. Arleo, J.R. Millán, D. Floreano, Efficient learning of variable-resolution cognitive maps for autonomous indoor navigation, IEEE Transactions on Robotics and Automation 15 (6) (1999) 990–1000.

[2] A.G. Barto, R.S. Sutton, C.J.C.H. Watkins, Learning and sequential decision making, in: Learning and Computa-tional Neuroscience, MIT Press, Cambridge, MA, 1990, pp. 539–602.

[3] R.A. Brooks, Solving the find-path problem by good represen-tation of free space, in: Proceedings of the AAAI-82, Pittsburgh, PA, 1982, pp. 381–387.

[4] R. Chatila, J. Laumond, Position referencing and consistent world modelling for mobile robots, in: Proceedings of the IEEE International Conference on Robotics and Automation, St. Louis, MO, 1985, pp. 138–170.

[5] D. Chen, R. Szczerba, J. Uhran, A framed-quadtree approach for determining Euclidean shortest paths in a 2D environment, IEEE Transactions on Robotics and Automation 13 (5) (1997) 668–680.

[6] J. Colegrave, A. Branch, A case study of autonomous House-hold Vacuum Cleaner, in: American Institute of Aeronautics and Astronautics (AIAA)/NASA Conference on Intelligent Robotics in Field, Factory, Service, and Space (CIRFFSS), 1994.

[7] J. Crowley, Navigation for an intelligent mobile robot, IEEE Journal on Robotics and Automation RA-1 (1) (1985) 31–41. [8] T. Duckett, U. Nehmzow, Exploration of an unknown environ-ment using a compass, topological map and neural network, in: Proceedings of the IEEE International Symposium of Computational Intelligence on Robotics and Automation (CIRA), Monterey, CA, 1999.

[9] H.F. Durrant-Whyte, Integration, Coordination and Control of Multi-sensor Robot Systems, Kluwer, Boston, MA, 1988. [10] E. Fabrizzi, A. Saffiotti, Extracting topology-based maps from gridmaps, in: Proceedings of the IEEE International Confe-rence on Robotics and Automation, San Francisco, CA, 2000. [11] M.O. Franz, H.A. Mallot, Biomimetic robot navigation,

Robotics and Autonomous Systems 30 (2000) 133–153. [12] P. Gaussier, S. Zrehen, Perac: A neural architecture to control

artificial animals, Robotics and Autonomous Systems 16 (1995) 291–320.

[13] A.H. Gee, R.W. Prager, Limitations of neural networks for solving traveling salesman problem, IEEE Transactions on Neural Networks 6 (1) (1995) 1542–1544.

[14] D.S. Johnson, L.A. McGeoch, The travelling salesman problem: A case study in local optimization, in: E. Aarts, J.K. Lenstra (Eds.), Local Search in Combinatorial Optimization, Wiley, Chichester, UK, 1997, pp. 215–310.

(18)

[15] E. Koch, Simulation of path planning for a system with vision and map updating, in: Proceedings of the IEEE International Conference on Robotics and Automation, St. Louis, MO, 1985, pp. 146–160.

[16] G. Kraetzschmar, S. Sablatnog, S. Enderle, G. Palm, Applica-tion of neurosymbolic integraApplica-tion for environment modelling in mobile robots, in: S. Wermter, R. Sun (Eds.), Hybrid Neural Systems, Lecture Notes in Computer Science, Vol. 1778, Springer, Berlin, 2000.

[17] B.J. Kuipers, Y. Byun, A robust qualitative method for robot spatial learning, in: Proceedings of the AAAI’88, 1988, pp. 774–779.

[18] B.J. Kuipers, Y.T. Byun, A robot exploration and mapping strategy based on a semantic hierarchy of spatial represen-tation, Robotics and Autonomous System 8 (1991) 47–63. [19] P. Larrañaga, C.M.H. Kuijpers, R.H. Murga, I. Inza, S.

Dizdarevic, Genetic algorithms for the Travelling Salesman Problem: A review of representations and operators, Artificial Intelligence Review 13 (2) (1999) 129–170.

[20] T. Lozano-Perez, Automatic planning of manipulator transfer movements, IEEE Transactions on Systems, Man and Cybernetics 11 (10) (1981) 781–798.

[21] F. Lu, E. Milios, Globally consistent range scan alignment for environment mapping, Autonomous Robots 4 (1997) 333–349.

[22] M.J. Mataric, Navigating with a rat brain: A neurobiologi-cally-inspired model for robot spatial representation, in: J.A. Meyer, S.W. Wilson (Eds.), From Animals to Animats, MIT Press, Cambridge, MA, 1991.

[23] D. Miller, A spatial representation system for mobile robots, in: Proceedings of the IEEE International Conference on Robotics and Automation, St. Louis, MO, 1985, pp. 122–128. [24] H.P. Moravec, Sensor fusion in certainty grids for mobile

robots, AI Magazine 9 (1988) 61–74.

[25] J. Pearl, Heuristics, Addison-Wesley, New York, 1984. [26] T.J. Prescott, Spatial representation for navigation in animats,

Adaptive Behaviour 4 (1996) 85–123.

[27] B. Schiele, J. Crowley, A comparison of position estimation techniques using occupancy grids, in: Proceedings of the International Conference on Robotics and Automation, San Diego, CA, 1994, pp. 1628–1634.

[28] R.S. Sutton, Integrated architectures for learning, planning, and reacting based on approximating dynamic programming, in: Proceedings of the Seventh International Conference on Machine Learning, Austin, TX, June 1990, pp. 216–224. [29] S. Thrun, A. Bucken, W. Burgard, D. Fox, T. Frohlinghaus,

D. Hennig, T. Hofmann, M. Krell, T. Schimdt, Map Learning and High-speed Navigation in RHINO, MIT/AAAI Press, Cambridge, MA, 1998.

[30] C.W. Warren, Global path planning using artificial potential fields, in: Proceedings of the IEEE International Conference on Robotics and Automation, Scottsdale, AZ, 1989, pp. 316–321.

[31] B. Yamauchi, A. Shultz, W. Adams, Integrating exploration and localization for mobile robots, Adaptive Behaviour 7 (2) (2000).

[32] A. Zelinsky, A mobile robot navigation exploration algorithm, IEEE Transactions on Robotics and Automation 8 (1992) 707–717.

Alberto Poncela was born in Spain in

1975. He received his title of Telecommu-nication Engineering from the University of Málaga, Spain, in 1999. During 2000 he worked in a research project under a grant by the Spanish CYCIT. From 2000 to the present day he has worked as Assistant Professor in the Department of Tecnolog´ıa Electrónica of the University of Málaga. His research is focused on robotics and

artificial vision.

Eduardo J. Perez was born in Spain in

1974. He received his title of Telecommu-nication Engineering from the University of Málaga, Spain, in 1999. During 1999 he worked in a research project under a grant by the Spanish CYCIT. From 2000 to the present day he has worked as Assistant Professor in the Department of Tecnolog´ıa Electrónica of the University of Málaga. His research is focused on robotics and

artificial vision.

Antonio Bandera was born in Spain in

1971. He received his title of Telecom-munication Engineering and Ph.D. degree from the University of Málaga, Spain, in 1995 and 2000, respectively. During 1996 he worked in a research project under a grant by the Spanish CYCIT. From 1997 to the present day he has worked as Assis-tant Professor in the Department of Tecno-log´ıa Electrónica of the University of Málaga. His research is focused on robotics and artificial vision.

Cristina Urdiales was born in Spain in

1971. She received her title of Telecom-munication Engineering from the Techni-cal University of Madrid, Spain, in 1995 and her Ph.D. degree from the University of Málaga, Spain, in 1999. From 1996 to the present day she has worked in the Department of Tecnolog´ıa Electrónica of the University of Málaga as an Assistant Professor and a Lecturer successively. Her research is focused on robotics and arti-ficial vision.

(19)

Francisco Sandoval was born in Spain in

1947. He received the title of Telecom-munication Engineering and Ph.D. degree from the Technical University of Madrid, Spain, in 1972 and 1980, respectively. From 1972 to 1989 he was engaged in teaching and research in the fields of opto-electronics and integrated circuits in the Universidad Politécnica de Madrid (UPM) as an Assistant Professor and a

Lecturer successively. In 1990 he joined the University of Málaga as Full Professor in the Department of Tecnolog´ıa Electrónica, starting his research on artificial neural network (ANN). He is currently involved in autonomous systems and foveal vision, and application of ANN to Energy Management Systems and Broad Band Communication.

Referencias

Documento similar

Also, one can verify that this money has been used to really offset the carbon emissions since project related feedback will be handed over to every user.. The different

After the analysis of the product portfolio, and everything previously seen in this Marketing Plan, it can be affirmed that it is a sporadic or comparative purchase good,

We explored di fferent approaches to obtain reliable total fluxes and colours from the image set that contribute to the OTELO core catalogue in a quick and accurate fashion, using

Mart in point ed out t hat t he artificial upturn in the lower main sequence is a common artefact in global-fits and is caused by the breakdown of Fe ionization balance at low t

Scan maps defined in instrument reference frame should in principle be used to cover square areas, as the orientation of the scan map on the sky can not be known in advance, it

From the measurement results in the vertical arrangement it can be concluded that the ceiling-floor system of the prototype modules reaches a good level of airborne and impact

For the 13 mm dielectric results, shown in figure 5.39, we can see that the antenna have an acceptable performance since it has a good bandwidth and it has a good matching level in

It will be explained the band-pass model based on impedance inverters [12] and it will be shown the structure of the filter using waveguide technology, since it is the technology