Last lecture Configuration Space Free-Space and C-Space Obstacles - - PowerPoint PPT Presentation

last lecture
SMART_READER_LITE
LIVE PREVIEW

Last lecture Configuration Space Free-Space and C-Space Obstacles - - PowerPoint PPT Presentation

Last lecture Configuration Space Free-Space and C-Space Obstacles Minkowski Sums 1 Free-Space and C-Space Obstacle How do we know whether a configuration is in the free space? Computing an explicit representation of the free-


slide-1
SLIDE 1

1

Last lecture

 Configuration Space  Free-Space and C-Space Obstacles  Minkowski Sums

slide-2
SLIDE 2

2

Free-Space and C-Space Obstacle

 How do we know whether a configuration is in

the free space?

 Computing an explicit representation of the free-

space is very hard in practice?

slide-3
SLIDE 3

3

Free-Space and C-Space Obstacle

 How do we know whether a configuration is in the free

space?

 Computing an explicit representation of the free-space is

very hard in practice?

 Solution: Compute the position of the robot at that

configuration in the workspace. Explicitly check for collisions with any obstacle at that position:

 If colliding, the configuration is within C-space obstacle  Otherwise, it is in the free space

 Performing collision checks is relative simple

slide-4
SLIDE 4

4

Two geometric primitives in configuration space

 CLEAR(q)

Is configuration q collision free

  • r not?

 LINK(q, q’)

Is the straight-line path between q and q’ collision-

free?

slide-5
SLIDE 5

NUS CS 5247 David Hsu

Probabilistic Roadmaps Probabilistic Roadmaps

slide-6
SLIDE 6

6

Difficulty with classic approaches

 Running time increases exponentially with the

dimension of the configuration space.

 For a d-dimension grid with 10 grid points on each

dimension, how many grid cells are there?

 Several variants of the path planning problem

have been proven to be PSPACE-hard.

10d

slide-7
SLIDE 7

7

Completeness

 Complete algorithm  Slow

 A complete algorithm finds a path if one exists and

reports no otherwise.

 Example: Canny’s roadmap method

 Heuristic algorithm  Unreliable

 Example: potential field

 Probabilistic completeness

 Intuition: If there is a solution path, the algorithm will

find it with high probability.

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 moving object & 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

Difficulty

 Many small connected components

slide-17
SLIDE 17

17

Resampling (expansion)

 Failure rate  Weight  Resampling probability

LINK no. LINK failed no. ) ( = q r

=

p

p r q r q w ) ( ) ( ) ( ) ( ) ( Pr q w q =

slide-18
SLIDE 18

18

Resampling (expansion)

slide-19
SLIDE 19

19

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-20
SLIDE 20

20

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-21
SLIDE 21

21

Why does it work? Intuition

 A small number of milestones almost “cover”

the entire configuration space.

 Rigorous definitions and proofs in the next

lecture.

slide-22
SLIDE 22

22

Smoothing the path

slide-23
SLIDE 23

23

Smoothing the path

slide-24
SLIDE 24

24

Summary

 What probability distribution should be used for

sampling milestones?

 How should milestones be connected?  A path generated by a randomized algorithm is

usually jerky. How can a path be smoothed?

slide-25
SLIDE 25

NUS CS 5247 David Hsu

Single-Query PRM Single-Query PRM

slide-26
SLIDE 26

26

Lazy PRM

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

2000.

slide-27
SLIDE 27

27

Precomputation: roadmap construction

 Nodes

 Randomly chosen configurations, which may or 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-28
SLIDE 28

28

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

  • r edges in violation. Go to (1).

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

slide-29
SLIDE 29

29

Query processing: details

 Find the shortest path in the roadmap

 A* algorithm  Dijkstra’s algorithm

 Check whether nodes and edges are collisions

free

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

slide-30
SLIDE 30

30

Node enhancement

 Select nodes that close the boundary of F

slide-31
SLIDE 31

NUS CS 5247 David Hsu

Sampling a Point Sampling a Point Uniformly at Random Uniformly at Random

slide-32
SLIDE 32

32

Positions

 Unit interval

Pick a random number from [0,1]

 Unit square  Unit cube

X = = X X

slide-33
SLIDE 33

33

Intervals scaled & shifted

 What shall we do?

  • 2

5

If x is a random number from [0,1], then 7x-2.

slide-34
SLIDE 34

34 

Sampling

1.

Pick x uniform at random from [-1,1]

2.

Set

Intervals of same widths are sampled with equal probabilities

Orientations in 2-D

(x,y) x

2

1 x y − =

slide-35
SLIDE 35

35

Orientations in 2-D

Sampling

1.

Pick θ uniformly at random from [0, 2π]

2.

Set x = cosθ and y = sinθ

Circular arcs of same angles are sampled with equal probabilities. (x,y) θ

slide-36
SLIDE 36

36

 Both are uniform in some sense.  For sampling orientations in 2-D, the second

method is usually more appropriate.

 The definition of uniform sampling depends on

the task at hand and not on the mathematics.

What is the difference?

x

slide-37
SLIDE 37

37

 Unit quaternion

(cosξ/2, nxsin ξ /2, nysin ξ /2, nzsinξ /2) with nx

2 + ny 2+ nz 2 = 1.

 Sample n and θ separately  Sample ξ from [0, 2π] uniformly at random

Orientations in 3-D

n = (nx, ny, nz)

ξ

slide-38
SLIDE 38

38

Sampling a point on the unit sphere

 Longitude and latitude

     = = = cos sin sin cos sin θ ϕ θ ϕ θ

z y x

n n n x y z ϕ θ

slide-39
SLIDE 39

39

First attempt

 Choose θ and ϕ uniformly at random from [0, 2π]

and [0, π], respectively.

slide-40
SLIDE 40

40

Better solution

 Spherical patches of

same areas are sampled with equal probabilities.

 Suppose U1 and U2 are

chosen uniformly at random from [0,1].      = = = ) 2 sin( ) 2 cos(

2 2 1

U R n U R n U n

y x z

π π x y z ϕ θ 1 where

2 1

U R − =

slide-41
SLIDE 41

41

Medial Axis based Planning

 Use medial axis based sampling

 Medial axis: similar to internal Voronoi diagram; set of

points that are equidistant from the obstacle

 Compute approximate Voronoi boundaries using

discrete computation

slide-42
SLIDE 42

42

Medial Axis based Planning

 Sample the workspace by taking points on the

medial axis

 Medial axis of the workspace (works well for

translation degrees of freedom)

 How can we handle robots with rotational degrees of

freedom?