Visibility Graphs and Cell Decomposition By David Johnson.

Slides:



Advertisements
Similar presentations
Spatial Embedding of Pseudo-Triangulations Peter Braß Institut für Informatik Freie Universität Berlin Berlin, Germany Franz Aurenhammer Hannes Krasser.
Advertisements

Fall Path Planning from text. Fall Outline Point Robot Translational Robot Rotational Robot.
Motion Planning for Point Robots CS 659 Kris Hauser.
2/14/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Planar Subdivisions and Point Location Carola Wenk Based on: Computational.
Visibility Graph Team 10 NakWon Lee, Dongwoo Kim.
Slide 1 Robot Lab: Robot Path Planning William Regli Department of Computer Science (and Departments of ECE and MEM) Drexel University.
Motion Planning CS 6160, Spring 2010 By Gene Peterson 5/4/2010.
Visibility Graphs May Shmuel Wimer Bar-Ilan Univ., Eng. Faculty Technion, EE Faculty.
University of Amsterdam Search, Navigate, and Actuate - Quantitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Quantative Navigation.
The Voronoi Diagram David Johnson. Voronoi Diagram Creates a roadmap that maximizes clearance –Can be difficult to compute –We saw an approximation in.
1st Meeting Industrial Geometry Computational Geometry ---- Some Basic Structures 1st IG-Meeting.
Visibility Computations: Finding the Shortest Route for Motion Planning COMP Presentation Eric D. Baker Tuesday 1 December 1998.
NUS CS5247 A Visibility-Based Pursuit-Evasion Problem Leonidas J.Guibas, Jean-Claude Latombe, Steven M. LaValle, David Lin, Rajeev Motwani. Computer Science.
Visibility-Based Pursuit-Evasion in a Polygonal Environment L.J. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, and R. Motwani Finding an Unpredictable Target.
Buron Florian CS223b Target finding Visibility-Based Pursuit-Evasion in a Polygonal Environment. L.J. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, and R.
Randomized Planning for Short Inspection Paths Tim Danner and Lydia E. Kavraki 2000 Presented by David Camarillo CS326a: Motion Planning, Spring
Multi-Agent explore and retrieve Chris Enedah Andreas Edlund.
1 Target Finding. 2 Example robot’s visibility region hiding region 1 cleared region robot.
CS 326A: Motion Planning Criticality-Based Motion Planning: Target Finding.
Randomized Planning for Short Inspection Paths Tim Danner Lydia E. Kavraki Department of Computer Science Rice University.
Navigation and Motion Planning for Robots Speaker: Praveen Guddeti CSE 976, April 24, 2002.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2003/index.htm Configuration Space – Basic Path-Planning Methods.
Robot Motion Planning Bug 2 Probabilistic Roadmaps Bug 2 Probabilistic Roadmaps.
NUS CS 5247 David Hsu Minkowski Sum Gokul Varadhan.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 O’Rourke Chapter 8 Motion Planning.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
1 University of Denver Department of Mathematics Department of Computer Science.
Spring 2007 Motion Planning in Virtual Environments Dan Halperin Yesha Sivan TA: Alon Shalita Basics of Motion Planning (D.H.)
Randomized Planning for Short Inspection Paths Tim Danner and Lydia E. Kavraki 2000 Presented by Dongkyu, Choi On the day of 28 th May 2003 CS326a: Motion.
Introduction to Mobile Robots Motion Planning Prof.: S. Shiry Pooyan Fazli M.Sc Computer Science Department of Computer Eng. and IT Amirkabir Univ. of.
Roadmap Methods How do I get there? Visibility Graph Voronoid Diagram.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
The Art Gallery Problem
Brute-Force Triangulation
The Art Gallery Problem
Robot Motion Planning Computational Geometry Lecture by Stephen A. Ehmann.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
4/21/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Motion Planning Carola Wenk.
May Motion Planning Shmuel Wimer Bar Ilan Univ., Eng. Faculty Technion, EE Faculty.
© Manfred Huber Autonomous Robots Robot Path Planning.
B659: Principles of Intelligent Robot Motion Kris Hauser.
UNC Chapel Hill M. C. Lin Line Segment Intersection Chapter 2 of the Textbook Driving Applications –Map overlap problems –3D Polyhedral Morphing.
Computational Geometry Piyush Kumar (Lecture 10: Robot Motion Planning) Welcome to CIS5930.
Path Planning for a Point Robot
Introduction to Robot Motion Planning Robotics meet Computer Science.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
October 9, 2003Lecture 11: Motion Planning Motion Planning Piotr Indyk.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
1/29/15CMPS 3130/6130 Computational Geometry1 CMPS 3130/6130 Computational Geometry Spring 2015 Triangulations and Guarding Art Galleries Carola Wenk.
Robotics Chapter 5 – Path and Trajectory Planning
Motion Planning Howie CHoset. Assign HW Algorithms –Start-Goal Methods –Map-Based Approaches –Cellular Decompositions.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Robot Motion Planning Robotics meet Computer Science.
Polygon Triangulation
4/9/13CMPS 3120 Computational Geometry1 CMPS 3120: Computational Geometry Spring 2013 Motion Planning Carola Wenk.
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
2.1 Introduction to Configuration Space
CMPS 3130/6130 Computational Geometry Spring 2017
How do I get there? Roadmap Methods Visibility Graph Voronoid Diagram.
Example robot cleared region robot’s visibility region hiding region 2
The Art Gallery Problem
Robot Lab: Robot Path Planning
The Art Gallery Problem
Overlay of Two Subdivisions
Robotics meet Computer Science
Classic Motion Planning Methods
Presentation transcript:

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 – Shakey – mobile, wireless, path-planning, Hough transform, camera vision, English commands, logical reasoning

Shakey video

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*

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

tangency point Generalized

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

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?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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