visibility graphs and cell decomposition
DESCRIPTION
Visibility Graphs and Cell Decomposition. By David Johnson. 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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/1.jpg)
Visibility Graphsand
Cell Decomposition
ByDavid Johnson
![Page 2: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/2.jpg)
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
![Page 3: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/3.jpg)
Shakey video
![Page 4: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/4.jpg)
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*
![Page 5: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/5.jpg)
Shakey used two good ideas
• A*• Putting sub-goals on corners of vertices– This has been generalized into the idea of visibility
graphs.
![Page 6: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/6.jpg)
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.
![Page 7: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/7.jpg)
Reusing Visibility Graphs
• Add new visibility edges for new start/goal points
• The rest is unchanged– Creates a roadmap to follow
![Page 8: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/8.jpg)
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
![Page 9: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/9.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 10: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/10.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 11: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/11.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 12: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/12.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 13: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/13.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 14: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/14.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 15: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/15.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 16: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/16.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 17: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/17.jpg)
Computing the Visibility Graph
• Brute force• Check every possible edge
against all polygon edges
![Page 18: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/18.jpg)
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
![Page 19: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/19.jpg)
tangent segmentsEliminate concave obstacle vertices(line would continue on into obstacle)
Reduced VG
![Page 20: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/20.jpg)
tangency point
Generalized
![Page 21: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/21.jpg)
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
![Page 22: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/22.jpg)
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?
![Page 23: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/23.jpg)
Roadmaps and Coverage
• Roadmaps not so good for coverage of free space– Vacuum robots– Minesweeper robots– Farming robots
• Try to characterize the free space
![Page 24: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/24.jpg)
Cell Decomposition
• Representation of the free space using simple regions called cells
A cell
![Page 25: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/25.jpg)
Exact Cell Decomposition
• Exact Cell Decomposition– Decompose all free space into cells
Exact Approximate
![Page 26: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/26.jpg)
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
![Page 27: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/27.jpg)
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
![Page 28: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/28.jpg)
Path Planning
• Path Planning in two steps:– Planner determines cells that contain the start
and goal– Planner searches for a path within adjacency
graph
![Page 29: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/29.jpg)
Trapezoidal Decomposition
• Two-dimensional cells that are shaped like trapezoids (plus special case triangles)
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 30: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/30.jpg)
Adjacency Graph
c1
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 31: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/31.jpg)
Adjacency Graph
c1
c3
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 32: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/32.jpg)
Adjacency Graph
c1
c2
c3
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 33: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/33.jpg)
Adjacency Graph
c1 c10
c2
c3
c4 c5
c6
c7
c8
c9
c11
c12
c13
c14
c15
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 34: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/34.jpg)
Path Planner
• Search in adjacency graph for path from start cell to goal cell
• First, find nodes in path
![Page 35: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/35.jpg)
Adjacency Graph
c1 c10
c2
c3
c4 c5
c6
c7
c8
c9
c11
c12
c13
c14
c15
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 36: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/36.jpg)
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
![Page 37: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/37.jpg)
Adjacency Graph
c1 c10
c2
c3
c4 c5
c6
c7
c8
c9
c11
c12
c13
c14
c15
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 38: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/38.jpg)
What if goal were here?
c1 c10
c2
c3
c4 c5
c6
c7
c8
c9
c11
c12
c13
c14
c15
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 39: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/39.jpg)
Trapezoidal Decomposition
• Shoot rays up and down from each vertex until they enter a polygon– Naïve approach O(n2) (n vertices times n edges)
c11c1
c2
c4
c3
c6
c5 c8
c7
c10
c9c12
c13
c14
c15
![Page 40: Visibility Graphs and Cell Decomposition](https://reader035.vdocuments.mx/reader035/viewer/2022062410/5681657f550346895dd81848/html5/thumbnails/40.jpg)
Other Exact Decompositions
• Triangular cell• Optimal triangulation is
NP-hard (exponential in vertices)