[ODE] Possible solution to unstable rotating bodies problem

Geoff Carlton gcarlton at iinet.net.au
Thu Apr 7 11:07:03 MST 2005


I think a far better addition to ode would be the dampening itself (or 
have I missed an update?).  Currently I do this myself for all objects, 
but it seems more efficient to do it in the quickstep.  Here looks a 
good place:
        for (i=0; i<nb; i++) {
            for (j=0; j<3; j++) body[i]->lvel[j] += stepsize * 
cforce[i*6+j];
            for (j=0; j<3; j++) body[i]->avel[j] += stepsize * 
cforce[i*6+3+j];
        }
Every body could have its own linear and angular dampening, and have it 
applied here I think.

Also I'm interested in the earlier point about storing the penetration 
velocity separate to avoid the "bouncing" effect.  This seems an 
incredibly great idea, as objects right now can bounce more just from 
collisions than from the actual bounce parameter!  Thats very annoying, 
particularly for objects which shouldn't be that rubbery.

My last annoyance with this stuff is the fact that objects get spun so 
much from collisions.  I've examined my simulation a bit and although it 
all seems very physically accurate, most objects in real life don't seem 
to get those avel amounts from collisions.  I wonder if there would be 
any way to fudge this so that contacts "push" more than they "turn" - 
perhaps by cranking up the dMass inertia?

Geoff




More information about the ODE mailing list