CIS 390 Fall 2015 Robotics: Planning and Perception Kostas Daniilidis Homework 6
|
|
- Collin Boyd
- 5 years ago
- Views:
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
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 informationMotion 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 informationWeek 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 informationAMS 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 informationCSE 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 informationGeometry 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 informationPath 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 informationSung-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 informationPlanning: 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 informationParticle 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 informationSolutions 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 informationCoverage 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 informationRobotics: 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 informationPlanning 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 informationChapter 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 informationSUPPLEMENTARY 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 information1. 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 informationCS 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 informationCOMPUTATIONAL 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 informationComputational 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 informationRoad 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 informationCSE 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 informationPath 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 informationVoronoi 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 informationNavigation 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 informationUnit 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 informationPath 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 informationSelective 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 information1/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 informationProf. 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 informationHomework: 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 informationECE276B: 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 informationComputational 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 informationCoverage 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 informationComputational 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 informationMotion 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 informationAcute 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 informationCS 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 informationCSCI 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 informationAutonomous 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 informationSpatially-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)
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 informationOther 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 informationfor 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 informationAssignment 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 informationComputational 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 informationHomework #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 informationCS 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 informationVisibility 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 informationCS70 - 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 informationSpring 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 information2D 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 informationAutodesk 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 informationAutonomous 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 information15. 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 informationPath 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 informationVoronoi 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 informationA 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 informationEE631 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 informationClipping 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 informationCS2223: 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 informationFlavor 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 informationRobotic 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 informationChapter - 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 Due date: Tuesday, October 22, 11:59pm. Lab Assignment Assignment Preparation Lab type. This
More informationCS-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 informationG 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 informationCS446: 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 informationDigitizer 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 informationComputational 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 informationConformal 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 informationTopology 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 informationCS2223: 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 information3ds 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 informationAssignment 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 informationDiFi: 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 informationRenderer 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 informationCOMP 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 informationIntroduction 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 informationCONSTRUCTION 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 informationSpiky 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 informationLecture 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 informationHomework 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 informationSpatial 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 informationRobot 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 informationFormations 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 informationIntroduction: 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 informationLecture 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 informationGeometric 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 informationHomework 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 information6th 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 informationThe 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 informationLecture 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 informationROBOT 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 informationMEV 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 informationENGR 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 informationCSE 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 informationChapter 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 informationDetermination 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 informationCMSC 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