1
Last lecture
Configuration Space Free-Space and C-Space Obstacles Minkowski Sums
Last lecture Configuration Space Free-Space and C-Space Obstacles - - PowerPoint PPT Presentation
Last lecture Configuration Space Free-Space and C-Space Obstacles Minkowski Sums 1 Free-Space and C-Space Obstacle How do we know whether a configuration is in the free space? Computing an explicit representation of the free-
1
Configuration Space Free-Space and C-Space Obstacles Minkowski Sums
2
How do we know whether a configuration is in
Computing an explicit representation of the free-
3
How do we know whether a configuration is in the free
Computing an explicit representation of the free-space is
Solution: Compute the position of the robot at that
If colliding, the configuration is within C-space obstacle Otherwise, it is in the free space
Performing collision checks is relative simple
4
CLEAR(q)
Is configuration q collision free
LINK(q, q’)
Is the straight-line path between q and q’ collision-
NUS CS 5247 David Hsu
6
Running time increases exponentially with the
For a d-dimension grid with 10 grid points on each
Several variants of the path planning problem
7
Complete algorithm Slow
A complete algorithm finds a path if one exists and
Example: Canny’s roadmap method
Heuristic algorithm Unreliable
Example: potential field
Probabilistic completeness
Intuition: If there is a solution path, the algorithm will
8
[Kavraki, Svetska, Latombe,Overmars, 96]
9
NUS CS 5247 David Hsu
11
Probabilistic Roadmaps for Path Planning in High-
12
Static obstacles Many queries to be processed in the same
Examples
Navigation in static virtual environments Robot manipulator arm in a workcell
13
Uniform sampling Resampling (expansion)
14
Input: geometry of the moving object & obstacles Output: roadmap G = (V, E) 1: V ← ∅ and E ← ∅.
2: repeat
3: q ← a configuration sampled uniformly at random from C.
4: if CLEAR(q)then
5: Add q to V. 6: Nq ← a set of nodes in V that are close to q. 6: for each q’∈ Nq, in order of increasing d(q,q’) 7: if LINK(q’,q)then 8: Add an edge between q and q’ to E.
15
The graph G is called a probabilistic roadmap. The nodes in G are called milestones.
16
Many small connected components
17
Failure rate Weight Resampling probability
p
18
19
Connect qinit and qgoal to the roadmap Start at qinit and qgoal, perform a random walk, and
Try multiple times
20
If a path is returned, the answer is always
If no path is found, the answer may or may not
21
A small number of milestones almost “cover”
Rigorous definitions and proofs in the next
22
23
24
What probability distribution should be used for
How should milestones be connected? A path generated by a randomized algorithm is
NUS CS 5247 David Hsu
26
Path Planning Using Lazy PRM, R. Bohlin & L. Kavraki,
27
Nodes
Randomly chosen configurations, which may or may
No call to CLEAR
Edges
an edge between two nodes if the corresponding
no call to LINK
28
1.
2.
3.
29
Find the shortest path in the roadmap
A* algorithm Dijkstra’s algorithm
Check whether nodes and edges are collisions
CLEAR(q) LINK(q0, q1)
30
Select nodes that close the boundary of F
NUS CS 5247 David Hsu
32
Unit interval
Unit square Unit cube
33
What shall we do?
5
34
1.
Pick x uniform at random from [-1,1]
2.
Set
2
1 x y − =
35
1.
Pick θ uniformly at random from [0, 2π]
2.
Set x = cosθ and y = sinθ
36
Both are uniform in some sense. For sampling orientations in 2-D, the second
The definition of uniform sampling depends on
37
Unit quaternion
2 + ny 2+ nz 2 = 1.
Sample n and θ separately Sample ξ from [0, 2π] uniformly at random
n = (nx, ny, nz)
38
Longitude and latitude
= = = cos sin sin cos sin θ ϕ θ ϕ θ
z y x
n n n x y z ϕ θ
39
Choose θ and ϕ uniformly at random from [0, 2π]
and [0, π], respectively.
40
Spherical patches of
Suppose U1 and U2 are
2 2 1
U R n U R n U n
y x z
π π x y z ϕ θ 1 where
2 1
U R − =
41
Use medial axis based sampling
Medial axis: similar to internal Voronoi diagram; set of
Compute approximate Voronoi boundaries using
42
Sample the workspace by taking points on the
Medial axis of the workspace (works well for
How can we handle robots with rotational degrees of