530 likes | 661 Views
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.
E N D
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
source ? target The Motion Planning Problem Planning the motion of a k-dimensional robot (or a moving object) among obstacles The world Workspace cluttered with obstacles Complexity: P-Space hard with respect to number of robot degrees of freedom (Reif, 79’) 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 Specific configuration Robot configuration parameter #2 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. 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, 2009Basic 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.uni-bremen.de/project/r3/HGVG/hierarchicalVGraphs.html 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
π1 π2 π3 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1.2 1 1 1 1.5 1 1 1 Hybridizing Three Random Motion Paths
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=m9oioAL4fxcmore 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
Example: 2D Snake • Each rigid link is connected to the previous link by a linear transformation (rotation + translation)
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
Adapted from http://vertrees.org/ by Jason Vertrees 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.
Obstacle 2 Obstacle 3 Obstacle 1 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 • Robotpeptide chain • Obstaclessteric clashes between atoms • Collision-free path a low-energy 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 – plausibleconformations Cforbid – high energy conformations
Conformational space Cfeasible = Energy < Threshold e.g., clash-free conformations Cforbid = Energy > Threshold e.g., conformations with steric clashes or conformations with poor solvation Feasible and Forbidden Space 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 reaction2ADP 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