25
16-350 Planning Techniques for Robotics Planning Representations: Probabilistic Roadmaps for Continuous Spaces Maxim Likhachev Robotics Institute Carnegie Mellon University

16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

16-350

Planning Techniques for Robotics

Planning Representations:

Probabilistic Roadmaps for Continuous Spaces

Maxim Likhachev

Robotics Institute

Carnegie Mellon University

Page 2: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 2

Example

• Planning for manipulation

Page 3: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 3

Example

• Planning for manipulation

Page 4: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 4

Example

• Planning for manipulation

– robot state is defined by joint angles Q = {q1,…,q6}

– need to find a (least-cost) motion that connects Qstart to Qgoal

Constraints?

Page 5: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 5

Example

• Planning for manipulation

– robot state is defined by joint angles Q = {q1,…,q6}

– need to find a (least-cost) motion that connects Qstart to Qgoal

– Constraints:

• All joint angles should be within corresponding joint limits

• No collisions with obstacles and no self-collisions

Page 6: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 6

Example

• Planning for manipulation

– robot state is defined by joint angles Q = {q1,…,q6}

– need to find a (least-cost) motion that connects Qstart to Qgoal

– Constraints:

• All joint angles should be within corresponding joint limits

• No collisions with obstacles and no self-collisions

Can we use a grid-based

representation for planning?

Page 7: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 7

Resolution Complete vs. Sampling-based Planning

• Resolution complete planning (e.g. Grid-based):– generate a systematic (uniform) representation (graph) of a free C-space (Cfree)

– search the generated representation for a solution guaranteeing to find it if one

exists (completeness)

– can interleave the construction of the representation with the search (i.e.,

construct only what is necessary)

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Page 8: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 8

Resolution Complete vs. Sampling-based Planning

• Resolution complete planning (e.g. Grid-based):

– complete and provide sub-optimality bounds on the solution

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Great. Any issues?

Page 9: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 9

Resolution Complete vs. Sampling-based Planning

• Resolution complete planning (e.g. Grid-based):

– complete and provide sub-optimality bounds on the solution

– can get computationally very expensive, especially in high-D

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Estimate # of states

for 6DOF arm on the board

Page 10: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 10

Resolution Complete vs. Sampling-based Planning

• Sampling-based planning:

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Main observation:

The space is continuous and rather benign!

Page 11: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 11

Resolution Complete vs. Sampling-based Planning

• Sampling-based planning:– generate a sparse (sample-based) representation (graph) of a free C-space (Cfree)

– search the generated representation for a solution

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Page 12: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 12

Resolution Complete vs. Sampling-based Planning

• Sampling-based planning:

– provide probabilistic completeness guarantees

• guaranteed to find a solution, if one exists, but only in the limit of the number

of samples (that is, only as the number of samples approaches infinity)

– well-suited for high-dimensional planning

the example above is borrowed from “AI: A Modern Approach” by S. RusselL & P. Norvig

Page 13: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 13

Main Questions in Sampling-based Planning

• How to select samples to construct a “good” graph

• How to search the graph

• Can we interleave these steps

Page 14: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 14

Probabilistic Roadmaps (PRMs)

Step 1. Preprocessing Phase: Build a roadmap (graph) G which,

hopefully, should be accessible from any point in Cfree

Step 2. Query Phase: Given a start configuration qI and goal

configuration qG, connect them to the roadmap G using a local planner,

and then search the augmented roadmap for a shortest path from qI to

qG

Page 15: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 15

Probabilistic Roadmaps (PRMs)

Step 1. Preprocessing Phase: Build a roadmap (graph) G which,

hopefully, should be accessible from any point in Cfree

Step 2. Query Phase: Given a start configuration qI and goal

configuration qG, connect them to the roadmap G using a local planner,

and then search the augmented roadmap for a shortest path from qI to

qG Any ideas for the local planner?

Page 16: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 16

Probabilistic Roadmaps (PRMs)

Step 1. Preprocessing Phase: Build a roadmap (graph) G which,

hopefully, should be accessible from any point in Cfree

Step 2. Query Phase: Given a start configuration qI and goal

configuration qG, connect them to the roadmap G using a local planner,

and then search the augmented roadmap for a shortest path from qI to

qG Any ideas for the local planner?

Can be as simple as a straight line (interpolation)

connecting start (or goal) configuration

to the nearest vertex in the roadmap

Page 17: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 17

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

Page 18: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 18

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

new ith configuration sample

α(i) is an ith sample in the configuration space.

Each sample can be drawn uniformly

(or more intelligently as described later)

Page 19: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 19

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

some region around

the configuration sample

can be connected

by a local planner

Page 20: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 20

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

can be replaced with:

“number of successors of q < K”

Page 21: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 21

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

Efficient implementation of q Є NEIGHBORHOOD(α(i),G)

- select K vertices closest to α(i)

- select K (often just 1) closest points from each of the components in G

- select all vertices within radius r from α(i)

Page 22: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 22

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

Sampling strategies

- sample uniformly from Cfree

Why do we need anything better

than uniform sampling?

Page 23: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 23

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

Sampling strategies

- sample uniformly from Cfree

- select at random an existing vertex with a probability distribution inversely

proportional to how well-connected a vertex is, and then generate a random motion

from it to get a sample α(i)

- bias sampling towards obstacle boundaries

Page 24: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

Carnegie Mellon University 24

Probabilistic Roadmaps (PRMs)

Step 1: Preprocessing Phase.

borrowed from“Planning Algorithms” by S. LaValle

Sampling strategies

- sample q1 and q2 from Gaussian around q1 and if either is in Cobs, then the

other one is set as α(i)

- sample q1, q2 , q3 from Gaussian around q2 and set q2 as α(i) if q2 is in Cfree,

and q1 and q3 are in Cobs

- bias sampling away from obstacles

Page 25: 16-350 Planning Techniques for Robotics Planning ...maxim/classes/robotplanning/...Step 1. Preprocessing Phase: Build a roadmap (graph) Gwhich, hopefully, should be accessible from

• Pros and cons of resolution-complete (grid-based and

lattice-based graph search-based) methods for high-D

planning

• Configuration spaces for manipulators

• Operation of PRM and its variants

• Theoretical properties of PRM

• Pros and cons of PRM

What You Should Know…

Carnegie Mellon University 25