Presentation is loading. Please wait.

Presentation is loading. Please wait.

Path Planning for a Point Robot

Similar presentations


Presentation on theme: "Path Planning for a Point Robot"— Presentation transcript:

1 Path Planning for a Point Robot
Motion Planning Path Planning for a Point Robot (This slides are based on Latombe and Hwang slides)

2 Configuration Space: Tool to Map a Robot to a Point

3 Problem free space s free path g

4 Problem semi-free path

5 Types of Path Constraints
Local constraints: lie in free space Differential constraints: have bounded curvature Global constraints: have minimal length

6 Motion-Planning Framework
Continuous representation Discretization Graph searching (blind, best-first, A*)

7 Path-Planning Approaches
Roadmap Represent the connectivity of the free space by a network of 1-D curves Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

8 Roadmap Methods Visibility graph Introduced in the Shakey project at SRI in the late 60s. Can produce shortest paths in 2-D configuration spaces g s

9 Simple Algorithm Install all obstacles vertices in VG, plus the start and goal positions For every pair of nodes u, v in VG If segment(u,v) is an obstacle edge then insert (u,v) into VG else for every obstacle edge e if segment(u,v) intersects e then goto 2 Search VG using A*

10 Complexity Simple algorithm: O(n3) time Rotational sweep: O(n2 log n)
Optimal algorithm: O(n2) Space: O(n2)

11 Rotational Sweep Check the following page:
VISIBLE_VERTICES(PolygonSet S, Point p) 1. initialize balanced search tree T 2. initialize list L 3. Sort the obstacle vertices in set S according to the clockwise angle that the half-line from p to each vertex makes with the positive x-axis. In case of ties vertices closer to p should come before vertices farther from p. Let W1, ..., Wn be the sorted list. 4. Let r be the half-line parallel to the positive x-axis starting at p. Find the obstacle edges that are properly intersected by r, and store them in a balanced search tree T in the order in which they are intersected by r. 5. i = 1 // rotate the ray to the first vertex 6. while not (i > n) 7. Delete from T the obstacle edges incident to Wi that lie on the counterclockwise side of the half-line from p to Wi. 8. if (VISIBLE(p, Wi, T)) 9. L.append(Wi) 10. Insert into T the obstacle edges incident to Wi that lie on the clockwise side of the half-line from p to Wi. 11. increment i // rotate the ray to the next vertex 12. return L Check the following page:

12 Rotational Sweep

13 Rotational Sweep

14 Rotational Sweep

15 Rotational Sweep

16 Reduced Visibility Graph
can’t be shortest path tangent segments  Eliminate concave obstacle vertices

17 Generalized (Reduced) Visibility Graph
tangency point

18 Three-Dimensional Space
Shortest path passes through none of the vertices locally shortest path homotopic to globally shortest path Computing the shortest collision-free path in a polyhedral space is NP-hard

19 Roadmap Methods Voronoi diagram Introduced by Computational Geometry researchers. Generate paths that maximizes clearance. O(n log n) time O(n) space

20 Path-Planning Approaches
Roadmap Represent the connectivity of the free space by a network of 1-D curves Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

21 Cell-Decomposition Methods
Two classes of methods: Exact cell decomposition The free space F is represented by a collection of non-overlapping cells whose union is exactly F Examples: Polygonal decomposition Trapezoidal decomposition

22 Polygonal Configuration Space
- represent the configuration space boundary and obstacles as polygons - polygons may be concave - decompose the free space into convex cells

23 Polygonal Configuration Space
cells form channels instead of line paths channels give the robot more information to avoid obstacles encountered at run time - cells form channels instead of line paths - the interior of the channel lies entirely in free space - an easy way to generate a path is to connect the midpoint of every cell boundary

24 Polygonal Configuration Space
qfinal qinit - to do a query, identify the cells where the initial and final configurations lie - look for a sequence of cells that connect the initial and final cells - connect the midpoints together - can apply spline curve fitting techniques if we want a smooth path

25 Trapezoidal decomposition

26 Trapezoidal decomposition

27 Trapezoidal decomposition

28 Trapezoidal decomposition

29 Trapezoidal decomposition
critical events  criticality-based decomposition

30 Trapezoidal decomposition
Planar sweep  O(n log n) time, O(n) space

31 Generalization to 3 Dimensions
- the sweeping method can be generalized to 3D quite easily - instead of sweeping lines, we sweep planes, the result are parallelpiped cells - the figure here is crude because it is just lifted from the 2D case. In general, we put a plane when we come to a vertex in the sweep - the connectivity graph is generated much in the same way as the 2D case by connecting points on the cell boundaries

32 Cell-Decomposition Methods
Two classes of methods: Exact cell decomposition Approximate cell decomposition F is represented by a collection of non-overlapping cells whose union is contained in F Examples: quadtree, octree, 2n-tree

33 Octree Decomposition

34 Sketch of Algorithm Compute cell decomposition down to some resolution
Identify start and goal cells Search for sequence of empty/mixed cells between start and goal cells If no sequence, then exit with no path If sequence of empty cells, then exit with solution If resolution threshold achieved, then exit with failure Decompose further the mixed cells Return to 2

35 Path-Planning Approaches
Roadmap Represent the connectivity of the free space by a network of 1-D curves Cell decomposition Decompose the free space into simple cells and represent the connectivity of the free space by the adjacency graph of these cells Potential field Define a function over the free space that has a global minimum at the goal configuration and follow its steepest descent

36 Potential Field Methods
Approach initially proposed for real-time collision avoidance [Khatib, 86]. Hundreds of papers published on it. Goal Robot

37 Attractive and Repulsive fields

38 Local-Minimum Issue Perform best-first search (possibility of combining with approximate cell decomposition) Alternate descents and random walks Use local-minimum-free potential (navigation function)

39 Completeness of Planner
A motion planner is complete if it finds a collision-free path whenever one exists and return failure otherwise. Visibility graph, Voronoi diagram, exact cell decomposition, navigation function provide complete planners Weaker notions of completeness, e.g.: - resolution completeness (PF with best-first search) - probabilistic completeness (PF with random walks)

40 A probabilistically complete planner returns a path with high probability if a path exists. It may not terminate if no path exists. A resolution complete planner discretizes the space and returns a path whenever one exists in this representation.

41 Preprocessing / Query Processing
Preprocessing: Compute visibility graph, Voronoi diagram, cell decomposition, navigation function Query processing: - Connect start/goal configurations to visibility graph, Voronoi diagram - Identify start/goal cell - Search graph

42 Summary: Exact Cell Decomposition

43 Summary: Approximate Cell Decomposition

44 Summary: Potential Fields


Download ppt "Path Planning for a Point Robot"

Similar presentations


Ads by Google