Classical Path Planning Robert Platt Northeastern University - - PowerPoint PPT Presentation

classical path planning
SMART_READER_LITE
LIVE PREVIEW

Classical Path Planning Robert Platt Northeastern University - - PowerPoint PPT Presentation

Classical Path Planning Robert Platt Northeastern University Slides contain significant material from Uni Freiburg course Original slide author: Kai Arras Problem we want to solve Given: a point-robot (robot is a point in space)


slide-1
SLIDE 1

Classical Path Planning

Robert Platt Northeastern University

Slides contain significant material from Uni Freiburg course Original slide author: Kai Arras

slide-2
SLIDE 2

Problem we want to solve

Given: – a point-robot (robot is a point in space) – description of obstacle space and free space – a start configuration and goal region Find: – a collision-free path from start to goal workspace configuration space

slide-3
SLIDE 3

Problem we want to solve

Given: – configuration space – free space – start state – goal region Find: – a collision-free path , such that and workspace configuration space

slide-4
SLIDE 4

Problem we want to solve

slide-5
SLIDE 5

Method #1: Visibility Graphs

n = num of obstacle vertices

slide-6
SLIDE 6

Question

Can you think of an n^3 algorithm to compute the visibility graph?

slide-7
SLIDE 7

Method #2: Generalized Voronoi Diagram

slide-8
SLIDE 8

Method #2: Generalized Voronoi Diagram

slide-9
SLIDE 9

Question

How many regions in a voronoi diagram with n objects?

slide-10
SLIDE 10

Method #2: Generalized Voronoi Diagram

slide-11
SLIDE 11

Method #3: Exact Cell Decomposition

slide-12
SLIDE 12

Method #3: Exact Cell Decomposition

slide-13
SLIDE 13

Question

Do you need the vertices at the center of the trapezoids? Why/Why not?

slide-14
SLIDE 14

Method #4: Uniform Approximate Cell Decomposition

c Uniform cell shape: e.g. wavefront planner

slide-15
SLIDE 15

Method #5: Quadtrees

Non-Uniform cell shape: e.g. quadtree decomposition

slide-16
SLIDE 16

Method #5: Quadtrees

define G = Decompose(G,resolution):

  • 1. if G null:

2. create coarse grid 3. collision-check G

  • 4. for all occupied cells c in G:

5. delete c from G 6. subdivide c into four cells (sub) 7. add sub into G 8. collision-check sub define FindPath(maxresolution):

  • 1. for resolution = coarse to maxresolution:

2. G = Decompose(G,resolution) 3. if Check-for-path(G) == True: 4. Success!

Collision-check: check whether each cell is completely free or not

Why do you think this method is called “quadtree”?

slide-17
SLIDE 17

Method #5: Octomaps

Same as quadtrees, but in three dimensions...

slide-18
SLIDE 18

Examples of solutions found using octomaps

slide-19
SLIDE 19

Exact vs approximate cell decomposition

slide-20
SLIDE 20

Method #6: Potential Functions

slide-21
SLIDE 21

Method #6: Potential Functions

slide-22
SLIDE 22

Method #6: Potential Functions

slide-23
SLIDE 23

Method #6: Potential Functions

After computing U, follow the negative gradient:

slide-24
SLIDE 24

Potential Function Limitations

slide-25
SLIDE 25

Potential Function Limitations

slide-26
SLIDE 26

Applications to manipulators

Compute potential function in Cartesian space: Project into joint space: Compute goal velocities at different points on the arm:

0 z

x1

x2

  • bstacle

xd

Pull eff toward goal and away from obstacles Push x1 and x2 away from obstacles

slide-27
SLIDE 27

Applications to manipulators

z

1

x

2

x

  • bstacle

d

x

Can you draw a bug-trap-like scenario where this approach won’t work?