The University of North Carolina at Chapel Hill 1 Multiresolution Methods in Path Planning Russell...
-
date post
19-Dec-2015 -
Category
Documents
-
view
212 -
download
0
Transcript of The University of North Carolina at Chapel Hill 1 Multiresolution Methods in Path Planning Russell...
The University of North Carolina at Chapel Hill
1
Multiresolution Methods in Path Planning
Russell GayleNovember 5th, 2003
COMP 290-058
The University of North Carolina at Chapel Hill
2
Outline
• Quick overview of multiresolution methods and algorithms
• Multiresolution Path Planning for Mobile Robots (1986)
• Multiresolution Rough Terrain Path Planning (1997)
• Local Multiresolution Path Planning (2003)
The University of North Carolina at Chapel Hill
3
Multiresolution Overview
• The goal of multiresolution methods: reduce computational complexity by reducing problem complexity
• Usually involves some preprocessing of the input data which may take a substantial amount of time
• Can take data at different “resolutions” to create a multiresolution structure
• For each method, we can derive error metrics to help decide the best level of detail to use
The University of North Carolina at Chapel Hill
4
Multiresolution Modeling
• Many methods exist in regards to modeling. These are some – Image Pyramids– Volume Methods– Subdivision Surfaces– Vertex Decimation– Vertex Clustering– Edge Contraction– Vertex Clustering– Wavelet Surfaces
The University of North Carolina at Chapel Hill
5
Image Pyramids
• One of oldest and simplest techniques, usually simply storing the same image at different resolutions– We can get the next
level by averaging blocks of pixels in the previous level Image source: http://www.ipf.tuwien.ac.at/fr/buildings/diss/node105.html
The University of North Carolina at Chapel Hill
6
Subdivision Surfaces
• In general, takes a coarse mesh and refines it based on some algorithm or constraints– Doo-Sabin, Catmull-
Clark, and many more
Image source: http://www.ke.ics.saitama-u.ac.jp/xuz/mid-subdivision.html
…
The University of North Carolina at Chapel Hill
7
Vertex Decimation
• Works in from fine to coarse• At each iteration, select a vertex, remove it and
the faces adjacent to it, re-triangulate the ‘hole’ in the mesh
Remove this vertex
The University of North Carolina at Chapel Hill
8
Vertex Clustering
• Merge all vertices within a grid cell into one vertex
Image source: http://graphics.cs.uiuc.edu/~garland/papers/STAR99.pdf
The University of North Carolina at Chapel Hill
9
Edge Contraction
• Given two vertices, move them together along the edge adjacent to each Merge these two
The University of North Carolina at Chapel Hill
10
Wavelet Surfaces
• Typically very costly and difficult– Has many constraints and mesh
preparation steps which may introduce error into the highest level of detail
Image source: M. Eck, T. DeRose, T. Duchamp, H. Hoppe, M. Lounsbery, and W. Stuetzle. Multiresolution analysis of arbitrary meshes. In Computer Graphics (Proceedings of SIGGRAPH 95), Auguest 1995.
The University of North Carolina at Chapel Hill
11
Other multiresolution methods• By iteratively applying
some of the earlier techniques, we can get many levels of detail
• Multiresolution can involve many other methods or structures– Hierarchal Levels of
Detail (HLOD)– Contact Levels of Detail
(CLOD)– Space Decomposition
• Quadtree, Octree, wavelets, etc
Image source: http://www.cs.unc.edu/~walk/hlod/
The University of North Carolina at Chapel Hill
12
Outline
• Overview of multiresolution methods and algorithms
• Multiresolution Path Planning for Mobile Robots (1986)
• Multiresolution Rough Terrain Path Planning (1997)
• Local Multiresolution Path Planning (2003)
The University of North Carolina at Chapel Hill
13
Multiresolution Path Planning for Mobile Robots
S. Kambhampati and L.S. Davis, IEEE Journal of Robotics and Automation, Vol. RA-2, No. 3.
1986.
The University of North Carolina at Chapel Hill
14
Algorithm Idea
• Based on cell decomposition methods
• Idea: Partition space into a quadtree then use a staged search to exploit the hierarchy
• Note: – We assume 2D space and non-rotating
mobile robots
The University of North Carolina at Chapel Hill
15
Definitions and Terminology
• A quadtree is a decomposition of 2D space into blocks– Each node may have either 4 or zero
children– A free node is a node representing a
region of freespace– An obstacle node represents a region of
obstacles– A gray node represents a region that has
both freespace and obstacles. Only these nodes need to have children.
The University of North Carolina at Chapel Hill
16
Definitions and Terminology, cont’d
– For a gray node G, S(G) is the subtree rooted at G, and L(G) is the number of leaf nodes in S(G)
– The gray content of G is number of obstacle pixels in the region represented by G and the grayness of G is the percentage of obstacle pixels in that region.
The University of North Carolina at Chapel Hill
17
Definitions and Terminology, cont’d• A pruned quadtree allow leaf nodes
to be gray– This represents the same space as a
quadtree but at a lower resolution
• It takes O(n) time to build a complete quadtree, where n is the number of smallest regions (pixels, in the case of this paper)
The University of North Carolina at Chapel Hill
18
Quadtree Example
Space Representation Equivalent quadtree
The University of North Carolina at Chapel Hill
19
Quadtree Example
Space Representation Equivalent quadtree
Free nodeGray node
NW childNE SW
SE
The University of North Carolina at Chapel Hill
20
Quadtree Example
Space Representation Equivalent quadtree
Obstacle Node
G
S(G)
The University of North Carolina at Chapel Hill
21
Quadtree Example
Space Representation Equivalent quadtree
Each of these steps are examples of pruned quadtrees, or the space at different resolutions
The University of North Carolina at Chapel Hill
22
Quadtree Example
Space Representation Equivalent quadtree
The University of North Carolina at Chapel Hill
23
Quadtree Example
Space Representation Equivalent quadtree
Complete quadtree
The University of North Carolina at Chapel Hill
24
Quadtree-Based Path Planning• Preprocessing
– Step 1• Grow the obstacles by radius of the robot’s cross
section – This essentially computes the robot’s configuration
space and reduces it to a point robot, making it sufficient to find a path of empty nodes
• Convert the result into a quadtree
– Step 2• Compute a distance transform of the free nodes
(from the center of the region represented by a node to the nearest obstacle)
– This takes O(n) time, where n is the number of leaf nodes in quadtree
The University of North Carolina at Chapel Hill
25
Basic Planning Algorithm
• Given start and goal points– Determine the nodes S and G which
contains these points– Compute the minimum cost path from S
to G through free nodes using the A* graph search
The University of North Carolina at Chapel Hill
26
Path Planning Heuristic• Evaluation function for a node c
– is the cost of the path from S to c– is the cost estimate of the remaining
path to G
• should depend on the actual distance traveled thus far and the clearance to obstacle
• Define as where is the cost to c’s predecessor p and is the cost of the segment from p to c
)()()( chcgcf )(cg
)(ch
)(cg
)(cg ),(')()( cpgpgcg )( pg ),(' cpg
The University of North Carolina at Chapel Hill
27
Path Planning Heuristic, cont’d• The actual cost from p to c can be given by
– is the actual distance between nodes p and c, given by half of the sum of their node sizes
– is the additional cost by including node c on the path, which should depend on the clearance to obstacles
– The is a positive constant which controls how the path will avoid obstacles
• Let – is the distance to the nearest obstacle, given by
the preprocessed distance transform, is the max of all such distances
)(),(),(' cdcpDcpg ),( cpD
)(cd
)(00)( max ccd )(0 c
max0
The University of North Carolina at Chapel Hill
28
Path Planning Heuristic, cont’d• We can define as the Euclidean distance
between the midpoints of the regions represented by nodes c and G, since any path between these nodes will be at least this long this distance
• Note: The heuristic power of h increases as decreases.
)(ch
The University of North Carolina at Chapel Hill
29
Basic Node Expansion
• We must have a way to decide which nodes we can move to next– Pick only horizontal or vertical neighbors
to the current best node• With diagonal neighbors, the only path
between two nodes may come very close or clip obstacle corners
– If the neighbor is gray, then find the nonobstacle leaf nodes (if they exist) and consider these as neighbors
The University of North Carolina at Chapel Hill
31
Advantages
• Easy to compute an optimal path through the nodes, but a simple path made by connecting centers of neighboring nodes in the path will work too
• Reduces the number of grid cells to consider
• Quadtree representation overhead is relatively small and is simple to compute
• Allows for staged planning!
The University of North Carolina at Chapel Hill
32
Staged Planning
• This method results from the observation that the in the basic algorithm, there is likely to be lots of small obstacle nodes
• Fix this problem by first planning on coarser scales, i.e. a pruned quadtree– Now we have gray leaf nodes, and neighbors
may have a mixture of obstacles in free space in them
– We keep the original for when we need to inspect on a finer scale
• Finish the planning the path within the gray nodes in a second stage
The University of North Carolina at Chapel Hill
33
Handling Gray Leaf Nodes
• In staged planning, three new problems arise as we expand our path
– Neighbor of the current best is gray– The current best is gray
• Must do work so that we can expand the path within the current node once a neighbor is known
– Processing the first stage path to get a final path
The University of North Carolina at Chapel Hill
34
Case 1: Gray Leaf Neighbors
• Let B be the current best node, and N be a gray neighbors of B– If B is free, then we can enter node N if
and only if there is a free node m in S(N) adjacent to B
– If B is gray, then we can enter node N if there is a free node e in S(B) adjacent to m• Note: Entering a node does not imply that it
is passable
The University of North Carolina at Chapel Hill
35
Case 1 cont’d
• If we decide to use N, we need a way to include its path complexity in the heuristic– In practice, any measure dependent upon
the gray content will be a good choice• For instance, let c(N), the complexity of N, be
• Another could include the actual number of obstacle nodes in S(N)
)()()( Nsize
NcontentgrayNc
The University of North Carolina at Chapel Hill
36
Case 2: Expanding Gray Nodes• If the current node B is gray, we
must solve two problems– For each of the neighbors N of B, we
must ensure that we can connect the predecessor P of B to N
– We each N that we can reach, we must estimate the shortest path through B to N as part of the heuristic for N• This path may not be straight since B is gray
The University of North Carolina at Chapel Hill
37
Case 2 cont’d
• First identify the exit node p of P (which is found when P was expanded
• Find a free node f in B that is adjacent to p– If there is more than one such node, pick
the one nearest to our goal– We may have to test more than one such
node if the other free nodes that are adjacent to p are not adjacent to f
The University of North Carolina at Chapel Hill
38
Case 2 cont’d
• For all free nodes in B, compute a distance transform from f– Do this such that we only set values for nodes
reachable from f, setting the rest to infinity– We can also store the distance to obstacles here
• Identify which neighbor N can be reached and store the exit node e for each neighbor– We must ensure the following properties
• The distance associated with node e is finite• N can be entered from e
– There can be more than one such e, choose the one with the smaller distance to f
The University of North Carolina at Chapel Hill
39
Case 2 Heuristic
• Place N on the list of possible ways to go
• For the overall search, we need a heuristic for the path from B to N– We can use the g-value from B’s
predecessor and the distance transform value
– If N is gray, we can use the estimate from Case 1 for h for path complexity
The University of North Carolina at Chapel Hill
40
Case 3: Developing first stage path• For each gray node B on the first
stage path– Find B’s entry node f– If N is the successor of B, find the exit
location of B (or the entry of N) e– Find the shortest path between e and f by
backing up to f through neighbors having the smallest distance transform values
– Place this path between B’s predecessor P and N in the final path
The University of North Carolina at Chapel Hill
42
Creating Good Pruned Quadtrees• Selecting a good pruning strategy is
important – Ideally, we want gray nodes representing
relatively obstacle free nodes– Metrics such as grayness tell us nothing
about the distribution of obstacles– Large nodes may have low grayness but
lots of obstacles– More complex strategies may be too
costly
The University of North Carolina at Chapel Hill
43
Some Quadtree Pruning Strategies• By grayness
– If the grayness of a node G falls below a threshold, prune out S(G)
– May allow both large and sparse nodes
• By size and grayness– If a node G is small enough and its
grayness falls below a threshold, prune out S(G)
– Fixes large node problem, however sparse nodes may remain
The University of North Carolina at Chapel Hill
44
Pruning Strategies, cont’d
• Truncate below a fixed level– Make any gray node G at a fixed level in the
quadtree into a leaf node, prune out S(G)– Can use a histogram to select level, but this
may allow large nodes with lots of small obstacles
• By L(G) (leaf nodes in S(G))– Higher L(G) usually means higher the
fragmentation in G– Use a threshold to make gray nodes with low
L(G) into leaf nodes, pruning out S(G)– Simpler to compute L(G) than grayness
The University of North Carolina at Chapel Hill
45
Staged Planning ResultsNon-staged planning Grayness thresholding
The University of North Carolina at Chapel Hill
46
Results, cont’dGrayness and Size
Thresholding Fixing the level
The University of North Carolina at Chapel Hill
48
Results, cont’dComparison of non-staged planning and staged by pruning with thresholding L(G)
The University of North Carolina at Chapel Hill
49
Conclusions
• Staged planning resulted in much faster time due to a large reduction in necessary number of nodes to expand
• Speedup is dependent upon the fragmentation of the environment; staged planning saves the most when the environment is highly scattered
The University of North Carolina at Chapel Hill
50
Outline
• Overview of multiresolution methods and algorithms
• Multiresolution Path Planning for Mobile Robots (1986)
• Multiresolution Rough Terrain Path Planning (1997)
• Local Multiresolution Path Planning (2003)
The University of North Carolina at Chapel Hill
51
Multiresolution Rough Terrain Motion Planning
D. K. Pai and L.-M. Reissell, IEEE Transactions on Robotics and
Automation, 1997.
The University of North Carolina at Chapel Hill
52
Introduction
• Goal: Navigate a robot without violating terrain dependent constraints
• Idea: Decompose the terrain via a wavelet decomposition, using the wavelet coefficients in error metrics
• We represent the terrain as a function f(u,v) Example terrain: Elevation map of
St. Mary Lake region
The University of North Carolina at Chapel Hill
53
Terrain Roughness
• We desire to find paths that go over sections that are well approximated by the wavelets– We will call these areas smooth, and
poorly approximated sections are rough– Why wavelets?
• Various wavelets nicely keep track of approximation error
• They’re well studied and the amount by which they smooth is well easily quantified
The University of North Carolina at Chapel Hill
54
Wavelets
• The set of translated and dilated wavelet functions and their duals form bases for L2
• We use a discrete multiresolution construction of wavelets by dilations of powers of 2 and integer translations from a mother wavelet
• Associated with the wavelet is a scaling function• A wavelet decomposition of a function f is the
representation of f in the wavelet basis
jijxx ii
ji ,),2(2)( 2,
The University of North Carolina at Chapel Hill
55
Wavelets
• Wavelet coefficients are coefficients of the wavelet decomposition of the form
• Scaling coefficients are those of the form
• Wavelets are usually associated with a pair of a filters, typically a scaling filter H and a wavelet filter G. Once we have a decomposition, reconstruction is performed with dual filters H’ and G’
• Note: terminology can differ depending on source
jiij ff ,,)(
jiij ffs ,,)(
The University of North Carolina at Chapel Hill
56
Wavelet decomposition
• We decompose a signal by passing it through a each of these filters in a prescribed manner
• Each si is an approximation of our original signal f (the scaling coefficients) at resolution i, and each wi is the wavelet coefficients which can be used as a metric of how the approximation at level i differs from level i-1
fH
G
s1
w1
H
G
s2
w2
H
G
….
….
The University of North Carolina at Chapel Hill
57
1D Wavelet Example
Input Signal (Using a level 2 coiflet)
The University of North Carolina at Chapel Hill
60
1D Wavelet Example
Level 4 Decomposition
Showing all the wavelet coefficients as well as the level 4 scaling coefficients
You can see that that scaling coefficients (a4) capture the underlying idea of the original signal
The University of North Carolina at Chapel Hill
61
Wavelet-based Heuristic
• We establish a heuristic based on the rule: Do not cross areas with large higher resolution wavelet coefficients. – For smooth parts of the terrain, the L2 approximation
error decays rapidly towards finer scales– For noisy parts, the higher resolution coefficients are
uniformly large, but the lower resolution coefficients take on the shape of the underlying signal
– Based on the wavelet used, areas of high variation will show up more prominently in the wavelet coefficients
The University of North Carolina at Chapel Hill
62
Path costs
• Must watch out for “the ravine effect.”– If there is a small region of uniformly high cost
(a ravine, for instance), then certain metrics such as max cost will cause every path to have the same cost
• Instead, use Dsmax(p), for a path p
– Dsmax(p) =list of costs for each node in p in sorted order
– We can define a <= operator for this, and by tracking each part of the path we eliminate the ravine effect
The University of North Carolina at Chapel Hill
63
Algorithms
• This papers give algorithms for each of the following to solve the terrain planning problem– Terrain preprocessing– Obstacle computation– Path finding– Path refinement
The University of North Carolina at Chapel Hill
64
Terrain Preprocessing
• Compute a 2D wavelet decomposition on the sampled terrain f, giving a sequence of scaling coefficients ( ) and wavelet coefficients ( ) for each level l– The scaling coefficients give us approximate
terrain surfaces at different levels– Note that in the 2D case, we have 3 sets of
wavelet coefficients, , , and for horizontal, vertical, and diagonal respectively
ljslj
Hlj V
lj Dlj
The University of North Carolina at Chapel Hill
65
One level of Terrain Approximation
s is the approximate surface (scaling coefficients) and w is the errors (wavelet coefficients)
The University of North Carolina at Chapel Hill
66
Obstacle Computation
• We want to restrict the path on several criteria– Terrain slope
• Can’t go across terrain that is too steep– Contact constraints
• Must have a certain number of contacts with the ground
– Static stability constraints• The robot’s center of gravity must be supported
– Collision avoidance constraints• Parts of the robot can’t intersect the terrain or other
parts of the robot
• Go through the surface and label regions as obstacles or free
The University of North Carolina at Chapel Hill
67
Terrain Obstacles ExampleSlope obstacles (slopes more than about 22 degrees)
The University of North Carolina at Chapel Hill
68
Path Finding
• Essentially a Dijkstra’s single source shortest path algorithm. Uses the path cost from earlier
• Correctness comes from fact that Dsmax behaves like non-negative addition with the operator
The University of North Carolina at Chapel Hill
69
Path Refinement
• Takes path p from initial level l• Expand p into channel P with margin m
– If p is a level l path, a cell with index(u,v) is in P if some cell (i,j) is in p and and
– At the next level l -1, mark cells not in P as obstacles, and update terrain obstacles in P
– Perform the path finding algorithm from before with costs from level l -1• This construction greatly reduces the amount of
data to explore at given level
miu )(mjv )(
The University of North Carolina at Chapel Hill
70
Results
• Notation: – (a -> b) is the path found starting at
coarse level b and refined to a
The University of North Carolina at Chapel Hill
74
Conclusions
• Advantages– Relatively quick for large terrains– Smaller errors favors not too much to consider
during refinements– Paths tend to prefer large, smooth sections for
travel
• Disadvantages– Wavelet decomposition can take a long time– Smoothness of surfaces dependent upon
wavelet basis
The University of North Carolina at Chapel Hill
75
Outline
• Overview of multiresolution methods and algorithms
• Multiresolution Path Planning for Mobile Robots (1986)
• Multiresolution Rough Terrain Path Planning (1997)
• Local Multiresolution Path Planning (2003)
The University of North Carolina at Chapel Hill
76
Local Multiresolution Path Planning
Behnke, S. Proceedings of RoboCup 2003 International Symposium.
The University of North Carolina at Chapel Hill
77
Idea
• Do not try to solve entire problem at once, but only use information immediately available
• Use higher resolutions for the configuration space closer to robot, and lower resolutions for space farther away
• Great for constraints seen in applications like RoboCup
• Similar to the quadtree approach
The University of North Carolina at Chapel Hill
78
Basic Method
• Once again, A* search for the least cost path to the target
• Assign a cost to grid cells that is dependent upon the distant to each obstacle, let it decrease linearly to zero as we move farther away– Sensors can provide these values
quickly, but the certainty decreases for objects farther away
The University of North Carolina at Chapel Hill
79
Non-Uniform Resolution
• We construct the grid by placing multiple grids of size MxM concentrically– The inner part, [1/4M,3/4M][1/4M,3/4M],
is left empty at this resolution, and the next finest resolution is placed there, until the highest resolution is reached
– This greatly reduces the number of grid cells when compared to a uniform resolution
The University of North Carolina at Chapel Hill
80
Grid ExampleUniform resolution grid Multiresolution grid
Multiple resolutions shown side by side
The University of North Carolina at Chapel Hill
81
Additional Heuristics
• We must assign a heuristic that represents both the grid and path cost– Use the grid cost from before as a base
cost– Set the heuristic to be the Euclidean
distance to the target, weighted by the base cost.
The University of North Carolina at Chapel Hill
82
Planning Examples
Flat grid Multiresolution grid
Grid cells evaluated and path planned without heuristics
The University of North Carolina at Chapel Hill
83
Planning Examples
Flat grid Multiresolution grid
Grid cells evaluated and path planned with heuristics
The University of North Carolina at Chapel Hill
84
Continuous Path Planning and Execution
• Simulate initial velocity of the robot by placing an obstacle behind it– The larger the obstacle, the larger the
initial velocity
• Re-plan the path based on sensor data– As we move closer to once far away
obstacles, we gain precision about that obstacle and can update the path accordingly
The University of North Carolina at Chapel Hill
85
Different Initial Conditions
Differing Initial Velocities
Paths made based on different initial values
The University of North Carolina at Chapel Hill
86
Conclusions
• Much fewer grid cells must be inspected
• The planner runs quickly, allowing for paths to be recomputed in real time– This works because only the part of the
path computed in detail (near the robot) is executed immediately
• The quick run time may allow for a similar algorithm in greater dimensions