Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visibility Graphs and Cell Decomposition By David Johnson.

Similar presentations


Presentation on theme: "Visibility Graphs and Cell Decomposition By David Johnson."— Presentation transcript:

1 Visibility Graphs and Cell Decomposition By David Johnson

2 Shakey the Robot Built at SRI Late 1960’s For robotics, the equivalent of Xerox PARC’s Alto computer – Alto – mouse, GUI, network, laser printer, WYSIWYG, multiplayer computer game – Shakey – mobile, wireless, path-planning, Hough transform, camera vision, English commands, logical reasoning

3 Shakey video

4 Shakey path planning Represent the world as a hierarchical grid – Full – Partially-full – Empty – Unknown Compute nodes at corners of objects Find shortest path through nodes – A*

5 Shakey used two good ideas A* Putting sub-goals on corners of vertices – This has been generalized into the idea of visibility graphs.

6 Visibility Graphs Define undirected graph VG(N,L) – V = all vertices of obstacles – N = V union (Start,Goal) – L = all links (ni,nj) such that there is no overlap with any obstacle. Polygon edge doesn’t count as overlapping.

7 Reusing Visibility Graphs Add new visibility edges for new start/goal points The rest is unchanged – Creates a roadmap to follow

8 Visibility Graph in Motion Planning Start with geometry of robot and obstacles, R and O Compute the Minkowski difference of O – R Compute visibility graph in C-space Search graph for shortest path

9 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

10 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

11 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

12 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

13 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

14 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

15 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

16 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

17 Computing the Visibility Graph Brute force Check every possible edge against all polygon edges

18 Special Cases Do include polygon edges that don’t intersect other polygons Don’t include edges that cross the interior of any polygon Minkowski difference of original obstacles may overlap

19 tangent segments  Eliminate concave obstacle vertices  (line would continue on into obstacle) Reduced VG

20 tangency point Generalized

21 Shortest path passes through none of the vertices Three-dimensional Space Original paper split up long line segments so there were lots of vertices to work with Computing the shortest collision-free path in a general polyhedral space is NP-hard Exponential in dimension

22 Roadmaps and Coverage Visibility Graphs make a roadmap through space Roadmaps not so good for coverage of free space – What kind of robot needs to cover C-free?

23 Roadmaps and Coverage Roadmaps not so good for coverage of free space – Vacuum robots – Minesweeper robots – Farming robots Try to characterize the free space

24 Cell Decomposition Representation of the free space using simple regions called cells A cell

25 Exact Cell Decomposition – Decompose all free space into cells Exact Approximate

26 Coverage Cell decomposition can be used to achieve coverage – Path that passes an end effector over all points in a free space Cell has simple structure Cell can be covered with simple motions Coverage is achieved by walking through the cells

27 Cell Decomposition Two cells are adjacent if they share a common boundary Adjacency graph: – Node correspond to a cell – Edge connects nodes of adjacent cells

28 Path Planning Path Planning in two steps: – Planner determines cells that contain the start and goal – Planner searches for a path within adjacency graph

29 Trapezoidal Decomposition Two-dimensional cells that are shaped like trapezoids (plus special case triangles) trapezoids c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

30 Adjacency Graph c1c1 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

31 Adjacency Graph c1c1 c3c3 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

32 Adjacency Graph c1c1 c2c2 c3c3 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

33 Adjacency Graph c1c1 c 10 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c 11 c 12 c 13 c 14 c 15 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

34 Path Planner Search in adjacency graph for path from start cell to goal cell First, find nodes in path

35 Adjacency Graph c1c1 c 10 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c 11 c 12 c 13 c 14 c 15 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

36 Creating a Path Trapezoid is a convex set – Any two points on the boundary of a trapezoidal cell can be connected by a straight line segment that does not intersect any obstacle Path is constructed by connecting midpoint of adjacency edges

37 Adjacency Graph c1c1 c 10 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c 11 c 12 c 13 c 14 c 15 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

38 What if goal were here? c1c1 c 10 c2c2 c3c3 c4c4 c5c5 c6c6 c7c7 c8c8 c9c9 c 11 c 12 c 13 c 14 c 15 c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

39 Building a Trapezoidal Decomposition Input: – List of polygons (each polygon is a list of vertices) Algorithm: – Sort vertices based on the x-coordinate of vertex – Nlog(n) cost planar sweep algorithm – Critical point style algorithm

40 Trapezoidal Decomposition Shoot rays up and down from each vertex until they enter a polygon – Naïve approach O(n 2 ) (n vertices times n edges) c 11 c1c1 c2c2 c4c4 c3c3 c6c6 c5c5 c8c8 c7c7 c 10 c9c9 c 12 c 13 c 14 c 15

41 Other Exact Decompositions Triangular cell Optimal triangulation is NP-hard (exponential in vertices)


Download ppt "Visibility Graphs and Cell Decomposition By David Johnson."

Similar presentations


Ads by Google