# Theory of Sampling-Based Motion Planning

January 25, 2018 | Author: Anonymous | Category: Science, Health Science, Immunology

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

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

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