This project is a collaboration between Ken Drew, Andrew Forsberg and me. We were inspired by Karl Sims' 1994 ACM SIGGRAPH paper to attempt to reproduce some of his results.
We wanted to create an environment in which to evolve virtual creatures. In order to do this, we needed to be able to:
Each creature has a genetically-defined brain which is composed of neurons that are functional units (sine, cosine, add, multiply, sigmoid, integrate, differentiate, etc.). Creatures may also have multiple body parts connected by either rotary or rigid joints, and one or more time, touch or joint-angle sensor.
As a creature senses information about its world, that information propogates through its brain and produces output signals that control joint effectors. The result is that initial randomly generated creatures (such as the one pictured above) twitch randomly, but evolved creatures exhibit behaviors such as walking or jumping.
During a simulation, the forces acting upon a creature's body parts include torque (from joint effectors), impulse forces, gravity, viscosity (air resistance), friction, and resting forces. In addition, constraints assure that the forces will be distributed such that body parts will remain connected to each other at the joints.
The image above displays a creature with five body parts expressed from one gene, and one body part expressed from another gene. The large rectangle below the creature is the ground. The blue lines describe the portion of a body part in which another attached body part may freely rotate. The black arrows indicate the net force acting on each body part.
The project is near completion--only resting forces and friction have yet to be implemented. To read the original project proposal (in PDF format), click here.
Copyright © 1998-2011 Paton J. Lewis. All rights reserved.