[ODE] iterative solver: testing needed

gl gl at ntlworld.com
Sun Mar 30 23:21:02 2003


> As far as the micro-jitter/driving around problem goes, I imagine all code
> that employs the iterative solver will have it's own way of resolving that
> through the use of body disabling (which should work now, I'm about to
> start testing it).  I'll put an example into test_crash for people to use
> as a reference point (and see how big a wall I can build then :).  I
> figure I'll go through after each step and disable all bodies who's
> velocity components (angular and linear) are all less than .01 (probably
> be tweaked).

I think auto-disabling should live straight in the ODE source.  Tweakable is
a must, as different setups require different numbers, and it's useful to
have the option to clamp things early for ultra-low computation times,
especially in cases where things are resting on each other arkwardly and
constantly re-enable one another.

>  Then any time I add power to a joint, if I set the velocity
> != 0, I'll enable the bodies that are connected to it.  Is that pretty
> much what those who have disabling bodies in their code are doing?

Well, at the moment ODE automatically re-enables disabled bodies (islands?)
when they're touched by another.

> I'm trying to think of a
> good way to only activate the part of the wall that would be affected by
> the collision.

Hmm, it seems to me that for this you don't really want to simulate a bunch
of bricks _resting_ one each other once a wall is built.  What you really
want is bricks 'glued' to one another.  In other words, you would want them
to be (in effect) all connected with breakable fixed joints, right?  You
would then radiate the impact force outwards, disconnecting and enabling
affected bricks, until you no longer violated the joints - with strong
joints this would happen quickly.  Of course you still have to decide what
happens when bricks from the bottom are missing - at what point does the
wall need to collapse?

Come to think of it, isn't this really a cloth-like problem?
--
gl