CIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6

Size: px
Start display at page:

Download "CIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6"

Transcription

1 CIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6 Lab session: Thursday October 27, :30 AM, 2016 Code submission: Friday October 28, :59 PM 1 Introduction In this homework, your task is to implement the naive Voronoi diagram algorithm and to apply it to navigating around polygonal obstacles in a confined environment. Your second task is to improve your solution to Homework 5, using a smarter algorithm for choosing where to place nodes. Unlike in previous homeworks, where we marked you on whether or not the robot reached the goal, in this homework we will mark you on how fast it reaches the goal. This homework is a partner assignment. You only need to submit the code once. For your implementation of the Voronoi algorithm, you will be given start and goal points that represent the bottom-left and top-right corners of the rectangular environment that you will be allowed to move within. The input also includes a set of polygons that represent obstacles in the environment. The idea is to move from the start to the goal while staying as far away as possible from the obstacles and the walls of the confined environment. The approximation you are going to do is to consider only the corners of the polygons as input to the Voronoi algorithm, along with a sampling of the points on the walls. After producing the Voronoi diagram of those points, you should discard all edges that intersect with either the walls or the obstacles, and keep only the collision-free subset of vertices and edges. After producing the corresponding graph of Voronoi vertices and edges within the environment, you should connect the starting and the goal point to their closest points in the graph, and then apply one of the two algorithms from the previous homework (either Dijkstra or A*), to find the shortest path from start to goal. We ask you to return both the graph you produced before applying the shortest path algorithm, and the path of nodes you will follow as a 2D array of (x,y) coordinates. Please note that this is a different output format than on the A* homework. For a review of the algorithm for Voronoi diagrams, please see the relevant chapter here. Note: There are many implementations of the Voronoi diagram algorithm online (such as the scipy implementation). You may use these functions to compare to your implementations to verify that they are correct, but please do not use them in your implementations themselves. The purpose of this exercise is to implement the algorithm yourselves. 1

2 2 Implementing Voronoi 2.1 Naive Voronoi Diagram Algorithm For this homework, you will be implementing the naive approximation for generating Voronoi diagrams. This algorithm is described briefly in the first paragraph of section 7.2 of the reading, and we will elaborate on the steps here. Sample points along the boundary of the environment, placing them the specified interval distance apart, and combine this list of points with the list of obstacle points. The green dots in Figure 2 show what should be in this list. For every pair of points p 1 and p 2 : Compute the bisecting half-plane between p 1 and p 2 that includes p 1. To simplify this process, you can use the shapely library s Polygon object. On Ubuntu, shapely can be installed with the following commands: sudo apt-get install libgeos-dev sudo -H pip install shapely To represent a halfspace with a polygon, create a polygon that encompasses all points that are closer to p 1 than p 2, and that extends further out than the bounds of the environment. See Figure 1 for an example. The code to generate a shapely Polygon is below. Note that you need to list the corners in counter-clockwise or clockwise order. poly1 = Polygon ([ corner1, corner2, corner3...]) Figure 1: Example of using a polygon to represent a halfplane, where the current point is p 1, the comparison point is p 2, and the boundary is the bounds of the environment. Find the intersection of all of the generated polygons. To compute the intersection of two polygons, you can use the shapely function intersection: poly_ intersection = poly1. intersection ( poly2 ) 2

3 The vertices and edges of the final polygon will be vertices and edges in a region of the full Voronoi diagram. You can extract the vertices of the polygon with the following line of code: (x,y) = final_poly. exterior. coords.xy After extracting the vertices, you must remove any vertices that are beyond the boundaries of the environment or are within an obstacle, as well as any edges that collide with a wall. You can find vertices in obstacles either by using the shapely method.contains or.distance (using.distance will allow you to specify some distance from the polygons such that a point still lies within that polygon, in order to fix floating point errors). Finally, you must merge the edges and vertices of all the Voronoi regions to get the full Voronoi diagram. Note that some vertices may exist in multiple regions. Because of floating point errors you may find that vertices from two regions that should be in the position are not exactly the same, e.g. ( ,30) and (25,30). As a result, instead of using == to compare two positions, you must check if the distance between two vertices is less than some small tolerance (such as ). You may use the straightlinedistance function from the A* homework to compute distances. 2.2 Implementation You are provided two functions in the file VoronoiPath.py that you must implement. The autograder depends on this interface so you may not change it. Also, please do not change the filename. Note: We have not provided you with ShortestPath.py, RobotControl.py, or DiffDriveController.py. You will need to copy these files in from your submission to Homework 5. Here is the interface for the two functions you must implement. 3

4 def genvoronoi ( start, goal, bound_bl, bound_tr, polygons ): genvoronoi generates the voronoi diagram for a given environment with outer boundary and a set of inner polygons considered as obstacles. It will also connect a start and goal position to the diagram. This function will generate a graph where nodes are vertices of the voronoi diagram and edges are the edges of the diagram. Input : start : start position as a 2 x1 array goal : goal position as a 2 x1 array bound_ bl : a 2 x1 array representing the position of the bottom left bound_ tr : a 2 x1 array representing the position of the top right polygons : a list of Nx2 arrays that each define a 2D polygon with N vertices within the boundaries. Each polygon s vertices are given in a counter - clockwise manner. Output : a tuple (g, nodes ) graphvor : a Graph object where nodes are the vertices in a voronoi diagram given the boundaries and polygons and edges are the edges of the diagram obstacles : a Mx2 array that contains the (x, y) positions of each sampled wall point as well as each polygon point # Your code here - Main steps : # 1) Accumulate all the corners from the polygons. # 2) Add a sampling of the points from the walls of the environment. # 3) Run the naive Voronoi algorithm on this set of vertices to get the # Voronoi diagram. # 4) Discard edges and vertices that collide with obstacles. # 5) Add the " start " and " goal " positions to the graph, and connect them to # the closest nodes in the Voronoi diagram. graphvor = [] obstacles = [] return graphvor, obstacles 4

5 def navigateenvironment ( start, goal, bound_bl, bound_tr, polygons ): Finds paths through the environment by generating a Voronoi diagram and then plans the shortest path using A* or Dijkstra s Input : start : start position as a 2 x1 array goal : goal position as a 2 x1 array bound_ bl : a 2 x1 array representing the position of the bottom left bound_ tr : a 2 x1 array representing the position of the top right polygons : a list of Nx2 arrays that each define a 2D polygon with N vertices within the boundaries. Each polygon s vertices are given in a counter - clockwise manner. Output : a tuple (g, nodes ) path : a Nx2 numpy array with the shortest path from start to goal through the Voronoi graph in (x, y) coordinates in the order visited. NOTE : You must convert the output of your original Dijkstra s or A* code from indices to positions. graphvor : as output by genvoronoi obstacles : as output by genvoronoi ( graphvor, obstacles ) = getvoronoi ( start, goal, bound_bl, bound_tr, polygons ) path = [] return path, graphvor, obstacles 2.3 Visualization To check your algoritmh, you will want to visualize its results and compare them to what scipy outputs. Run VoronoiDemo.py to plot an environment and the Voronoi diagram that you code generates. Feel free to test out other environments besides the one provided. VoronoiDemo.py will generate two plots. The first will be the Voronoi diagram generated by the scipy API call. You can treat this as the true diagram. Note that scipy s implementation, unlike yours, will not remove line edges that fall inside obstacles. The second plot will be the Voronoi diagram generated by your own code. A sample can be seen in Figure 2. In this figure, green circles are obstacle points, red crosses and green lines are the Voronoi vertices and edges respectively, red lines are polygons and the blue line is the computed shortest path from the start to goal. 5

6 Figure 2: Example of a computed Voronoi diagram 3 Improving Robot s Path Finding In Homework 5, you created a graph by placing nodes in every free cell in the environment. In class you ve learned about superior algorithms for creating a graph with knowledge of the obstacles, and then planning a path to the goal. These include trapezoidal decomposition, visibility graphs, and Voronoi diagrams. Improve your RobotControl.py submission for Homework 5 by making use of one of these algorithms. You will need to modify the generate graph function with your improved algorithm. You may also want to change its method signature to take in pos init and pos goal as arguments. You can tune your controller for better performance. If you have not done so already, you should attempt to get your robot to orient toward the (i + 1)th position on its path by the time it reaches the ith position, as described in Homework 5. You can also experiment with the density of points in your graph, smoothing/resampling your final path, and how you make the robot cut corners. Please note there is a trade-off between speed and safety, and we will consider a failure if the robot hit any obstacle. You may want to have one safe and one aggressive implementation to use during the lab session. You can begin with your HW5 implementation; it should already be able to reach the goal. See by how much you can improve the time it takes to do it. 4 Deliverables The grade distribution for this project will be as follows: 10% for sampling the wall correctly and returning a correct points list (the full set of points that are given as input to your Voronoi algorithm). 50% for producing the correct Voronoi graph of the environment. This is divided into: 6

7 30% for correct implementation of the Voronoi algorithm (i.e. computing the correct set of vertices and edges for the Voronoi graph without any extra vertices or edges). 10% for applying the post-processing we described to the graph (e.g. rejecting colliding edges and vertices). 50% for improving your approach from Homework 5, and being able to solve more complex mazes in a reasonable amount of time. This is divided into: 25% for performance in simulation 25% for performance on the robot 5 Submission and Grading As stated before, everything is automatically graded. The autograder uses turnin to receive submissions. You will get an shortly after submitting saying your message was received. After the autograder is done, you will also receive your results via . Submissions are as follows: turnin -c cis390 -p hw6 -v *.py. More details are in this CIS520 description. 7

Lecture 11 Combinatorial Planning: In the Plane

Lecture 11 Combinatorial Planning: In the Plane CS 460/560 Introduction to Computational Robotics Fall 2017, Rutgers University Lecture 11 Combinatorial Planning: In the Plane Instructor: Jingjin Yu Outline Convex shapes, revisited Combinatorial planning

More information

Motion Planning. Howie CHoset

Motion Planning. Howie CHoset Motion Planning Howie CHoset Questions Where are we? Where do we go? Which is more important? Encoders Encoders Incremental Photodetector Encoder disk LED Photoemitter Encoders - Incremental Encoders -

More information

Week 8 Voronoi Diagrams

Week 8 Voronoi Diagrams 1 Week 8 Voronoi Diagrams 2 Voronoi Diagram Very important problem in Comp. Geo. Discussed back in 1850 by Dirichlet Published in a paper by Voronoi in 1908 3 Voronoi Diagram Fire observation towers: an

More information

AMS 345/CSE 355 Computational Geometry

AMS 345/CSE 355 Computational Geometry AMS 345/CSE 355 Computational Geometry Lecture: Polygons, Guarding Joe Mitchell Do You Like Puzzles? Come to the new Stony Brook Puzzle Society Meets: Friday 1:05-2:30 pm at CSE 2120 Organizer: Pramod

More information

CSE 546, Fall, 2016 Homework 1

CSE 546, Fall, 2016 Homework 1 CSE 546, Fall, 2016 Homework 1 Due at the beginning of class Thursday, Sept. 15 at 2:30pm. Accepted without penalty until Friday, noon, in my mailbox in the Dept. office, third floor of Jolley. Notes about

More information

Geometry R. Unit 12 Coordinate Geometry. Day Classwork Day Homework Wednesday 3/7 Thursday 3/8 Friday 3/9

Geometry R. Unit 12 Coordinate Geometry. Day Classwork Day Homework Wednesday 3/7 Thursday 3/8 Friday 3/9 Geometry R Unit 12 Coordinate Geometry Day Classwork Day Homework Wednesday 3/7 Thursday 3/8 Friday 3/9 Unit 11 Test Review Equations of Lines 1 HW 12.1 Perimeter and Area of Triangles in the Coordinate

More information

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

Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm. Lai Hon Lin. Project Proposal. Computational Geometry Path Planning by Using Generalized Voronoi Diagrams and Dijkstra Algorithm by Lai Hon Lin Project Proposal of Computational Geometry Assessed by: Dr. Deng Jun Hui 1. Abstract: This proposal is a description

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) Path Planning for Point Robots Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/mpa Class Objectives Motion planning framework Classic motion planning approaches 2 3 Configuration Space:

More information

Planning: Part 1 Classical Planning

Planning: Part 1 Classical Planning Planning: Part 1 Classical Planning Computer Science 6912 Department of Computer Science Memorial University of Newfoundland July 12, 2016 COMP 6912 (MUN) Planning July 12, 2016 1 / 9 Planning Localization

More information

Particle Filter Localization

Particle Filter Localization E190Q Autonomous Mobile Robots Lab 4 Particle Filter Localization INTRODUCTION Determining a robots position in a global coordinate frame is one of the most important and difficult problems to overcome

More information

Solutions to problem set 1

Solutions to problem set 1 Massachusetts Institute of Technology Handout 5 6.838: Geometric Computation October 4, 2001 Professors Piotr Indyk and Seth Teller Solutions to problem set 1 (mostly taken from the solution set of Jan

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how to break down an environment into simple convex pieces

More information

Robotics: Science and Systems I Lab 6: Motion Planning and Global Navigation Begins: 3/5/2014, 3pm Due: 3/12/2014, 3pm

Robotics: Science and Systems I Lab 6: Motion Planning and Global Navigation Begins: 3/5/2014, 3pm Due: 3/12/2014, 3pm Objectives and Lab Overview Massachusetts Institute of Technology Robotics: Science and Systems I Lab 6: Motion Planning and Global Navigation Begins: 3/5/2014, 3pm Due: 3/12/2014, 3pm Your objective in

More information

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

Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs 16-350 Planning Techniques for Robotics Planning Representations: Skeletonization- and Grid-based Graphs Maxim Likhachev Robotics Institute 2D Planning for Omnidirectional Point Robot Planning for omnidirectional

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS.

SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS. SUPPLEMENTARY FILE S1: 3D AIRWAY TUBE RECONSTRUCTION AND CELL-BASED MECHANICAL MODEL. RELATED TO FIGURE 1, FIGURE 7, AND STAR METHODS. 1. 3D AIRWAY TUBE RECONSTRUCTION. RELATED TO FIGURE 1 AND STAR METHODS

More information

1. Complete these exercises to practice creating user functions in small sketches.

1. Complete these exercises to practice creating user functions in small sketches. Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the

More information

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

CS 763 F16. Moving objects in space with obstacles/constraints. Moving objects in space with obstacles/constraints. Objects = robots, vehicles, jointed linkages (robot arm), tools (e.g. on automated assembly line), foldable/bendable objects. Objects need not be physical

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

Computational Geometry Algorithmische Geometrie

Computational Geometry Algorithmische Geometrie Algorithmische Geometrie Panos Giannopoulos Wolfgang Mulzer Lena Schlipf AG TI SS 2013 !! Register in Campus Management!! Outline What you need to know (before taking this course) What is the course about?

More information

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

Road Map Methods. Including material from Howie Choset / G.D. Hager S. Leonard 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

More information

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be

More information

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

Path Planning. Jacky Baltes Dept. of Computer Science University of Manitoba   11/21/10 Path Planning Jacky Baltes Autonomous Agents Lab Department of Computer Science University of Manitoba Email: jacky@cs.umanitoba.ca http://www.cs.umanitoba.ca/~jacky Path Planning Jacky Baltes Dept. of

More information

Voronoi diagrams and applications

Voronoi diagrams and applications Voronoi diagrams and applications Prof. Ramin Zabih http://cs100r.cs.cornell.edu Administrivia Last quiz: Thursday 11/15 Prelim 3: Thursday 11/29 (last lecture) A6 is due Friday 11/30 (LDOC) Final projects

More information

Navigation and Metric Path Planning

Navigation and Metric Path Planning Navigation and Metric Path Planning October 4, 2011 Minerva tour guide robot (CMU): Gave tours in Smithsonian s National Museum of History Example of Minerva s occupancy map used for navigation Objectives

More information

Unit 5: Part 1 Planning

Unit 5: Part 1 Planning Unit 5: Part 1 Planning Computer Science 4766/6778 Department of Computer Science Memorial University of Newfoundland March 25, 2014 COMP 4766/6778 (MUN) Planning March 25, 2014 1 / 9 Planning Localization

More information

Path Planning. Ioannis Rekleitis

Path Planning. Ioannis Rekleitis Path Planning Ioannis Rekleitis Outline Path Planning Visibility Graph Potential Fields Bug Algorithms Skeletons/Voronoi Graphs C-Space CSCE-574 Robotics 2 Mo+on Planning The ability to go from A to B

More information

Selective Space Structures Manual

Selective Space Structures Manual Selective Space Structures Manual February 2017 CONTENTS 1 Contents 1 Overview and Concept 4 1.1 General Concept........................... 4 1.2 Modules................................ 6 2 The 3S Generator

More information

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls 1/60 Geometric Algorithms Lecture 1: Introduction Convex Hulls Geometric algorithms scope 2/60 Geometry algorithms (practice): Study of geometric problems that arise in various applications and how algorithms

More information

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel

Prof. Gill Barequet. Center for Graphics and Geometric Computing, Technion. Dept. of Computer Science The Technion Haifa, Israel Computational Geometry (CS 236719) http://www.cs.tufts.edu/~barequet/teaching/cg Chapter 1 Introduction 1 Copyright 2002-2009 2009 Prof. Gill Barequet Center for Graphics and Geometric Computing Dept.

More information

Homework: More Abstraction, Trees, and Lists

Homework: More Abstraction, Trees, and Lists Homework: More Abstraction, Trees, and Lists COMP 50 Fall 2013 This homework is due at 11:59PM on Monday, November 18. Submit your solutions in a single file using the COMP 50 Handin button on DrRacket;

More information

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

ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space ECE276B: Planning & Learning in Robotics Lecture 5: Configuration Space Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Tianyu Wang: tiw161@eng.ucsd.edu Yongxi Lu: yol070@eng.ucsd.edu

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Coverage and Search Algorithms. Chapter 10

Coverage and Search Algorithms. Chapter 10 Coverage and Search Algorithms Chapter 10 Objectives To investigate some simple algorithms for covering the area in an environment To understand how break down an environment in simple convex pieces To

More information

Computational Geometry

Computational Geometry More on Voronoi diagrams 1 Can we move a disc from one location to another amidst obstacles? 2 Since the Voronoi diagram of point sites is locally furthest away from those sites, we can move the disc if

More information

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

Motion Planning, Part IV Graph Search Part II. Howie Choset Motion Planning, Part IV Graph Search Part II Howie Choset Map-Based Approaches: Properties of a roadmap: Roadmap Theory Accessibility: there exists a collision-free path from the start to the road map

More information

Acute Triangulations of Polygons

Acute Triangulations of Polygons Europ. J. Combinatorics (2002) 23, 45 55 doi:10.1006/eujc.2001.0531 Available online at http://www.idealibrary.com on Acute Triangulations of Polygons H. MAEHARA We prove that every n-gon can be triangulated

More information

CS 170 Algorithms Fall 2014 David Wagner HW12. Due Dec. 5, 6:00pm

CS 170 Algorithms Fall 2014 David Wagner HW12. Due Dec. 5, 6:00pm CS 170 Algorithms Fall 2014 David Wagner HW12 Due Dec. 5, 6:00pm Instructions. This homework is due Friday, December 5, at 6:00pm electronically via glookup. This homework assignment is a programming assignment

More information

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework

CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework CSCI 4210 Operating Systems CSCI 6140 Computer Operating Systems Project 1 (document version 1.3) Process Simulation Framework Overview This project is due by 11:59:59 PM on Thursday, October 20, 2016.

More information

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

Autonomous and Mobile Robotics Prof. Giuseppe Oriolo. Motion Planning 1 Retraction and Cell Decomposition Autonomous and Mobile Robotics Prof. Giuseppe Oriolo Motion Planning 1 Retraction and Cell Decomposition motivation robots are expected to perform tasks in workspaces populated by obstacles autonomy requires

More information

Spatially-Aware Information Retrieval on the Internet

Spatially-Aware Information Retrieval on the Internet Spatially-Aware Information Retrieval on the Internet SPIRIT is funded by EU IST Programme Contract Number: Abstract Multi-Attribute Similarity Ranking Deliverable number: D17:5301 Deliverable type: R

More information

(Refer Slide Time: 00:02:00)

(Refer Slide Time: 00:02:00) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 18 Polyfill - Scan Conversion of a Polygon Today we will discuss the concepts

More information

Other Voronoi/Delaunay Structures

Other Voronoi/Delaunay Structures Other Voronoi/Delaunay Structures Overview Alpha hulls (a subset of Delaunay graph) Extension of Voronoi Diagrams Convex Hull What is it good for? The bounding region of a point set Not so good for describing

More information

for Motion Planning RSS Lecture 10 Prof. Seth Teller

for Motion Planning RSS Lecture 10 Prof. Seth Teller Configuration Space for Motion Planning RSS Lecture 10 Monday, 8 March 2010 Prof. Seth Teller Siegwart & Nourbahksh S 6.2 (Thanks to Nancy Amato, Rod Brooks, Vijay Kumar, and Daniela Rus for some of the

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

Computational Geometry csci3250. Laura Toma. Bowdoin College

Computational Geometry csci3250. Laura Toma. Bowdoin College Computational Geometry csci3250 Laura Toma Bowdoin College Motion Planning Input: a robot R and a set of obstacles S = {O 1, O 2, } start position p start end position p end Find a path from start to end

More information

Homework #2 Posted: February 8 Due: February 15

Homework #2 Posted: February 8 Due: February 15 CS26N Motion Planning for Robots, Digital Actors and Other Moving Objects (Winter 2012) Homework #2 Posted: February 8 Due: February 15 How to complete this HW: First copy this file; then type your answers

More information

CS S Lecture February 13, 2017

CS S Lecture February 13, 2017 CS 6301.008.18S Lecture February 13, 2017 Main topics are #Voronoi-diagrams, #Fortune. Quick Note about Planar Point Location Last week, I started giving a difficult analysis of the planar point location

More information

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

Visibility Graph. How does a Mobile Robot get from A to B? Robot Path Planning Things to Consider: Spatial reasoning/understanding: robots can have many dimensions in space, obstacles can be complicated Global Planning: Do we know the environment apriori? Online

More information

CS70 - Lecture 6. Graphs: Coloring; Special Graphs. 1. Review of L5 2. Planar Five Color Theorem 3. Special Graphs:

CS70 - Lecture 6. Graphs: Coloring; Special Graphs. 1. Review of L5 2. Planar Five Color Theorem 3. Special Graphs: CS70 - Lecture 6 Graphs: Coloring; Special Graphs 1. Review of L5 2. Planar Five Color Theorem 3. Special Graphs: Trees: Three characterizations Hypercubes: Strongly connected! Administration You need

More information

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena

Spring 2010: Lecture 9. Ashutosh Saxena. Ashutosh Saxena CS 4758/6758: Robot Learning Spring 2010: Lecture 9 Why planning and control? Video Typical Architecture Planning 0.1 Hz Control 50 Hz Does it apply to all robots and all scenarios? Previous Lecture: Potential

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Autodesk Fusion 360: Model. Overview. Modeling techniques in Fusion 360

Autodesk Fusion 360: Model. Overview. Modeling techniques in Fusion 360 Overview Modeling techniques in Fusion 360 Modeling in Fusion 360 is quite a different experience from how you would model in conventional history-based CAD software. Some users have expressed that it

More information

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

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment Planning and Navigation Where am I going? How do I get there?? Localization "Position" Global Map Cognition Environment Model Local Map Perception Real World Environment Path Motion Control Competencies

More information

15. First make a parallelogram by rotating the original triangle. Then tile with the Parallelogram.

15. First make a parallelogram by rotating the original triangle. Then tile with the Parallelogram. Shapes and Designs: Homework Examples from ACE Investigation 1: Question 15 Investigation 2: Questions 4, 20, 24 Investigation 3: Questions 2, 12 Investigation 4: Questions 9 12, 22. ACE Question ACE Investigation

More information

Path Planning for Point Robots. NUS CS 5247 David Hsu

Path Planning for Point Robots. NUS CS 5247 David Hsu Path Planning for Point Robots NUS CS 5247 David Hsu Problem Input Robot represented as a point in the plane Obstacles represented as polygons Initial and goal positions Output A collision-free path between

More information

Voronoi Diagram and Convex Hull

Voronoi Diagram and Convex Hull Voronoi Diagram and Convex Hull The basic concept of Voronoi Diagram and Convex Hull along with their properties and applications are briefly explained in this chapter. A few common algorithms for generating

More information

A Subquadratic Algorithm for the Straight Skeleton

A Subquadratic Algorithm for the Straight Skeleton A Subquadratic Algorithm for the Straight Skeleton David Eppstein Dept. Information and Computer Science Univ. of California, Irvine http://www.ics.uci.edu/ eppstein/ (Joint work with Jeff Erickson, Duke

More information

EE631 Cooperating Autonomous Mobile Robots

EE631 Cooperating Autonomous Mobile Robots EE631 Cooperating Autonomous Mobile Robots Lecture 3: Path Planning Algorithm Prof. Yi Guo ECE Dept. Plan Representing the Space Path Planning Methods A* Search Algorithm D* Search Algorithm Representing

More information

Clipping Points Consider a clip window which is rectangular in shape. P(x, y) is a point to be displayed.

Clipping Points Consider a clip window which is rectangular in shape. P(x, y) is a point to be displayed. Usually only a specified region of a picture needs to be displayed. This region is called the clip window. An algorithm which displays only those primitives (or part of the primitives) which lie inside

More information

CS2223: Algorithms D- Term, Homework I. Teams: To be done individually. Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only

CS2223: Algorithms D- Term, Homework I. Teams: To be done individually. Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only CS2223: Algorithms D- Term, 2015 Homework I Teams: To be done individually Due date: 03/27/2015 (1:50 PM) Submission: Electronic submission only 1 General Instructions Python Code vs. Pseudocode: Each

More information

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville

Flavor of Computational Geometry. Voronoi Diagrams. Shireen Y. Elhabian Aly A. Farag University of Louisville Flavor of Computational Geometry Voronoi Diagrams Shireen Y. Elhabian Aly A. Farag University of Louisville March 2010 Pepperoni Sparse Pizzas Olive Sparse Pizzas Just Two Pepperonis A person gets the

More information

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

Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader) Robotic Motion Planning: Cell Decompositions (with some discussion on coverage and pursuer/evader) Robotics Institute 16-735 http://voronoi.sbp.ri.cmu.edu/~motion Howie Choset http://voronoi.sbp.ri.cmu.edu/~choset

More information

Chapter - 2: Geometry and Line Generations

Chapter - 2: Geometry and Line Generations Chapter - 2: Geometry and Line Generations In Computer graphics, various application ranges in different areas like entertainment to scientific image processing. In defining this all application mathematics

More information

.. Fall 2013 CPE 101: Fundamentals of Computer Science I Alexander Dekhtyar.. Lab 5: Conditional Statements

.. Fall 2013 CPE 101: Fundamentals of Computer Science I Alexander Dekhtyar.. Lab 5: Conditional Statements .. Fall 2013 CPE 101: Fundamentals of Computer Science I Alexander Dekhtyar.. Lab 5: Conditional Statements Due date: Tuesday, October 22, 11:59pm. Lab Assignment Assignment Preparation Lab type. This

More information

CS-235 Computational Geometry

CS-235 Computational Geometry CS-235 Computational Geometry Computer Science Department Fall Quarter 2002. Computational Geometry Study of algorithms for geometric problems. Deals with discrete shapes: points, lines, polyhedra, polygonal

More information

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994) Discrete Comput Geom 12:29-34 (1994) G 6i try 9 1994 Springer-Verlag New York Inc. On the Number of Minimal 1-Steiner Trees* B. Aronov, 1 M. Bern, 2 and D. Eppstein 3 Computer Science Department, Polytechnic

More information

CS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w

CS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w CS446: Machine Learning Fall 2013 Problem Set 4 Handed Out: October 17, 2013 Due: October 31 th, 2013 Feel free to talk to other members of the class in doing the homework. I am more concerned that you

More information

Digitizer Leapfrogging

Digitizer Leapfrogging Digitizer Leapfrogging Leapfrogging lets you digitize objects that are larger than your digitizing arm. You start with one section of the object, then leapfrog around by creating leapfrog stations in both

More information

Computational Geometry Lecture Duality of Points and Lines

Computational Geometry Lecture Duality of Points and Lines Computational Geometry Lecture Duality of Points and Lines INSTITUTE FOR THEORETICAL INFORMATICS FACULTY OF INFORMATICS 11.1.2016 Duality Transforms We have seen duality for planar graphs and duality of

More information

Conformal Mapping and Fluid Mechanics

Conformal Mapping and Fluid Mechanics Conformal Mapping and Fluid Mechanics Monday, December 02, 2013 1:56 PM Homework 4 due (hard deadline) Wednesday, December 11 at 5 PM. more problems available rapid grading window: Friday, December 5 -

More information

Topology and Boundary Representation. The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model s topology:

Topology and Boundary Representation. The ACIS boundary representation (B-rep) of a model is a hierarchical decomposition of the model s topology: Chapter 6. Model Topology Topology refers to the spatial relationships between the various entities in a model. Topology describes how geometric entities are connected (connectivity). On its own, topology

More information

CS2223: Algorithms D-Term, Assignment 5

CS2223: Algorithms D-Term, Assignment 5 CS2223: Algorithms D-Term, 2015 Assignment 5 Teams: To be done individually Due date: 05/01/2015 (1:50 PM) Note: no late submission of HW5 will be accepted; we will talk about the solution of HW5 during

More information

3ds Max Cottage Step 1. Always start out by setting up units: We re going with this setup as we will round everything off to one inch.

3ds Max Cottage Step 1. Always start out by setting up units: We re going with this setup as we will round everything off to one inch. 3ds Max Cottage Step 1 Always start out by setting up units: We re going with this setup as we will round everything off to one inch. File/Import the CAD drawing Be sure Files of Type is set to all formats

More information

Assignment 1: Control and obstacle avoidance

Assignment 1: Control and obstacle avoidance Assignment 1: Control and obstacle avoidance ETH Zurich Individual Demonstration: Thursday, 08.10.2015 at 15:15 Individual Software Due: Thursday, 08.10.2015 at 23:00 Group Work Demonstration: Monday,

More information

DiFi: Distance Fields - Fast Computation Using Graphics Hardware

DiFi: Distance Fields - Fast Computation Using Graphics Hardware DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r

More information

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1

More information

COMP Preliminaries Jan. 6, 2015

COMP Preliminaries Jan. 6, 2015 Lecture 1 Computer graphics, broadly defined, is a set of methods for using computers to create and manipulate images. There are many applications of computer graphics including entertainment (games, cinema,

More information

Introduction to AI Spring 2006 Dan Klein Midterm Solutions

Introduction to AI Spring 2006 Dan Klein Midterm Solutions NAME: SID#: Login: Sec: 1 CS 188 Introduction to AI Spring 2006 Dan Klein Midterm Solutions 1. (20 pts.) True/False Each problem is worth 2 points. Incorrect answers are worth 0 points. Skipped questions

More information

CONSTRUCTION OF THE VORONOI DIAGRAM BY A TEAM OF COOPERATIVE ROBOTS

CONSTRUCTION OF THE VORONOI DIAGRAM BY A TEAM OF COOPERATIVE ROBOTS CONSTRUCTION OF THE VORONOI DIAGRAM BY A TEAM OF COOPERATIVE ROBOTS Flavio S. Mendes, Júlio S. Aude, Paulo C. V. Pinto IM and NCE, Federal University of Rio de Janeiro P.O.Box 2324 - Rio de Janeiro - RJ

More information

Spiky Sphere. Finding the Sphere tool. Your first sphere

Spiky Sphere. Finding the Sphere tool. Your first sphere Spiky Sphere Finding the Sphere tool The Sphere tool is part of ShapeWizards suite called MagicBox (the other tools in the suite are Pursuit, Shell, Spiral). You can install all these tools at once by

More information

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13

Lecture 17: Solid Modeling.... a cubit on the one side, and a cubit on the other side Exodus 26:13 Lecture 17: Solid Modeling... a cubit on the one side, and a cubit on the other side Exodus 26:13 Who is on the LORD's side? Exodus 32:26 1. Solid Representations A solid is a 3-dimensional shape with

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

Spatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes

More information

Robot Motion Planning

Robot Motion Planning Robot Motion Planning slides by Jan Faigl Department of Computer Science and Engineering Faculty of Electrical Engineering, Czech Technical University in Prague lecture A4M36PAH - Planning and Games Dpt.

More information

Formations in flow fields

Formations in flow fields Formations in flow fields Rick van Meer June 11, 2015 1 Introduction Pathfinding and formations (i.e. an arrangement of agents) are both a part of artificial intelligence and can be used in games. However,

More information

Introduction: RS 3 Tutorial 1 Quick Start

Introduction: RS 3 Tutorial 1 Quick Start Introduction: RS 3 Tutorial 1 Quick Start Welcome to RS 3. This tutorial introduces some basic features of RS 3. The model analyzes the effect of tank loading on an existing sloped underground tunnel.

More information

Lecture 14: Path Planning II. Autonomous Robots, Carnegie Mellon University Qatar

Lecture 14: Path Planning II. Autonomous Robots, Carnegie Mellon University Qatar Lecture 14: Path Planning II Autonomous Robots, 16-200 Carnegie Mellon University Qatar Overview Logistics Movie Path Planning continued Logistics We will send you detailed feedback on your presentation

More information

Geometric Computation: Introduction

Geometric Computation: Introduction : Introduction Piotr Indyk Welcome to 6.838! Overview and goals Course Information Syllabus 2D Convex hull Signup sheet Geometric computation occurs everywhere: Geographic Information Systems (GIS): nearest

More information

Homework 1: Programming Component Routing Packets Within a Structured Peer-to-Peer (P2P) Network Overlay VERSION 1.1

Homework 1: Programming Component Routing Packets Within a Structured Peer-to-Peer (P2P) Network Overlay VERSION 1.1 Homework 1: Programming Component Routing Packets Within a Structured Peer-to-Peer (P2P) Network Overlay VERSION 1.1 DUE DATE: Wednesday February 14 th, 2018 @ 5:00 pm Objectives & Overview The objective

More information

6th Grade Graphing

6th Grade Graphing 1 6th Grade Graphing 2015-12-02 www.njctl.org 2 Graphing 6th Grade Topics Cartesian Plane Click on the topic to go to that section Graphing Ordered Pairs Polygons in the Coordinate Plane Cartesian Plane

More information

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards Nicole Chesnokov May 16, 2018 Contents 1 Introduction 2 2 The Art Gallery Problem 3 2.1 Proof..................................

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

ROBOT MOTION USING DELAUNAY TRIANGULATION

ROBOT MOTION USING DELAUNAY TRIANGULATION ROBOT MOTION USING DELAUNAY TRIANGULATION by Ioana-Maria Ileană Abstract. Robot motion is nowadays studied from a lot of different perspectives. This paper is based on the assumption of a fully known environment,

More information

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

MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING MEV 442: Introduction to Robotics - Module 3 INTRODUCTION TO ROBOT PATH PLANNING THE PATH PLANNING PROBLEM The robot should find out a path enables the continuous motion of a robot from an initial configuration

More information

ENGR 102 Engineering Lab I - Computation

ENGR 102 Engineering Lab I - Computation ENGR 102 Engineering Lab I - Computation Learning Objectives by Week 1 ENGR 102 Engineering Lab I Computation 2 Credits 2. Introduction to the design and development of computer applications for engineers;

More information

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #2 due this Friday, October

More information

Chapter 24. Creating Surfaces for Displaying and Reporting Data

Chapter 24. Creating Surfaces for Displaying and Reporting Data Chapter 24. Creating Surfaces for Displaying and Reporting Data FLUENT allows you to select portions of the domain to be used for visualizing the flow field. The domain portions are called surfaces, and

More information

Determination of the aperture of the LHCb VELO RF foil

Determination of the aperture of the LHCb VELO RF foil LHCb-PUB-214-12 April 1, 214 Determination of the aperture of the LHCb VELO RF foil M. Ferro-Luzzi 1, T. Latham 2, C. Wallace 2. 1 CERN, Geneva, Switzerland 2 University of Warwick, United Kingdom LHCb-PUB-214-12

More information

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013

CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 CMSC 425: Lecture 9 Geometric Data Structures for Games: Geometric Graphs Thursday, Feb 21, 2013 Reading: Today s materials is presented in part in Computational Geometry: Algorithms and Applications (3rd

More information