Robot Motion Planning

Path Planning from text
Fall 2005
1
Outline
Point Robot
Translational Robot
Rotational Robot
Fall 2005
2
Visibility Graph (Point Robot)
goal
start
Edges between
all pairs of
visible vertices
Use graph algorithm to find a path from start to goal
Fall 2005
3
Free Space (Point Robot)
Fall 2005
4
Path Planning (Point Robot)
Fall 2005
5
Path Planning (cont)
Fall 2005
6
Robot (translational)
polygonal
Fall 2005
7
C-space Obstacle of P
Fall 2005
8
Minkowski Sum
Fall 2005
Coordinate
dependent!
9
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
10
A point q in intersecti on
If intersect, (x,y) is in CP
q  R ( x, y )  q  P
q  x, q  y  R(0,0)
 q  x,q  y   R(0,0)
x
y
x
y
q
(x,y)
R(0,0)
q  P
 q x , q y    q x  x,q y  y 
Fallx2005
, y   P  ( R(0,0))
–R(0,0)
11
If (x,y) is in CP, R(x,y)&P
intersect
x, y  P  (R(0,0))
rx , ry  R(0,0)   px , p y  P
such that x, y    px  rx , p y  ry 
That is,
p
p x  x  rx
p y  y  ry
(x,y)
R(0,0)
r
–R(0,0)
Fall 2005
12
Computing Minkowski Sum
Fall 2005
13
Example
[i,j] = (1,1)
Add v1+w1
w4
w3
angle(v1v2) > angle(w1w2)
 j2
w1,w5
w2
v3
v2
Fallv1,v4
2005
14
[i,j] = (1,2)
Add v1+w2
w4
w3
angle(v1v2) < angle(w2w3)
 i2
w1
w2
v3
v1
Fall 2005
v2
15
[i,j] = (2,2)
Add v2+w2
w4
w3
angle(v2v3) > angle(w2w3)
 j3
w1
w2
v3
v1
Fall 2005
v2
16
[i,j] = (2,3)
Add v2+w3
w4
w3
angle(v2v3) < angle(w3w4)
 i3
w1
w2
v3
v1
Fall 2005
v2
17
[i,j] = (3,3)
Add v3+w3
w4
w3
angle(v3v4) > angle(w3w4)
 j4
w1
w2
v3
v2
Fall v4,v1
2005
18
[i,j] = (3,4)
Add v3+w4
w4
w3
angle(v3v4) < angle(w4w5)
 i4
w5,w1
w2
v3
v2
Fallv4,v1
2005
19
[i,j] = (4,4)
Add v4+w4
w4
w3
w5,w1
w2
v3
v2
Fall v4,v1
2005
20
Non-convex polygons
Fall 2005
21
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 nonconvex.
Fall 2005
22
Example 2
[i,j] = (1,1)
Add v1+w1
w4
w3
w2
angle(v1v2) < angle(w1w2)
 i2
w5,w1
v3
v2
Fall v4,v1
2005
23
[i,j] = (2,1)
Add v2+w1
w4
w3
w2
angle(v2v3) > angle(w1w2)
 j2
w5,w1
v3
v2
Fall v4,v1
2005
24
[i,j] = (2,2)
Add v2+w2
w4
w3
w2
angle(v2v3) > angle(w2w3)
 j3
w5,w1
v3
v2
Fall v4,v1
2005
25
[i,j] = (2,3)
Add v2+w3
w4
w3
w2
angle(v2v3) < angle(w3w4)
 i3
w5,w1
v3
v2
Fall v4,v1
2005
26
[i,j] = (3,3)
Add v3+w3
w4
w3
w2
angle(v3v4) > angle(w3w4)
 j4
w5,w1
v3
v2
Fall v4,v1
2005
27
[i,j] = (3,4)
Add v3+w4
w4
w3
w2
angle(v3v4) < angle(w4w5)
 i4
w5,w1
v3
v2
Fall v4,v1
2005
28
[i,j] = (4,4)
Add v4+w4
w4
w3
w2
w5,w1
v3
v2
Fall v4,v1
2005
29
Rotational Robot
R (x, y, Ф)
Ф: rotated anticlockwise through
an angle Ф
Fall 2005
30
Rotatonal Robot Motion Plan
Piano mover applet
Fall 2005
31
C-space of Rotational Robot
Fall 2005
32
Path Planning (Rotational Robot)
Each slice: R(0,0,fi): obtain a roadmap
Project all roadmap to get
“intersection” – a pure rotation from
fi to fj
Use a slight larger robot to ensure
pure rotation won’t collide with
obstacles
Fall 2005
33
Homework
P
R
[use the grid line to compute the
result as accurate as possible]
1. Compute CP w.r.t. R
2. 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.
R’
Fall 2005
34