Lecture 2: Details of Student Projects Software Workshop: High-Quality Motion Planning for Robots (and Other Creatures) Barak Raveh, School of CS, Tel-Aviv University barak@post.tau.ac.il Reminder: Course Web-Site http://acg.cs.tau.ac.il/courses/workshop/spring-2010/high-quality-motion-planning-for-robots Today • (Very) basic introduction to the PRM motion planning algorithm – more – next week • Project details – We give only initial details today • Choose by what sounds interesting to you • After you choose, we will help you learn specific details for your own project • You also have the option to suggest your own projects The Motion Planning Problem Planning the motion of a k-dimensional robot (or a moving object) among obstacles Complexity: P-Space hard source with respect to number of robot degrees of freedom (Reif, 79’) target The world Workspace cluttered with obstacles Robot configuration Defined by k degrees of freedom Motion Query From source configuration to target configuration Workspace A description of the (2D or 3D) real world Configuration Space ( Workspace) The space of parameters that define the robot location and orientation in the workspace Visualizing the Configuration Space free space Robot configuration parameter #2 Specific configuration forbidden space Robot configuration parameter #1 Based on a slide from http://ai.stanford.edu/~latombe/projects/prm-strategies.ppt Reminder: Deterministic Translation among 2D Polygons Workspace Configuration space •The obstacles are dilated (“inflated”) by the shape of the robot using a procedure called Minkowski Sum •The robot is reduced to a point Example with 10 DoFs is Much Harder (DoFs = Degrees of Freedom) Taken from Choset et al., Principles of Robot Motion, Chapter 7 Some Examples for Problems with Many Degrees of Freedom • • • • Articulated robots (humanoids, industrial robot arms) Multiple robots Molecules Etc. Resi Resi+1 Resi+2 O C N C N C’ O C C Resi+3 O C C’ N C C’ O N C’ C C Taken from Choset et al., Principles of Robot Motion, Chapter 7 Sampling-based Approach • Try to map the configuration space by (somehow) sampling different robot configurations • Easy to implement (provided you have a good static collision detector) • Extended the applicability of motion planning: animation, docking motions, virtual prototyping, more Sampling-based “Roadmap” Algorithms for High-Dimensional Motion Planning •Probabilistic Roadmap (PRM, Kavraki et al., 96’) •Expansive-Space Trees (EST, Hsu et al. 99’) •Rapidly-exploring Random Trees (RRT, LaValle and Kuffner, 01’) •Single-query, Bidirectional and Lazy collision checkes (SBL, Sànches and Latombe, 02’) Basic PRM algorithm in a Nutshell (Probabilistic Road-Map) Example in Two-Dimensions • Randomly sample n valid robot configurations (“milestones”) • Connect close-by configurations by dense sampling (“local-planning”) •Discard invalid edges Note: For simplicity, configuration space and workspace are identical, in this example OOPSMP – Sampling-based Motion Planning Package in C++ • http://www.kavrakilab.org/OOPSMP/ • Implementation of many popular planning algorithms • Local planners, distance functions, graph data structures, collision detection • Built-in Plug-in to Google Sketch-up (User Interface) • More details – in two weeks More Theory • Next Week Suggested Projects OOPSMP Software Packages: Project 1: High-quality motion planning and path hybridization Project 2: From virtual to physical motion (Lego NXT) Project 3: Using a smart hierarchy to move articulated robots CGAL Project: Project 4: High precision, high quality motion of multiple robots Suggested Projects Bioinformatics: Project 5: Enzymes, motion planning and Normal Model Analysis Project 6: Undocking of flexible peptides from immune system receptors Project Milestones (I) [I] March 17th, 2010: Submit (by mail) a short description of the selected project (title + one or two paragraphs with the basic details) [II] April 12th, 2010: Submit (by mail) a detailed draft for the project and the working plan (~3 pages document, details on course homepage) Project Milestones (II) [III] May 26th, 2010: • Testing the project basic infrastructure: The students will be required to show that the basic technical infrastructure of the project works (e.g. tools or programming libraries that need to be installed, etc.). • Presenting the project plan in class (this is the deadline for changing your plans). • Submit corrected, final working plan Project Milestones (III) [IV] August 11th, 2009 Basic prototype: At this point in time, we will want to see your initial development, in order to make sure you are working in the right direction. You will show us a basic prototype of the project. The prototype is a relatively small part of the project (not fully functional), but it should give a very good feeling of where you're heading. [V] Final Project and Presentations Meeting • By the end of the summer (September 9th, 2010) – Strict deadline – plan ahead. • The final project should include: – User Interface – A fully functional code – Documentation (code comments, user guide, developer guide) – Presentation – Your project will be tested against a set of problems that you will design in advance Team Work • Two or three student • Should be fun • Balanced Work Partition – Everybody must be involved in the coding – Everybody must know the full details of the project for the final submission – In extreme cases, we might give different grades to different team member User Interface • All projects are required to have a friendly user interface • We will give you some tips in the last lecture Test Cases • Each team will be responsible for creating (at least) 3 test cases for their project – Basic test: an easy test to demonstrate the capabilities of your project – Medium test: a challenging case, that you are still able to deal with – Hard test: a test that fails your project on purpose, so we can learn about future directions. Example Project From Last Year “Non-Holonomic Motion Planner” Suggested Projects OOPSMP Software Packages: Project 1: High-quality motion planning and path hybridization Project 2: From virtual to physical motion (Lego NXT) Project 3: Using a smart hierarchy to move 3D snake robots CGAL Project: Project 4: High Precision, High Quality Motion of Multiple Robots Project 1: High-quality motion planning and path hybridization • The goal is to create a package of tools for constructing high quality motion paths, based on paths that OOPSMP currently generates. • Requirements: – Computational Speed (be able to work on multiple robots in 3D) – Many options for path quality (not only length and clearance – be creative) – Use / develop nice algorithms (we can help) Path Quality: Some Analytical Solutions for Translation in 2D http://www.sfbtr8.unibremen.de/project/r3/HGVG/hierarchicalVGraphs.html Shortest path: the Visibility graph High clearance: the Generalized-Voronoi Diagram (GVD) Mixed: the Visibility-Voronoi Diagram (Wein et al., 2007) See also in: http://cse.stanford.edu/class/sophomore-college/projects-98/robotics/basicmotion.html Randomly Generated Motion Path 3 Randomly Generated Motion Paths: Hybridizing Three Random Motion Paths π1 π2 π3 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1. 2 1 1 1.5 1 1 Project 2: From virtual to physical motion with Lego Mindstorms NXT robot • Sampling-based algorithms produce virtual motion paths • It is not trivial to make a robot follow these paths • You will develop a package in OOPSMP for transforming virtual paths to a realistic sequence of controls that will move a Lego NXT robot Project 2: From virtual to physical motion with Lego Mindstorms NXT robot • Requirements: – – – – Computational speed Accurate motion Usage of robot sensors Friendly User Interface • Optional additions: – High-quality paths – Performing specific tasks (fetching a ball) Select Examples of Lego Mindstorms NXT Robots • • • • • • • • • קוביה הונגרית http://www.youtube.com/watch?v=3QOvEG27Gt4 מפרקית-מכונית דו http://www.youtube.com/watch?v=oXUtzuQNUks תנועה הולונומית http://www.youtube.com/watch?v=m9oioAL4fxc more details כדורגל http://www.youtube.com/watch?v=zrjNvU3ap8w טיפוס מדרגות http://www.youtube.com/watch?v=t_sxkDS_pno ערבוב חפיסת קלפים http://www.youtube.com/watch?v=-2-otVNIYfo רובוט הולך http://www.youtube.com/watch?v=T6tAubwJLfI חיקוי הליכה של כלב טרייר http://www.youtube.com/watch?v=CklvLnjANHM גיטרה חשמלית http://www.youtube.com/watch?v=a-gcrhmxcKY&feature=related Project 3: Snake Robots with Smart Data Structures • You will be required to create a package for motion-planning of 3D snake robots in OOPSMP • You can rely on existing motion-planning algorithms in OOPSMP • The main challenge: representing 3D snake robots in a smart, hierarchical manner Snakes are Articulated Robots: Rigid Links and Joints http://www.youtube.com/watch?v=GOSK4lVRTFw Rigid Links Connected with Joints Example: 2D Snake • Each rigid link is connected to the previous link by a linear transformation (rotation + translation) 3D Articulated Robot Your Challenge • Use the chain tree to “freeze” part of a snake at different steps of the motion planning Suggested Projects OOPSMP Software Packages: Project 1: High-quality motion planning and path hybridization Project 2: From virtual to physical motion (Lego NXT) Project 3: Using a smart hierarchy to move articulated robots CGAL Project: Project 4: High Precision, High Quality Motion of Multiple Robots Project 4: High-Precision, High-Quality Motion • Coordination of multiple robots in polygonal environments • Develop an algorithm that combines analytical and sampling-based methods in a clever way Bioinformatics Projects Project 5: Enzymes, motion planning and Normal Model Analysis Project 6: Undocking of flexible peptides from immune system receptors Protein Motion • Protein motion is prevalent and often crucial for protein function ✘ Experimental methods that sample motion at high resolution are still under development (e.g. nanolabeling with gold particles; FRET, NMR spectroscopy, etc) ➤ Need for computational methods. Adapted from http://vertrees.org/ by Jason Vertrees Motion Planning Techniques – From Robots to Molecules Given a robot with k degrees of freedom, in an environment with obstacles, find a collision free path from an initial state Obstacle 2 Obstacle 3 Obstacle 1 •Robot peptide chain •Obstacles steric clashes between atoms •Collision-free path a lowenergy motion pathway, free of steric clashes DOFs vector Sampling Motion Paths in the Energy Landscape Folding Conformational Changes Boehr & Wright, Science 2008 Goal: an Obstacle-Free (Clash-Free) Pathway Conformational space High energy barriers Cfeasible – plausible conformations Cforbid – high energy conformations Feasible and Forbidden Space Conformational space Cforbid = Energy > Threshold e.g., conformations with steric clashes or conformations with poor solvation Cfeasible = Energy < Threshold e.g., clash-free conformations Cforbid Cfeasible Project 5: Normal Mode Analysis, Motion Planning and Enzymes • Typical Proteins – Over 200 degrees of freedom • 200 dimensional configuration space! • Example – Adenylate Kinase An enzyme that catalyzes the reaction 2ADP AMP + ATP http://www.molmovdb.org/cgi-bin/morph.cgi?ID=498099-12557 Normal Mode Analysis: Proteins as a System of Springs Normal Mode Analysis can be used to reduce the dimensionality of Motion Planning Project Requirements • You will use Normal Mode Analysis together with motion planning, to simulate conformational changes of enzymes between active and inactive states • You will use Rosetta PathRover – a tool we wrote for motion planning of molecules – Rosetta is a huge worldwide effort, see: http://www.molmovdb.org/cgi-bin/morph.cgi?ID=498099-12557 Project 6: Undocking a Peptide from MHC Immune System Receptors MHC molecule