Path Planning and Navigation Functions

In robotics, one popular way of treating the motion planning problem is to map the robot to a point in an appropriate configuration space (Udupa 1977, Lozano-Perez 1981), representing the robot's kinematic state. For example, the robot manipulator's configuration space can be the joint angles defining its kinematic state. Using this representation, the path planning problem involves going from a starting configuration (a point in configuration space) to an ending configuration. The robot path planning problem is reformulated as the problem of moving a point in configuration space to some goal state.

Obstacles can be mapped from their positions in Cartesian space to sets of points in configuration space. Because a robot, in a given configuration, actually occupies a volume in space, obstacles must be dilated appropriately if we wish to plan a path for a single point in configuration space. In practice, we can use a fixed lookup table, describing the inverse kinematics of the robot in question, to do this. If a point in Cartesian space is occupied by an obstacle, this table identifies all configurations of the robot that intersect the obstacle.

To generate a reach, or to navigate a mobile robot, we use a harmonic potential function defined on a discrete configuration space grid in which obstacles are held at a potential of 1, and goals are held at a potential of 0. The function used is called harmonic because its value at any point is the average of values in the immediate neighborhood (Connolly and Grupen 1993). The resulting function behaves like a rubber sheet. Its only minima are at the goal points. This function also has an important probabilistic interpretation for robot control: the value of the function at any point is the hitting probability, i.e. the probability of hitting an obstacle before reaching a goal if the robot where to execute a random walk (Connolly 1994). Therefore, descending the steepest gradient in the harmonic potential function minimizes the probability of hitting an obstacle before reaching the goal.

Here's a Mathematica plot of a harmonic function:

In this function, there are three goals pulled down to a potential of 0. The outer rim plus a rectangular "obstacle" near the middle are pulled up to a potential of 1. Harmonic functions are examples of minimal surfaces. These are surfaces whose mean curvature vanishes everywhere.

Gradient descent of the function produces paths through the configuration space. For a robot arm, this is a collision-free reach, for a mobile robot, the motion is an obstacle-avoiding trajectory across terrain. Wheeled vehicles present some special problems, since they are examples of nonholonomic mechanical systems, but this same basic approach can be used there as well. Harmonic functions can be computed using resistive networks. This basic idea forms the foundation for a neuroscientific model of motion control in the basal ganglia in the animal brain. For more information, consult the lab publications .

Back to the LPR Research Glossary