Sigel is a tool that teaches virtual robots to walk in a physical 3D-simulation.
Version: 1.0Sigel is a tool that teaches virtual robots to walk in a physical 3D-simulation. It uses the method of "Genetic Programming" to evolve control programs for any robots that come into your mind, visualizes them using OpenGL and exports animations to Povray.
Operating System: Linux
The problem the PG368-Sigel had to solve was the programming of control programs for any kind of walking robot architectures. This should be done with the use of Genetic Programming, a principle which tries to copy the strategy of natural evolution combined with the concepts of automatic programming.
In the first step a Genetic Programming System had to be created. Such a system works like a searchprocedure. It uses a detailed description of the problem to search the solution space for good solutions. One of it parts is an administration called Pool which have to organize a set of possible solutions, a subset of the solution space. The solutions in this subset are called Individuals and represent the part of the solution space which is currently examined by the GP-System. One other part are a set of strategies to vary the individuels, which are taken from the natural evolution. Good found solutions are parted from wrong solutions by natural strategies like selektion. The selektions of individuals for variation like mutation orientates on the quality of the solutions. Copies of good solution are selected for genetic modifications and the result of this is placed over wrong solutions afterward.
To test the quality of a walking robot control program it is necessary to watch the behavior of it, if it is run on a walking robot architecture. Such a test is very dangerous for the robot, because failures in the control program can cause heavy damage on the robots artichecture.
Therefore it was also necessary to create a kinetic simulator, to simulate any kind of robot architectures. This simulator was build to simulate the physical world as precisly as possible. Also there was a language invented to describe the architecture of a robot and a visualisation to visualize the work of the simulator.
The advantage of the SIGEL-system is his ability to handle any kind of walking robot artichecture which can be described by the robot describtion language and the automatism used to program the control program of the robot. With this advantages it is possible to evolve the control program again, after a modification of the architecture without the danger of damage. The feature to visualize the simulation is a possibility to check the results of the evolution, which are in the best case with no differences to the behavior of robot in reality.
Here are some key features of "Sigel":
· Loading and saving of robots.
· Adjustment of the robots language parameters.
· Adjustment of the GP parameters.
· Adjustment of the simulation parameters.
· Adjustment of the environment settings.
· Creation of random indidividuals.
· gcc 2.95.2 or higher together with the appropriate libstdc++