Several results which have been achieved through the one year of the project can be found here. This includes the program itself, the results of evolutions which have been done with the program, but also the two reports which have been written during the year.
One of the main results of the project is of course the program itself. The program was split into two parts, to make it possible to run the evolution in parallel on a network of computers. One part is the so called "Master" the other the "Slave".
The master can be seen as a central place where experiments are managed. An experiment consists of everything that is needed to evolve a walking program for a certain robot architecture. This incorporates (roughly) a robot model, several robot walking programs (individuals) as well as several paramters which are needed for the simulation and the evolution of the individuals. A collection of individuals is called a "pool". The management of the pool is another task of the master.
The master program has the ability to manage more than one experiment at once. All options for an experiment can be altered via the graphical user interface. These are some of these options:
The slave is used to simulate the run of a robot walking program. It can be used for two different purposes. During a running evolution the slave is used to calculate the fitness value of an individual. But it can also be used to visualize the simulation of an individual. For efficiency reasons the slave does not visualize when it is used to calculate the fitness value.
The advantage of splitting the program (or problem) in two programs is, that the evolution can be done in parallel. The master is only used to manage the pool and to make some settings, while the slave is only used to calculate the fitness values.
The master send the individuals with the parameters of the experiment to several slaves.
Every slave sends the calculated fitness value back to the master.
The program can be found in the download section as a source version as well as a binary version for Linux and Solaris.
Evolution resultsSome results of several evolutions can be found here. For every experiment there is a screenshot of the used robot architecture as well as a plot of the evolutions progress. The experiment-files and robot models can be downloaded here and if there is a movie it can be found here, too. Last but not least each experiment is commented.
Hammer (Nice walking fitness function)
The "Hammer" was the first robot model which worked with the simulator. There is a variant of the "Hammer": The "Short Hammer".
Short Hammer (Nice walking fitness function)
The "Short Hammer" is a variant of the "Hammer". The motivation behind the construction of the robot was to test, whether the "Hammer" is able to walk with less links.
Octopus (Nice walking fitness function)
In this experiment the "Octopus" was evolved with help of the "Nice-Walking"-fitness function. In contrast to the evolution with the "Simple"-fitness function it shows a behaviour which can be called a controlled walk.
Octopus (Simple fitness function)
This "Octopus" was evolved with help of the "Simple"-fitness function, which means that it was allowed to touch the ground with its torso. The resulting walk is not very elegant, but more effective than the results achieved with the "Nice Walking"-fitness function.
Insect (Nice walking fitness function)
The insect is a symmetric robot with six legs. But unlike the "Walker" it is not axially symmetrical.
Walker (Nice walking fitness function)
The "Walker" is an axially symmetrical robot.
Runner (Nice walking fitness function)
The "Runner" is a two legged robot which learned to walk without falling to the side in this experiment. This was accomplished with help of the nice walking fitness function, which does not allow the torso to go beyond a certain height level.
Runner (Simple fitness function)
During this experiment the "Runner" was allowed to fall onto the side. It used this permission instantly.
Two Bases 1 (Simple fitness function)
This architecture is one of the simplest designed during the project.
Two Bases 2 (Simple fitness function)
Two Bases (with a reduced instruction set)
An evolution with a reduced instruction set.
Two Bases (with a hardly reduced instruction set)
An experiment with a hardly reduced instruction set.
Two Bases (High crossover rate)
In this experiment the crossover rate was set to a very high level.
Two Bases (High mutation rate)
In this experiment the mutation rate was set to a very high level.
Reports (Written in german)