+ All Categories
Home > Documents > PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf ·...

PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf ·...

Date post: 22-Jul-2018
Category:
Upload: hoangngoc
View: 213 times
Download: 0 times
Share this document with a friend
89
Ioannis Rekleitis Path Planning
Transcript
Page 1: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Ioannis Rekleitis

Path  Planning  

Page 2: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Outline  

•  Path  Planning  – Visibility  Graph  – Potential  Fields  – Bug  Algorithms  – Skeletons/Voronoi  Graphs  – C-­‐Space  

2 CSCE-574 Robotics

Page 3: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Mo+on  Planning  •  The  ability  to  go  from  A  to  B  

–  Known  map  –  Off-­‐line  planning  –  Unknown  Environment  –Online  planning  –  Static/Dynamic  Environment  

CSCE-574 Robotics 3

qgoalqinit

qgoal

qgoalqinit

qinit

Page 4: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning  

Robot Map

World

4 CSCE-574 Robotics

Page 5: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning  

Robot Map

World

• Indoor/Outdoor • 2D/2.5D/3D • Static/Dynamic • Known/Unknown • Abstract (web)

5 CSCE-574 Robotics

Page 6: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning  

Robot Map

World

• Mobile Ø Indoor/Outdoor Ø Walking/Flying/Swimming

• Manipulator • Humanoid • Abstract

6 CSCE-574 Robotics

Page 7: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning  

Robot Map

World

• Topological • Metric • Feature Based • 1D,2D,2.5D,3D

7 CSCE-574 Robotics

Page 8: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning  

Robot Map

World

• Topological • Metric • Feature Based • 1D,2D,2.5D,3D

• Mobile Ø Indoor/Outdoor Ø Walking/Flying/Swimming

• Manipulator • Humanoid • Abstract

• Indoor/Outdoor • 2D/2.5D/3D • Static/Dynamic • Known/Unknown • Abstract (web)

8 CSCE-574 Robotics

Page 9: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path  Planning:  Assump+ons  •  Known  Map  •  Roadmaps  (Graph  representations)  •  Polygonal  Representation  

qgoal

qinit

9 CSCE-574 Robotics

Page 10: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Visibility  Graph  •  Connect  Initial  and  goal  locations  with  all  the  visible  vertices    

qgoal

qinit

10 CSCE-574 Robotics

Page 11: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Visibility  Graph  •  Connect  initial  and  goal  locations  with  all  the  visible  vertices  •  Connect  each  obstacle  vertex  to  every  visible  obstacle  vertex  

qgoal

qinit

11 CSCE-574 Robotics

Page 12: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Visibility  Graph  •  Connect  initial  and  goal  locations  with  all  the  visible  vertices  •  Connect  each  obstacle  vertex  to  every  visible  obstacle  vertex  •  Remove  edges  that  intersect  the  interior  of  an  obstacle  

qgoal

qinit

12 CSCE-574 Robotics

Page 13: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Visibility  Graph  •  Connect  initial  and  goal  locations  with  all  the  visible  vertices  •  Connect  each  obstacle  vertex  to  every  visible  obstacle  vertex  •  Remove  edges  that  intersect  the  interior  of  an  obstacle  •  Plan  on  the  resulting  graph  

qgoal

qinit

13 CSCE-574 Robotics

Page 14: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Visibility  Graph  •  An  alternative  path  •  Alternative  name:  “Rubber  band  algorithm”    

qgoal

qinit

14 CSCE-574 Robotics

Page 15: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Major  Fault  •  Point  robot    •  Path  planning  like  that  guarantees  to  hit  the  obstacles  

15 CSCE-574 Robotics

Page 16: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Path PlanningPotential Field methods

•  compute a repulsive force away from obstacles

CSCE-574 Robotics 16

Page 17: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Local techniques Potential Field methods

•  compute a repulsive force away from obstacles

•  compute an attractive force toward the goal

CSCE-574 Robotics 17

Page 18: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Local techniques Potential Field methods

•  compute a repulsive force away from obstacles

•  compute an attractive force toward the goal

let the sum of the forces control the robot

key advantages?CSCE-574 Robotics 18

Page 19: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Local techniques Potential Field methods

•  compute a repulsive force away from obstacles

•  compute an attractive force toward the goal

let the sum of the forces control the robot

To a large extent, this is computable from sensor readings

CSCE-574 Robotics 19

Page 20: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Sensor Based Calculations

CSCE-574 Robotics 20

Page 21: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Major Problem?

CSCE-574 Robotics 21

Page 22: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Local Minima!

Fobst

Fgoal

CSCE-574 Robotics 22

Page 23: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Simulated Annealing

•  Every so often add some random force

CSCE-574 Robotics 23

Page 24: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Limited-knowledge path planning

•  known direction to goal

•  otherwise local sensing

walls/obstacles encoders

• “reasonable” world 1.  finitely many obstacles in any finite

disc

2.  a line will intersect an obstacle finitely many times

Goal

Start

•  Path planning with limited knowledge–  Insect-inspired “bug” algorithms

24 CSCE-574 Robotics

Page 25: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Not truly modeling bugs...��� Insects do use several cues for navigation:

neither are the current bug-sized robots

visual landmarks

polarized light

chemical sensing

Other animals use information from

magnetic fields

electric currents

temperature

they’re not ears...

migrating bobolink bacteria 25 CSCE-574 Robotics

Page 26: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Bug Strategy

“Bug 0” algorithm

•  known direction to goal

•  otherwise only local sensing walls/obstacles encoders

1) head toward goal

2) follow obstacles until you can head toward the goal again

3) continue

Insect-inspired “bug” algorithms

CSCE-574 Robotics 26

assume a left-turn robot

Page 27: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Does It Work?

27 CSCE-574 Robotics

Page 28: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 1” algorithm

•  known direction to goal

•  otherwise only local sensing walls/obstacles encoders

1) head toward goal

Insect-inspired “bug” algorithms

Bug 1

CSCE-574 Robotics 28

Page 29: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 1” algorithm

•  known direction to goal

•  otherwise only local sensing walls/obstacles encoders

1) head toward goal

2) if an obstacle is encountered, circumnavigate it and remember how close you get to the goal

Insect-inspired “bug” algorithms

Bug 1

CSCE-574 Robotics 29

Page 30: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 1” algorithm

•  known direction to goal

•  otherwise only local sensing walls/obstacles encoders

1) head toward goal

2) if an obstacle is encountered, circumnavigate it and remember how close you get to the goal

3) return to that closest point (by wall-following) and continue

Insect-inspired “bug” algorithms

Vladimir Lumelsky & Alexander Stepanov Algorithmica 1987

Bug 1

CSCE-574 Robotics 30

Page 31: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound:

Upper bound:

Bug 1 analysis

CSCE-574 Robotics 31

D

P1

P2

Page 32: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound: DUpper bound:

Bug 1 analysis

CSCE-574 Robotics 32

D

P1

P2

Page 33: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound: D

Upper bound: D + 1.5 Σ Pii

How good a bound?

How good an algorithm?

Bug 1 analysis

CSCE-574 Robotics 33

D

P1

P2

Page 34: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Bug Mapping

34 CSCE-574 Robotics

Page 35: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 2” algorithmCall the line from the starting point to the goal the s-line

A better bug?

CSCE-574 Robotics 35

Page 36: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 2” algorithmCall the line from the starting point to the goal the s-line

1) head toward goal on the s-line

A better bug?

CSCE-574 Robotics 36

Page 37: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 2” algorithmCall the line from the starting point to the goal the s-line

1) head toward goal on the s-line

2) if an obstacle is in the way, follow it until encountering the s-line again.

A better bug?

CSCE-574 Robotics 37

Page 38: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 2” algorithm

1) head toward goal on the s-line

2) if an obstacle is in the way, follow it until encountering the s-line again.

3) Leave the obstacle and continue toward the goal

OK ?

s-line

A better bug?

CSCE-574 Robotics 38

Page 39: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

“Bug 2” algorithm

1) head toward goal on the s-line

2) if an obstacle is in the way, follow it until encountering the s-line again closer to the goal.

3) Leave the obstacle and continue toward the goal

OK ?

A better bug?

CSCE-574 Robotics 39

Goal

Start

Page 40: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound:

Upper bound:

Bug 2 analysis

CSCE-574 Robotics 40

Goal

Start

Page 41: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound: Upper bound:

Ni = number of s-line intersections with the i th obstacle

Bug 2 analysis

CSCE-574 Robotics 41

Goal

Start

Page 42: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound: D Upper bound:

Ni = number of s-line intersections with the i th obstacle

Bug 2 analysis

CSCE-574 Robotics 42

Goal

Start

Page 43: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Distance Traveled What are bounds on the path length that the robot takes?

Lower and upper bounds?

Available Information:D = straight-line distance from start to goal

Pi = perimeter of the i th obstacle

Lower bound: D

Upper bound: D + 0.5 Σ Ni Pi

Ni = number of s-line intersections with the i th obstacle

i

Bug 2 analysis

CSCE-574 Robotics 43

Goal

Start

Page 44: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

head-to-head comparisonWhat are worlds in which Bug 2 does

better than Bug 1 (and vice versa) ?

Bug 2 beats Bug 1

or thorax-to-thorax, perhaps

Bug 1 beats Bug 2

CSCE-574 Robotics 44

Page 45: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

head-to-head comparisonWhat are worlds in which Bug 2 does

better than Bug 1 (and vice versa) ?

Bug 2 beats Bug 1

or thorax-to-thorax, perhaps

Bug 1 beats Bug 2

CSCE-574 Robotics 45

“zipper world”

Page 46: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Other bug-like algorithms The Pledge maze-solving algorithm 1.  Go to a wall

2.  Keep the wall on your right

3.  Continue until out of the maze

46 CSCE-574 Robotics

Page 47: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Other bug-like algorithms The Pledge maze-solving algorithm 1) Go to a wall

2) Keep the wall on your right

3) Continue until out of the maze

mazes of unusual origin

int a[1817];main(z,p,q,r){for(p=80;q+p-80;p=2*a[p]) for(z=9;z--;)q=3&(r=time(0)+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}

################################################################################ # ### # # # # # # # # # # # # # ## # ####### ##### ##### # ####### # # ### ### # ##### ##### # ### ##### # ### ## # # # # # # # # # # # # # # # # # # ## ##### # # # # # # ##### ##### # ### ### # # # ### ### ### ##### # ### ##### ## # # # # # # # # # # # # # # ## # ### ##### ### ##### ##### ### # ### # # # # ### ##### ### ##### # ##### #### # # # # # # # # # # # # # # # # # # # # ########## ##### # # # ########### ### ########### ### ##### ##### # # # ### # ## # # # # # # # # # # # # # # # # # # # # #### ### ##### ####### ### # # ### # # # # ##### # # ##### # # # ### # # ##### ## # # # # # # # # # ### # # # # # # # # #### # ### # ##### ### # ##### # # # ##### ##### ### ### ####### # ##### # ### ## # # # # # # # # # # # # # # # # # # # # # ## # # ########### ### ### ### ####### # # ### # ####### ### ##### ### ### ###### # # # # # # # # # # # # # # ## # # ### ##### ##### # ####### # ### ####### ### # ### ####### ### ##### ### ## # # # # # # # # # # # # # # # # # # # ## # # ### ### ### # # # # ### # # # ### # ####### # # ####### # # # # # # ### ## # # # # # # # # # # # # # # # # ## # # # # ### ##### ####### # ##### # ##### ### ### # # # ### ##### ### # ### ## # # # # # # ### # # # # # # # # # # # # ################################################################################

IOCCC random maze generator

discretized RRT 47 CSCE-574 Robotics

Page 48: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Tangent Bug •  Limited Range Sensor •  Tangent Bug relies on finding endpoints of

finite, continues segments of the obstacles

48 CSCE-574 Robotics

Page 49: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Tangent Bug

49 CSCE-574 Robotics

Page 50: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Contact Sensor Tangent Bug

1.  Robot moves toward goal until it hits obstacle 1 at H1 2.  Pretend there is an infinitely small sensor range and the direction which

minimizes the heuristic is to the right 3.  Keep following obstacle until robot can go toward obstacle again 4.  Same situation with second obstacle 5.  At third obstacle, the robot turned left until it could not increase heuristic 6.  D_followed is distance between M3 and goal, d_reach is distance between

robot and goal because sensing distance is zero 50 CSCE-574 Robotics

Page 51: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Limited Sensor Range Tangent-Bug

51 CSCE-574 Robotics

Page 52: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Infinite Sensor Range Tangent Bug

52 CSCE-574 Robotics

Page 53: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Known Map

Brushfire Transform

CSCE-574 Robotics 53

Page 54: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront Planner: Setup

CSCE-574 Robotics 54

Page 55: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action (Part 1) •  Starting with the goal, set all adjacent cells with “0” to the

current cell + 1 –  4-Point Connectivity or 8-Point Connectivity? –  Your Choice. We’ll use 8-Point Connectivity in our example

CSCE-574 Robotics 55

Page 56: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action (Part 2) •  Now repeat with the modified cells

–  This will be repeated until no 0’s are adjacent to cells with values >= 2

•  0’s will only remain when regions are unreachable

CSCE-574 Robotics 56

Page 57: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action (Part 3) •  Repeat

CSCE-574 Robotics 57

Page 58: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action (Part 3) •  Repeat

CSCE-574 Robotics 58

Page 59: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action (Part 3) •  Until Done

–  0’s would only remain in the unreachable areas

CSCE-574 Robotics 59

Page 60: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

The Wavefront in Action •  To find the shortest path, according to your metric, simply

always move toward a cell with a lower number –  The numbers generated by the Wavefront planner are roughly

proportional to their distance from the goal

Two possible shortest paths shown CSCE-574 Robotics 60

Page 61: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

An alternative roadmap

CSCE-574 Robotics 61

Page 62: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

These line segments make up the Voronoi diagram for the four points shown here.

Solves the “Post Office Problem”

CSCE-574 Robotics 62

Page 63: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

These line segments make up the Voronoi diagram for the four points shown here.

Solves the “Post Office Problem”

or, perhaps, more important problems...

CSCE-574 Robotics 63

Page 64: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

“true” Voronoi diagram

generalized Voronoi diagramWhat is it?

(isolates a set of points)

CSCE-574 Robotics 64

Page 65: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

Let B = the boundary of Cfree .

Let q be a point in Cfree . ( )

Cfree

q

B

CSCE-574 Robotics 65

Page 66: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

Let B = the boundary of Cfree .

Let q be a point in Cfree .

Cfree

q

Define clearance(q) = min { | q - p | }, for all p ∈ B

B

CSCE-574 Robotics 66

Page 67: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

Let B = the boundary of Cfree .

Let q be a point in Cfree .

Cfree

q

Define clearance(q) = min { | q - p | }, for all p ∈ B

B

Define near(q) = { p ∈ B such that | q - p | = clearance(q) }

CSCE-574 Robotics 67

Page 68: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi diagrams

Let B = the boundary of Cfree .

Let q be a point in Cfree .

Cfree

q

Define clearance(q) = min { | q - p | }, for all p ∈ B

B

Define near(q) = { p ∈ B such that | q - p | = clearance(q) }

q is in the Voronoi diagram of Cfree if | near(q) | > 1 number of set elements

+ maximizes distance from obstacles

+ reduces to graph search

+ can be used in higher-dimensions

- nonoptimal

- real diagrams tend to be noisy

Evaluation

CSCE-574 Robotics

68

Page 69: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space CSCE-574 Robotics 69

Page 70: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space with Topological Map (GVG)

CSCE

-574

Rob

otic

s

70

Page 71: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space with Topological Map (GVG)

• Access GVG

71 CSCE-574 Robotics

Page 72: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space with Topological Map (GVG)

• Access GVG • Follow Edge

CSCE-574 Robotics 72

Page 73: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space with Topological Map (GVG)

• Access GVG • Follow Edge

• Home to the MeetPoint

CSCE-574 Robotics 73

Page 74: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Generalized Voronoi Graph (GVG)

Free Space with Topological Map (GVG)

• Access GVG • Follow Edge

• Home to the MeetPoint • Select Edge

CSCE-574 Robotics 74

Page 75: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

•  Nomadic Scout

•  Sonar (GVG navigation)

•  Camera with omni-directional mirror (feature detection)

•  Onboard 1.2 GHz processor

GVG construction using sonar

CSCE-574 Robotics 75

Page 76: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

GVG construction using sonar

CSCE-574 Robotics 76

Page 77: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

GVG construction using sonar

CSCE-574 Robotics 77

Page 78: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Slammer in Action

CSCE-574 Robotics 78

Page 79: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Removing Edges

CSCE-574 Robotics 79

Page 80: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Meetpoint Detection

•  3σ uncertainty ellipse of explored meetpoints •  Meetpoint degree (branching factor) •  Distances to local obstacles •  Relative angle bearings •  Edge signature

– Edge length – Edge Curvature

•  Vertex signal CSCE-574 Robotics 80

Page 81: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Ear-based Exploration

CSCE-574 Robotics 81

Page 82: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Uncertainty Reduction

CSCE-574 Robotics 82

Before Loop-closure After Loop-closure

Page 83: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Simulation

CSCE-574 Robotics 83 Code available online at https://github.com/QiwenZhang/gvg

Page 84: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Real Environment

CSCE-574 Robotics 84

Page 85: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Voronoi applications

Skeletonizations resulting from constant-speed curve evolution

A retraction of a 3d object == “medial surface” what?

in 2d, it’s called a medial axisCSCE-574 Robotics 85

Page 86: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

skeleton shape

again reduces a 2d (or higher) problem to a question about graphs...

curve evolution centers of maximal diskswhere wavefronts collide

CSCE-574 Robotics 86

Page 87: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

skeleton shape

again reduces a 2d (or higher) problem to a question about graphs...

curve evolution centers of maximal diskswhere wavefronts collide

graph matchingCSCE-574 Robotics 87

Page 88: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Problems

The skeleton is sensitive to small changes in the object’s boundary.

- graph isomorphism (and lots of other graph questions) : NP-completeCSCE-574 Robotics 88

Page 89: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting

Roadmap problemsIf an obstacle decides to roll away... (or wasn’t there to begin with)

recomputing in less than O(N2) time?CSCE-574 Robotics 89


Recommended