Thursday, November 16, 2006

Videos - Artificial Evolution of Humanoid Behaviors

These videos are from a project I did in 2003. A physically simulated humanoid is controlled by an artificial neural network which senses joint angles and controls muscle forces. A genetic algorithm optimizes the neural network weights to improve performance on some motor control task.

Jumping Vertically

Standing Upright

Walking Forward


Olex said...

Oh, man, these videos were hilarious! Especially jumping one. It looked like some stable results were achieved. Great job.

lars said...

How big is your neural network?

Tyler Streeter said...

I don't remember the exact numbers, but I think the standing and jumping neural networks had about 12 input nodes, 10 output nodes, and a hidden layer of 10-15 nodes. (The input layer was fully connected to the hidden layer, which was fully connected to the output layer.)

The walking neural network was evolved with my modified version of NEAT (w/ leaky integrator neurons), starting from a minimal network of just a few inputs (I'm thinking it was like 2-5) and 2 outputs. Eventually it added recurrent connections which enabled cyclic activity, and it may have added a hidden node or two.

Anonymous said...

Great blog congratulations!come visit our site and see amazing free on line movies

Daniel Nilsson said...

That's some sweet stuff! :)
I wish you had made more of these movies, I love to watch them :D