Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard

Similar documents
Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader)

Motion Planning, Part IV Graph Search Part II. Howie Choset

Motion Planning. Howie CHoset

Sung-Eui Yoon ( 윤성의 )

Lecture 11 Combinatorial Planning: In the Plane

Coverage. Ioannis Rekleitis

Coverage. Ioannis Rekleitis

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Path Planning for Point Robots. NUS CS 5247 David Hsu

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Motion Planning, Part III Graph Search, Part I. Howie Choset

Manipula0on Algorithms Mo0on Planning. Mo#on Planning I. Katharina Muelling (NREC, Carnegie Mellon University) 1

Roadmap-Based Path Planning

6.141: Robotics systems and science Lecture 9: Configuration Space and Motion Planning

Coverage and Search Algorithms. Chapter 10

An angle that has a measure less than a right angle.

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition

Computational Geometry csci3250. Laura Toma. Bowdoin College

Robot Motion Planning

Visibility Graph. How does a Mobile Robot get from A to B?

Coverage and Search Algorithms. Chapter 10

Planning: Part 1 Classical Planning

CMU-Q Lecture 4: Path Planning. Teacher: Gianni A. Di Caro

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space

Motion Planning. Thanks to Piotr Indyk. Lecture 11: Motion Planning

Robot Motion Planning Using Generalised Voronoi Diagrams

Unit 5: Part 1 Planning

Polygon Partitioning. Lecture03

Robot Motion Planning

Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING

Advanced Robotics Path Planning & Navigation

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba 11/21/10

Path Planning. Marcello Restelli. Dipartimento di Elettronica e Informazione Politecnico di Milano tel:

Planning in Mobile Robotics

CS 763 F16. Moving objects in space with obstacles/constraints.

CS 532: 3D Computer Vision 14 th Set of Notes

for Motion Planning RSS Lecture 10 Prof. Seth Teller

Complete coverage by mobile robots using slice decomposition based on natural landmarks

Configuration Space of a Robot

Path-planning by Tessellation of Obstacles

Roadmaps. Vertex Visibility Graph. Reduced visibility graph, i.e., not including segments that extend into obstacles on either side.

Motion Planning. Howie CHoset

CS4733 Class Notes. 1 2-D Robot Motion Planning Algorithm Using Grown Obstacles

Computational Geometry

Week 8 Voronoi Diagrams

MOBILE ROBOTS NAVIGATION, MAPPING & LOCALIZATION: PART I

Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm. Lai Hon Lin. Project Proposal. Computational Geometry

Motion Planning. O Rourke, Chapter 8

Lecture 3: Motion Planning 2

Projects & Polygon Triangulation

Robotic Motion Planning: Review C-Space and Start Potential Functions

Objectives: (What You ll Learn) Identify and model points, lines, planes Identify collinear and coplanar points, intersecting lines and planes

Algorithms for Sensor-Based Robotics: Sampling-Based Motion Planning

Roadmap Methods vs. Cell Decomposition in Robot Motion Planning

Course Outline. Video Game AI: Lecture 7 Heuristics & Smoothing. Finding the best location out of several. Variable size units / special movement?

Robotics Tasks. CS 188: Artificial Intelligence Spring Manipulator Robots. Mobile Robots. Degrees of Freedom. Sensors and Effectors

CS Path Planning

Motion Planning. Jana Kosecka Department of Computer Science

Navigation and Metric Path Planning

Lecture 3: Motion Planning (cont.)

Lesson 1 Introduction to Path Planning Graph Searches: BFS and DFS

Configuration Space. Ioannis Rekleitis

EE631 Cooperating Autonomous Mobile Robots

Path Planning. Ioannis Rekleitis

Computational Geometry

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8

A closed plane figure with at least 3 sides The sides intersect only at their endpoints. Polygon ABCDEF

Computational Geometry [csci 3250]

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

Computational Geometry

Polygon Triangulation

CS 372: Computational Geometry Lecture 3 Line Segment Intersection

ROBOT MOTION USING DELAUNAY TRIANGULATION

We can use square dot paper to draw each view (top, front, and sides) of the three dimensional objects:

arxiv: v1 [cs.cg] 8 Jan 2018

Mobile Robot Path Planning in Static Environments using Particle Swarm Optimization

Computational Geometry

High-Dimensional Computational Geometry. Jingbo Shang University of Illinois at Urbana-Champaign Mar 5, 2018

Efficient Seabed Coverage Path Planning for ASVs and AUVs*

6.141: Robotics systems and science Lecture 10: Implementing Motion Planning

CS 410/584, Algorithm Design & Analysis, Lecture Notes 8!

Week Date Lecture (W: 3:05p-4:50, 7-222)

RASTERIZING POLYGONS IN IMAGE SPACE

Motion Planning for a Point Robot (2/2) Point Robot on a Grid. Planning requires models. Point Robot on a Grid 1/18/2012.

Computer Game Programming Basic Path Finding

Robot Motion Planning in Eight Directions

GEOMETRY is the study of points in space

pine cone Ratio = 13:8 or 8:5

f-v v-f f-e e-f f-f e-e-cross e-v v-e degenerate PCs e-e-touch v-v

Path Planning for A Universal Indoor Navigation System

Iteratively Locating Voronoi Vertices for Dispersion Estimation

MATH 113 Section 8.2: Two-Dimensional Figures

PATH PLANNING IMPLEMENTATION USING MATLAB

Lecture 3: Art Gallery Problems and Polygon Triangulation

CS6100: Topics in Design and Analysis of Algorithms

Robotics. Chapter 25. Chapter 25 1

University of Nevada, Reno. Dynamic Path Planning and Replanning for Mobile Robot Team Using RRT*

Lecture Schedule Week Date Lecture (W: 3:05p-4:50, 7-222)

Polygon Triangulation. (slides partially by Daniel Vlasic )

Transcription:

Road Map Methods Including material from Howie Choset

The Basic Idea Capture the connectivity of Q free by a graph or network of paths. 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

RoadMap Definition A roadmap, RM, is a set of trajectories (i.e. f ( t, q A, q B ) ) such that for all q start Q free and q goal Q free can be connected by a path: The three ingredients of a roadmap Accessibility: There is a path from q start Q free to some q RM Departability: There is a path from some q RM to q goal Q free Connectivity: there exists a path in RM between q and q 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

1. Build the roadmap RoadMap Path Planning a) nodes are points in QQ free or its boundary b) two nodes are connected by an edge if there is a free path between them (i.e. f ( t, q A, q B )) 2. Connect q start and q goal points to the road map at point q and q, respectively 3. Find a path on the roadmap between q and q. The result is a path in Q free from start to goal 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Overview Deterministic methods Some need to represent Q free, and some don t. are complete are complexity-limited to simple (e.g. low-dimensional) problems example: Canny s Silhouette method (5.5) applies to general problems is singly exponential in dimension of the problem 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graph methods Defined for polygonal obstacles Nodes correspond to vertices of obstacles Nodes are connected if they are already connected by an edge on an obstacle the line segment joining them is in free space Not only is there a path on this roadmap, but it is the shortest path If we include the start and goal nodes, they are automatically connected Algorithms for constructing them can be efficient O(n 3 ) brute force 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graph in Action 1. Draw lines of sight from the start and goal to all visible vertices and corners of the world. goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graph in Action 2. Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graph in Action goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

The Visibility Graph in Action (Part 4) goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graph in Action Repeat until you re done. goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Visibility Graphs Find a path in the graph. Bread first, depth first, Dijkstra s, etc. goal start 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

The Sweepline Algorithm Analysis: For a vertex, n log n to create initial list, log n for each α i Overall: n log (n) (or n 2 log (n) for all n vertices

Algorithm: Initially: 1. calculate the angle α i of segment vvvv ii and sort vertices by this creating list εε 2. create a list S of edges that intersect the horizontal from v sorted by intersection distance For each α i if vv ii is visible to v then add vvvv ii to graph if vv ii is the beginning of an edge E, insert EE in S if vv ii is the end of and edge E, remove E from S 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Reduced Visibility Graphs The current graph as too many lines lines to concave vertices lines that head into the object A reduced visibility graph consists of Edges that are separating Edges that are supporting (i.e. do not head into the object at either endpoint) 16-735, Howie Choset, with significant copying from who loosely based his notes on notes by Nancy Amato

Robotic Motion Planning: Cell Decompositions (with some discussion on coverage)

Types of Decompositions Trapezoidal Decomposition Morse Cell Decomposition Boustrophedon decomposition Morse decomposition definition Sensor-based coverage Examples of Morse decomposition Voronoi Decomposition Visibility-based Decomposition

Adjacency Graph c 14 Node correspond to a cell Edge connects nodes of adjacent cells Two cells are adjacent if they share a common boundary c 1 c 4 c 2 c 3 c 6 c 5 c 8 c 7 c 10 c 11 c 13 c 9 c 12 c 15 c 7 c 14 c 4 c 5 c 15 c 2 c 8 c 11 c 1 c 10 c 3 c 6 c 9 c 12 c 13

Trapezoidal Decomposition Path Planning Path Planning in three steps: A trapezoid is convex. Any two points on its boundary can be connected by a straight line Planner determines cells that contain the start and goal Planner searches for a path within adjacency graph Find the exact path in the configuration space. Start Goal Thanks to H. Choset, N. Amato

Trapezoidal Decomposition Thanks to H. Choset, N. Amato

Trapezoidal Decomposition c 1 Thanks to H. Choset, N. Amato

Trapezoidal Decomposition c 2 c 1 Thanks to H. Choset, N. Amato

Trapezoidal Decomposition c 4 c 5 c 8 c 2 c 1 c 3 c 6 c 9 Thanks to H. Choset, N. Amato

Trapezoidal Decomposition Thanks to H. Choset, N. Amato

Trapezoidal Decomposition The robot crosses the boundary between adjacent cells at the midpoints Thanks to H. Choset, N. Amato

Implementation Input is vertices and edges Sort n vertices O(n log(n)) by x coordinates Determine vertical extensions For each vertex, intersect vertical line with each edge O(n) time Total O(n 2 ) time

Sweep Line Approach Sweep a line through the space stopping at vertices v i Maintain a list L of the current edges the slice intersects Determining the intersection of slice with L requires O(n) time but with an efficient data structure like a balanced tree, perhaps O(log n) Determine between which two edges the vertex v lies (e LOWER and e UPPER ) Maintaining L takes O(n log n) log n for insertions, n for vertices For each vertex v, let e lower and e upper be the two edges that contain v. Delete e upper and e lower Insert e upper and e lower (,e LOWER, e lower, e upper, e UPPER, )(,e LOWER, e UPPER, ) Delete e upper, insert e lower Insert e upper, delete e lower (,e LOWER, e lower, e UPPER, )(,e LOWER, e upper, e UPPER, (,e LOWER, e UPPER, ) (,e LOWER, e lower, e upper, e UPPER, )(,e LOWER, e upper, e UPPER, )(,e LOWER, e lower, e UPPER,

Thanks to H. Choset, N. Amato

Thanks to H. Choset, N. Amato

Thanks to H. Choset, N. Amato

Coverage Planner determines an exhaustive walk through the adjacency graph Planner computes explicit robot motions within each cell Problems 1. Polygonal representation 2. Quantization 3. Position uncertainty 4. Full information

Complete Coverage