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

Nate W coding at natew.com
Wed May 15 11:19:01 2002

On Wed, 15 May 2002, Martin C. Martin wrote:

> > > So, I'm toying around with adding the constraint a
> > > timestep early, i.e.
> > > on any timestep where two things would otherwise
> > > start to interpenetrate.
> > 
> > This sounds like a good idea, however it seems to me
> > that it means double amount of work.
> Well right now, I have to take 3 or 4 timesteps per frame (frame = 1/30
> of a second) in order to reduce the amount of penetration.  So, if I can
> take bigger timesteps, this may actually save time. [....]
> Any thoughts?  It'll be a few weeks before I get to implementing this,
> so if anyone can see any other pitfalls or options just let me know...

I gather that the problem is caused by interpenetration, which in turn is
a result of the jittery 'behavior' of the creature?  If I'm understanding
this correctly, I'd take a completely different approach.  Put a low-pass
filter on the creature's movements to smooth them out, then adjust the
global ERP to 1.0 and set the CFM to whatever it takes to make things
stable and still responsive - e.g. not so rigid that things oscillate, not
so soft that things 'melt.'

That said, reading all this stuff about virtual creatures has convinced me
that I must add a genetic algorithm to my project (at least for behavior
if not morphology) so, perhaps in a few weeks I'll be able to take part in
this thread and know what I'm talking about. :-)

Still, it seems to me like you're adding a lot of complexity to the
step/detect/constrain phase in hopes of solving a problem that ODE already
handles pretty well when things are moving more smoothly to begin with.  
So, I'd try to smooth things out on the control-system side, and let ODE
handle interpenetration in the usual way.


Nate Waddoups
Redmond WA USA