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]

Lecture 2: Details of Student Projects Software Workshop: High-Quality Motion Planning for Robots (and Other Creatures) Barak Raveh, School of CS, Tel-Aviv

Embed Size (px)

Citation preview

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]

Reminder: Course Web-Sitehttp://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

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

WorkspaceA 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

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

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

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

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

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

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

Randomly Generated Motion Path

3 Randomly Generated Motion Paths:

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

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

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

Sampling Motion Paths in the Energy Landscape

Folding

Conformational Changes

Boehr & Wright, Science 2008

High energy barriers

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

Conformational space

Cfeasible – plausible

conformations

Cforbid – high energy

conformations

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

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

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