[ODE] Back in ODE
whitt013
whitt013 at bama.ua.edu
Tue Feb 11 20:39:02 2003
Hey everyone,
I'm back after a bit of a break from ODE and my work-in-progress Evolutionary
creature program. I know a few people were talking about using ODE for
evolving creatures of one type or another a while ago..... has anyone got any
demos, working (open) source code, or experience they could throw my
direction?
I'm aiming for a level of complexity that is higher than anything done before:
a combination of aLife, genetic algorithm, and genetic programming models.
Eventually, I'd like to have a cross-platform distributed application that
creates a virtual world where everyone's creatures compete for limited
resources over the net, and the gene pool is spread out over the entire
planet. A (slightly less ambitious) intermediate goal is to evolve creatures
that can compete as a team against other teams of creatures, in games like a
simplified football game. (Both teams have a ball, start on the "50
yard-line," and the fitness of a team is determined by the distance their
"quarterback" carried their football, minus the distance the other ball got).
I'll probably start out with just evolving motion, and moving on to
sense-and-respond style activities, using the best of each simpler test as a
starting gene pool for the next level up. I'd like to have creatures consist
of somewhere on the order of 50 to 100 bodies, all connected by joints of one
type or another. And I'd like to include a central brain (object-oriented
genetic program, outputs variables for use in the other sub-brains), an
individual brain for every joint, senses of sight (straight line, maybe
bitmapped at some point), smell, touch, and a hearing/talking combination for
creatures to communicate in the teaming and ecological environments. Each
sense and response will probably need it's own sub-brain to interpret the
signals of the main brain and send back filtered signals for processing the
next cycle. I've got so many ideas in my head and not enough time to work on
it with the real work..... maybe I can convince my college to give me a grant
when I get it a bit more mature. Either way, this is a call for advice, "it's
impossible's", or "it's already been done. see.....'s". Specifically, what
part will ODE play in a program like this, is it stable enough to handle the
stresses of a genetic algorithm, and is there another physics library out
there that has the same functionality as ODE but is more accurate (and will
fit in a college student's budget... i.e. free)?
Finally, a quick technical question. Will I complete a given simulation of
say 100 - 100 body/joint creatures faster by running them all in the same
world (offset by enough that there is no chance of collision), or in 100
separate simulations. If in the same world is faster, would creating a
separate collision space for each creature (and the objects in their section
of the world) be faster, or is there another way to lower than nasty O(m2^3)
term?
Thanks in advance for all the help,
David Whittaker