Randomized Potential Field Implementation
Com S 476 FINAL PROJECT - Spring 2001

Nick Mayer and Shaun Jurgemeyer


Project Description

Our goal was to create a Randomized Potential Field (RPF) path planner that efficiently solves most problems. This algorithm uses several different methods of finding the goal and can be implemented in a variety of ways.

We started out with the basic model of an RPF solver in mind which includes descend, backtrack and random walk functions. We created functions for all three methods. We also implemented this idea for the inputs on non-holonomic problems. We then spent a lot of time tweaking parameters to make the functions work better. To help our random walk function perform better, we modified it to use a bounce walk as the random walk function. This allowed us to get free from local minima more quickly. We also implemented a smoothing function which smooths out the bumps in our path. This helps to make a more realistic route to the goal.

We have created an efficient implementation of this algorithm so that it will perform well on most cases. Because of the randomness of this method there are some cases where the algorithm will fail or produce an undesirable path. However, it is usually possible to optimize the constants used by the RPF for a particular problem type. For example, it is usually more desirable to have a lower stuck ratio for three dimensional problems.

Our implementation of this algorithm followed the RPF idea in most aspects. The major change that we made to the RPF algorithm given in class, was to use a bounce walk in the place of a random walk. For non-holonomic problems, we modified the descend and random walk functions to accommodate restricted inputs. We found these modifications improved our performance greatly in most cases.


Examples


Simple Examples


Implementation Files