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
[email protected]
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