Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B =...
Transcript of Roadmap approaches An alternative roadmapdudek/765/Notes/moplan.pdf · 3 Voronoi diagrams Let B =...
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
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) }
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
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
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?
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 ?
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
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
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 ?
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
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.
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
?
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
14
Random applicationGrowing mazes as RRTs