Upload
fejs-za-scribd
View
214
Download
0
Embed Size (px)
Citation preview
7/28/2019 Oct-16-Potential-Fields.pdf
1/21
Potential Fields
October 16, 2008
7/28/2019 Oct-16-Potential-Fields.pdf
2/21
Introduction to Potential Fields:
Potential field: array (or field) of vectors representing space
Vectorv = (m,d): consists of magnitude (m) and direction (d)
Vector represents a force
Typically drawn as an arrow:
Length of arrow = m = magnitude
Angle of arrow = d= direction
Vdirection
V magnitu
de
Potential Fields
7/28/2019 Oct-16-Potential-Fields.pdf
3/21
Potential Field Path Planning
Robot is treated as apoint under the influenceof an artificial potential field. Generated robot movement is similar to a ball
rolling down the hill Goal generates attractive force
Obstacles are repulsive forces
Note that this is more than just path planning:
it is also a control law for the robots motion
R. Siegwart, I. Nourbakhsh
7/28/2019 Oct-16-Potential-Fields.pdf
4/21
Potential Fields More detail
Vector space is 2D world, like birds eye view of map
Map divided into squares, creating (x,y) grid
Each element represents square of space
Perceivable objects in world exert a force field on surrounding space
7/28/2019 Oct-16-Potential-Fields.pdf
5/21
Some Primitive Types of Potential Fields
Uniform Perpendicular
Attraction Repulsion Tangential
7/28/2019 Oct-16-Potential-Fields.pdf
6/21
Magnitude Profiles
Change in velocity in different parts of the field
Constant Linear Dropoff ExponentialDropoff
distance
magn
itude
(See your text for 3D versions of these profiles)
Field closest to an attractor/repellor will be stronger
7/28/2019 Oct-16-Potential-Fields.pdf
7/21
Programming a Single Potential Field
Repulsive field with linear drop-off:
where D is max range of fields effect
180
( )for
0 for
o
direction
magnitude
V
D dd D
V D
d D
=
=
>
7/28/2019 Oct-16-Potential-Fields.pdf
8/21
Important Note:Entire Field Does Not Have to Be Computed
Only portion of field affecting robot is computed
Robot uses functions defining potential fields at its position to calculatecomponent vector
7/28/2019 Oct-16-Potential-Fields.pdf
9/21
Combining Fields/Behaviors
Compute each behaviors potential field
Sum vectors at robots position to get resultant output vector
7/28/2019 Oct-16-Potential-Fields.pdf
10/21
Issues with Combining Potential Fields
Impact of update rates:
Lower update rates can lead to jagged paths
Robot treated as point:
Expect robot to change velocity and direction instantaneously (cant
happen)
Local minima:
Vectors may sum to 0.
7/28/2019 Oct-16-Potential-Fields.pdf
11/21
The Problem of Local Minima
If robot reaches localminima, it will just sit still
Local minima: vectors sum to 0
7/28/2019 Oct-16-Potential-Fields.pdf
12/21
Solutions for Dealing with Local Minima
Inject noise, randomness:
Bumps robot out of minima
Include avoid-past behavior:
Remembers where robot has been and attracts the robot to other places
Use Navigation Templates (NaTs):
The avoid behavior receives as input the vector summed from otherbehaviors
Gives avoid behavior a preferred direction
Insert tangential fields around obstacles
7/28/2019 Oct-16-Potential-Fields.pdf
13/21
Again now, with more math: Potential Field Generation
Generation of potential field function U(q) for robot at point q :
attracting (goal) and repulsing (obstacle) fields
summing up the fields
functions must be differentiable
Generate artificial force field F(q) as the gradient of the potential field:
( ) ( )
( ) ( ) ( )
( ) ( )
att rep
att rep
F q U q
F q F q F q
U q U q
=
= +
=
Adapted from: R. Siegwart, I. Nourbakhsh
( ) ( ) ( )att rep
U q U q U q= +
Ux
UU
y
=
7/28/2019 Oct-16-Potential-Fields.pdf
14/21
Converting to robot control
Set robot velocity (vx, vy) proportional to the force F(q) generated by thefield
the force field drives the robot to the goal
robot is assumed to be a point mass
Adapted from: R. Siegwart, I. Nourbakhsh
7/28/2019 Oct-16-Potential-Fields.pdf
15/21
Mathematical Representation: Attractive Potential Field
Parabolic function representing the Euclidean distance tothe goal:
where katt is a positive scaling factor, and goal(q) is distance
Attracting force converges linearly towards 0 (goal):
R. Siegwart, I. Nourbakhsh
7/28/2019 Oct-16-Potential-Fields.pdf
16/21
Mathematical Representation: Repulsive Potential Field
Should generate a barrier around all the obstacles:
strong if close to the obstacle
no influence if far from the obstacle
: minimal distance to the obst. from q; 0 is distance of influence of obst.
Field is positive or zero and tends to infinityas q gets closer to the obstacle
R. Siegwart, I. Nourbakhsh
02
0
0
1 1 1if ( )
( ) ( ) ( ) ( ) ( )
0 if ( )
obstaclerep
rep rep
q qk q
F q U q q q q
q
= =
7/28/2019 Oct-16-Potential-Fields.pdf
17/21
Potential Field Path Planning: Using Harmonic Potentials
Hydrodynamics analogy
robot is moving similar to a fluid particle following its stream
Ensures that there are no local minima
Note:
Complicated, only simulation shown
R. Siegwart, I. Nourbakhsh
7/28/2019 Oct-16-Potential-Fields.pdf
18/21
(backup)
7/28/2019 Oct-16-Potential-Fields.pdf
19/21
Return to Motor Schemas:Example Motor Schema Encodings
Move-to-goal (ballistic):
Vmagnitude = fixed gain value
Vdirection = towards perceived goal
Avoid-static-obstacle:
where S = sphere of influence of obstacle
R= radius of obstacleG = gain
d= distance of robot to center of obstacle
0 for
for
for
magnitude
d SS d
V G R d S S R
d R
> = <
7/28/2019 Oct-16-Potential-Fields.pdf
20/21
More Motor Schema Encodings
Stay-on-path:
where:W= width of path
P= off-path gain
G = on-path gain
D = distance of robot to center of path
Vdirection = along a line from robot to center of path, heading toward centerline
for ( 2)
for d ( W 2)2
magnitude
P d W
V dG
W
>
=
CENTER OF PATH
7/28/2019 Oct-16-Potential-Fields.pdf
21/21
More Motor Schema Encodings (cont.)
Move-ahead:
Vmagnitude = fixed gain value
Vdirection = specified compass direction
Noise:
Vmagnitude = fixed gain value
Vdirection = random direction changed everyptime steps