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
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
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.
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 2020-08-14