Top Banner
1 Last lecture Configuration Space Free-Space and C-Space Obstacles Minkowski Sums
42

Last lecture

Dec 31, 2015

Download

Documents

emerald-roach

Last lecture. Configuration Space Free-Space and C-Space Obstacles Minkowski Sums. 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?. Free-Space and C-Space Obstacle. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Last lecture

1

Last lecture Configuration Space

Free-Space and C-Space Obstacles Minkowski Sums

Page 2: Last lecture

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?

Page 3: Last lecture

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

Page 4: Last lecture

4

Two geometric primitives in configuration space CLEAR(q)

Is configuration q collision free or not?

LINK(q, q’) Is the straight-line path

between q and q’ collision-free?

Page 5: Last lecture

NUS CS 5247 David Hsu

Probabilistic Probabilistic RoadmapsRoadmaps

Page 6: Last lecture

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

Page 7: Last lecture

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.

Page 8: Last lecture

8

Probabilistic Roadmap (PRM): multiple queries

free space

[Kavraki, Svetska, Latombe,Overmars, 96]

local path

milestone

Page 9: Last lecture

9

Probabilistic Roadmap (PRM): single query

Page 10: Last lecture

NUS CS 5247 David Hsu

Multiple-Query PRMMultiple-Query PRM

Page 11: Last lecture

11

Classic multiple-query PRM Probabilistic Roadmaps for Path Planning in High-

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

Page 12: Last lecture

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

Page 13: Last lecture

13

Overview Precomputation: roadmap construction

Uniform sampling Resampling (expansion)

Query processing

Page 14: Last lecture

14

Uniform samplingInput: geometry of the moving object & obstaclesOutput: roadmap G = (V, E)

1: V and E .

2: repeat3: q a configuration sampled uniformly at random from C.4: if CLEAR(q)then5: 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)then8: Add an edge between q and q’ to E.

Page 15: Last lecture

15

Some terminology The graph G is called a probabilistic roadmap. The nodes in G are called milestones.

Page 16: Last lecture

16

Difficulty Many small connected components

Page 17: Last lecture

17

Resampling (expansion) Failure rate

Weight

Resampling probability

LINK no.

LINK failed no.)( qr

ppr

qrqw

)(

)()(

)()(Pr qwq

Page 18: Last lecture

18

Resampling (expansion)

Page 19: Last lecture

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

Page 20: Last lecture

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.

Page 21: Last lecture

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.

Page 22: Last lecture

22

Smoothing the path

Page 23: Last lecture

23

Smoothing the path

Page 24: Last lecture

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?

Page 25: Last lecture

NUS CS 5247 David Hsu

Single-Query PRMSingle-Query PRM

Page 26: Last lecture

26

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

2000.

Page 27: Last lecture

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

Page 28: Last lecture

28

Query processing: overview1. 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.

Page 29: Last lecture

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)

Page 30: Last lecture

30

Node enhancement Select nodes that close the boundary of F

Page 31: Last lecture

NUS CS 5247 David Hsu

Sampling a Point Sampling a Point Uniformly at RandomUniformly at Random

Page 32: Last lecture

32

Positions Unit interval

Pick a random number from [0,1]

Unit square

Unit cube

X =

=XX

Page 33: Last lecture

33

Intervals scaled & shifted What shall we do?

-2 5

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

Page 34: Last lecture

34

Sampling1. 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

21 xy

Page 35: Last lecture

35

Orientations in 2-D

Sampling1. 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)

Page 36: Last lecture

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

Page 37: Last lecture

37

Unit quaternion(cos/2, nxsin /2, nysin /2, nzsin /2) with nx

2 + ny

2+ nz2 = 1.

Sample n and separately

Sample from [0, 2] uniformly at random

Orientations in 3-D

n = (nx, ny, nz)

Page 38: Last lecture

38

Sampling a point on the unit sphere Longitude and latitude

cos

sinsin

cossin

z

y

x

n

n

n

x

y

z

Page 39: Last lecture

39

First attempt Choose and uniformly at random from [0, 2]

and [0, ], respectively.

Page 40: Last lecture

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].

)2sin(

)2cos(

2

2

1

URn

URn

Un

y

x

z

x

y

z

1 where 21UR

Page 41: Last lecture

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

Page 42: Last lecture

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?