Speed Planning for A Maneuvering Motion

0 downloads 0 Views 127KB Size Report
Speed Planning for A Maneuvering Motion. Kao-Shing Hwang and Ming-Yi Ju. Department of Electrical Engineering. National Chung Cheng University. Chia-Yi ...
Speed Planning for A Maneuvering Motion

Kao-Shing Hwang and Ming-Yi Ju Department of Electrical Engineering National Chung Cheng University Chia-Yi, Taiwan E-mail: [email protected]

Abstract Collision-free motion among dynamic moving objects is an on-going research topic. Based on the concept of modified path-velocity decomposition, a strategy, the interface propagation method, is proposed for path planning in this paper. Since all global navigation paths are assumed to be planned already without any static obstacle in their paths. Each sub-task along the global path of each controlled object contains a desired goal position and desired arrival time for reaching the position. Based on the information about each sub-task, the space/time graphs (STGs) for the objects are created. By shifting the speed path from corresponding forbidden regions on the STG, potential collisions can be avoided. An optimal speed path with least speed alteration for the controllable object is derived by the method of interface propagation. The applicability of the proposed approach is demonstrated and the results show that a controllable and multiple uncontrollable objects can work together in a shared environment by avoiding collisions.

Keywords: motion planning, space/time graphic, maneuvering motion, interface propagation method.

1

1. Introduction Motion planning in a dynamic environment is an on-going research problem. The research effort is geared towards determining efficient methods for collision avoidance among static and dynamic obstacles in a shared environment. Most previous research on motion planning in robotics has concentrated on the subproblem of finding paths among obstacles (Udupa 1977; Lozano-Perez et al. 1979; Lozano-Perez 1981). There is no notion of time involved in such formulations, so they do not generalize. Once a path has been found, the robot’s velocity along it does not matter. Such static problems are what we refer to as path planning problems. It suffices to note that path and velocity planning are decomposable under certain conditions — provides one opening through this additional complexity barrier in the trajectory planning problem. Most importantly, it is an opening that has applications in robotics. The most obvious example is that of a robot moving along a fixed path, either a track or a corridor. Another example involves a manipulator transferring payloads from one place to another in the presence of obstacles. Often these obstacles are moving, as on a conveyor belt. The obstacle may be another manipulator sharing a common workspace. In the presence of moving obstacles, different velocity functions on the same path may lead to a collision. The problem of planning the velocity for a robot moving along a given path to avoid collision with moving obstacles should be taken into account. Our approach to the velocity planning exploits a natural decoupling of the problem in two components: the spatial distance and traveling time. In a space/time graph (STG), the spontaneous speed can be determined by the slope of the line segments bypass the regions which represent where and when a collision would occurs if the robot moves at the original speed. A velocity planning problem is transformed into a path planning

2

problem so that the trajectory planning problem is reduced to a two-fold path planning problem and rich methods proposed for the path planning can be applied. For instance, the tangent graph methods (Liu et al. 1994) can be applied to a STG in resolving a velocity planning problem (Fraichard 1993; Fraichard et al. 1994). However, the feasible paths generated by the tangent graph methods are a set of line piecewise speed paths, which is discontinuous in the view of the velocity profile. This implies the object is commanded by an infinite acceleration at each adjacent point. This is unrealizable in a physical system. Furthermore, the above methods also suffer from computation complexity as the number of obstacle increases. Therefore, an alternative to overcome those drawbacks is needed. Interface propagation methods have been used widely in image process applications in recent years (Malladi et al. 1995; Malladi et al. 1996; Debreuve et al. 1998). The underlying principle is the evolution of a simple closed curve whose points move in the direction of the normal with a prescribed velocity. In some sense, the evolution of an interface can be viewed as a searching procedure according of some criteria. An interface propagating method with the fast marching algorithm is also present in this paper for generating a smooth speed profile. This article is arranged in the following way. In Section II, the technology of how to construct a space/time graphic (STG) is introduced. Then based on the STG, an interface propagation method with fast marching algorithm for speed profile generation is described in Section III. Simulation results for the proposed approach are shown in Section IV. Finally, a conclusion is given in the last section.

3

2. Space/Time Graph A space/time graph (STG) is a two-dimensional figure with time versus distance. A moving controllable object, e.g. a mobile robot, to be planned is treated as a point in the STG. If the object is moving at a constant speed, both time and distance units within this graph are normalized in a way that a speed path for the object is a straight line 45 degrees from the distance axis, (i.e., the slope of this line is 1), originating at the origin of the graph as Figure1(b). Therefore, the units of this graph are expressed by a scaled Distance Unit (DU) and a corresponding Time Unit (TU) of the object to be planned. As for the goal of the motion, it is represented by a vertical line (parallel to the time axis, i.e. Y-axis) at the desired final position on the distance axis of the STG. Therefore, if the object's speed is adjusted, it is very easy to determine the time discrepancy for reaching the desired position.

c o llis io n re g io n

o b je c t i p a th

o b je c t j p a th

goal

(a ) O b s tu re c o llis io n e x a m p la e V m in G oal lin e cone T im e U n it V m ax (se c ) FT I M FD 45

o

S p a c e (D is ta n c e U n it) (b ) S p a c e /T im e G ra p h o f o b je c t j

Figure1. Space/Time Graph properties.

From a possible collision between two objects, i and j, there are forbidden regions along the path for each object that may incur the collision with the other object. Each 4

region consists of two parameters: Maximum Forbidden Distance (MFD) and Forbidden Time Interval (FTI). MFD(i, j) represents the possible contact distance of object i, with object j measured along the path of object i. FTI(i, j) represents the maximum possible contact time for object j passing through the corresponding forbidden distance MFD(j, i) on the path of object j. Vj represents the speed of object j, i.e., FTI (i, j ) =

MFD ( j, i ) Vj

(1)

For generality and simplicity, the parameters of the forbidden regions are approximated by setting a safety distance R for each dynamic object. This distance forms a bound along the motion of the object, representing the margin for avoiding collisions. Based upon this concept of safety distance, the MFD of a multi-body object, such as a robot, can be estimated through simulation. To illustrate this concept using two colliding single-body objects, the forbidden region parameters are displayed in Figure2. The MFDs can be easily estimated from the geometry of collisions as follows:

MDF (i, j ) = 2 Ri cot α + 2 R j csc α

(2)

MDF ( j, i ) = 2 R j cot α + 2 Ri csc α ,

(3) o

where the collision angle α will be replaced by 180 - α if the collision angle is over than 90o. object i M ax. forbidden distance for object i collision angle O bject j path object j

M ax. forbidden distance for object j

O bject i path

Figure2. Collision region graph of two straight-line paths.

Through estimating the positions of the other moving objects at various times, all 5

the information about the possible collisions within the environment can be incorporated into the STG of the planning object, which is called the dominant object. Based on this STG, the defined forbidden time and distance can then be mapped into its STG. For example, Figure1(a) shows a collision between objects i and j. The collision condition of object j due to the motion of object i can be estimated by MDF(j, i) and FTI(j, i) as in Equations1-3. These two values can be easily represented as a rectangle in the space/time graph shown in Figure1(b). Since in real applications, the speed of any controllable moving object will have a limit range, the above STG will be modified by adding a speed-zone cone with the upper speed limit (Vmax) and lower speed (Vmin) limits as the edges of the cone shown as in Figure1(b). To avoid forbidden regions, the range of cone will be used to determine the adequate speeds for the dominant object and the subordinates. The new derived speed shall not exceed its maximum or minimum. The slope of the new derived line in the graph will be less than 1 if it is faster than its initial speed. The slope of the line will be greater than 1.0 if it is slower. Based on the collision information represented in STG, motion of the controllable object can be adjusted to avoid the possible collisions. Since there are many possible adjustments from speed changes, an optimization planning algorithm will be needed to decide the optimal one.

Before discussing dynamic obstacles, the obstacle avoidance planning among static obstacles is discussed first. This path planning problem is to find the shortest path between two points s and t in a 2D space with a set of static obstacles. Geometrically, it may be viewed in two complementary ways: planning the path so that it avoids obstacles or planning the path so that it lies in the free space, i.e. physical space minus obstacles. The path planning among static obstacles is the initial step in controlling an 6

object to fix a navigation path. In practice, it is assumed that this route, i.e. global navigation, has been chosen based upon a criterion and locations of static obstacles. The criterion chosen may be a minimum distance path, a minimum fuel consumption path as a function of velocity, or another meaningful distance measure. Many research results have been obtained in studying this topic; therefore, in this paper we will concentrate on the planning among dynamic objects. In other words, we will assume that there are no static obstacles along the desired path of any dynamic moving object. Not only can the global navigation path be determined from the planning among static objects, the same principle can also be applied to searching the optimal speed path on a STG. From the space/time graph, a proper collision-free motion of the dominant object can be obtained by avoiding forbidden regions formed by all objects. It is thus a 2D motion planning problem among static objects formed by forbidden regions and the motion of the dominant object can be determined by minimizing a selected evaluation function. Therefore, this 2D static problem becomes a subset of planning motions among dynamic objects. In this article, the proposed approach for motion planning among dynamic obstacles is based on the properties presented by the modified space/time graph.

3. Speed Profile Generation The speed alteration process is manipulated as following. At the beginning, all sub-tasks are identified from a desired global navigation path for each controllable or uncontrollable object. Since the problem with static obstacles is not taken into consideration in this paper, it assumes that all global navigation paths are already planned without any static obstacle in their paths. Each sub-task along the global path of each object contains a desired goal position and desired arrival time for reaching the 7

position. Based on the information gathered about each sub-task, STG is created for objects. Eventually, several appropriate speed paths for the controllable object can be found from the corresponding STG. In order to create simultaneous safe motions for all moving objects, the speed of the controllable object should be controlled to shift the speed path on the STG from associative corresponding forbidden regions to avoid potential collisions. Instead, an optimal speed path with least alteration for the controllable object is derived by the proposed method of interface propagation. Finally, the planning information of STGs for the next sub-task will be updated based on the results obtained from previous procedures. By repeatedly executing these procedures until all sub-tasks along global paths are finished, an optimal motion planning for all dynamic objects can be obtained.

3.1 Space/Time Graph Generation

It is assumed that the desired global navigation path for the controllable moving object is the aggregation of several local speed profiles. Therefore, along the global path of each object, each local speed planning can be identified as a maneuvering sub-task. According to the transition positions between sub-tasks, the desired arrival time for each sub-task can then be determined from the desired speed of each moving object. The set of desired speed, goal position and arrival time will then be the initial parameters for constructing the STGs corresponding to different sub-tasks for the controllable object along its global paths. Therefore, the first phase of planning will determine a set of sub-tasks, including desired positions and speeds with desired arrival times, for all the moving objects along their global paths.

For each sub-task along the global path of a controllable object, the desired goal 8

position and arrival time are obtained at a desired speed. Initially, only uncontrollable objects in the environment are taken into account. A controllable moving object with the highest priority will be chosen as the dominant object. Based on current motions of all the uncontrollable objects, all possible collisions along the planned path of the dominant object are located. The initial forbidden region parameters are then calculated and mapped them onto the corresponding STG of the dominated object. From the desired speed and end-point of this subtask, a speed path and goal line of STG can be created. Based on the STG, many possible collision-free speed paths can be found by avoiding the forbidden regions. With these paths, the object can reach the goal position without any collision. Due to the modification of speed, the goal position may not be reached on the desired arrival time. There are many feasible speed paths that can be generated by the STG. The easiest way is to generate a number of piecewise speed paths for the dominant object within this STG as show in Figure3.

Figure3. Aggregation of line piecewise speed profile.

As a matter of fact, the feasible paths selected from Figure3 are a set of line piecewise speed paths, which is discontinuous in the view of the velocity profile as show in Figure4. In other words, these speed paths just hold C0 continuity. This implies the object is commanded by an infinite acceleration at each adjacent point. This is 9

unrealizable in a physical system. To induce more realistic resolution, the recommended speed path requires at least C1 continuity. This criterion may be satisfied by smoothly interpolating between the vertices with quadric splines. However, care must be taken to guarantee that the interpolated function does not intersect the forbidden constraint regions. This involves some heuristic strategies. Manual tuning is usually required. Alternatively, a more systematic method based on interface propagating modeling is proposed to relax the problem.

16 Obj_1 14

Speed (mm/sec)

12

10

8

6

4 0

5

10 Time (sec)

15

20

Figure4. Speed profile of the controllable moving obstacle.

3.2 Interface Propagation Method

The underlying principle of interface propagation method is the evolution of a simple closed curve whose points move in the direction of the normal with a prescribed velocity. By using the level set techniques to numerically approximate the evolution of a propagating interface, the behavior of an interface can be described with a partial differential equation whose unique solution gives the position of the front. More precisely, level set techniques view a moving interface as the zero level set of a function

φ ( x, t = 0) . Therefore, an evolution equation for the interface moving with speed F in its normal direction is given by 10

φ t + F ∇φ = 0 .

(4)

Assume the propagating speed F is either always positive or always negative, therefore the level set formulation can be converted from a time-dependent partial differential equation into a stationary one in which the time parameter is disappeared. Instead of the time parameter, a time-independent stationary level set formulation can be constructed to translate level set φ into a function T(x, y). Let T(x, y) be the time at which the front propagates across the point (x, y). Then it satisfies the following equation ∇T F = 1 .

(5)

If the propagating speed F is a function of position only, therefore, in fact, Equation5 is an Eikonal equation, namely,

| ∇T | F ( x, y ) = 1 .

(6)

The above equation indicates that the gradient of arrival time is inversely proportional to the propagating speed of the front. If the speed function is always positive, then the crossing surface T(x, y) is single-valued. By properly defining the propagating speed in the workspace, the evolution of an interface is able to search a minimal-time and collision-free path from the starting point to the target. The key in level set methods is to approximate the gradient term in Equation6 in a way that satisfies the correct entropy condition (Sethian 1985; Leymarie et al. 1992). To solve the above equation, an approximation used finite difference operators on a fixed Cartesian grid is needed. An upwind approximation to the gradient leads to max( Di−, jx T ,0) 2 + min( Di+, jx T ,0) 2 + max( Di−, Yj T ,0) 2 + min( Di+, jy T ,0) 2 = 1 / Fi , j , where

11

(7)

Di−, jx T = Di+, jx T = Di−, jy T =

Di+, jy T =

Ti , j − Ti −1, j ∆x Ti +1, j − Ti , j ∆x Ti , j − Ti , j −1 ∆y Ti , j +1 − Ti , j ∆y

T i , j is the arrival time at the position (i, j) of the grid point, ∆ x is the distance between two grid points on the x axis, and ∆ y is the distance between two grid points on the y axis. According the upwind difference structure of Equation7, the interface propagates in “one way” from smaller values of arrival time T

to larger ones. The specific

causality relationship is utilized for developing a systematic algorithm to produce the solution.

3.2.1 Fast Marching Algorithm

The key to the fast marching algorithm lies on the observation of the specific causality relationship of the Equation7. The fast marching algorithm is constructed by building the solution outwards from the smallest T

value. The algorithm is made fast

by confining the building zone to a “narrow band” around the front. The idea is to sweep the front ahead in an upwind fashion by considering a set of points in a “narrow band” around the existing front, and to march this “narrow band” forwards while freezing the values of existing points and bringing new points into the “narrow band” to be updated. The fast marching method is divided into two stages, the initialization stage and 12

the marching forward stage. In the initialization stage, as illustrated in Figure5(a), the source of the initial front starts from a grid point and the candidate points are selected from the eight points around the initial start point to be added into the set of the narrow band. The arrival times T for the eight points in the narrow band set are initialized by dividing the distance from the starting point by the propagating speed at the starting point. Since the narrow band region is only one cell away from the starting point, it is easy to calculate the distance between the eight points and the starting point. The propagating speed associated with the grid point (i, j) is fixed since the propagating speed function only depends on the position where the front is. As shown in Figure5(b)-(d), after the initialization stage, the point in the narrow band set with the smallest value of arrival time T

is selected to march forward. If all

the grid points in the workspace have the same propagating speed, the front expanding outward is like a circle.

(a)

(b)

(c)

(d)

13

Figure5. The procedure of fast marching algorithm. (a) In the initialization stage, the source is tagged as Alive, i.e. the black circle, and the neighbor grid points are added into the narrow band set, i.e. the gray circles. (b)-(d) The marching forward stage. The gray circles with smallest arrival time are chosen, then their values are frozen, and are tagged as Alive. Those neighbor grid points which are not tagged as Alive are then added into the narrow band set and their arrival time are computed according to the Equation7.

When the front propagates to the grid points occupied by an obstacle, the propagating speed becomes zero to prevent the front from propagate through this region. As for the front which is far away from the obstacles, its speed will not be disturbed by the obstacles. Consequently, the front near the obstacles becomes concave. It should be noted that two or more points may have the smallest value of T

simultaneously, and

that their neighbors may overlap each other when the concave front marches forward. This case is illustrated in Figure6. The triangles represent the points in narrow band set with the smallest value of T , black circles are their associated neighbors and rectangles are overlapping neighbors. The neighbors of those points with the smallest arrival time T

are updated by Equation7. As the three triangles are added to the Alive

zone, the T

values of rectangles in Figure6 are updated twice. Therefore, the smaller

value of T

is chosen because the front with the smaller value propagates across the

point first and translates the point into an Alive one. There’s need to check if a neighbor is in the narrow band set originally. If the neighbor is originally in the narrow band set, the element related to the neighbor in the narrow band set must be deleted first and then added to the set with a new updated T .

14

Figure6. Concave front and those points with the smallest arrival time T.

The full processes of the fast marching method can be stated as follows: Initialization stage:

1. Tag the source point of the front as Alive and set its arrival time T=0. 2. Tag the candidate points around the front as NarrowBand, compute their arrival time and add them into the narrow band set. 3. Tag all other points as FarAway. Marching forward stage:

1.

Find out the point (imin, jmin) which has the smallest arrival time T in the narrow band set.

2.

Tag this point as Alive and remove it from the narrow band set.

3.

Tag those points (imin-1, jmin), (imin+1, jmin), (imin, jmin-1), (imin, jmin+1) which are not Alive as NarrowBand, recomputed the value of their arrival time, and add them into the narrow band set.

4.

Return to the step 1 until the target is reached.

In order to record the state of the propagating front with less memory consumption, a time interval is set to execute several marching processes in successive computations. This is done by means of accumulating the smallest values of T . At the time that the 15

accumulation exceeds the time interval, the computation stops and starts to determine the propagating front. This is called the frozen time.

3.2.2 Speed Path Construction by Backward Tracing Method

From the viewpoint of level set theory, the set T(x, y)=C constructed by the interface propagation method is the one of all points in two dimension that can be reached with minimal cost (arrival time) C. Therefore, the fact that the minimal geodesic is perpendicular to the contour of a level set is applied to generating an optimal path. This result is obtained by means of an extension of Gaussian Lemma. It is used to track the optimal trajectory by starting from the destination points that has been touched by an equal-time contour, and proceeding backward using the orthogonal property of the optimal path and the contours of level set. Since the gradient of a function extends in the direction of great rate of change and has that change for its length, and the gradient at any point is perpendicular to the level set which passes through this point. Therefore, an optimal speed path can be generated by solving the ordinary differential equation X t = −∇T given X (0) = taget point until reaching the starting point.

4. Simulation In the following simulation, it is assumed that moving obstacles do not collide with one another since there is no way to avoid it. In the example depicted in Figure7(a), we will assume that the path of every object is a simple straight-line. There are four objects in an environment, one controllable object (object 1) and three moving obstacles 16

(objects 2, 3 and 4). The starting and end Cartesian positions of object 1 are described respectively by the following homogeneous transformations:

⎡1 0 10 ⎤ POS = ⎢0 1 110⎥ , ⎥ ⎢ ⎢⎣0 0 1 ⎥⎦

⎡1 0 210⎤ POS = ⎢0 1 110 ⎥ ⎥ ⎢ ⎢⎣0 0 1 ⎥⎦

S 1

e 1

The length unit in this example is millimeter (mm). For simulating the possible collisions, it is assumed that no controllable object will move backwards but can stop. In addition, the Cartesian speed limits of objects 1 will be restrained to within 200 mm/sec. To simplify this detection process, the collision condition will be determined by checking forbidden regions derived from paths of each object with respect to all other objects. As described before, the forbidden region is determined by a safety distance with respect to the object. In our simulation, the safety distance for the controllable objects is set to be 10 mm. The actual environment is depicted in Figure7(a). In this example, the controllable object (object 1) is desired to move initially with constant speeds of 10 mm/sec from its starting position to end position. There are also three other obstacles (objects 2, 3 and 4) moving in the same space. To simulate the effect of collision, we will assume that the safety distances of objects 2, 3 and 4 are 10mm, 5mm and 8mm, respectively. Objects 2, 3 and 4 will move from (10,10) to (210, 210), (10, 210) to (110, 10) and (110, 210) to (210, 10) with constant speeds of 14.14mm/sec, 22.36 mm/sec and 7.45 mm/sec, respectively. If there are no collisions, the desired arrival times for the four objects are 20 sec., 20 sec., 10 sec. and 30 sec., respectively. If these are possible collisions for the planned motions, speed of the controllable object will be controlled within its specified

17

speed limits to avoid colliding with other moving obstacles. According to the given parameters and formulas, the collision-free trajectory planning problem can be converted to a STG with several forbidden region on it. Figure7(b) illustrates the STG constructed by the previous mentioned approach for this simulation.

(a) The simulation environment

(b) STG of object 1

Figure7. The environment of simulation.

After the construction of a STG for a sub-task, a algorithm to plan a collision-free path between the starting and target points is required. Instead of forming a feasible speed path by connecting those segments, the proposed interface propagation method used on a STG can generate a feasible solution for velocity planning problem systematically. In the initial phase of this simulation, the target point of the STG is set as the source point of the propagating front and the propagating speed function are set to 0.0 and 1.0 for the forbidden regions and the other regions, respectively. Due to the natural characters of the propagating interface, the front always moves in the direction normal to itself. Therefore the front touches the target location implies that there is at least one path from the source point to the target with minimal propagating time. Figure8(a) shows the result of applying the interface propagation method on the STG to searching an optimal speed path. The frozen time of the interface propagation method in this simulation is equal to the servoing time, i.e. 0.6 sec, of the 18

controller in the controllable moving object. After the interface propagation phase, the backward tracing method is then applied to finding out the minimal geodesic path between the starting point and the target on the STG on the artificial potential field based on the arrival time of a propagating interface. Figure8(b) shows an optimal solution with minimal arrival time. Due to the speed function is assigned to be 1.0 for all non-forbidden regions, the path with minimal arrival time is equivalent to the shortest path in STG. Originally, the desired speed profile for the controllable object is a straight line 45 degrees from the distance axis, i.e. the robot moves at a constant speed. It is well known that the minimal distance between two points is a straight line, therefore a shortest smooth path without any collision on a STG represents a minimal variation of the speed while a controllable object is moving to the target location. The optimal speed profile generated by the proposed approach is shown in Figure8(c). The result shows that the semi-continuous velocity profile, where the robot keeps a constant acceleration during a control cycle, can successfully eliminate those adjacent points which represents the time when the robot is driven by an infinite acceleration.

(a) Propagating interface marching forward.

(b) Backward tracing process.

18 Obj_1 16

Speed(mm/sec)

14

12

10

8

19

(c) Speed profile of the controllable moving obstacle.

Figure8. The processes of applying the interface propagation method on STG to find an optimal solution for the controllable moving obstacle.

5. Conclusion A new approach has been proposed to solve the speed alteration problem for the maneuvering motion within an environment that contains moving obstacles. The presentation of potential collision occurrences is based on a path-velocity decomposition in which each possible collision occupies a rectangular forbidden region in the associated STG. The objective for collision-free speed planning is to void the speed path on the STG from these regions. To tackle this problem, the conventional approaches impose some optimization factors on a path in the search procedure. However, since the search space in this case tends to become greater exponentially proportional to the number of the forbidden regions on the STG. For this reason, an interface propagation method with fast marching algorithm is tailored for relaxing the complexity. In this method, the forbidden regions and their counterparts are assigned different densities which affects the speed in which the simulated interface front passes over. Following the fastest fronts along the virtual arrival-time axis, a path between the initial and target points can be derived. This path is actually a speed path with less alteration in 20

sense. Besides, the path induced by this method always have higher order continuity, i. e., the velocity profile transferred from the speed path could be much smooth. The speed planning approach has been implemented in simulation of an environment where a controllable moving object may collide with the other three dynamic obstacles. The results indicate an improvement over the formation of a more realistic speed profile.

References

Debreuve, E., Barlaud, M., Aubert, G. and Darcourt, J.: Attenuation map segmentation without reconstruction using a level set method in nuclear medicine imaging, in Proc. Int. Conf. on Image Processing, 1998, pp.34-38. Fraichard, T.: Dynamic trajectory planning with dynamic constraints: a 'state-time space' approach, in Proc. Int. Conf. on Intelligent Robots and Systems, 1993, pp. 1393-1400. Fraichard, T. and Scheuer, A.: Car-like robots and moving obstacles, in Proc. Int. Conf. on Robot. Automat., 1994, pp. 64-69. Leymarie, F. and Levine, M. D.: Simulating the grassfire transformation using an active contour model, IEEE Trans. Patt. Anal. Machine Intell., 14(1992) 56-75. Liu, Y. H. and Arimoto, S.: Computation of the tangent graph of polygonal obstacles by moving-line processing, IEEE Trans. Robot. Automat., 10(1994), 823-830. Lozano-Perez, T. and Wesley, M.A.: An algorithm for planning collision-free paths among polyhedral obstacles, Commun. ACM, 22(1979), 560-570. Lozano-Perez, T.: Spatial planning: a configuration space approach, IEEE Trans. Syst., Man, Cybern., 11(1981), 681-698.

21

Malladi, R., Sethian, J. A., and Vemuri, B. C.: Sharpe modeling with front propagation: a level set approach, IEEE Trans. Patt. Anal. Machine Intell., 17(1995), 158-175. Malladi, R. and Sethian, J. A.: A unified approach to noise removal, image enhancement, and shape recovery, IEEE Trans. Image Proc., 5(1996), 1554-1568. Sethian, J. A.: Curvature and the evolution of fronts, Comm. Math. Phys., 101(1985), 486-499. Udupa, S.: Collision detection and avoidance in computer controller manipulators, Ph. D. thesis, California Institute of Technology, 1977.

22