Multiresolution Methods in Path Planning - PowerPoint PPT Presentation


PPT – Multiresolution Methods in Path Planning PowerPoint presentation | free to download - id: 9f4e0-MDVhM


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation

Multiresolution Methods in Path Planning


Quick overview of multiresolution methods and algorithms ... In general, takes a coarse mesh and refines it based on some algorithm or constraints ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 88
Provided by: russel83


Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: Multiresolution Methods in Path Planning

Multiresolution Methods in Path Planning
  • Russell Gayle
  • November 5th, 2003
  • COMP 290-058

  • Quick overview of multiresolution methods and
  • Multiresolution Path Planning for Mobile Robots
  • Multiresolution Rough Terrain Path Planning
  • Local Multiresolution Path Planning (2003)

Multiresolution Overview
  • The goal of multiresolution methods reduce
    computational complexity by reducing problem
  • 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

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

Image Pyramids
  • One of oldest and simplest techniques, usually
    simply storing the same image at different
  • We can get the next level by averaging blocks of
    pixels in the previous level

Image source http//
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//
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
Vertex Clustering
  • Merge all vertices within a grid cell into one

Image source http//
Edge Contraction
  • Given two vertices, move them together along the
    edge adjacent to each

Merge these two
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.
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
  • Hierarchal Levels of Detail (HLOD)
  • Contact Levels of Detail (CLOD)
  • Space Decomposition
  • Quadtree, Octree, wavelets, etc

Image source http//
  • Overview of multiresolution methods and
  • Multiresolution Path Planning for Mobile Robots
  • Multiresolution Rough Terrain Path Planning
  • Local Multiresolution Path Planning (2003)

Multiresolution Path Planning for Mobile Robots
  • S. Kambhampati and L.S. Davis, IEEE Journal of
    Robotics and Automation, Vol. RA-2, No. 3. 1986.

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

Definitions and Terminology
  • A quadtree is a decomposition of 2D space into
  • Each node may have either 4 or zero children
  • A free node is a node representing a region of
  • 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.

Definitions and Terminology, contd
  • 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.

Definitions and Terminology, contd
  • 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)

Quadtree Example
Space Representation
Equivalent quadtree
Quadtree Example
Space Representation
Equivalent quadtree
NW child
Gray node
Free node
Quadtree Example
Space Representation
Equivalent quadtree
Obstacle Node
Quadtree Example
Space Representation
Equivalent quadtree
Each of these steps are examples of pruned
quadtrees, or the space at different resolutions
Quadtree Example
Space Representation
Equivalent quadtree
Quadtree Example
Space Representation
Equivalent quadtree
Complete quadtree
Quadtree-Based Path Planning
  • Preprocessing
  • Step 1
  • Grow the obstacles by radius of the robots cross
  • This essentially computes the robots
    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

Basic Planning Algorithm
  • Given start and goal points
  • Determine the nodes S and G which contains these
  • Compute the minimum cost path from S to G through
    free nodes using the A graph search

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 cs predecessor p
    and is the cost of the
    segment from p to c

Path Planning Heuristic, contd
  • 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

Path Planning Heuristic, contd
  • 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

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
  • If the neighbor is gray, then find the
    nonobstacle leaf nodes (if they exist) and
    consider these as neighbors

Basic Planning Results
  • 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!

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

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

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

Case 1 contd
  • 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)

Case 2 Expanding Gray Nodes
  • If the current node B is gray, we must solve two
  • 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

Case 2 contd
  • 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

Case 2 contd
  • 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

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 Bs predecessor and
    the distance transform value
  • If N is gray, we can use the estimate from Case 1
    for h for path complexity

Case 3 Developing first stage path
  • For each gray node B on the first stage path
  • Find Bs 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 Bs predecessor P and N
    in the final path

Example for Cases 2 and 3
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
  • More complex strategies may be too costly

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

Pruning Strategies, contd
  • 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

Staged Planning Results
Non-staged planning
Grayness thresholding
Results, contd
Grayness and Size Thresholding
Fixing the level
Results, contd
L(G) thresholding
Results, contd
Comparison of non-staged planning and staged by
pruning with thresholding L(G)
  • 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

  • Overview of multiresolution methods and
  • Multiresolution Path Planning for Mobile Robots
  • Multiresolution Rough Terrain Path Planning
  • Local Multiresolution Path Planning (2003)

Multiresolution Rough Terrain Motion Planning
  • D. K. Pai and L.-M. Reissell, IEEE Transactions
    on Robotics and Automation, 1997.

  • 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
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
  • Theyre well studied and the amount by which they
    smooth is well easily quantified

  • 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

  • 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

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

1D Wavelet Example
Input Signal (Using a level 2 coiflet)
1D Wavelet Example
Level 1 Decomposition
1D Wavelet Example
Level 2 Decomposition
1D Wavelet Example
Level 4 Decomposition Showing all the wavelet
coefficients as well as the level 4 scaling
You can see that that scaling coefficients (a4)
capture the underlying idea of the original signal
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
  • 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

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 lt operator for this, and by
    tracking each part of the path we eliminate the
    ravine effect

  • This papers give algorithms for each of the
    following to solve the terrain planning problem
  • Terrain preprocessing
  • Obstacle computation
  • Path finding
  • Path refinement

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

One level of Terrain Approximation
s is the approximate surface (scaling
coefficients) and w is the errors (wavelet
Obstacle Computation
  • We want to restrict the path on several criteria
  • Terrain slope
  • Cant go across terrain that is too steep
  • Contact constraints
  • Must have a certain number of contacts with the
  • Static stability constraints
  • The robots center of gravity must be supported
  • Collision avoidance constraints
  • Parts of the robot cant intersect the terrain or
    other parts of the robot
  • Go through the surface and label regions as
    obstacles or free

Terrain Obstacles Example
Slope obstacles (slopes more than about 22
Path Finding
  • Essentially a Dijkstras 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

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
  • 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

  • Notation
  • (a -gt b) is the path found starting at coarse
    level b and refined to a

(4 -gt 4) path
(3 -gt 4) path
(2 -gt 4) path
  • Advantages
  • Relatively quick for large terrains
  • Smaller errors favors not too much to consider
    during refinements
  • Paths tend to prefer large, smooth sections for
  • Disadvantages
  • Wavelet decomposition can take a long time
  • Smoothness of surfaces dependent upon wavelet

  • Overview of multiresolution methods and
  • Multiresolution Path Planning for Mobile Robots
  • Multiresolution Rough Terrain Path Planning
  • Local Multiresolution Path Planning (2003)

Local Multiresolution Path Planning
  • Behnke, S. Proceedings of RoboCup 2003
    International Symposium.

  • 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
  • Similar to the quadtree approach

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

Non-Uniform Resolution
  • We construct the grid by placing multiple grids
    of size MxM concentrically
  • The inner part, 1/4M,3/4M1/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

Grid Example
Uniform resolution grid
Multiresolution grid
Multiple resolutions shown side by side
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.

Planning Examples
Grid cells evaluated and path planned without
Flat grid
Multiresolution grid
Planning Examples
Grid cells evaluated and path planned with
Flat grid
Multiresolution grid
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
  • 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

Different Initial Conditions
Differing Initial Velocities
Paths made based on different initial values
  • 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
  • The quick run time may allow for a similar
    algorithm in greater dimensions

The End