[ODE] My brainless virtual creatures

Nate W coding at natew.com
Mon Apr 21 19:07:01 2003


On Tue, 22 Apr 2003, Pete Graves wrote:

> A genetic algorithm is used to evolve a set of parameters for the phase, 
> offset, and amplitude of sine waves controlling motor velocity for each of 
> the creature’s 4 legs (instead of evolving a neural net, which is probably 
> much better). The fitness function measures the distance each creature 
> travels from the start point within a set time.

I think this is a really promising approach.  Once creatures get evolved
that perform well, I think it would be interesting to mix waveforms, for
example apply square or triangle waves in hopes of smoothout the gaits
even further.

> Any advice will be very much appreciated! Especially from people using ODE 
> for similar projects.

Have you seen my project, Juice?  It's like what you describe, only
without the evolution. :-)  Sine-wave oscillators are used to drive
joints, and it's possible to create interesting gaits.  Tuning the gaits
by hand is a tedious process though.  

One thing you might also consider is evolving a sense of balance - use the
orientation of a given body to affect the position of a given joint (or
set of joints), and use evolution to tune the amount of feedback.  Juice
implements this sort of thing as well, and I've found it useful.  But,
again, you have to do it by hand and it's tedious work.

See http://www.natew.com/juice/ for more info.

-- 

Nate Waddoups
Redmond WA USA
http://www.natew.com