zorc

A humanoid robot learns to walk (diploma-thesis).

A project of the Department of Computer Science, University of Dortmund, counseled by Professor Wolfgang Banzhaf.

about

The main objective of the ZORC project was the idea of teaching a physical robot (in opposite to a simulated one) how to walk. Using the Genetic Programming paradigm a software-system was implemented allowing the robot

  1. to process various sensor inputs, and
  2. to control its servo-motors

These basic commands along with other simple operators (+,-,*,/, conditional operators, ..) could then be assembled to a virtual machine-code program by the Genetic Programming system.

These virtual programs were then interpreted and first executed in a physics simulator (read more about SIGEL here) controlling a 3D model of ZORC. The behaviour of the programs was evaluated by a so called Fitness Function to detemine how good it was in controlling and moving the robot.

After getting good enough these programs were then moved to the real robot, i.e. the interpreter no longer controlled the robot in the simulation but the servos and sensors of the actual robot. Finally the robot evolved a robust walking algorithm.

My diploma-thesis "Evolution von Laufalgorithmen für die humanoide Roboterarchitektur 'ZORC' mittels Genetischer Programmierung" is available in electronic form as a PDF document (11.5 MB) in german language.

Don't hesitate to contact me if you're interested receiving it via email.

screenshots

movies

Simulated ZORC:

    The best of the evolved walking patterns, ready to be transferred to the real robot. Note that Zorc moves by oscillating the torso.   (4.8 MB)

    An early program during the evolution: Simulated "crashtests"..   (1.2 MB)

    Another early one: Quite funny to watch..   (2.5 MB)

    First actual steps of the simulated Zorc.   (800 KB)

    Balancing Zorc. Fitness function has a strong emphasize on upright posture.   (3 MB)

    Walking Zorc. Fitness function now has a good balance between forward speed and posture.   (1.4 MB)
Real ZORC:
    The evolved walking pattern for the real robot. Zorc moves by oscillating the torso and minimal movements of the legs.   (4.8 MB)

    The same walking algorithm, another sideview.   (5 MB)
Big Presentation:
    ZORC project presentation for the "Informatiktage 2002", Dortmund/Germany.   (45.1 MB)

A presentation movie featuring the ZORC project for the "Informatiktage" conference.
Includes english and german descriptions of the various steps performed during the project as well as most of the movies available for separate download on this page.

sample program

The following code shows an example for the virtual machine language used by SIGEL.

This program simply switches on all servo-motors to keep ZORC in an upright standing position.

LOAD 1,-128
LOAD 0,0
MOVE 1
LOAD 1,-127
LOAD 0,-15
MOVE 1
LOAD 1,-126
LOAD 0,-15
MOVE 1
LOAD 1,-125
LOAD 0,-20
MOVE 1
LOAD 1,-124
LOAD 0,-20
MOVE 1
LOAD 1,-123
LOAD 0,0
MOVE 1
LOAD 1,-122
LOAD 0,0
MOVE 1
LOAD 1,-121
LOAD 0,-15
MOVE 1
LOAD 1,-120
LOAD 0,-15
MOVE 1
LOAD 1,-119
LOAD 0,0
MOVE 1
LOAD 1,-118
LOAD 0,0
MOVE 1
LOAD 1,-117
LOAD 0,45
MOVE 1
LOAD 1,-116
LOAD 0,45
MOVE 1