Probabilistic roadmaps (PRMs) How do you plan in high dimensional - - PowerPoint PPT Presentation

probabilistic roadmaps prms
SMART_READER_LITE
LIVE PREVIEW

Probabilistic roadmaps (PRMs) How do you plan in high dimensional - - PowerPoint PPT Presentation

Probabilistic roadmaps (PRMs) How do you plan in high dimensional state spaces? Problem we want to solve Given: a point-robot (robot is a point in space) a start and goal configuration Find: path from start to goal that does not


slide-1
SLIDE 1

How do you plan in high dimensional state spaces?

Probabilistic roadmaps (PRMs)

slide-2
SLIDE 2

Problem we want to solve

Starting configuration Goal configuration Given: – a point-robot (robot is a point in space) – a start and goal configuration Find: – path from start to goal that does not result in a collision

slide-3
SLIDE 3

Problem we want to solve

Given: – a point-robot (robot is a point in space) – a start and goal configuration Find: – path from start to goal that does not result in a collision Assumptions: – the position of the robot can always be measured perfectly – the motion of the robot can always be controlled perfectly – the robot can move in any directly instantaneously

For example: think about a robot workcell in a factory...

slide-4
SLIDE 4

4

Probabilistic roadmaps (PRMs)

PRMs are specifically designed for high-dimensional configuration spaces – such as the c-space of a robot arm Problem: robot arm configuration spaces are typically high dimensional – for example, imagine using the wavefront planner to solve a problem w/ a 10-joint arm – several variants of the path planning problem have been proven to be PSPACE-hard.

slide-5
SLIDE 5

5

Probabilistic roadmaps (PRMs)

PRMs are specifically designed for high-dimensional configuration spaces – such as the c-space of a robot arm General idea: – create a randomized algorithm that will find a solution quickly in many cases – eventually, the algorithm will be guaranteed to find a solution if one exists with probability one

slide-6
SLIDE 6

6

Probabilistic roadmaps (PRMs)

PRMs are specifically designed for high-dimensional configuration spaces – such as the c-space of a robot arm General idea: – create a randomized algorithm that will find a solution quickly in many cases – but, eventually, the algorithm will be guaranteed to find a solution if one exists with probability one

With probability one --> “Almost surely” – the probably of an event NOT happening approaches zero as the algorithm continues to run Example: an infinite sequence of coin flips contains at least one tail almost surely.

slide-7
SLIDE 7

7

Probabilistic roadmaps (PRMs)

PRMs are specifically designed for high-dimensional configuration spaces – such as the c-space of a robot arm General idea: – create a randomized algorithm that will find a solution quickly in many cases – but, eventually, the algorithm will be guaranteed to find a solution if one exists with probability one

“Almost surely” – the probably of an event NOT happening approaches zero as the algorithm continues to run Example: an infinite sequence of coin flips contains at least one tail almost surely. Infinite monkey theorem: A monkey typing keys randomly on a keyboard will produce any given text (the works of William Shakespeare) almost surely

slide-8
SLIDE 8

8

Probabilistic Roadmap (PRM): multiple queries

free space

[Kavraki, Svetska, Latombe,Overmars, 96]

local path milestone

slide-9
SLIDE 9

9

Probabilistic Roadmap (PRM): single query

slide-10
SLIDE 10

NUS CS 5247 David Hsu

Multiple-Query PRM Multiple-Query PRM

slide-11
SLIDE 11

11

Classic multiple-query PRM

  • Probabilistic Roadmaps for Path Planning in High-

Dimensional Configuration Spaces, L. Kavraki et al., 1996.

slide-12
SLIDE 12

12

Assumptions

  • Static obstacles
  • Many queries to be processed in the same

environment

  • Examples

– Navigation in static virtual environments – Robot manipulator arm in a workcell

slide-13
SLIDE 13

13

Overview

  • Precomputation: roadmap construction

– Uniform sampling – Resampling (expansion)

  • Query processing
slide-14
SLIDE 14

14

Uniform sampling

Input: geometry of the robot & obstacles Output: roadmap G = (V, E) 1: V ← ∅ and E ← ∅.

2: repeat

3: q ← a configuration sampled uniformly at random from C.

4: if CLEAR(q)then

5: Add q to V. 6: Nq ← a set of nodes in V that are close to q. 6: for each q’∈ Nq, in order of increasing d(q,q’) 7: if LINK(q’,q)then 8: Add an edge between q and q’ to E.

slide-15
SLIDE 15

15

Some terminology

  • The graph G is called a probabilistic

roadmap.

  • The nodes in G are called milestones.
slide-16
SLIDE 16

16

Query processing

  • Connect qinit and qgoal to the roadmap
  • Start at qinit and qgoal, perform a random

walk, and try to connect with one of the milestones nearby

  • Try multiple times
slide-17
SLIDE 17

17

Error

  • If a path is returned, the answer is always

correct.

  • If no path is found, the answer may or may

not be correct. We hope it is correct with high probability.

slide-18
SLIDE 18

18 Theorem (Kavraki et al 1998):

If a path planning problem is feasible, then there exist constants n_0 and a>0, such that: where n>n_0 is the number of samples

Probabilistic completeness of PRM

slide-19
SLIDE 19

19

Why does it work? Intuition

  • A small number of milestones almost

“cover” the entire configuration space.

slide-20
SLIDE 20

20

Difficulty

  • Many small connected components
slide-21
SLIDE 21

21

Resampling (expansion)

  • Failure rate
  • Weight
  • Resampling probability

r(q)=no. failed LINK

  • no. LINK

w(q)= r(q)

∑p r (p)

Pr(q)=w(q)

slide-22
SLIDE 22

22

Resampling (expansion)

slide-23
SLIDE 23

23

Resampling (expansion)

Once a node is selected to be expanded:

  • 1. Pick a random motion direction in c-space and move in this direction

until an obstacle is hit.

  • 2. When a collision occurs, choose a new random direction and proceed for

some distance.

  • 3. Add the resulting nodes and edges to the tree. Re-run tree connection

step.

slide-24
SLIDE 24

24

So far, we have only discussed uniform sampling... Problem: uniform sampling is not a great way to find paths through narrow passageways.

start goal C-obst C-obst C-obst C-obst

PRM Roadmap

Gaussian sampler

slide-25
SLIDE 25

25

Gaussian sampler

Gaussian sampler: – Sample points uniformly at random (as before) – For each sampled point, sample a second point from a Gaussian distribution centered at the first sampled point – Discard the first sample if both samples are either free or in collision – Keep the fist sample if the two samples are NOT both free or both in collision (that is, keep the sample if the free/collision status of the second sample is different from the first).

slide-26
SLIDE 26

26

Gaussian sampler

Probability of sampling a point under the Gaussian sampler as a function of distance from a c-space obstacle Example of samples drawn from Gaussian sampler

slide-27
SLIDE 27

NUS CS 5247 David Hsu

Single-Query PRM Single-Query PRM

slide-28
SLIDE 28

28

Lazy PRM

  • Path Planning Using Lazy PRM, R. Bohlin & L. Kavraki,

2000.

slide-29
SLIDE 29

29

Precomputation: roadmap construction

  • Nodes

– Randomly chosen configurations, which may

  • r may not be collision-free

– No call to CLEAR

  • Edges

– an edge between two nodes if the corresponding configurations are close according to a suitable metric – no call to LINK

slide-30
SLIDE 30

30

Query processing: overview

  • 1. Find a shortest path in the roadmap
  • 2. Check whether the nodes and edges in

the path are collision.

  • 3. If yes, then done. Otherwise, remove the

nodes or edges in violation. Go to (1).

We either find a collision-free path, or exhaust all paths in the roadmap and declare failure.

slide-31
SLIDE 31

31

Query processing: details

  • Find the shortest path in the roadmap

– A* algorithm – Dijkstra’s algorithm (uniform cost search)

  • Check whether nodes and edges are

collisions free

– CLEAR(q) – LINK(q0, q1)

slide-32
SLIDE 32

32

Smoothing the path

slide-33
SLIDE 33

33

Smoothing the path

slide-34
SLIDE 34

34

Smoothing the path

slide-35
SLIDE 35

35

Smoothing the path

slide-36
SLIDE 36

36

Smoothing the path

slide-37
SLIDE 37

37

Smoothing the path

slide-38
SLIDE 38

38

Smoothing the path

slide-39
SLIDE 39

39

Smoothing the path

slide-40
SLIDE 40

40

Smoothing the path

slide-41
SLIDE 41

41

Smoothing the path

slide-42
SLIDE 42

42

Smoothing the path

slide-43
SLIDE 43

43

Smoothing the path