Optimal Robot Localization in Trees Rudolf Fleischery
Kathleen Romanik zx Gerhard Trippen yy January 27, 2002
Sven Schuierer {k
Abstract The problem of localization, that is, of a robot nding its position on a map, is an important task for autonomous mobile robots. It has applications in numerous areas of robotics ranging from aerial photography to autonomous vehicle exploration. In this paper we present a new strategy LPS (Localize-by-PlacementSeparation) for a robot to nd its position on a map, where the map is represented as a geometric tree of bounded degree. Our strategy exploits to a high degree the self-similarities that may occur in the environment. We use the framework of competitive analysis to analyze the performance of our strategy. In particular, we show that the p distance traveled by the robot is at most O( n) times longer than the shortest possible route to localize the robot, where n is the number of vertices of the tree. This is a signi cant improvement over the best known previous bound of O(n2=3 ).p Moreover, since there is a lower bound of ( n), our strategy is optimal up to a constant factor.
Figure 1: The robot just woke up at a street crossing in Hong Kong, but cannot decide where it is.
1 Introduction This paper restates the ideas given by Fleischer, Romanik, Schuierer, and Trippen in [9] in a very informal way. We removed as much mathematical formalism as possible and omitted all the formal proofs. Instead, we focus on presenting the main ideas of the localization strategy. In many tasks of autonomous mobile robots it is assumed that the robot has a map of its environment and knows its location on the map. However, in some situations the robot may not know in advance where its current position on the map is and has to determine it on-line. This is called the robot localization problem. Usually it is assumed that this problem can be solved by using sensor data and allowing the robot to move only a small amount. But if the environment consists of many self-similar parts, this approach may not be sucient (see Fig. 1). Although in robotics this issue has been ad-
The work described in this paper was partially supported by a grant from the Research Grants Council of the Hong Kong Special Administrative Region, China (Project No. HKUST6010/01E) y Department of Computer Science, The Hong Kong University of Science and Technology, Hong Kong, Email:
[email protected]. z Supported by AFOSR grant F49620-93-1-0039. x Powerize.com, 901 Elkridge Landing Road, Suite 350, Linthicum, MD 21090. { Supported by the DFG-Project "Diskrete Probleme", No. Ot 64/8-2. k Institut f ur Informatik, Universitat Freiburg, Am Flughafen 17, D-79110 Freiburg, Germany, Email:
[email protected]. Supported by UGC grant AOE98/99.EG01. yyDepartment of Computer Science, The Hong Kong University of Science and Technology, Hong Kong, Email:
[email protected].
1
number of vertices of the polygon, then it can be shown that k is the best competitive ratio possible [7]. The second approach, proposed by Kleinberg, leaves aside all concerns raised by the visibility structure of P and abstracts the combinatorial nature of the problem [12]. In this context, two types of environments are considered: undirected bounded-degree trees embedded into the d-dimensional Euclidean space IE d (called geometric trees) and rectangle packings in the plane. In these environments the robot has no use of vision other than to know the orientation in IE d of all edges incident to its current location. The robot is constrained to move on edges and vertices. In the 2-dimensional problem one might think of the vertices as locations on a map and the edges as routes connecting these locations. For geometric trees Kleinberg provides a strategy with a competitive ratio of O(n2=3 ), where n is the number of vertices of degree greater than two, and for rectangle packings a strategy with a competitive ratio of q O n logloglogn n , where n is the number of rectangles. Kleinberg also provides a lower bound of p
( n) for the localization problem in geometric trees, which is illustrated by the example in Fig. 2. If the true placement s of the robot is at the bottom of the dth spike to the right of spike p t, where n < d 2pn, then a localization strategy either has to explore all spikes between t and s or travel to one of the end points q1 or q2 of the base b of the tree. In each case the total distance traveled by the robot is (n) while the shortest path to localize the robot is the p path from s to t, which is of length at most 3 n + 1. In this paper we consider only boundeddegree geometric trees as environments, and we present a new localization strategy LPS (Localize-by-Placement-Separation) that has a p competitive ratio of O( n). The rst and last steps of our strategy are essentially the same as in Kleinberg's O(n2=3 ) strategy. However, in the middle steps we explore periodic p patterns in the tree to eliminate all but O( n) possible placements of the robot by traveling no more than O(pn) times the length of a shortest path to localize the robot. In view of the example in Fig. 2 our strategy is optimal up to a constant factor and, hence, settles the asymptotic complexity of on-line robot localization in trees, thus solving an open problem posed by Kleinberg.
dressed in numerous contexts, ranging from aerial photography to autonomous vehicles for the exploration of landscapes [14, 17, 19, 20], a more rigorous analysis of the problem in a wellde ned theoretical framework has only been considered very recently. Here, the environment of the robot is assumed to be a simple or multiply connected polygon P and the robot is assumed to have access to its local visibility polygon V , i.e., all the points that are visible from its position via a range sensing device (for example, a sonar or a ladar). The robot is also assumed to have a compass so that it knows its orientation. The rst task of the robot is to determine its possible placements within P ; that is, all p 2 P such that the visibility polygon of p equals V . Guibas, Motwani, and Raghavan provide a datastructure that allows ecient enumeration of all such positions [10]. If more than one placement exists then the robot has to travel to certain points of the polygon that allow it to distinguish between the different placements. Of course, it is always possible to nd a path that uniquely identi es the true position of the robot; for instance, if the robot follows the boundary of P and the holes of P , then all interior points are visible at some time to the robot and it can localize itself easily. However, the robot should not travel much farther than necessary. In order to measure the performance of a localization strategy we employ the framework of competitive analysis [18]. If L(p; P ) is the length of a shortest path to localize a robot \waking" in polygon P at position p, a strategy S is called c-competitive if the length of the path traveled by a robot using strategy S is at most c times L(p; P ), for all possible polygons P and points p 2 P . The smallest such value c is called the competitive ratio of S . There have been two approaches to the localization problem. The rst by Dudek, Romanik, and Whitesides [7, 16] considers the full complexity of the problem and utilizes a decomposition of the polygon P into visibility cells such that the same set of vertices of P is visible from each point in a cell. This decomposition is used as the underlying structure for a simple strategy where the robot repeatedly travels to the closest point that eliminates at least one of the possible placements. It is easy to show that if there are k possible placements then the strategy is k-competitive (Corollary 4 p in [7], Lemma 7 in [12]). Furthermore, if k n, where n is the 2
t
The size of T , denoted by jT j, is de ned as the number of non-degenerate vertices of T . is easy to see that in every (geometric) tree pn T Itthere is a non-degenerate vertex vs such that
q1 n 2
d s
after the removal of vs each of the remaining subtrees has size at most jT j =2. We call vs the split vertex of T .
q2
As in Kleinberg's work, we assume that the robot knows its current orientation, is able to measure the distance that it has travelled, and has no use of vision other than to know the orientation of all edges incident to its current location. Since the closest non-degenerate vertex v can be reached by performing a two-way spiral search that travels at most nine times the distance from the robot's original location to v [1], we assume that the robot's initial \wake-up" position p^ is located at a non-degenerate vertex of T . We call the possible wake-up locations of the robot placements. We denote the set of placements by P . P is not a static set, the more the robot learns about its environment the fewer vertices can be placements. In the beginning P equals the set of all vertices whose incident edges have the same orientation as p^. It is the robot's task to determine p^ by traveling from its wake-up position in T and collecting enough information to rule out all other placements.
n 2
Figure 2: A geometric tree for which every on-line p localization strategy is no better than
( n)-competitive.
The paper is organized as follows. In the next section we give de nitions of the main geometric concepts used in the paper, and we give a list of notations. We then present a very rough outline of our new strategy in Section 3 and discuss the rst step of the strategy. In Section 4 we show how to identify a \critical path" in the explored tree that will then be used to guide the further exploration of the robot. The heart of our strategy is contained in Sections 5 and 6, where we show how to expand the subtree known to the robot so that most of the possible placements can be eciently eliminated. In Section 7 we then show that the remaining placements can be eliminated in a greedy fashion. Finally, in In order to describe the motion of the robot Section 8 we give a short description of an im- we assume that the robot has a local coordinate plementation of our algorithm, and we conclude system that is relative to the robot's wake-up with some open problems in Section 9. position, that is, the origin 0 of the local coordinate system corresponds to p^ in the global coordinate system. We use standard vector addition and scalar multiplication to denote transIn this section we de ne some of the notation lations and scalings. If and are reals, v that we use in the paper. The environments that is a vector and S is a d-dimensional set, then we consider for robot localization are geometric v + S = fv + s j s 2 S g. In particular, v + P is the path P translated by v, i.e., the trees. path P starting at node v. And P k is the kDe nition 2.1 A geometric tree T = (V; E ) times concatenation, or k-repetition, of P . is a tree embedded into the d-dimensional Euclidean space IE d such that each v 2 V is a point A tree is called a comb-tree if it is a geometric in IE d and each e 2 E is a polygonal path whose tree andk there are simple paths Q and S such end points lie in V . The paths of E intersect that Q isk a simple path and the tree is the only at points in V , and they do not induce any union of Q (the base of the tree) and the sets ki (t?s)+S , for 1 i m, where 0 = k1 < < cycles. km = k are positive integers and s is the start We assume that the degree of T is bounded point and t the end point of Q (see Fig. 3). The by a constant . We say a vertex of T is non- m paths of the tree isomorphic to S are called degenerate if it has a degree greater than two. spikes.
2 De nitions
3
s
Q
3 A New Strategy for Robot Localization
t
S
Our localization strategy consists of ve main steps. The following pseudo-code gives a rough 3 impression of how the strategy works. It mainly P P serves as a guide through the subsequent Figure 3: A path P such that P 3 is not a simple sections where each step will be explained in path. Instead, it is a comb-tree with base Q3 more detail. and spikes S , (t ? s) + S , 2(t ? s) + S , and 3(t ? s) + S . Strategy Local-
ize-by-Placement-Separation (LPS) Input: A geometric tree T = (V; E )
2.1 Periodic Paths
with n non-degenerate vertices and a wake-up position of the robot; The position of the robot in T ;
If P is a path such that P is isomorphic to the repetition of another path Q, for > 1, then P is called a periodic path and Q is called a period of P . Note that a periodic path may have several dierent periods. But given a set of periods fQ1 ; : : : ; Qm g of a periodic path P , there is a unique maximal length period Q of P that is an integral period of each period Qi . The period Q is called the greatest common period of fQ1 ; : : : ; Qm g. Its length is the greatest common divisor of the lengths of the Qi 's (if they are scaled appropriately).
Output: Variables: The set of placements P ;
The tree T^ex that has been explored;
set of vertices v 2 V whose incident edges have the same orientation as p^; Initialize T^ex as the origin 0, that is the robot's wake-up position; Step 1: Perform a spiral search until either the p ^ size of the explored tree Tex is n or the number 2.2 Notation p of remaining placements is at most 2 n; The following is a summary of some of the noTranslate the origin to the split vertex tation we use in the paper. Note that the last of T^ex ; four items are introduced in the next section. if number of placements is more than 2pn then
P
T | the geometric tree where the robot is
Step 2: Ptriv the set of all sparse placements and placements inducing a comb-tree; P P ? Ptriv ; (The trivial placements will be eliminated in Step 5, and we do not consider them right now.) Identify a critical path Cex in T^ex containing all other placements; Rcr the set of all placement pairs (p; p0 ) such that p0 lies in p + T^ex (i.e., the subtree of T around p isomorphic to T^ex.) if Rcr 6= ; then Step 3: Extend the critical path Cex top a periodic path Pex with at least n vertices; if Rcr 6= ; then
located. n | the number of non-degenerate vertices of T . p^ | the robot's \wake-up" position in T . P | the set of possible placements of the robot in T (shrinking during the localization). T^ | the geometric tree T in the robot's local coordinate system (= ?p^ + T ). 0 | the origin of T^ (corresponds to p^ in T ). T^ex | the part of T^ explored by the robot in the robot's local coordinate system. % | a lower bound on the length of a shortest path to localize the robot found in Step 1. 4
Step 4: Extend Pex until Rcr = ;; Step 5: Eliminate the remaining placements and the placements in Ptriv using a greedy strategy; end Localize-by-Placement-Separation
the explored tree contains another placement) then the robot switches to the greedy strategy whose competitive ratio is linear in the number of placements. Otherwise, after the spiral search the robot restricts its search to one long path, the periodic path (see Section 4.1), which depends on what it learned in the rst step. It turns out that there is one periodic path, the critical path, containing most of the placements in the explored tree (see Section 4.2). Eliminating these p placements in Steps 3 and 4 leaves at most O( n) placements so that we can continue with the greedy strategy. In Step 3 (see Section 5) the robot explores branches emanating from the critical path. The path plus branches is called the periodic path. The robot stops either if the periodic path has pn vertices or if there are no more critical pairs. A pair of placements (p; p0 ) is a critical pair if p0 lies in the translation of the explored tree T^ex to another placement p. In that case the robot continues with the greedy strategy. In Step 4 (see Section 6) the robot extends the periodic path in the p following way. Since the path has at least p n nodes, the periodic tree induced by the 2 n-repetition of the periodic path has at least 2n nodes. Therefore there are points, called mismatches, where the periodic tree and the tree T dier locally. The paths to these mismatches are called mismatch paths. It turns out that a certain collection of only log n mismatch paths contains at least one mismatch path for each placement. The robot explores these paths in order of increasing length until it nds a rst mismatch, the socalled initial mismatch (see Section 6.1). After nding this mismatch, the robot tries to nd the shortest mismatch path. This procedure is called Mismatch-Propagation and it is the most complicated part of the strategy. It will be described in Section 6.2. After the robot has found the path to the nearest mismatch there are no critical pairs left, and the robot starts the nal greedy strategy (see Section 7).
It should be noted that in the above strategy Steps 1 and 5 are essentially the same steps as in the strategy proposed by Kleinberg [12]. The only exception is that in Kleinberg's strategy up to n2=3 vertices are visited by the Spiral Search in Step 1. After analyzing each step of the strategy we will be able to prove the following theorem.
Theorem 1 Let T be a geometric tree. Stratp egy LPS achieves a competitive ratio of O( n) for localizing a robot in T .
Before we give a more detailed description of each step we give a brief overview of the strategy. Our goal is to use a simple greedy strategy (Step 5 of our strategy, see Section 7). For each pair of placements there is a shortest distinguishing path. So we could just explore these paths in order of increasing length until we have identi ed the wake-up position. Unfortunately, this strategy is only k-competitive, where k is the number of placements. p So we can only use it if there are at most O( n) placements. Otherwise, we must rst reduce the number of placements before we can run the greedy strategy. Our algorithm runs in 5 steps. The pseudocode was given above. Of course, the robot would stop at any time when it has identi ed its wake-up position, i.e., jP j = 1. In the rst step of the algorithm, the spiral search (see Section 3.1), the robot explores its nearby environment by successive depth- rst searches, where the search depth is doubled after each iteration. One could imagine the robot's wake-up position as the center of concentric circles. The robot stops this exploration when it has visited at least pn dierent vertices during the last iteration. Then the robot moves to the center of the explored tree, the split-vertex, and assumes that this was the wake-up position. This allows us to argue that either there are not many placements left, or all placements lie on the same pn periodic path. From the split vertex at most 2 vertices in the explored tree can be reached by traveling p in any direction. If there are at most O( n) placements (for example, if no translation of
3.1 Step 1: Spiral Search
In Step 1 of Strategy LPS the robot performs a spiral search [1] as follows. Starting at the origin it performs successive depth- rst searches, each time visiting all points within distance d of the origin (where initially d is the length of the shortest edge of T ) and then doubling d if 5
T^ex to p1 , then in Step 2 the robot identi es a \critical path" of T^ex , and in Steps 3 and 4 it
it has not yet localized itself. During the search ^ the robot keeps track of the size Tex of the explored subtree T^ex and the set P of all possible placements of the robot, i.e., the set of all vertices p in the given tree T such that the translation of the exlored tree T^ex to this vertex p ts exactly into the tree T . It continues searching until the size of p T^ex is at least pn or there are not more than 2 n possible p placements left. If there are more than 2 n placements left, then the robot continues with Step 2; otherwise, it skips Steps 2-4 and only executes Step 5 (the greedy strategy). If d is the current search depth, then the ball of radius % = d=2 around p^ has been completely explored. Clearly, % is a lower bound on the distance that the robot needs to travel in order to localize. The distancep traveled during p the spiral p search is at most 8 nd = 16 n% = O( n%) since the maximum degree of each vertex is at most [12]. The remaining steps of the algorithm can also be implementedp such that the distance traveled is at most O( n%). After the spiral search the robot moves to the split vertex vs of the explored tree T^ex and considers this vertex from now on to be the origin. This allows us to argue that either there are not many placements, or all placements lie on the same periodic path. For simplicity, we also refer to the translated explored tree as T^ex . Note that the translation increases the maximum distance from the new origin to the farthest leaf of T^ex by at most d, so the maximum distance from the origin to a leaf of T^ex is now 2d = 4% (which is also an upper bound on the diameter of T^ex ). This fact will be used later on. One can prove that if the translation of the explored tree T^ex to any placement p contains no placements dierent from p, and the size of ^ex is at least pn then there the explored tree T p are at most 2 n placements left. This suggests we should try to eliminate placements that are contained in a translation of T^ex to p for some placement p. After we have done this we can continue with the greedy strategy.
travels along an extension of this path eliminating placements until there are no pairs left with this property. We note that the robot does not need to travel to identify the critical path (but it must travel to explore it). In Steps p3 and 4 it will travel a distance p of at most O( n%). After Step 4 at most 2 n placements remain and the robot uses the greedy strategy to eliminate all placements but one.
4.1 The Critical Path of a Placement
We call a placement p sparse if the tranlation of T^ex to p contains at most three placements (including p), and dense otherwise. Kleinberg proved a crucial lemma stating that all placements that are contained in such a translation induce either a simple periodic path or a comb-tree in this translation (and thus also in the given tree T ) [12]. Note that a simple periodic path is a degenerate comb-tree. If the placements in the translation of T^ex to a placement p induce a simple periodic path in T then we call it the critical path Cp of p. Let Ptriv be the set of all placements contained in all the translations of T^ex to a placement p, where p is either a sparse placement or a placement on the spike of a non-degenerate comb-tree. Then we can prove that the p number of these placements is bounded by 6 n. We will from now on ignore the placements in Ptriv until we reach the greedy strategy. For simplicity, we also refer to the set of the remaining placements (dense and not on a comb-tree) p as P . If this new set P contains at most O( n) placements we immediately proceed with the greedy strategy. Otherwise, we must try to eliminate many placements in P .
4.2 Computing a Unique Critical Path
4 Step 2: Identifying a Critical Path
For sparse placements p and p0 it can happen that their corresponding critical paths C^p and C^p do not lie on the same periodic path (see If after Step 1 there are at least two placements Fig. 4). But this cannot happen for dense placep1 and p2 such that p2 lies in the translation of ments. 0
6
T
T^ex
the greedy strategy, The robot now explores the 2-repetition of the ^p1 C path Dcr from the origin 0 of T^ex, returns to the p2 p3 p4 ^ origin 0, and then explores a 2-repetition of Dcr?1 Cp3 Cp3 Cp1 p1 into the other direction. Note that this may remove some placements. In particular, if one of the two paths does not exist all critical pairs will be eliminated and we with the greedy strategy. Figure 4: The points p1 , p2 , p3 , and p4 are sparse canWeproceed make the current robot position s, the verplacements of T^ex in T , and the critical path C^p1 tex the robot stands now, the new origin 0 of of p1 does not belong to the same periodic path the explored tree T^ onand accordingly translate ex as the critical path C^p3 of p3 . all points in the local coordinate system of the robot. = placement vertices in U Note that a critical pair before the translation =C remains a critical pair after the translation. = T^exS1 T^exS1 We call the 4-repetition of Dcr the critical path Cex of the explored tree T^ex (see Fig. 5). 0 D Since C is contained in T^ex , the number of vertices Dcr = D2 pn). in C | and, thus, in Cex | is at most s 4 O ( Cex = Dcr We observe that for any critical pair (p; p0 ) the Figure 5: The explored tree T^ex and Dcr . Cex = simple path connecting these two placements is a period of the critical path Cex . Dcr4 starts at s, the current robot position.
4.3 The Critical Period
Instead, if p and p0 are dense placements then The greatest common period of all these con-
their corresponding critical paths C^p and C^p are part of the same simple periodic path in the explored tree T^ex . A p-vertex in T^ex is a vertex that corresponds to another dense placement in the translation of T^ex to some dense placement. We denote the simple periodic path in the explored tree T^ex containing all p-vertices by C . Since C is periodic and all p-vertices correspond to dense placements, there is a unique integral period D of C ; this follows from the properties of periodic paths. We assume w.l.o.g. that the unique integral period D starts at the origin. Let k be the smallest integer such that the k-repetition of the integral period D has at least the same length as the critical path C . Then we denote the k-repetition of the integral period D by Dcr , where the start point of Dcr is the origin (see Fig. 5). We call a pair of placements (p; p0 ) a critical pair if p0 is reachable via Dcr starting at p. The set of all critical pairs is denoted by Rcr . Our aim is to eliminate all critical pairs because then a translation of the explored tree T^ex to any dense placement p contains no placements dierent from p, and we can continue with
necting paths is called the critical period of the critical path Cex w.r.t. the critical pairs Rcr and denoted by Dex . From the properties of periodic paths we can see that whenever Dex changes it must at least double in length. Note that the critical period depends only on the critical pairs Rcr .
0
5 Step 3: Exploring a Periodic Path If there are critical pairs of placements left after Step 2 then the robot explores branches emanating from the critical path Cex in Step 3 until either it has found p a non-simple periodic path P with at least n vertices or there are no more critical pairs. If there are no p more critical pairs then there are at most 2 n placements left, and the robot continues with the greedy strategy. Otherwise, the robot continues with Step 4 (Mismatch-Propagation). After the robot has identi ed the critical path Cpex in Step 2 of Strategy LPS, it considers the n vertices of the explored tree T^ex sorted by 7
T^
s v
to visit the neighbours of v in distance of length of the critical period Dex from each other along the critical path Cex . Then it updates the set of possible placements P , the critical pairs Rcr , and the critical period Dex before examining the neighbours of the next vertex. It halts when either the set of critcal pairs Rcr is empty p or the periodic path Pex contains at least n vertices.
P t
v0 (a) 3 v Dex
6 Step 4: Extending the Critical Path
2 v = v Dex
v Dex
0 v Dex
0
Dex
Since T is nite if we concatenate together enough copies of the periodic path Pex then there will be many dierences | or mismatches | between the tree T and the copies of the periodic path Pex . In the following we show how to make use of these dierences.
Dv Cex (b)
6.1 Identifying an Initial Mismatch
Figure 6: (a) Augmenting the path P by the point v: The robot follows the path P from s to the P -base of v0 , travels to v and back, and then k -neighbours follows the rest of P . (b) The Dex 2 . Note that of v, for 0 k 3, with v = v Dex v Dex is not a vertex.
be the periodic path that is formed by Let Pex p concatenating together d2 ne copies of the periodic path Pex . The periodic path ist not longer is bounded than Op(%), thus the length of Pex con^ by O( n%). The tree Tex induced by Pex tains at least 2n vertices and, hence, there are at least n vertices where T^ex diers from T . In the following we show that the robot can nd an initial mismatch q by exploring at most . Once the inilog jP j log n vertices of Pex tial mismatch q is found, the robot uses q as a seed mismatch to nd mismatches that are closer and closer to the origin 0 until the set of critical pairs Rcr is empty. One can prove that there is a vertex v in T^ex such that for at least one half of the placements p in P the robot could not follow a path from p that looks like the path from the origin 0 to the vertex v. If we apply this statement repeatedly and remove each time the set of placements p from P for which a vertex v in T^ex is found with the property described above, then we obtain the following: There exists a set V0 of dlog jP je vertices in T^ex such that, for every placement p in P , there is a vertex v in V0 such that the robot could not follow a path from p that looks like the path from the origin 0 to the vertex v.
increasing distance to the (new) origin 0 of the explored tree T^ex . For each vertex v, the robot tries to visit its \neighbours" which are located at multiples of the critical period Dex , that is, at the end points of the path formed by the irepetition of the critical period Dex and the path from the origin 0 to v. For each 1 i 2k, it either succeeds in traveling to such a point, or it nds the rst point at which this path diers from T . From the start point of Cex , the robot explores a non-simple path Pex in the given tree T that shares the periodicity of the critical path Cex w.r.t. the critical pairs Rcr . If the robot discovers irregularities in the exploration process then it can use the irregularities to eliminate placements until the explored path is again periodic w.r.t. the critical pairs Rcr . Initially, the periodic path Pex equals the critical path Cex . The robot augments the periodic path Pex by the vertices in the explored tree T^ex . For each vertex v in T^ex , the robot tries 8
Note that these vertices in V0 can be computed given the tree T and T^ex without any additional exploration by the robot. be the path formed by In the followingplet Cex concatenating 2 d ne copies of Cex . We sort the vertices in V0 according to their distance to the visiting the origin. The robot travels along Cex vertices in V0 in sequence until the rst vertex v 2 T^ex is identi ed for which the described property holds. Note that the distance of each vertex v in is at most 4%; hence, the robot travV0 to Cex plus els a distance of at most the length of Cex p 2 log n 4% which is O( n%) in order to identify v . Let q be the rst point where the translation of the path from the origin 0 to the vertex v to p diers from the given tree T . The point q is the initial mismatch.
6.2 Strategy Propagation
Cex Ci
v1
ri qi+1 vi
qi
Di+1
Di
v q1
q
Cex
Figure 7: Since ri = vi r Ci?1 is Dex -isomorphic to v , all Di -neighbours of ri between ri and qi are explored. This yields the new mismatch point qi+1 and at least doubles the length of the i of Ci w.r.t. Ri . greatest common period Dex Fig. 7 illustrates this strategy of the robot.
Mismatch- 7 Step 5: Greedy Elimina-
tion
Once having identi ed the initial mismatch q , our next aim is to nd the closest mismatch to Pex . The robot now returns to the origin and on its way it visits points that are not Dex -neighbours of v , with q being the rst such point. It does so by looking at the Cex -neighbours of v that are closer to the origin. There are two cases. If such a point is not a Dex -neighbour of v (like q ), then the robot has found a mismatch that is closer to the periodic path Pex . It continues by examining the next Cex -neighbours closer to Pex . Otherwise, if the point in distance of length of the critical path Cex is not a mismatch, then the robot explores all the Dex -neighbours between the last two explored Cex -neighbours. This is exactly analogous to one iteration of Strategy Periodic-Path. After the exploration of the Dex -neighbours the robot recomputes the critical pairs Rcr . Since the start point is not a mismatch but the end point is a mismatch the greatest common period Dex of the critical path Cex w.r.t. the critical pairs Rcr changes; this implies that some pairs in Rcr are eliminated. Among the explored Dex -neighbours of v the robot just visited we choose the closest one to the origin that is a mismatch to continue the strategy by examining the next Cex -neighbours closer to Pex . We are done if the set of critical pairs Rcr is empty.
We enter this step if the set of placements P (now again including the placements Ptriv that we had excluded in Section 4.1) has size jP j = O(pn). In order to eliminate the remaining placements the robot visits the closest point q such that at least one placement is eliminated. Since the distance of any q to the origin 0 is no more than the shortest distance to localize the robot, a repeated application of this procedure eventually eliminates all placements but one with a competitive ratio of at most jP j.
Theorem 2 ([7, 12]) If jP j = O(pn) then the greedy strategy localizes the robot with a competp itive ratio of O( n).
8 Implementation We have implemented the algorithm, using C++ and LEDA [13]. The algorithm is imbedded in OnVis, a system for visualisation of online algorithms developed at the MPI. As it turns out, a real robot should not run the algorithm exactly as described in the previous sections but instead it should use \shortcuts" at various points [8].
Before starting each depth- rst search in
Step 1 the robot computes the \explored tree". If there is no new information in distance d, that means no further placements can be eliminated by exploring the neighbourhood within distance d, the robot
9
leaves out the current distance d and continuesp with 2d. If thep computed tree has size n and at least n vertices lie in the ball of radius d, we can nish the spiral search. There may also be directions that provide no new information in the current distance or are already completely explored. For the robot it is needless to travel these paths. While computing a unique critical path the robot should not follow a path Q that is a subset of the explored tree T^ex . In the Strategy Periodic-Path the robot can omit vertices that are already known. In the greedy elimination step the robot does not need to travel back from the closest point qi to the origin, but moves directly to the next point qi+1 if it could not localize. Whenever we extend T^ex we should immediately recompute the set of placements P .
[2] [3]
[4]
[5]
[6]
9 Conclusions
We have presented a new localization strategy [7] for an autonomous mobile robot. The environment of the robot is represented by a geometric tree of constant degree in arbitrary dimensions. We assume that the robot knows its current ori- [8] entation, and it has no use of vision other than to be able to detect the orientation of all edges incident to its current location. Our strategy, which solves an open problem posed by Kleinp berg [12], achieves a competitive ratio of O( n) if the tree contains n nodes of degree greater [9] than or equal to three. Since there is a geometp ric tree that provides a lower bound of ( n) for the competitive ratio of any localization strategy, our strategy is optimal up to a constant [10] factor. Challenges that remain for future work are to transfer the strategies developed for geometric trees to the more realistic setting of polygons in the plane and to investigate the complexity [11] of the localization problem in graph structures that allow cycles.
References
[12]
[1] R. Baeza-Yates, J. C. Culberson, and G. J. E. Rawlins. Searching in the plane. 10
Information and Computation, 106:234{ 252, 1993. E. Bar-Eli, P. Berman, A. Fiat, and P. Yan. Online navigation in a room. J. Algorithms, 17:319{341, 1994. P. Berman. On-line searching and navigation. In A. Fiat and G. J. Woeginger, editors, Online Algorithms: the State of the Art, pages 232{241. Springer-Verlag, 1998. M. Betke, R. L. Rivest, and M. Singh. Piecemeal learning of an unknown environment. Machine Learning, 18(2{3):231{254, 1995. A. Blum and P. Chalasani. An on-line algorithm for improving performance in navigation. In Proc. 34th Annu. IEEE Sympos. Found. Comput. Sci. (FOCS 93), pages 2{ 11, 1993. A. Blum, P. Raghavan, and B. Schieber. Navigating in unfamiliar geometric terrain. SIAM J. Computing, 26(1):110{137, February 1997. G. Dudek, K. Romanik, and S. Whitesides. Global localization: Localizing a robot with minimum travel. SIAM J. Computing, 27(2):583{604, 1998. R. Fleischer and G. Trippen. Optimal robot localization in trees. In Proc. 16th Annu. ACM Sympos. Comput. Geom., pages 373{ 374, 2000. A video shown at the 9th Annual Video Review of Computational Geometry. R. Fleischer, K. Romanik, S. Schuierer, and G. Trippen. Optimal robot localization in trees. In Information and Computation. To appear. L. Guibas, R. Motwani, and P. Raghavan. The robot localization problem in two dimensions. In Proc. 3rd ACM-SIAM Symp. on Discrete Algorithms, 1992. B. Kalyanasundaram and K. Pruhs. A competitive analysis of algorithms for searching unknown scenes. Comput. Geom. Theory Appl., 3:139{155, 1993. J. M. Kleinberg. The localization problem for mobile robots. In Proc. 35th IEEE Symp. on Foundations of Computer Science, pages 521{531, 1994.
[13] Kurt Mehlhorn and Stefan Naher. LEDA : a platform for combinatorial and geometric computing. Communications of the ACM, 38(1):96{102, 1995. [14] D. Miller, D. Atkinson, B. Wilcox, and A. Mishkin. Autonomous navigation and control of a Mars rover. In T. Nishimura, editor, Automatic Control in Aerospace, pages 111{114. Oxford: Pergamon Press, 1989. [15] C. H. Papadimitriou and M. Yannakakis. Shortest paths without a map. Theoret. Comput. Sci., 84(1):127{150, 1991. [16] S. Schuierer. Ecient robot selflocalization in simple polygons. In R.C. Bolles, H. Bunke, and H. Noltemeier, editors, Intelligent Robots|Sensing, Modelling and Planning, pages 129{148. World Scienti c Publ., Singapore, 1997. [17] C. Shen and G. Nagy. Autonomous navigation to provide long-distance surface traverses for Mars rover sample return missions. In Proc. IEEE International Symposium on Intelligent Control, pages 362{367, 1989. [18] D. D. Sleator and R. E. Tarjan. Amortized eciency of list update and paging rules. Communications of the ACM, 28:202{208, 1985. [19] W. Thompson, H. Pick, B. Bennett, M. Heinrichs, S. Savitt, and K. Smith. Map-based localization: the `drop-o' problem. In Proc. DARPA Image Understanding Workshop, pages 706{719, 1990. [20] Y. Yacoob and L. Davis. Computational ground and airborne localization over rough terrain. Technical Report CSTR-2788, Univ. of Maryland, 1988.
11