[ODE] Re: Virtual creatures (karl sims etc...)

Tim Schmidt tisch at uni-paderborn.de
Tue May 14 14:02:01 2002


Hello list!

Nice to hear that there are others out there who are fascinated by Sims work,
too :-))) 
It seems to me that we are working on the same project. The only difference may
be that I am planning to use Java/Java3D for the GA/GP, gene
representation/mangling, maybe network conversation, GUI and so on. The
connection to ODE via Java Native Interface is already working to some extend. 
Maybe the choice to use Java will cause me to pull my hair out at some later
time (especially in  performance issues), but in general I hope for a faster and
less error-prone implementation with Java. As always one will know better at the
end ;-)

> I would like to have a hinge2 with joint limits on axis 2 as well.
> Also i wonder if i can achieve this with a ball socket joint and some motors
> & limits.

In a simple test scenario a ball socket and amotor worked for me, but it somehow
does not look very nice when the amotor limits are set to 90 degrees on each
side. Working without any limits but with collision detection even between
connected body segments (*) looks better at the cost of more computation time
for the collision detection. Maybe this is a matter of taste.

(*) Identifying connected bodies in the nearCallback and setting their
contactJoints' mu to '0' and the CFMs a little bit higher makes the movements
quite smooth.

[...]
> Consequently, it breaks many laws of physics - such a conservation 
> of energy.  For example, a freely rotating body in space, without
> any damping (e.g. air resistance), will continuously gain angular momentum.
> As Karl Sims quickly discovered himself, if you're doing evolution at
> this level - where the fitness depends on the physics - a physics model 
> that is as accurate as possible is paramount.
> Evolution is great at discovering and exploiting the holes in the physics 
> to the advantage of the organisms (since that is what you're doing it
> for).
> For example, you may find that despite your best efforts to combat it,
> that organisms continually evolve that exploit the 'free energy' available 
> in rotating bodies in increasingly ingenious ways.

Hmm, this might really become a problem (even a quite disillusioning one) :-\
One approach to solve this could be to limit the joint/muscle forces so that it
is impossible for a creature to 'become a bird'.

A second one that might be a little bit more complex (particularly
computational) but more general, too (in the case that it works):
What about simulating air resistance (at least as far as rotation is concerned)
by connecting each body to the environment by an amotor without any stop limits,
but with an appropriate FMax and velocity set to '0'. Shouldn't that slow down
rotation over time?   ... well, just a thought! ;-) 

-

Some of you seem to have some more background information about Karl Sims'
research, that goes beyond the (two?) standard papers describing his work. I am
especially interested in some details concerning the gene representation that he
uses (and surely everything else, too ;-) )
So, if you know more, please give us a hint.

@Bart: Maybe we can change some thoughts about it, as soon as this problem comes
towards us.


bye,
    Tim