Lecture 2: Details of Student Projects

53
Lecture 2: Lecture 2: Details of Student Projects 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]

description

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. - PowerPoint PPT Presentation

Transcript of Lecture 2: Details of Student Projects

Page 1: Lecture 2:  Details of Student Projects

Lecture 2: Lecture 2: Details of Student ProjectsDetails of Student Projects

Software Workshop:High-Quality Motion Planning for Robots (and Other Creatures)

Barak Raveh, School of CS, Tel-Aviv University

[email protected]

Page 2: Lecture 2:  Details of Student Projects

Reminder: Course Web-Sitehttp://acg.cs.tau.ac.il/courses/workshop/spring-2010/high-quality-motion-planning-for-

robots

Page 3: Lecture 2:  Details of Student Projects

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

Page 4: Lecture 2:  Details of Student Projects

The Motion Planning Problem

The world Workspace cluttered

with obstacles

Planning the motion of a k-dimensional robot (or a moving object) among obstacles

Robot configuration

Defined by k degrees of freedom

Motion QueryFrom source

configuration to target configuration

?

source

target

Complexity: P-Space hard with respect to number of robot degrees of freedom (Reif, 79’)

Page 5: Lecture 2:  Details of Student Projects

WorkspaceA description of the (2D or 3D) real world

Page 6: Lecture 2:  Details of Student Projects

Configuration Space ( Workspace)

The space of parameters that define the robot location and orientation in the workspace

Page 7: Lecture 2:  Details of Student Projects

free space

forbidden space

Visualizing the Configuration Visualizing the Configuration SpaceSpace

Specific configuration

Based on a slide from http://ai.stanford.edu/~latombe/projects/prm-strategies.ppt

Robot configuration parameter #1

Ro

bo

t c

on

fig

ura

tio

n p

ara

me

ter

#2

Page 8: Lecture 2:  Details of Student Projects

Reminder: Deterministic Translation among 2D Polygons

•The obstacles are dilated (“inflated”) by the shape of the robot using a procedure called Minkowski Sum•The robot is reduced to a point

Workspace Configuration space

Page 9: Lecture 2:  Details of Student Projects

Example with 10 DoFs is Much Harder

(DoFs = Degrees of Freedom)

Taken from Choset et al., Principles of Robot Motion, Chapter 7

Page 10: Lecture 2:  Details of Student Projects

Some Examples for Problems with Many Degrees of Freedom

Taken from Choset et al., Principles of Robot Motion, Chapter 7

• Articulated robots (humanoids, industrial robot arms)• Multiple robots• Molecules• Etc.

NN

NN

C’

C’

C’

C’

O

O O

O

C

C

C

C

C

C C

C

Resi Resi+1 Resi+2 Resi+3

Page 11: Lecture 2:  Details of Student Projects

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

Page 12: Lecture 2:  Details of Student Projects

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’)

Page 13: Lecture 2:  Details of Student Projects

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

Page 14: Lecture 2:  Details of Student Projects

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

Page 15: Lecture 2:  Details of Student Projects

More Theory

• Next Week

Page 16: Lecture 2:  Details of Student Projects

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

Page 17: Lecture 2:  Details of Student Projects

Suggested Projects

Bioinformatics:

Project 5: Enzymes, motion planning and Normal Model Analysis

Project 6: Undocking of flexible peptides from immune system receptors

Page 18: Lecture 2:  Details of Student Projects

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)

Page 19: Lecture 2:  Details of Student Projects

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

Page 20: Lecture 2:  Details of Student Projects

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.

Page 21: Lecture 2:  Details of Student Projects

[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

Page 22: Lecture 2:  Details of Student Projects

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

Page 23: Lecture 2:  Details of Student Projects

User Interface

• All projects are required to have a friendly user interface

• We will give you some tips in the last lecture

Page 24: Lecture 2:  Details of Student Projects

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.

Page 25: Lecture 2:  Details of Student Projects

Example Project From Last Year

“Non-Holonomic Motion Planner”

Page 26: Lecture 2:  Details of Student Projects

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

Page 27: Lecture 2:  Details of Student Projects

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)

Page 28: Lecture 2:  Details of Student Projects

Path Quality: Some Analytical Solutions for Translation in 2D

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

http://www.sfbtr8.uni-bremen.de/project/r3/HGVG/hierarchicalVGraphs.html

Page 29: Lecture 2:  Details of Student Projects

Randomly Generated Motion Path

Page 30: Lecture 2:  Details of Student Projects

3 Randomly Generated Motion Paths:

Page 31: Lecture 2:  Details of Student Projects

Hybridizing Three Random Motion Paths

π1 π2 π3

22 1

1

1

1

1

1

1.5

1

1

1

1

1

1

1.2

1

1

1

1

1

1

Page 32: Lecture 2:  Details of Student Projects

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

Page 33: Lecture 2:  Details of Student Projects

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)

Page 34: Lecture 2:  Details of Student Projects

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

Page 35: Lecture 2:  Details of Student Projects

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

Page 36: Lecture 2:  Details of Student Projects

Snakes are Articulated Robots: Rigid Links and

Joints

http://www.youtube.com/watch?v=GOSK4lVRTFw

Page 37: Lecture 2:  Details of Student Projects

Rigid Links Connected with

Joints

Page 38: Lecture 2:  Details of Student Projects

Example: 2D Snake

• Each rigid link is connected to the previous link by a linear transformation (rotation + translation)

Page 39: Lecture 2:  Details of Student Projects

3D Articulated Robot

Page 40: Lecture 2:  Details of Student Projects

Your Challenge

• Use the chain tree to “freeze” part of a snake at different steps of the motion planning

Page 41: Lecture 2:  Details of Student Projects

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

Page 42: Lecture 2:  Details of Student Projects

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

Page 43: Lecture 2:  Details of Student Projects

Bioinformatics Projects

Project 5: Enzymes, motion planning and Normal Model Analysis

Project 6: Undocking of flexible peptides from immune system receptors

Page 44: Lecture 2:  Details of Student Projects

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 VertreesAdapted from http://vertrees.org/ by Jason Vertrees

Page 45: Lecture 2:  Details of Student Projects

Motion Planning Techniques –

From Robots to MoleculesGiven a robot with k degrees of freedom, in an environment with obstacles, find a collision free path from an initial state Obstacle 1

Obstacle 2

Obstacle 3

•Robot peptide chain

•Obstacles steric clashes between atoms

•Collision-free path a low-energy motion pathway, free of steric clashes

DOFs vector

Page 46: Lecture 2:  Details of Student Projects

Sampling Motion Paths in the Energy Landscape

Folding

Conformational Changes

Boehr & Wright, Science 2008

Page 47: Lecture 2:  Details of Student Projects

High energy barriers

Goal: an Obstacle-Free (Clash-Free) Pathway

Conformational space

Cfeasible – plausible

conformations

Cforbid – high energy

conformations

Page 48: Lecture 2:  Details of Student Projects

Conformational space

Feasible and Forbidden Space

Cforbid = Energy > Threshold

e.g., conformations with steric clashes or conformations with poor solvation

Cfeasible = Energy < Threshold

e.g., clash-free conformations

CCfeasiblefeasible

CCforbidforbid

Page 49: Lecture 2:  Details of Student Projects

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

Page 50: Lecture 2:  Details of Student Projects

Normal Mode Analysis: Proteins as a System of Springs

Normal Mode Analysis can be used to reduce the dimensionality of Motion Planning

Page 51: Lecture 2:  Details of Student Projects

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

Page 52: Lecture 2:  Details of Student Projects

Project 6: Undocking a Peptide from MHC Immune System

Receptors

Page 53: Lecture 2:  Details of Student Projects

MHC molecule