Oct-16-Potential-Fields.pdf

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