Robotic Motion Planning: Potential Functions
Robotic Motion Planning: Potential Functions
• We can now think of a vector field over the space of all q’s ...
– at every point in time, the robot looks at the vector at the point and goes in
that direction
Quadratic Potential
Combined Potential
F (q) U
(q)
+ =
16-735, Howie Choset, with slides from Ji Yeong
Lee, G.D. Hager and Z. Dodds
Potential Fields
q(i+1) = q(i)
- (i)
U(q(i))
•
i=i+1
q(i+1) = q(i)
- (i)
U(q(i))
•
i=i+1
4 8
• While L
– pop the top element t of L
– if d(t) = 0,
• set d(t) to 1+mint’ N(t),d(t) 0 d(t’)
• Add all t’ N(t) with d(t)=0 to L (at the end)
– make sure only one global minimum (a navigation function, which we’ll see
later).
Two
possible
shortest
paths
shown
• Define (Attractive)
– note this will be zero at the goal, and increasing as we move away
– controls the rate of growth
4 4 4
Local min
2 2 2
0 0 0
-2 -2 -2
goal
-4 -4 -4
-4 -2 0 2 4 -4 -2 0 2 4 -4 -2 0 2 4
2 2 2
0 0 0
-2 -2 -2
-4 -4
-4
-4 -2 0 2 4 -4 -2 0 2 4
-4 -2 0 2 4
k16=-7735, Howie Choset, with slides fkor =m J8i Yeong Lee, G.D. Hager and
kZ=. D1od0ds
Navigation Function : k (q) ,
varying k
-4 -2 0 2 4 -4 -2 0 2 4 -4 -2 0 2 4
4 4 4
2 2 2
0 0 0
-2 -2 -2
-4 -4 -4
-4 -2 0 2 4 -4 -2 0 2 4 -4 -2 0 2 4
4 4 4
2 2 2
0 0 0
-2 -2 -2
-4 -4 -4
1
0.701 . 0.701 . 0.9
0 . 2 0 . 2 0.8
5 5
55 55
k=176-735, Howie Choset, with slides from Jki Y=eong8Lee, G.D. Hager k=10
0 0
and Z. Dodds
From Spheres to Stars and Beyond
• While it may not seem like it, we have solved a very general problem
DIFFEOMORPHISM
Power is conserved!
torque
(x,y)
L2
x L1c L2c
= + y
L1s L2s L1
y x
16-735, Howie Choset, with slides from Ji Yeong
Lee, G.D. Hager and Z. Dodds
Potential Fields on Non-Euclidean
Spaces
– Example: our two-link manipulator
– J = - L1 s - L2 s+
- L2 s+
L1 c + L2 c+
L2 c+
fq = x (- L1 s - L2 s+ y L1 c + L2 c+ x
(- L2 s+ y L2 c+
(x,y)
L2
x L1c L1
y
= + L2c
x
y 16-735, Howie L
Lee,LG.D. 2s with slides from Ji Yeong
Choset,
1s Hager and Z. Dodds
In General
• Pick several points on the manipulator
• Use the resulting force to move the robot (in its configuration
space)
AF1
(x,y)
Be careful to use the RF4
correct Jacobian!
RF3
L2
RF2
y
RF1
L1
x
16-735, Howie Choset, with slides from Ji Yeong
Lee, G.D. Hager and Z. Dodds
A Simulation Example
• Problem: simulate a planar n-link (revolute) manipulator.
Jn = Ln w(n)
• Navigation functions