Richard Kelley Motion Planning on a GPU. Last Time Nvidia’s white paper Productive discussion.

Slides:



Advertisements
Similar presentations
Semantics Consistent Parallelism Li-Yi Wei Microsoft Research.
Advertisements

NUS CS5247 Motion Planning for Car- like Robots using a Probabilistic Learning Approach --P. Svestka, M.H. Overmars. Int. J. Robotics Research, 16: ,
Slides from: Doug Gray, David Poole
Configuration Space. Recap Represent environments as graphs –Paths are connected vertices –Make assumption that robot is a point Need to be able to use.
Probabilistic Roadmaps. The complexity of the robot’s free space is overwhelming.
Motion Planning for Point Robots CS 659 Kris Hauser.
By Lydia E. Kavraki, Petr Svestka, Jean-Claude Latombe, Mark H. Overmars Emre Dirican
Sampling From the Medial Axis Presented by Rahul Biswas April 23, 2003 CS326A: Motion Planning.
Flocks, Herds and Schools Modeling and Analytic Approaches.
4/15/2017 Using Gaussian Process Regression for Efficient Motion Planning in Environments with Deformable Objects Barbara Frank, Cyrill Stachniss, Nichola.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
Gizem ALAGÖZ. Simulation optimization has received considerable attention from both simulation researchers and practitioners. Both continuous and discrete.
Boundary Value Testing A type of “Black box” functional testing –The program is viewed as a mathematical “function” –The program takes inputs and maps.
Geometric Algorithms for Conformational Analysis of Long Protein Loops J. Cortess, T. Simeon, M. Remaud- Simeon, V. Tran.
Data Structures and Functional Programming Algorithms for Big Data Ramin Zabih Cornell University Fall 2012.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song and Nancy M. Amato Department of Computer Science Texas A&M University College Station,
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Nearest Neighbor. Predicting Bankruptcy Nearest Neighbor Remember all your data When someone asks a question –Find the nearest old data point –Return.
Texture Synthesis Tiantian Liu. Definition Texture – Texture refers to the properties held and sensations caused by the external surface of objects received.
“Visibility-based Probabilistic Roadmaps for Motion Planning” Siméon, Laumond, Nissoux Presentation by: Mathieu Bredif CS326A: Paper Review Winter 2004.
Deadlock-Free and Collision- Free Coordination of Two Robot Manipulators Patrick A. O’Donnell and Tomás Lozano- Pérez by Guha Jayachandran Guha Jayachandran.
Presented by David Stavens. Manipulation Planning Before: Want to move the robot from one configuration to another, around obstacles. Now: Want to robot.
KEG PARTY!!!!!  Keg Party tomorrow night  Prof. Markov will give out extra credit to anyone who attends* *Note: This statement is a lie.
1 Single Robot Motion Planning - II Liang-Jun Zhang COMP Sep 24, 2008.
CS 326A: Motion Planning Jean-Claude Latombe CA: Aditya Mandayam.
Kinodynamic Planning Using Probabalistic Road Maps Steven M. LaValle James J. Kuffner, Jr. Presented by Petter Frykman.
CSE 830: Design and Theory of Algorithms
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Kinodynamic Planning and Navigation with Movable Obstacles.
The plan for today Camera matrix
RRT-Connect path solving J.J. Kuffner and S.M. LaValle.
Randomized Motion Planning for Car-like Robots with C-PRM Guang Song, Nancy M. Amato Department of Computer Science Texas A&M University College Station,
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
 Linear Programming and Smoothed Complexity Richard Kelley.
Single Point of Contact Manipulation of Unknown Objects Stuart Anderson Advisor: Reid Simmons School of Computer Science Carnegie Mellon University.
CS 326A: Motion Planning Basic Motion Planning for a Point Robot.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
1 Single Robot Motion Planning Liang-Jun Zhang COMP Sep 22, 2008.
Review Rong Jin. Comparison of Different Classification Models  The goal of all classifiers Predicating class label y for an input x Estimate p(y|x)
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Machine Learning1 Machine Learning: Summary Greg Grudic CSCI-4830.
© Manfred Huber Autonomous Robots Robot Path Planning.
Stochastic Algorithms Some of the fastest known algorithms for certain tasks rely on chance Stochastic/Randomized Algorithms Two common variations – Monte.
Rate-based Data Propagation in Sensor Networks Gurdip Singh and Sandeep Pujar Computing and Information Sciences Sanjoy Das Electrical and Computer Engineering.
Robotics Chapter 5 – Path and Trajectory Planning
1 Definition of System Simulation: The practice of building models to represent existing real-world systems, or hypothetical future systems, and of experimenting.
Path Planning for a Point Robot
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
Learning Lateral Connections between Hidden Units Geoffrey Hinton University of Toronto in collaboration with Kejie Bao University of Toronto.
CS B659: Principles of Intelligent Robot Motion Configuration Space.
GPU Architectural Considerations for Cellular Automata Programming A comparison of performance between a x86 CPU and nVidia Graphics Card Stephen Orchowski,
Deterministic Sampling Methods for Spheres and SO(3) Anna Yershova Steven M. LaValle Dept. of Computer Science University of Illinois Urbana, IL, USA.
Group 8: Denial Hess, Yun Zhang Project presentation.
yG7s#t=15 yG7s#t=15.
UNC Chapel Hill M. C. Lin Introduction to Motion Planning Applications Overview of the Problem Basics – Planning for Point Robot –Visibility Graphs –Roadmap.
Hashing Fundamental Data Structures and Algorithms Margaret Reid-Miller 18 January 2005.
Real-time motion planning for Manipulator based on Configuration Space Chen Keming Cis Peking University.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
Autonomous Robots Robot Path Planning (3) © Manfred Huber 2008.
The Advanced Encryption Standard Part 2: Mathematical Background
Analysis of Algorithms: Math Review Richard Kelley, Lecture 2.
The Birthday Paradox July Definition 2 Birthday attacks are a class of brute-force techniques that target the cryptographic hash functions. The.
Department of Computer Science Columbia University rax Dynamically-Stable Motion Planning for Humanoid Robots Paper Presentation James J. Kuffner,
Randomized KinoDynamic Planning Steven LaValle James Kuffner.
Spectral Methods for Dimensionality
Rapidly-Exploring Random Trees
Verifying REACT Aleks Milisevic Will Noble Martin Rinard
Last lecture Configuration Space Free-Space and C-Space Obstacles
Presented By: Aninoy Mahapatra
Presentation transcript:

Richard Kelley Motion Planning on a GPU

Last Time Nvidia’s white paper Productive discussion

Today An application in geometric/physical computing Motion Planning But really, we’re going to talk about the components of the system Probably more useful this way. In particular, the random sampling part. Because it’s easier and more widely applicable. Because of time constraints. We’ll also look at the paper’s results.

Some Motivation: Motion Planning

Motion Planning Goal Move a rigid body from point A to point B. Assumptions In continuous space (otherwise it’s just graph theory) Though it eventually becomes graph theory. In the “real” world – robots, obstacles, physics, etc. Controllable objects may have to follow constraints. Typically this stuff is studied in simulation. Typically, we use mathematical tricks to reduce the problem to finding a path between points in some topological space.

Types of Planning Discrete planning This is the graph theory Single query You have a start state and a goal state in some space. Find a path. Multiple query You have a space. Find a path between several pairs of start and end states over time. Optimization variants Do the above, but with a twist Minimize energy, minimize time of travel, maximize coverage of the space, etc.

Sampling-Based Planning Even “simple” robots result in complicated spaces Humanoids are the worst – 25+ dimensional spaces on the lower end. To find paths in these spaces, we use sampling, typically random. Build graphs by Sampling a point in the space Making sure it isn’t in collision. Connecting it to other points that are “nearby.” Then we can query the graph to get paths between points.

Sampling Based Planning: PRM

The Paper Implements sampling-based planning (PRM) on a GPU. Not very helpful Unless you’ve read their other papers and are comfortable with motion planning basics. Several helpful GPU algorithms PRNG Collision Testing kNN Lazy-evaluation parallel graph search

For Completeness…

Random Number Generators Don’t typically parallelize well. So we use a cryptographic hash functions. In particular, MD5… Operates on 128-bit state, broken into 32-bit words A, B, C, D. Message is processed in 512 bit blocks at a time. Each round is composed of 16 operations based on a nonlinear function, modular addition, and rotation. Lots of “magic” numbers.

MD5

Goal: Avalanche Effect Small changes in input lead to large changes in output. Result looks “random.”

Avalanche Effect

MD5 for PRNG The paper, by Stanley Tzeng and Li-Yi Wei Parallel White Noise Generation on a GPU via Cryptographic Hash

The Idea Take some input data Compute the cryptographic hash of the input. Exploit the “randomness” properties of the result of the hash. But there’s a lot of “cheating” in the paper. This may be exceptionally bad…

For Example

Collision Testing Basic Idea: Each thread handles its own collision. Some ideas for parallel generation of boundary-volume hierarchies.

Nearest Neighbors Given a (typically finite) metric space and a point in that space. Goal: find the k nearest points in the space.

Nearest Neighbors

Parallelizable via… Clever hashing tricks. In one of the referenced papers.

Results: The Problems

Results: Data (vs. Kostas’s System)

Questions from the Field What about higher-dimensional spaces? Paper only talks about 3- and 6-DOF systems. (Question I always ask) What about real robots? What about dynamic environments? What about non-holonomic systems? Cars, planes, boats, etc. These are all opportunities for future research. Probably a lot of low-hanging fruit…

Questions from “the Rest of the World” Can I use this? Kinda a “is motion planning useful?” question. Answer is probably yes. What about this randomness stuff? Does it really work? How will it work for application X? Probably a lot of room for future research… What about the geometry? Probably useful, but you won’t get anything from this paper…

Questions?