Copvri!(hl © IFAC Illh T,·iellllial \\'orld COIl!(ress. Tallillll . ESlOlli ... l ·SS R . I ~ I~III
STRATEGIES FOR SENSOR-BASED TERRAIN ACQUISITION BY A MOBILE ROBOT* v.
Lumelsky,
s.
Mukhopadhyay and Kang Sun
Yale University, Department of Electrical Engineering, New Haven,
eT
06520, USA
Abstract. The problem of terrain acquisition presents a special case of robot motion pl~nning. In it, a. mobile robot IS requested to perform a complete , in some sense, exploratio n of an unfamiliar scene populated with obstacles (objec ts ) of unknown shapes and dimensions, using some 60rt of sensory feedback (e.g ., \lisio n) and generating as short a path during the operation as possible. The result of such exploration can be, for examplE': , a map of the scene. Algorithms considered so far in literature make strong assumptions about the obstacles - e.g., that they are polygonal- and measure the algorithm performance in terms of the number of constraints describing obstacles, such as the :lumber of obstacle vertices. In this paper, two formulations of the terrain acquisition problem are conside red , differing in what the "complete exploration" means; both assume continuous (on-line) motion planning and obstacles of arbitrary shape. Accordingly, two algorithms are described for acquiring planar terrains, and estimates of the
algorithm performance are derived as upper bounds on the lengths of generated paths. Keyword. Robotics, motion planning aJgorithms , obstacle avoidance, terrain acquisition, map reconstruction.
1
Introduction
The problem of terrain acquisition presents one aspect of the more general problem of robot motion navigation and planning . It can be stated as follows . A mobile robot equipped with a vision sensor is placed in an unexplored planar finite or infinite terrain randomly populated with some obstacles l of arbitrary sizes and shapes . Obstacles mayor may not be visible from each other . Th e robot is required to autonomously navigate in the terrain, while covering a reasonably small distance. The problem can be formulated in a number of ways, differing in the assumed objective of the operation resulting in algorithms of different computational complexity. The vision sensor mimics a typical range finder in that it allows the robot to identify coordinates of all visible points in the terrain, including obstacle boundaries, within a limited radius Rv (radius of vision) around its current location . The robot is also capable of plotting identified obstacle boundaries on the map and making use of the current map if needed . The terrain acquisition problem is of recent interest . Works by Brooks [Brook , 1985] , Turchen and Wong [Turchen and Wong , 1985] and Oommen et al [Oommen and others, 1987] are among the first in this area . Typically, the robot is assumed to be a point that operates in an environment with polygonal obstacles. In [Oommen and others , 1987] , the robot is capable of two elementary operations: scanning , to identify all visible obstacle vertices from its current location , and moving, to move the robot along a straight line . Under the proposed strategy, the robot moves from vertex to vertex . To acquire an environment with n obstacle vertices , the algorithm requires n scanning operations and at most 2(n - 1) motions between the vertices . A later modification of this procedure by Rao et al [Rao and others , 1987] extends the approach to a finite-s ized circular mobile robot in the plane . The assumption in the works above that obstacles in the terrain are polygons (or, in general, set s constrained by algebraic man ifolds) is quite important; in its essence, it follows the "Piano Movers" approach to motion planning developed in general form in [Schwartz and Sharir , 1983] . While giving rise to an interesting problem of computational geometry and computational complexity, the underlying model of this approach is only one of those that appear in the context of robotics. First , real obstacles do come in arbitrary shapes . It is known that, given the accuracy of approximation , the problem of approximating nonlinear surfaces with linear constraints is at least of exponential complexity [Reif, 1986] . On the other hand , one may find this approximation problem rather artificial , since walking along an unknown smooth curve may be even · Supported in parl by the Nation al Scien ce Founda.tion Grants DMC8i1235, and IRI-8805943 I As used here, th e term ob3 tacle is free of the connota.tion of something undesired. It is borrowed from the lite rat ure on robot motion planning where it is used widely. Un lik e that latte r area. obstacles here a.re not necessa ril~' something to avoid .
easier for a robot than turning at polygon corners . Second , the performance of planning algorithms is measured in the " Piano Movers" approach in terms of the total number of obstacle vertices. This is quite natural for computational geometry, but in robotics one may prefer to measure the cost of planning simply by the length of paths generated by the robot . This way, walking, for example, around a circular obstacle or around its approximating polygon with a very large number of edges would present tasks of the same complexity. Realizing such a performance criterion requires a continuous, as opposed to discrete, formulation of the motion planning problem . This paper is an abbreviated version, without proofs and detailed analysis , of the work to be published in full elsewhere. We (i) formulate the problem of terrain acquisition as that of continuous motion planning ; (ii) eliminate the constraint that the obstacles be described analytically - they can be of arbitrary shape; (iii) give two formulations of the problem that are motivated by perceived applications, assume somewhat different models of the environ ment and, more importantly, differ in what is meant by "complete exploration" of the terrain; and (iv) present two algorithms for terrain acquisition , one for each problem formulation, show their convergence, estimate their performance in terms of the length of generated paths , and discuss the implementation issues. Briefly, the two formulations and the respective models that they assume are as follows . In the formulation (a), the robot is required to produce a map that would contain the boundaries of all the obstacles in the terrain ; the terrain can be finite or infinite , and any pair of obstacles can be related through a sequence of mutually visible obstacles . In the formulation (b), the robot is required to reach all the reachable areas of the terrain; the terrain must be finite , and obstacles need not be visible from each other. Note that any algorithm capable of solving the task (b) should be capable of producing, as a side effect , the map of the terrain required in the task (a) . The first algorithm presented below , called the Sightseer Strategy, applies to the formulation (a) and is reminiscent of a sightseer who walks from one sight to the other, and then circles each sight to see it all. The robot moves from its starting position to the nearest obstacle and circumnavigates it, while acquiring more knowledge about the visible parts of the environment. This knowledge is then used to identify the nearest partially unknown obstacle and move to it . The process is then repeated till all the obstacles in the terrain are visited and fully known . The strategy converges, and its upper bound on the length of generated paths is shown to be linear in the perimeters of obstacles and distance between obstacles in the scene . The second procedure , called Seed Spreader Strategy, applies
to the formulation (b) and is reminiscent of a landowner who , in order to plant grass in his lawn, divides the terrain into a suitable number of rectangular strips , and then covers the strips with seeds sequentially, one by one . While moving along the boundary of a strip , the robot is acquiring (that is, putting on the map) all new
information that comes its way. If, however, it is becoming clear that some obstacle cannot be acquired fully in this fashion, the robot diverges from the current strip boundary to the obstacle, acquires it (and other obstacles if needed) , returns to the strip boundary, and repeats the process. Although the upper bound of this procedure is quadratic in obstacle perimeters , in some quite general cases it is shown to perform better than the first algorithm .
2
Model and terminology
Robot . The robot is a point. It is capable of two types of motions : linear-na vigate - moving towards a target point along a straight line, and circumnavigate - moving along an obstacle boundary. The robot always knows coordinates of its current location. The robot is equipped with a vision sensor which allows it to identify coordinates of all visible points on obstacle boundaries within a circle of radius R v, called the radius of vision. centered at the current location. The sensor is thus analogous to a typical range finder. Once a piece of an obstacle boundary is identified , the robot can register (i .e ., plot) it on its incremental map. It can then make use of this information thereafter. An obstacle is said to have been acquired if its boundary is completely known and connected . The term scanne r refers to the robot's sensing/ vision system, and scanning - to the act of seeing . The additive "navigate" (e.g., in the term "circu mnavigate" ) implies simultaneous actions of moving, scanning , and registering . As for its computational capabilities, the robot can compute the (shortest) Euclidean distance between two points , between a point and an obstacle , and between two obstacles. Environment . The terrain to be explored is planar. It is is populated with a locally finite but unknown number of obstacles of arbitrary shapes. Simply for completeness, assume that obstacles have no holes in them - a robot living in a 2D space cannot see a hole inside a 2D obstacle. The boundary of an obstacle is a simple closed curve. Let d be the closest distance (or distance, for short) between two obstacles, and d max the maximum such distance. The robot starts at some starting point, 5, in the terrain . Depending on the problem formulation, two different models of the environment will be used. In model (a), the terrain can be finite or infinite, and point 5 and obstacles are mutually visible: that is, at least one obstacle is visible from 5 and, for any pair of obstacles 0; and Oj, there is a sequence of obstacles visible from one another that leads from 0 ; to 0, . In model (b), the terrain is finite, and obstacles need not be visible from each other. Performance criterion. Let n be the number of obstacles that lie, wholly or partially, in the terrain to be explored, p; - the (unknown) perimeter (i .e ., the length of the boundary) of the ith obstacle , Pmax - the maximum such perimeter, and P - the length of the path that the robot traverses in the course of terrain acquisition . The performance of an algorithm is judged in terms of the upper bound on the length P of the generated path , as a function of obstacle perimeters and distances between obstacles. Any computations due to vision , incremental map construction , planning the shortest path between obstacles , etc. are assumed to be of no cost. Definition 1. A local di rection is the direction of passing around an obstacle. It can be either left or right. A local direction is chosen at the time an obstacle is encountered, and can be reversed when needed. Definition 2 . A hit point H is defined on an obstacle that the robot is linear- navigating to and is the closest intersection point between the line of motion and the obstacle . A lea ve point L is defined on the obstacle that the robot is linear-navigating from and is the closest intersection point between the line of motion and the obstacle . Definition 3 . An obstacle becomes a visited obstacle if it has been explicitly circumnavigated by the robot. Otherwise, any obstacle that is partially or completely known to the robot is an unvisited obstacle. Hence, any visited obstacle must have been acquired ; the opposite is not necessarily true . A partially known obstacle is also called incomplete; it is easily recognized from the
Figure 1: Obst acle 0 3 can only be seen from O 2 • Although O2 is complet ely known after exploring 0 1 , the robot still has t o visit O 2 in order not to miss other obstacles, such as 0 3 . fact that its boundary in the map presents a simple open curve, as opposed to the boundary of a completely known (acquired) obstacle which is a closed curve .
3 3.1
The Sightseer Strategy (SS) General idea
This algorithm applies to the formulation (a) , Sections 1 and 2, and can be sketched as follows . While standing at the start position, the robot scans for and registers all the visible obstacle boundaries . If nothing can be seen , the task is accomplished. Otherwise , the robot linear-navigates toward the nearest obstacle and then circumnavigates it completely, while updating the map. Then, the robot marks the obstacle as visited, finds from the map the nearest visible unvisited obstacle and linear-navigates to it . The procedure repeats until no unvisited obstacles remain . If no such obstacle exists, it simply backtracks to the latest visited obstacle and from there looks for the nearest unvisited visible obstacle . In each act of linear-navigation one unvisited obstacle is targeted for acquisition , and at least one unvisited obstacle is actually acquired. Only those obstacles that are mutually visible will appear on the map . Since the terra in has a locally finite number of finite size obstacles, and since no visited obstacle can become a target of linear-navigation , the above procedure guarantees convergence. If the next obstacle to explore is visible from the current obstacle , the robot can always find a path to it without encountering any other obstacles . The only time it will visit a previously visited obstacle is during the backtracking . The elementary operation of exploring an individual obstacle follows the approach described in [Lumelsky and Stepanov, 1987J . It may happen that none of the currently identified unvisited obstacles can be seen from the robot ' s current position . What path should the robot use to reach one of them (e .g., the nearest)? This is done by backtracking via previously visited obstacles. It can be shown that an alternative option - go straight towards the chosen unvisited obstacle - is problematic: it can produce loops in the generated paths and straight line path segments whose length exceeds R v' Backtracking guarantees (see Section 3.3) that the generated path presents a spanning tree , which simplifies the algorithm . Also, the straight line path segments between obstacles are bounded by the radius of vision R v. Note that if an obstacle has not been visited but is completely known , it still cannot be marked as visited . Every unvisited obstacle must be explicitly visited , because there might be some other obstacles that are visible only from it . This is shown in an example in Figure 1: in the process of circumnavigating obstacle 0 1 , the robot will completely acquire obstacle O2 . Nevertheless , obstacle O 2 has to be explicitly visited since otherwise , given the radius of vision R v, the robot will never discover obstacle 0 3 .
3.2
Algorithm
Notation : curr-obst acl€ - obstacle that is being visited currently; next-obstacle - obstacle to be visited next ; pret'- obstacle - obstacle that has led to cu rr- obstacle. In the procedure , the planning decisions , such as what obstacle to visit ne xt , are made when the robot is either at the start point 5 or at an obstacle boundary. To keep track of obstacles
for backtracking , a linear stack is maintained. The stack contains labels of all identified visited or unvisited obstacles . The operation a = pop( s tack ) removes the top item on the stack and assigns it to the item a. The operation pus h (a. st ack ) places item a on top of the stack. The procedure operates as follows. Step 0 (Initialization) Let curr-obstacle = 5 , and mark it visited. Register all the visible obstacle boundaries in the map and mark them unvisited. Go to Step 1. Step 1. (Determine the next obstacle to visit) If no unvisited obstacles remain in the map, the map is complete ; the procedure terminates. If there are no unvisited obstacles visible from curr-obstaele, go to Step 2. Otherwise , let next-obstael, = nearest unvisited visible obstacle , and go to Step 3 . Step 2 . (Backtracking) If curr-obstacle = 5, the map is complete ; the procedure terminates.
Otherwise , let prev- obstacle = pop(stack). Backtrack from c urrobstaele to prev-obstaele. Let curr- obstaele = prev-o bstaele. Go to Step 1. Step 3 . (Linear-navigation) Do push (cu rr-obstaele, s ta ck). Choose a straight line collision-free path between curr-obsta cle and next-obs taele, and follow it until n ext-o bs tacle is reached . Let curr-obs taele = next-obstacle. Go to Step 4 . Step 4 . (Circumnavigation) Circumnavigate curr-obs tacle; mark it visited. Go to Step 1.
3 .3
Performance Analysis
Given a scene with n obstacles , the corresponding visibility gmph ( VG) is constructed as follows . Every obstacle forms a node in VG; point 5 is also treated as an obstacle and thus produces a separate node . An edge is drawn between two nodes if and only if the entities that the nodes represent are visible from each other . Given the assumption of mutual visibility of point 5 and obstacles , VG is a connected gra ph . Assuming for simplicity that point 5 lies on the boundary of an obstacle, V G has n nodes , at least (n - 1) edges , and at most n(~-I) edges . Assign each edge a weight equal to the distance between the two corresponding obstacles. Note that any weight in this weighted finite graph is less or equal to R v, the vision radius. It is known in graph theory that in a finite connected graph it is always possible to construct a cyclic directed path passing through each edge once and only once in each direction [Ore, 1962] . One method to construct such a path is Depth-First Search (DFS) [Aho and others , 1974]. a variation of which is used in SS to move between obstacles . For n obstacles , the worst-case size of the stack is (n - 1). In the algorithm, the only time the robot walks to a previously visited obstacle (node) is when it traces back to a visited obstacle by the same path segment (edge) that it had followed before , but in the opposite direction. Since the reason and the result of every such trip is acquiring another unvisited obstacle , no closed loops are possible in the path . Mapped into VG, the path produces a spanning tree. If DFS started at the root . searched the whole spanning tree and then returned to the root , each edge would be traversed exactly twice , once in each direction . Since SS stops when no unvisited obstacles remain , each edge of the spanning tree will be traversed at least once and at most twice . Hence the lemma : Lemma 1: Under the 5ightsar 5tmtegy (SS) . a pa th segm en t be ttree n / U.' O obsta eles can be t ra va sed at most t wiet . In a tree structure. each node . except for the root, is connected to its parent node by one edge ; a tree structure with 11 nodes consists of (n - 1 ) edges . Thus , traversing k edges leads to k nodes . Hence the following statement . Lemma 2: Following SS. the ro bot circ umna viga tes 11 obs tacles at most 2( 11 - 1) t im es. Although each path segment between obstacles is traversed no more than two times , an obstacle can be visited many times.
Figure 2: Example of performance of the Sight seer Strategy. Terrain acquisit ion start s at 5 and terminates at T . Each and every obstacle is expli cit ly visited and circ umnavigated. Lemma 2 provides an upper bound on the total number of obstacle visits. Note that n circumnavigations that contribute to this upper bound are done for the purpose of acquiring the obstacles and their neighborhoods ; the remaining (n - 2 ) visits are due to backtracking . Since the obstacles met during the backtracking are completely known, the robot needs not to circumnavigate them completely ; instead, the robot can maneuver around a known obstacle via a shorter path , which is never more than half of the obstacle perimeter . Hence , the portion of the total path length due to
+
moving around obstacles is bounded by 1.5 L:i':1P. (n - 2 ) ~. On the other hand, since each path segment between obstacles is bounded by min ( R v, d max ) , the portion of the path length due to traveling between obstacles is bounded by 2· ( n -1 )·min( R v, dm ax ) . Summing it up, we have the following upper bound : Theorem 1: Th e total path P tra ve rsed by the robot in the process of termin acquisitio n under SS algorithm is linear in the perime ters of the obsta cles in the scene and is bou nded by
n- 2
n
P = 2(n - 1) · min(Rv,d m ax ) + 1.5 L
Pi
+ P ma x ' -2-'
(1 )
t=l
Assuming for specificity, that the robot's vision is not sufficient to observe the whole terrain , min(Rv, d mar ) R v, this produces
=
P
n - 2
n
1) + 1.5 L
= 2R v(n -
i=1
Pi
+ Pmar . - - .
(2)
2
Note that choosing the nearest visible obstacle in Step 1 of the algorithm , although reasonable in actual implementations , does not effect the worst-case performance . As an illustration, observe that in the example in Figure 2 the algorithm performance is well above the worst -case bound , with the length of the generated path well approximated by P
4 4 .1
=
R vn
+ 1.5 L:i'= 1 Pi·
The Seed Spreader Strategy (SSS) General idea
This algorithm applies to the formulation (b) , Section1 and 2. Assume that the terrain is rectangular, of dimensions .4. by B . If the terrain has many obstacles in it, then moving from obstacle to obstacle and circumnavigating every obstacle, as in SS algorithm , may produce very long paths . On the other hand , if the obstacles are "nicely distributed " and are of "nice geometry", then encircling a group of obstacles - for example , by a rectangular path - may make them completely known without actually visiting and circumnavigating each of them. We divide the terrain into a number of strips of equal width by a set of lines parallel, say, to the side .4. of the terrain . It is hoped that most of the obstacles in a strip will be acquired in the course of the movement along the strip boundaries . If, however , it becomes apparent that an obstacle cannot
~R,-
.------,-------.--__--.-----~ T ~
r-I
I !
V
M-line
o
A
s Figure 3: Example of performance of the Seed Spreader Strategy in the terrain of Figure 2. Out of 11 obstacles , only three obstacles are circumnavigated.
Figure 4: Seed Spreader Strategy. When M-line coincides with the terrain border , the choice of a local direction is unique: at points Ht a nd H2 these are , respectively, "right" and "left" . For all other cases (points H3 through H 6 ) the choice can be arbitrary, a nd the local direction may be reversed in the course of acquiring an obstacle.
be acquired in this fashion, it is explicitly visited via a divergence route.
We make the strip width equal to the radius of vision Rv. The advantage of this choice is that normally obstacles that can be completely seen from a distance Rv will be acquired directly from the strip boundaries. Exceptions will be cases with mutual obstacle occlusions and cases where parts of obstacle boundaries are not visible from the circumscribing convex hulls. If Rv > B then there is only one strip, of width B. By proper alignment of the axes of reference we define the directions E,N, W.S (for east , north, west and south). Define the Main line (M-line) as a piece-wise path that consists of southnorth (SN) and east-west ( E W) straight line strip boundaries, as shown in Figure 3. Consider M-line as a one-dimensional space; then, a metric can be defined such that the distance between two points x and y, d( x . y), is measured along M-line . If points x and y are on two different strip boundaries, with k turning points li , 1,+2 , .... tiH - t along M-line between them, then d(x , y) = d(x , I, ) + d(t i , ti+tl + ... + d(li+k-t , y), where d is the regular Euclidean distance. Assume for simplicity that point 5 is at the SW corner of the terrain. Let S be one end of M-line , and T - its other end, Figure 3. Assume that 5 is always obstacle-free. At the beginning, the map will contain the border of the terrain and M-line; the latter is marked so as to distinguish it from the terrain border and obstacle boundaries. In the algorithm , the robot registers all the information that comes its way from those strips that it can observe simultaneously. Its diversions, though, are organized so as to complete the acquisition of one strip before switching to the next strip. If no obstacles are present in the scene, the robot will learn this fact after having completed the path along M-line from 5 to T . If, however, the robot encounters an unknown or an incomplete obstacle that crosses M-line, it will circumnavigate it and then resume its motion along M-line. If the robot encounters a completely known obstacle, it simply passes it around following a shorter path along its boundary. If the robot concludes that a given incomplete obstacle cannot be acquired directly from M-line, it diverges to it, acquires the obstacle by circumnavigating it, returns to M-line and resumes its motion along M-line . To define the diversion strategy, the acquisition strategy, and the local direction for handling individual obstacles, we divide obstacles into two types, depending on their locations relative to M-line and the terrain border: (1) obstacles that do not intersect M-line, and (2) obstacles that intersect M-line . Consider both types separately. 1. Obstacles that do not intersect M-line. If such an obstacle cannot be acquired from M-line, a diversion is undertaken. The diversion starts only at the "very last moment" - when, according to the available information , the robot cannot expect to See the obstacle again by simply following M-line. More specifically, the robot diverges to an obstacle only while moving along eastern SN -oriented strip boundaries , when it is about to lose sight
of the obstacle. This corresponds to one of two cases: (1) when the visible obstacle boundary in question is about to go out of the robot's vision range, and (2) when the boundary is occluded by another obstacle or by another part of the same obstacle. This implies that sometimes an obstacle may be acquired by diversion even though it intersects M-line. Out of two possible local directions, right or left, anyone is equally promising , and so no special rule for its choice is needed in this case. 2. Obstacles that intersect M-line. In the special case when the segment of M-line in question coincides with the terrain border, there is only one feasible local direction. For example, at the hit point Ht, Figure 4, the direction is clearly "right" , and at point H 2 - "left". In such cases , the robot will ignore other obstacle intersections with M-line - such as points qt and q2, Figure 4 - and continue the obstacle circumnavigation until it arrives again at the terrain border (point Lt). If M-line/obstacle intersection takes place outside the terrain border, the choice of the local direction is, in principle, not important - say, it is "right". In the course of maneuvering around obstacles, the robot may switch its local direction. Switching is caused either by intersections with the terrain border, as at point Q3, Figure 4, or by a decision to shorten the path along an already known obstacle boundary, as at point H 4 . In the process, some path segments may be traversed more than once, but never more than three times (see obstacle 0 6 , Figure 4, and Section 4.3). Intersections of M-line with an obstacle boundary form a number of crossing points. Unless M-line ends "inside" the obstacle, the number of crossing points is even. Denote {cd , i = 1, 2, ... , m, the set of crossing points numbered in the order of the intersections between M-line and the obstacle boundary. Once the robot encounters the obstacle and defines on it the hit point If, it has to also define on it the leave point L that will be used as a departure point. Both Hand L are crossing points . While moving along the strip boundaries , the robot may encounter a given obstacle more than once, so point If is not necessarily the first crossing point. The choice for L is dictated by the need not to miss any unknown obstacles that lie along or are visible only from the segments of M-line between the crossing points outside the obstacle (see obstacle 0 6 , Figure 4) . With this consideration in mind , if H = Ck. IS k S m , then the choice is L = Ck+ t. In other words, L is such that d ( L.T)
4.2
= max(d(c,.T) ).
i> k.
(3)
Algorithm
Notation: curr-obstacle is the obstacle that is being visited currently; nert-obstacle is an incomplete obstacle that the robot is
:!Iili
about to lose sight of while moving along the eastern S N -boundary of a strip ; curr-position is the robot's current position ; S is the start position; T - the ending position ; D - a point of diversion ; and Q - the point on the boundary of next- obstacle that is the closest to D . Step O. (Initialization) Register the terrain border in the map . Divide the terrain into strips of width m in( R v, B ). Draw M-line in the map beginning at S; the other endpoint of M-line is T . Go to Step 1. Step 1. (Navigating along M-line) Topl : Navigate M-line towards T until one of the follow ing occurs :
then back t o the point of departure L along the obstacle boundary can add at most p/ 2. For the same case , passing around a known obstacle requires a path of length at most p/ 2. Now, assume the obstacle does intersect the terrain borders . Then , its circumnavigation / acquisition produces a path segment of length at most 2p, and walking back to L adds at most another p. The total cost of acquiring the obstacle is thus at most 3p. Passing around a known obstacle requires in this case a path of length at most p . Let Pi be the perimeter of the j· th obstacle , and Pmar max{Pi }. Among the obstacle vis its accounted for in (4) , n L:;=o n j visits are for the purpose of acquiring the obstacles . The corresponding circumnavigation of obstacles will produce a path whose length is bounded by L:i:, 3pi. The remaining visits accounted for in (4) are the result of passing aro und already acquired obstacles during diversions to unknown obstacles . The length of the path segment related to each such passing-around visit is bounded by 2pmar where the coefficient 2 accounts for the round trip during the diversion . Summing together these terms for all the obstacle visits and adding to it the straight line segments due to diversions, each of which is , for the round trip , of length at most 2w , produces the following statement :
(a) T is reached ; the procedure terminates . (b) A new obstacle is encountered . Let H =curr-position . Go to Step 2. (c) A previously visited obstacle is encountered . Using a local direction that produces a shorter path , pass around the obstacle until meet M- line again . Go to Top1.
(d) An incomplete obstacle to the west of the current S N -oriented strip bound a ry is about to go out of robot's vision range . Let D = curr-positio n, next- obstacle = the incomplete obstacle , and Q = point on next-obstacle closest to D . Go to Step 3.
Theore m 2: Th e total path P tra versed by a robot under the Seed Spreader Strategy in an environment with n obstacles is bo unded by
Step 2 . (Circumnavigating an obstacle that crosses M-line) Circumnavigate cu rr-obstacle while registering its crossing points , Ci, with M-line . Choose point L as in (3). Then :
P=
( a) If no point L is defined , either point S or point T is "trapped" inside the obstacle ; the procedure terminates .
Q until
+ r( w + A) + 2nw + 3 L
Pi
, +2nnoPmar
(b) Otherwise , walk along the obstacle boundary to L in a local direction that produces a shorter path ; go to Step 1. Step 3 . (Diversion) Top3 : Linear-navigate toward
A
+ Pm ar L
n)(n ) - 1) .
(5)
j =o
=
Assuming, for specificity, that w min eR v, B ) stituting r = in (5) , this produces
f.
one of the foll owing occurs:
= R v, and sub-
n
( a) Q is reac hed . Circumnavigate next- obstacle and return to Q. Choose a shorter path to D and return to D. Go to Step 1.
p=
A
+ B + r A + 2nRv + 3 L
Pi
i ;;:; l
(b) A previously acquired obstacle is encountered . Using a local direction that produces a shorter path , pass around the obstacle until meet the line DQ again . Go to Top3 .
T
+2nn o Pmar
nj (nj - 1)
(6)
j =O
For easier interpretation , (6) can be presented as a sum of five terms,
(c) An unknown or incomplete obstacle is encountered . Define a hit point H. Circumnavigate the obstacle . Choose L = c such that d(c , Q) = min ( d( Ci , Q )), where {cd are the crossing points between the straight line DQ and the obstacle bound ary. Cho ose the shorter path from H to L along the obstacle boundary ; walk to L. Go t o Top3 .
( 7) where ea ch term accounts for the following path segments : at = B rA is the length of M-line ; a2 = 2nR" - straight line path segments due to diversions from M- line to obstacles ; a 3 3 L:i:, p, accounts for first-time circumnavigation of obstacles; a. = 2nn o Pma, accounts for passing aro und known obstacles that cro ss M- line during the diversions to inco mplete obstacles ; a s = Pma, L:]=o n)( n ) - 1 1accounts for passing around known obstacles that lie fully insid e th e strips during the diversion to incomplete obstacles . As the term a s ind icates , the upper bound on the performance of this algorithm is quadratic in the obstacle perimeters. This is clearly worse than the upper bound of algorithm SS . However , in so me general cases considered below the upper bound of SSS can be improved considerably, so that it becomes quite competitive . Assume for simplicity that U' = R,.. First , observe that obstacle convexity helps rather insignificantly. If all the obstacles in the scene are convex. a diversio n is needed only when one obstacle is occluded by the other. Otherwise , any obstacle can be acquired from M-l ine . Thus , in every diversion to an occluded obstacle the robot circumnavigates and acquires at least one unvisited o ccluding obstacle . Th is means that the number of which redu ces the number of visits to each diversions is at most obstacle by half but , unfortunatel y, leaves the quadrati c term in ( 6) . Consider , however , the following cases which take place either by chance or because of a va ilabil ity of some additional information
A
4.3
+ Pmar L
Performance Analys is
Let w = min( R ,., B l denote the width of a strip , and r = ceil( B / Rv ) the number of strips , where ail (x} returns the smallest integer larger or equal to x . Let n) be the number of obstacles totally inside strip j, j = 1, 2, .. . , r ; no - th e total number of obstacles crossing the M· line ; no) - the number of obstacles crossing the boundary of the strip j but not c rossing the bo undary of any other strips t o the west of strip j . Then , no = L:;=o no) . Note that nj , j = 0 , 1, .. .. r . accounts for all the obst a cles in the terrain , and so n = L:;=o n)' The following statement estimates the total number of visits to obstacles during the terrain acqu isit ion :
Lemma 3 . The total number m,. of obstacle visits required f or acquiring the t..hole terra in using the Seed SpreadEr St ra tegy is bounded by
(4 )
+ +
=
tn,
We can use th is result to evaluate the length of gene rated paths . Consider an obstacle of perimeter p and assume first that the ob· stacle does not cross the terra in borders . Then , its circumnaviga· tion / acquisition produ ces a path segment of length p , and walking
26i
and subsequent guided choice of M-line or/and the borders of the
From the implementation standpoint, the main question is: how realistic is the underlying model and how computationally intensive are the described techniques? Compared to the commonly used formulation of the problem of terrain acquisition, the distinct feature of our model is that obstacles in the robot environment do not have to be described analytically and thus can be of arbitrary shapes. We hope this removes an important stumbling block in the development of robot systems capable of dealing with uncertainties of real world applications. Also , the presented performance criterion - the length of paths generated by the robot during its operation - seems to be more natural and realistic than the more common time-complexity measures that estimate algorithm complexity, e.g., as a function of the number of obstacle vertices. The assumption that robot sensors provide coordinate information within a limited radius is directly tied to the existing technology of range finding and is thus quite realistic. Replacing a finite-size robot by a point robot does not seem to be a serious limitation for the problem at hand. The capability to "plot" the incoming data in the map is realizable via digitization schemes akin to those used in digital image processing . A more stringent assumption, of course, is that the coordinates of the robot and obstacles are known precisely. The actual implications of this constraint depend on the intended application. Recall, however, that regular cartography is also impossible without precise registration of the cartographer. Of all the operations that need be done in real time, two might be suspect of being computationally intensive - the operation of scanning visible obstacle boundaries in the field of vision, and computation of shortest distances between obstacles. Both are unavoidable and not specific to the considered method . Both were shown to allow fast efficient computation [Lumelsky and Skewis] {Gilbert and others, 1988].
terrain.
Case 1 - Acquisition from M-line_ This is the simplest case: assume that no obstacles cross strip boundaries and all the obstacles can be acquired from M-line, without explicitly visiting them by way of diversion. Then, all the terms in (6) and (7) except al vanish and the generated path becomes a constant, the length of M-line:
P = A
+ B + TA.
(8)
This indicates that if one has reasons to believe that all the obstacles in the scene can be acquired directly from M-line, without resorting to diversions, the Seed Spreader Strategy may be preferable to the Sightseer Strategy. Case 2 - Diversion paths do not cross known obstacles. The only quadratic term in the upper bound (6) and (7), as, appears because of the worst-case assumption that on the diversion to an unknown obstacle the robot will encounter and will be forced to pass around all already known obstacles. Actually, such cases would be very rare (e.g. , no multiple encounters of the same obstacles take place in Figures 3 and 4). Also, paths of diversions might be planned more carefully, so as to avoid encounters with known obstacles. Assuming that the diversion paths do not cross already known obstacles, the terms a4 and as in (6) and (7) vanish, and the upper bound becomes linear in the obstacle perimeters:
P
= A + B + r A + 2nR v + 3 L
Pi·
(9)
1=1
Case 3 No obstacles touch the terrain border. Then, a path segment of length at most 1.5p is needed to acquire an incomplete obstacle and move to the corresponding leave point L; and, at most 0.5p is needed to pass around a known obstacle. Hence, the terms a3, a4, and as in (6) change, and the total path length is bounded by
+nnoPmax
J; .
, n· (n - 1)
+ Pmax L
References Aho, A. , J . Hopcroft and J .Ullman (1984) . ThE Design and analysis of computer algorithms. Addison-Wesley. Brooks, R. (1985). Visual map making for a mobile robot. Proc. 1985 IEEE Int ernational Conference on Robotics and Automation, St. Louis. Gilbert, E., D. Johnston, and S. Keerthi (1988). A Fast Procedure for Computing the Distance between Complex Objects in Three-Dimensional Space . IEEE J. Robotics and Automation vol.4, pp.193-203 . ' Lumelsky, V. and T. Skewis (1988). A Paradigm for Incorporating Vision in the Robot Navigation Function. Proc . 1988 IEEE International Conf erence on Robotics and .4 utomation, Philadelphia . Lumelsky, V . and A.A. Stepanov (1987). Path Planning Strategies for a Point Mobile Automaton Moving Amidst Unknown Obstacles of Arbitrary Shape . Algorithmica, 2. 403·430 . Oommen. J , S. Iyenger, N Rao , and R. Kashyap (1987). Robot navigation in unknown terrain s using learned visibility graph . Part I: The disjoint convex o bstacle case . IEEE .]01l1"l1al of Robotics and A utomation, Vol. RA-3. Ore . O. (1962). Thwry of Graphs, ch. 3. Path Problems . American Mathematical Society, Colloqu iu m Publications, vol. XXXVIII. Rao, N., S. Iyenger, C. Jorgensen , and C. Weisbin (1987) . On terrain acquisition by a finite- s ized mobile robot in plane . Proc . 1987 IEEE Int ernational COllfertnce on Robot ics and A utomation, Raleigh. Reif, J . (1986) . A survey on advances in the theory of compu· tational robotics. A daptil'c and Learning SystE1ns, (K. Narendra, ed .), Plenum , New York. Schwartz, J . T. and M. Sharir (1983). On the piano movers' problem 11: General techniques for computing topological properties of real algeraic manifolds . Ad mnces in AppliEd .I!athematics, pp. 298-351. Turchen, M. and A. Wong (1985). Low level learning for a mobile robot : environmental model acquisition. Proc. 2nd. Int. Co nf. A I and it s Applications.
(10)
j=O
Combining Cases 2 and 3, obtain an improved upper bound (it gives, for example, a more realistic estimate for the length of generated path in Figure 3):
P
= A + B + TA + 2nR v + 1.5 LPi.
(11)
i=l
5
Conclusion
Both algorithms, ad hoc as they might look at the first glance, guarantee convergence and take full advantage of the input information available within the context of the corresponding models. Although no lower bounds on the terrain acquisition problem are known at present, the presented upper bounds on the algorithms' performance are believed to approximate very closely the best possible performance . For a wide range of situations, both algorithms might be applicable, and this raises a question - which one should be used? One answer , in terms of the upper bounds on the length of generated paths, gives a clear bias: for one algorithm, Sightseer Strategy (SS), the bound is linear , and for the second algorithm, Seed Spreader Strategy (555), it is quadratic in the perimeters of the obstacles in the scene . Being worst-case estimates , these mayor may not be of help in practice . In fact , in the examples shown in Figures 3 and 4 555 successfully competes with SS: whereas under SS the robot circumnavigates , as it must , all 11 (convex and nonconvex, polygonal and non polygonal) obstacles, under 555 only three obstacles need be circumnavigated.
268