[ODE] exploding spinning objects

Geoff Carlton gcarlton at iinet.net.au
Mon Feb 13 17:41:33 MST 2006


I tried testing this to see if in fact an error in that equation causes 
the stability problem, rather than perhaps a precision problem like we 
have always assumed.

I couldn't get my thin box to spin out to infinity at all.  I've seen it 
in practice, but with a single precision ODE testbed, I can give it 
massive torques and the resulting angular velocity is stable.  I tested 
it with UNSTABLE, with a few different box dimensions, varying geom-body 
offsets, and with or without gravity.  I can get the box to spin so fast 
its strobing positions on the screen, but the numerical printout remains 
stable.

Has anybody actually replicated a simple test case with a single body, 
and got it to spin out to infinity like we see in practice?

Geoff


Graham Fyffe wrote:
> Search the mailing list for "rotational force".  This is a physical
> phenomenon, but the implementation of it is prone to precision
> problems.  Many people comment it out in their simulations to gain
> stability, at the cost of losing any gyroscopic effects.
>
> - Graham
>
>
> On 2/13/06, Nagymathe Denes <denes at invictus.hu> wrote:
>   
>> Hi,
>>
>> I have found a solution for the 'accelerating spinning objects' bug that
>> came up many times. There was a sort of patch that solved it for freely
>> spinning ones, but i think i have figured out the root of it. :o)
>> Near the start of dxQuickStepper() in quickstep.cpp, there's a loop for all
>> bodies which basically fills I and invI, and does this:
>>
>> // compute rotational force
>> dMULTIPLY0_331 (tmp,I+i*12,body[i]->avel);
>> dCROSS (body[i]->tacc,-=,body[i]->avel,tmp);
>>
>> ...and for even a freely spinning body, this applies a _torque_ created from
>> its avel! Even after some investigation, i still found this unnecessary, and
>> commented it out. And the good news is that it is. Correct me if i'm wrong,
>> but in my environment, everything works just fine without these two lines,
>> and on top of it, now even long sticks are perfectly stable! :o)
>> Does anyone know why were these needed? If no, i'd like to ask you to test
>> this change to see if i'm really right.
>>
>> Denes
>>
>> ps. the same may apply to Step and StepFast as these two lines do exist
>> there too, but i didn't test them as i only use quickstep.
>>
>>
>>
>> _______________________________________________
>> ODE mailing list
>> ODE at q12.org
>> http://q12.org/mailman/listinfo/ode
>>
>>     
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
>
>
>   


More information about the ODE mailing list