examples of practical algorithms for path planning n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
EXAMPLES OF PRACTICAL ALGORITHMS FOR PATH PLANNING PowerPoint Presentation
Download Presentation
EXAMPLES OF PRACTICAL ALGORITHMS FOR PATH PLANNING

Loading in 2 Seconds...

play fullscreen
1 / 29

EXAMPLES OF PRACTICAL ALGORITHMS FOR PATH PLANNING - PowerPoint PPT Presentation


  • 98 Views
  • Uploaded on

EXAMPLES OF PRACTICAL ALGORITHMS FOR PATH PLANNING. Bug Algorithms. Bug 2. H j. L j. Bugs 2. q target. M-line. New leave point condition: d<d(H j ,Target). q init. q target. M-line. H j. L j. From point L j-1 move along M-line until: Target is reached. Stop

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'EXAMPLES OF PRACTICAL ALGORITHMS FOR PATH PLANNING' - razi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
bugs 2

Hj

Lj

Bugs 2

qtarget

M-line

New leave point condition: d<d(Hj,Target)

qinit

slide5

qtarget

M-line

Hj

Lj

  • From point Lj-1 move along M-line until:
    • Target is reached. Stop
    • An obstacle is hit at Hj. Goto 2
  • Turn left and follow the boundary until:
    • Target is reached. Stop
    • M-line met at distance d from target such that:
    • d < dist(Hj,qtarget)
      • Define Lj, set j=j+1, and goto 1.
    • If we return to Hj without meeting the M-line, stop. The target is trapped.

New leave point condition: d<d(Hj,Target)

qinit

bug 2 algorithm
Bug 2 Algorithm
  • From point Lj-1 move along M-line until:
    • Target is reached. Stop
    • An obstacle is hit at Hj. Goto 2
  • Turn left and follow the boundary until:
    • Target is reached. Stop
    • M-line met at distance d from target such that:

d < dist(Hj,qtarget)

Define Lj, set j=j+1, and goto 1.

    • If we return to Hjwithout meeting the M-line, stop. The target is trapped.
bug noncontact sensors
Bug + Noncontact Sensors
  • Suppose the robot is provided with info within a disk of radius r
    • E.g.: vision, infra-red, ultrasonic
  • The robot reconstructs at each point, the path that it would generate with no info
  • Result: smooth version of previous paths
probabilistic roadmaps1
Probabilistic Roadmaps
  • Path planning algorithm are expensive. Search on small grid cannot be used.
  • If #DOFs’ is large, deterministic algorithms are not effective
  • Solution: use a probabilistic roadmap planner (PRM).
  • PRM are complete in a probabilistic sense
  • An heuristic planner:
      • potential fields.
    • Disadvantage:
      • local minima.
    • Solution:
      • randomize to escape local minima
description of probabilistic roadmap algorithm
Description of Probabilistic Roadmap Algorithm
  • Roadmap = undirected graph R = (N, E )
  • N : (nodes) set of selected configurations in Cfree
  • E : (edges) collection of simple paths. The Local Paths
  • Local paths are computed by the fast but not powerful local planner
  • Idea: connect qinitand qgoalwith qinit’and qgoal’ in N
  • Search Rfor a path
preprocessing phase
Preprocessing Phase

Three stages

  • Roadmap construction. Objectives:
    • Obtain reasonable connected graph
    • Be sure “difficult regions contain a few nodes
  • Roadmap expansion. Objectives:

Improve graph connectivity by selecting nodes of R which lie in (heuristic) difficult regions and adding nodes there

  • Roadmap Component reduction. Optional. Attempts to simplify the graph
roadmap construction
Roadmap Construction
  • Initially R is empty
  • Repeatedly, generate & add a free configuration to R
  • For every new q, select some nodes in R and try to connect them to q using local planner
  • On success, add the edge (q, q’ ) to E

: Cfree× Cfree {0,1} is a local function returned by local planner

D: pseudo metric in Cfree

create random configurations
Create random configurations

AS a first step we create random configurations in the space.

The algorithm creates the points one at a time, but we’re not going to do that with the slides.

As configurations are created we try to connect to already existing nodes in the graph (if they are close enough they will get connected)

update neighboring nodes edges
Update Neighboring Nodes’ Edges

As edges are added to the graph we start forming connected regions.

end of construction step

Connected nodes

End of Construction Step

At the end of the construction step we end up with one or more connected components.

We can probably improve connectivity by adding more nodes in the expansion stage at the difficult areas of the space.

expansion step
Expansion Step

The nodes are added and will be connected again using the local planner on the closest nodes.

end of expansion step
End of Expansion Step

At the end of the expansion step we end up with the same number, or fewer connected components.

select start and goal
Select start and goal

Start

Goal

We represent our start and end goal

connect start and goal to roadmap
Connect Start and Goal to Roadmap

Start

Goal

Find the nodes in the graph that are closest to the start and goal and

connect then with edges.

find the path from start to goal
Find the Path from Start to Goal

Start

Goal

Now simply search for a path.

roadmap construction algorithm
Roadmap construction algorithm
  • Nø , Eø
  • Loop
  • q  randomly selected free configuration
  • Nqa set of candidate neighbors of q from N
  • N = N  {q}
  •  q’ Nq in order of increasing D(q,q’ ), do
  • If q, q’ are not in the same connected comp. and(q,q’) =1, then EE  {(q, q’ )}
  • Update R’s connected components

How?

Meaning?

Select

Algorithm?

creation of random configurations
Creation of Random Configurations
  • Nodes of R = uniform random sampling of Cfree
  • Obtain q by drawing each of its coordinates.
  • From allowed interval for the corresponding DOF
    • Check q for collisions
    • If q is collision-free, add it to N. Otherwise discard
ideas for the local planner
Ideas for the Local Planner
  • Deterministic vs. Non-deterministic planner
  • Powerful planer = slower planner
  • Empirical results: use deterministic and simple but very fast planner
  • Example: connect two configurations by a straight line in configuration space
  • Check for collisions by bisection
distance function d
Distance Function D
  • D is used for constructing & sorting Nq
  • Hopefully, D reflect the chance that the local planner will fail
  • Simple selection that works in practice:

D(q,q’)=maxxRobot||x(q)-x(q’)||

roadmap expansion
Roadmap Expansion
  • N should be a fair enough covering of Cfree
  • Roften consists of a few large components and several small ones
  • Expansion = add nodes to form a large component with as many nodes as possible
  • Try to cover the “difficult” parts of Cfree
  • Define weight w(q). Large wq is in a difficult region
  • Add M nodes to the collection