roadmap approaches an alternative roadmapdudek/765/notes/moplan.pdf · 3 voronoi diagrams let b =...

14
1 Roadmap approaches Full visibility graph Reduced visibility graph, i.e., not including segments that extend into obstacles on either side. Vertex Visibility Graph what else might we do ? (but keeping endpoints’ roads) An alternative roadmap Voronoi diagrams These line segments make up the Voronoi diagram for the four points shown here. Solves the “Post Office Problem” 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... Also: look up in the Olin Foyer

Upload: others

Post on 28-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

1

Roadmap approaches

Full visibility graphReduced visibility graph, i.e., notincluding segments that extendinto obstacles on either side.

Vertex Visibility Graph

what else might we do ?

(but keeping endpoints’ roads)

An alternative roadmap

Voronoi diagrams

These line segments make upthe Voronoi diagram for thefour points shown here.

Solves the “Post Office Problem”

Voronoi diagrams

These line segments make upthe Voronoi diagram for thefour points shown here.

Solves the “Post Office Problem”

or, perhaps, more important problems...

Also: look up in the Olin Foyer

Page 2: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

2

Voronoi diagrams

“true” Voronoi diagram

generalized Voronoi diagramWhat is it?

(isolates a set of points)

Voronoi diagrams

Let B = the boundary of Cfree .

Let q be a point in Cfree . ( )

Cfree

q

B

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

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) }

Page 3: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

3

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) | > 1number ofset elements

+ maximizes distance from obstacles

+ reduces to graph search

+ can be used in higher-dimensions

- nonoptimal

- real diagrams tend to be noisy

Evaluation

Voronoi applications

Skeletonizations resulting fromconstant-speed curve evolution

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

in 2d, it’s calleda medial axis

skeleton shape

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

curve evolution centers of maximal diskswhere wavefronts collide

skeleton shape

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

curve evolution centers of maximal diskswhere wavefronts collide

graph matching

Page 4: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

4

Problems

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

- graph isomorphism (and lots of other graph questions) : NP-complete

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

recomputing in less than O(N2) time?

Spatial decompositionsDividing free space into pieces and using those...

start

end

Spatial decompositionsDividing free space into pieces and using those...

start

end

Exact cell decompositionRunning time?

sweepline algorithm

Page 5: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

5

Spatial decompositionsDividing free space into pieces and using those...

start

end

Exact cell decompositionRunning time?

O( N log(N) )

Path?

sweepline algorithm

Spatial decompositionsDividing free space into pieces and using those...

start

end

Exact cell decompositionRunning time?

O( N log(N) )

Path?via centroids

sweepline algorithm

centroids

Spatial decompositionsDividing free space into pieces and using those...

start

end

Exact cell decompositionRunning time?

O( N log(N) )

Path?via centroids

sweepline algorithm + edge midpoints

centroids+ midpoints

Spatial decompositionsDividing free space into pieces and using those...

Exact cell decompositionRunning time?

O( N log(N) )

Path?via centroids

sweepline algorithm + edge midpoints+ graph search

start

end

centroids+ midpoints

Why?why else?

Page 6: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

6

Obtaining the minimum number of convex cells is NP-complete.

Optimality

there may be more detail in the world than the task needs to worry about...

15 cells 9 cells

Trapezoidal decomposition is exactand complete, but not optimal --

even among convex subdivisions.

Approximate cell decomposition

further decomposing...

recursively subdivides each mixedobstacle/free (sub)region into four quarters...Quadtree:

Approximate cell decomposition

further decomposing...

recursively subdivides each mixedobstacle/free (sub)region into four quarters...Quadtree:

Approximate cell decomposition

further decomposing...

Again, use a graph-search algorithm tofind a path from the start to goal

Quadtree

is this a complete path-planning algorithm?i.e., does it find a path when one exists ?

Page 7: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

7

Local techniquesPotential Field methods

• compute a repulsive force away from obstacles

Local techniquesPotential Field methods

• compute a repulsive force away from obstacles

• compute an attractive force toward the goal

Local techniquesPotential 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?

Local techniquesPotential 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

Page 8: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

8

Random search

Random walks

Often combined with potential field methods to escape minima

random walks are not perfect...

“Filling in” local minima

Random walks- tend to cover areas already traversed

10000 steps

100000 steps

- biased by where you are now

Other random ideasRRTs -- “Rapidly-exploring random trees”

connects global & local information

1) Maintain a tree of configurations reachable from the starting point.

2) Choose a point at random from free space

3) Find the closest configuration already in the tree

4) Extend the tree in the direction of the new configuration EXTEND step

Other random ideas

Example growth of an RRT - Biased toward the unexplored free space at each step.

Voronoi diagrams

Page 9: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

9

A Mature RRT

RRT - blue

Voronoi - red

But how do RRTs help find paths to a goal?

Using RRTsHow can RRTs be used to help find paths?

- Can be used on their own (eventually will get close to the goal)

- Can be used with potential field methods

- Every so often (1 in 20 times), choose the goal to be the nextfree-space point chosen

- Bias the random configuration chosen toward the goal.

- Bidirectional search from start and goal simultaneously.

http://janowiec.cs.iastate.edu/~lavalle

Need to combine the treesReplace the EXTEND step with CONNECT (if possible)

Using RRTsHow can RRTs be used to help find paths?

- Can be used on their own (eventually will get close to the goal)

- Can be used with potential field methods

- Every so often (1 in 20 times), choose the goal to be the nextfree-space point chosen

- Bias the random configuration chosen toward the goal.

- Bidirectional search from start and goal simultaneously.

http://janowiec.cs.iastate.edu/~lavalle

Need to combine the treesReplace the EXTEND step with CONNECT (if possible)

http://janowiec.cs.iastate.edu/~lavalle

Bidirectional searchWhy stop at 2 RRTs ?

Page 10: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

10

Additional complexityadditional degrees of freedom

Additional complexityadditional degrees of freedom

xy projections

Additional complexityadditional degrees of freedom

xy projections time-lapse paths

Additional complexityarticulated linkages

Page 11: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

11

Additional complexityarticulated linkages

Additional complexitynonholonomic constraints

can the control problem get more difficult?

RRT for a robot with car-like kinematics

Additional complexitynonholonomic constraints

can the control problem get more difficult?

RRT for a robot with car-like kinematics

Additional complexityNonholonomic vs. Locally Uncontrollable

RRT for a robot withlimited local control.

Page 12: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

12

Additional complexityNonholonomic vs. Locally Uncontrollable

Also: moving obstaclesdynamic constraints

forward-only left-only car

Other local/global hybridsPath planning with limited knowledge- Insect-inspired “bug” algorithms

• known direction to goal

• otherwise only local sensing walls/obstacles encoders

Limited-knowledge path planning

“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 rememberthe closest you get to the goal

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

Insect-inspired “bug” algorithms

Limited-knowledge path planning

“Bug 2” algorithm

• known direction to goal

• otherwise only local sensing walls/obstacles encoders

Insect-inspired “bug” algorithms

1) head toward goal on the s-line

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

3) Leave the obstacle andcontinue toward the goal

?

Page 13: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

13

Limited-knowledge path planning

“Bug 2” algorithm

• known direction to goal

• otherwise only local sensing walls/obstacles encoders

Insect-inspired “bug” algorithms

1) head toward goal on the s-line

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

3) Leave the obstacle andcontinue toward the goal

?

Next Time

Lab Project #3 ideas

A closer look at the bug algorithm(s)

Decisions for the next project

Sensors and sensor-based planningBuilding maps

Localizing the robot in a map

Combining different sources of data

long-term plan

Spatial decompositionsDividing free space into pieces and using those...

sweepline algorithm

nlogn

higher dims -- canny

Exact cell decomposition

Exact spatial decomposition formed by splittingon the obstacle segments themselves

BSPsBinary Space Partition:

L1

Page 14: Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B = the boundary of C free. Let q be a point in C free. C free q Define clearance(q)

14

Random applicationGrowing mazes as RRTs