As in Section 8.2.2, potential functions can be used to represent feedback plans, assuming that a local operator is developed that works for continuous state spaces. In the discrete case, the local operator selects an action that reduces the potential value. In the continuous case, the local operator must convert the potential function into a vector field. In other words, a velocity vector must be defined at each state. By default, it will be assumed here that the vector fields derived from the navigation function are not necessarily normalized.

Assume that is defined for all , regardless of the potential function. Suppose that a potential function has been defined for which the gradient

(8.40) |

exists over all of . The corresponding feedback plan can then be defined as . This defines the local operator, which means that the velocity is taken in the direction of the steepest descent of . The idea of using potential functions in this way was proposed for robotics by Khatib [525,526] and can be considered as a form of

It is also possible to work with potential functions for which the gradient does not exist everywhere. In these cases, a continuous-space version of (8.4) can be defined for a small, fixed as

in which is the state obtained by integrating velocity from for time . One problem is that should be chosen to use the smallest possible neighborhood around . It is best to allow only potential functions for which can be made arbitrarily small at every without affecting the decision in (8.41). To be precise, this means that an infinite sequence of values can be determined from a sequence of values that converges to 0. A potential function should then be chosen to ensure after some point in the sequence, , exists and the same can be chosen to satisfy (8.41) as approaches 0. A special case of this is if the gradient of exists; the infinite sequence in this case converges to the negative gradient.

A potential function, , is called a *navigation function*
if the vector field that
is derived from it is a solution plan. The optimal cost-to-go
serves as an *optimal navigation function*. If multiple vector
fields can be derived from the same , then every possible
derived vector field must yield a solution feedback plan. If designed
appropriately, the potential function can be viewed as a kind of ``ski
slope'' that guides the state to . If there are extra local
minima that cause the state to become trapped, then will not
be reached. To be a navigation function, such local minima outside of
are not allowed. Furthermore, there may be additional
requirements to ensure that the derived vector field satisfies
additional constraints, such as bounded acceleration.

If the goal is instead at some
, then a
potential function that guides the state to the goal is
.

Suppose the state space represents a configuration space that contains point obstacles. The previous function can be considered as an attractive potential because the configuration is attracted to the goal. One can also construct a repulsive potential that repels the configuration from the obstacles to avoid collision. Let denote the attractive component and denote a repulsive potential that is summed over all obstacle points. A potential function of the form can be defined to combine both effects. The robot should be guided to the goal while avoiding obstacles. The problem is that it is difficult in general to ensure that the potential function will not contain multiple local minima. The configuration could become trapped at a local minimum that is not in the goal region. This was an issue with the planner from Section 5.4.3.

Steven M LaValle 2012-04-20