Use graph algorithm to find a path from start to goal
Fall 2005 4
Free Space (Point Robot)
Fall 2005 5
Path Planning (Point Robot)
Fall 2005 6
Path Planning (cont)
Fall 2005 7
Robot (translational)
polygonal
Fall 2005 8
C-space Obstacle of P
Fall 2005 9
Minkowski Sum Coordinate
dependent!
Fall 2005 10
Theorem
CP is P(-R(0,0))
R(0,0)
–R(0,0)
Proof: R(x,y) intersect P (x,y)P(-R(0,0))
Fall 2005 11
R(0,0)
–R(0,0)
PqyxRq
q
),(
onintersectiin point A
)0,0(, Ryqxq yx
)0,0(, Ryqxq yx
(x,y)
If intersect, (x,y) is in CPIf intersect, (x,y) is in CP
))0,0((,
,,
RPyx
yqxqqq
Pq
yxyx
q
Fall 2005 12
R(0,0)
–R(0,0)
))0,0((, RPyx
(x,y)
If (x,y) is in CP, R(x,y)&P intersectIf (x,y) is in CP, R(x,y)&P intersect
p
yy
xx
ryp
rxp
is,That
r
yyxx
yxyx
rprpyx
PppRrr
,,such that
, )0,0(,
Fall 2005 13
Computing Minkowski Sum
Fall 2005 14
Example
v1,v4
v2
v3
w1,w5 w2
w3
w4
[i,j] = (1,1)
Add v1+w1
angle(v1v2) > angle(w1w2)
j2
Fall 2005 15v1v2
v3
w1 w2
w3
w4
[i,j] = (1,2)
Add v1+w2
angle(v1v2) < angle(w2w3)
i2
Fall 2005 16v1v2
v3
w1 w2
w3
w4
[i,j] = (2,2)
Add v2+w2
angle(v2v3) > angle(w2w3)
j3
Fall 2005 17v1v2
v3
w1 w2
w3
w4
[i,j] = (2,3)
Add v2+w3
angle(v2v3) < angle(w3w4)
i3
Fall 2005 18v4,v1
v2
v3
w1 w2
w3
w4
[i,j] = (3,3)
Add v3+w3
angle(v3v4) > angle(w3w4)
j4
Fall 2005 19v4,v1
v2
v3
w5,w1 w2
w3
w4
[i,j] = (3,4)
Add v3+w4
angle(v3v4) < angle(w4w5)
i4
Fall 2005 20v4,v1
v2
v3
w5,w1 w2
w3
w4
[i,j] = (4,4)
Add v4+w4
Fall 2005 21
Non-convex polygons
Fall 2005 22
Time Complexity
It is O(n+m) if both polygons are convex.It is O(nm) if one of the polygons is convex and one is non-convex.It is O(n2m2) if both polygons are non-convex.
Fall 2005 23
Example 2
v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (1,1)
Add v1+w1
angle(v1v2) < angle(w1w2)
i2
Fall 2005 24v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (2,1)
Add v2+w1
angle(v2v3) > angle(w1w2)
j2
Fall 2005 25v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (2,2)
Add v2+w2
angle(v2v3) > angle(w2w3)
j3
Fall 2005 26v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (2,3)
Add v2+w3
angle(v2v3) < angle(w3w4)
i3
Fall 2005 27v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (3,3)
Add v3+w3
angle(v3v4) > angle(w3w4)
j4
Fall 2005 28v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (3,4)
Add v3+w4
angle(v3v4) < angle(w4w5)
i4
Fall 2005 29v4,v1
v2
v3
w5,w1
w2
w3
w4
[i,j] = (4,4)
Add v4+w4
Fall 2005 30
Rotational Robot
R (x, y, Ф)Ф: rotated anti-clockwise through an angle Ф
Fall 2005 31
Rotatonal Robot Motion Plan
Piano mover applet
Fall 2005 32
C-space of Rotational Robot
Fall 2005 33
Path Planning (Rotational Robot)
Each slice: R(0,0,i): obtain a roadmapProject all roadmap to get “intersection” – a pure rotation from i to j
Use a slight larger robot to ensure pure rotation won’t collide with obstacles
Fall 2005 34
Homework
P
R
[use the grid line to compute the result as accurate as possible]
1. Compute CP w.r.t. R2. Compute CP w.r.t. R’3. R and R’ are exactly the same
robot, differ only in reference point. Are CPs in 1 and 2 the same?
4. Do 1 and 2 obtain the same answer regarding to the intersection query? That is, the configuration shown left is reported as intersection in 1 & 2.