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

Bart van den Broek b.vandenbroek4 at chello.nl
Tue May 14 14:59:01 2002


People, I am still *way* in the thinking stage.
I was coding a bit on the neural network and morphology graphs, and the
mutation algorithms, just using those 2 articles of Karl Simms,...... in
Delphi..
I thought of using it to generate networks for the board game Othello
(Reversi) with different rules to generate wetworks for Go.
(Go is the board game with the most variations and the least amount of rules
for which no computer can beat the human masters).
But then i found ODE, and read the user doc, actually understood some of the
math AND it has collision detection.
Personally i like Delphi, so i wanted to compile the ODE with Borland C++
and link in Delphi code (other way is not possible).
Perhaps i should just go to Emacs and C++ instead.

So problems of creatures taking advantage of inacuracies in the phyisics
model is something i will not see yet. Looking forward to seeing that happen
sometime.

Btw i took some time before to look into a different inverse dynamics
library by Bart Barenbrug:http://www.win.tue.nl/dynamo/
Also check out the university computer graphics site:
http://www.win.tue.nl/vis/

Cheers,

Bart.

----- Original Message -----
From: "Tim Schmidt" <tisch@uni-paderborn.de>
To: <unlisted-recipients:>; <no To-header on input>
Cc: <ode@q12.org>
Sent: Tuesday, May 14, 2002 23:00
Subject: [ODE] Re: Virtual creatures (karl sims etc...)


> 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
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode