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

Martin C. Martin martin at metahuman.org
Wed May 15 06:32:02 2002

Adam Rotaru wrote:
> But before I digress to much, I have some comments
> about
> the specifics of the big jump which this creature
> produces.


> I'm suggesting that the exact cause could be
> determined,
> and maybe mediated.  This is probably not an easy
> task,
> and there are many similar situations.

What happens is, an arm penetrates the side of the body.  ODE adds a
small force to push it out the way it came in.  However, because the ERP
is less than one (I think it was 0.2), it doesn't go all the way out of
the body in one time step.  In fact, it stays inside for many time
steps.  The arm then manages to rotate about 90 degrees very quickly. 
Now the arm is facing forward and so must exit the front or back of the
body, not the side.  Since it's far from the front or back, this takes a
huge force.

I spent a while thinking about how to fix this.  I thought about
constraining the arm so it couldn't do that type of rotation, but
basically that could cause similar problems in other orientations.

I thought of other solutions like that, which were specific to this
particular problem, but decided what was really going on was that two
objects penetrating can result in a large force.

So, I started thinking about adaptive timestep algorithms, so I could
take many timesteps/frame when things get hairy, and few when things are
nice.  But thinking more about it, the "add the constraint one timestep
early" solution seems more appropriate.

- Martin