Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Teem Tutorial

Introduction

Teem is an evolutionary robotics package written in C++. It focuses on modularity and can be interfaced with many simulation (or reality) back-ends. Teem includes different types of genetic algorithms and can simulate various neural network models and architectures.

Running Teem

Teem is ran through a command-line interface:
teem --help

Running evolutions

To launch an evolution run, you need to specify a settings file and directory where the log files will be saved. For example:
teem -f teem.batteryrecharge.cfg -d run_logs

Teem will load the config file teem.batteryrecharge.cfg, create the directory run_logs (if it doesn't exist) and start an evolution run. You can stop the evolution by closing the display window or typing ctrl-C in the terminal. It will also create a settings file named teem.local.cfg containing the settings used for the evolution for later use.

Continuing evolutions

To continue a previously interrupted evolution, you can use the -c option with the generation number which you want to start from, as in:
teem -d run_logs -c 15

You can also omit the generation number to continue from the last generation.

Note that it is not required to provide the setting files, because Teem saves the run's settings in the run directory. The -c option implies that Teem will automatically load the settings saved in the current directory, which is set using the -d option.

Testing individuals

You can test evolved individuals with the -t option, as in:
teem -d run_logs -t 30

In this case, Teem will test the best individual of generation 30. You can test any individual by providing its number, for example:

teem -d run_logs -t 30 12

Here Teem will test the 12th individual of generation 30.

Note that usually, when Teem tests an individual, a log file is created that contains the data describing the individual's ``life''.

Configuration files

Teem configuration files contain all the parameters Teem should use to run an evolution. Basic configuration files are provided for each experiment and contain comments describing the available options. The syntax is quite simple, as illustrated in this example:
teem
{
    experiment
    {
        numberParam = 1.5;
        stringParam = "Hello World!";
        vectorParam = 1 4 2 5;
    }
}

The accolade notation is just for convenience. The above configuration file is completely equivalent to this one:

teem.experiment.numberParam = 1.5;
teem.experiment.stringParam = "Hello World!";
teem.experiment.vectorParam = 1 4 2 5;

It is possible to provide more than one configuration file to Teem, for example:

teem -f teem.batteryrecharge.cfg -f mysettings.cfg -d run_logs

In that case, settings contained in mysettings.cfg will override those from teem.batteryrecharge.cfg. It is also possible to specify single settings using the -s option, as in:

teem -f teem.batteryrecharge.cfg -s teem.ga.populationCount 100 -d run_logs

Note that a -t (and -c) option loads the settings that are contained in that directory (if any), possibly overriding previously loaded settings. For example, the two following commands are in general not equivalent:

teem -d run_logs -t 30 -f mysettings.cfg
teem -d run_logs -f mysettings.cfg -t 30

Command line options reference


Generated on Mon Oct 24 17:38:26 2005 for Teem by  doxygen 1.4.2