# Theory of Sampling-Based Motion Planning

```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
• 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
High-Dimensional Motion Planning
(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&agrave;nches and Latombe, 02’)
Basic PRM algorithm in a Nutshell
Example in Two-Dimensions
• Randomly sample n valid robot
configurations (“milestones”)
• Connect close-by configurations by dense
sampling (“local-planning”)
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
• 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)
• 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
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
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
– 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)
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
– High-quality paths
– Performing specific tasks (fetching a ball)
Select Examples of Lego
Mindstorms NXT Robots
•
•
•
•
•
•
•
•
•
‫קוביה הונגרית‬
‫מפרקית‬-‫מכונית דו‬
‫תנועה הולונומית‬
‫כדורגל‬
‫טיפוס מדרגות‬
‫ערבוב חפיסת קלפים‬
‫רובוט הולך‬
‫חיקוי הליכה של כלב טרייר‬
‫גיטרה חשמלית‬
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
with Joints
Example: 2D Snake
• Each rigid link is connected to the previous
link by a linear transformation (rotation +
translation)
3D Articulated Robot
• 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 &amp; 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 &gt; Threshold
e.g., conformations with steric clashes
or conformations with poor solvation
Cfeasible =
Energy &lt;
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!
An enzyme that catalyzes the reaction
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
```