Motion Planning Using Alife Techniques
Com S 576/Math 378 Final Project - Spring 1998

Allen Bierbaum


Description

This project explores the posibility of using Alife techniques to evolve path planning robots. The Alife robots are based on work done by John Walker using symbots.

The project computes path planning for a "nearly" point robot.  It is nearly because the robot does actually have a radius, but this only serves to make the obstacles slightly larger.  A point robot was choosen to keep the problem simple in order to evaluate the effectiveness of Alife techniques. The project could easily be extended to other types of path planning. It is worth noting that because of the structure of the symbot agents, the symbots actually solve a non-holonomic planning problem because they have a control system.

In order to evaluate the performance of the Alife techniques, the project includes an implementation of a randomized planner for comparison purposes.

For this problem, the world is a two dimensional grid of size 10 x 10. Obstacles and the initial and goal positions are randomly generated on the board. The objective is for the planner to navigate from the initial to the goal.

Two planners are implemented. A simple randomized planner and a symbot planner.

The randomized planner is implemented based on the methods used for randomized potential field planning presented in class. An adhoc potential field function is generated by summing both an attractive field and a repulsive field. All planning is done using this summed field. The descend algorithm uses 20 samples, and the planning algorithm generates at most 20 random paths before backtracking.

The symbot planner runs a symbot simulation on symbots generated off-line and loaded into the simulator. The symbots are generated off-line using a seperate program that shares code with the visual path planning program.


Symbot Details

Symbots are evolved using tournament selection with tournament size 4. Fitness is awarded based on how quickly the symbot can find the goal position. If the goal is not reached then a lexical function is used. Currently the lexical function is based on closest approach to the goal. There are several other possible lexical functions. These functions should be implemented and tried in future work.
Potential lexical functions
Symbot population of sizes 40-100 have been used. Each generation all symbots are tested on 2-5 boards. Experiments have been run using anywhere from 256-1024 generations. The chose of these parameters is based on how long the experimenter wants to wait. (And also how much CPU power is available)

The final symbots evoled in the project where created using population size 100, 5 boards per generation, and 1024 generations. 12 runs were executed in parallel on seperate CPUs.

In order to assist symbot evolution, the number of obstacles is scaled with based on the generation number. A run starts with 0 obstacles, and then gradually adds obstacles at higher generations.

The structure of the symbot control system for this project has been extended from the original symbot work. The symbots in this project have the equivalent of a 4 state machine deciding which of 3 neural networks to use.

The logic looks similar to this

if trapped
   if near obstacle
      use net B
   else
      use net C
else
   if near obstacle
      use net B
   else
      use net A
By "trapped", it is meant that the symbot has wandered into a local minima. In the future, the design should probably be extended to use a net D instead of B when avoiding obstacles in a trapped state.

Conclusions

The Alife techniques showed potential for solving the path planning problem. In most cases, an evolved symbot solves the problem as well or better than the radomized technique. This is not to say that they do better then an optimal path planning algorithm.  Since the symbot's environment is so simple, there do exist better and faster techniques for solving the problem.  But, the results do show that symbots can be evolved to solve the problem.

This is promising since the symbots actually solve a harder problem. (They are non-holonomic) The symbots can also be used in dynamic environments and can be used with sensor uncertainty.  Symbots can be very easily extended to solve much harder navigation problems.

A symbot can do all this with no change in the current model because the symbot is already a purely reactive entity. The symbot has no knowledge about the state of the world except for what its sensors detect locally. It also retains no information about the world as it is moving through it. A symbot only reacts to the local area of its world based on its current state.

Many of the symbots evolved into creatures that behaved similar to other path planning algorithms. For example some symbots evolved to walk toward the goal until they hit an object and then randomly go in another direction. Many symbots also discovered that walking along the edge of the environment could quickly get them to the goal. Some symbots evolved into a algorithm similar to BUG2. They would go toward the goal until they hit and object, then follow the object outline around until they got "around the edge" of the object.

There were some cases in which the symbots failed. For example some evolved symbots can get "stuck" between objects. This is an area that I have been investigating, but I did not have time to find a complete solution.

Symbots also still have some problems with local minima.  This is due both to an imperfect detection function and to the inability for evolution to zero in on this ability.  Because the random boards were completely random, many times local minima did not exist or did not exist as a large trap for a symbot.  Since the boards did not require symbots to evolve trap evasion, they nearly ignored it all together.

I believe that further work should be performed to expand on the promising results of this project.  This project has shown that Alife techniques can be used to solve path planning problems.  There are now many more questions to answer:  How well can they solve the problem?, What types of problems should Alife be used on?, Are there any problems Alife could solve that other techniques cannot?


References


Examples

Example of a simple randomized solution.

Example of a difficult randomized solution. The solver gets stuck in the local minima and has to go through a large number of iterations to find a random walk out.

This is another example of a randomized plan. The randomized walk produces a plan that must be smoothed before using with a real robot.




This is an example of a symbot navigating an evironment.  The blue are on the right is the goal region, and the white dot on the left is the initial position.
 
 


Here is another example.  In this example, the symbot decided to follow the border of the environment.
 


In this example the symbot gets trapped in a local minima and then navigates out.