[ODE] dWoldStep slowdown

LR logreg at free.fr
Sat Jun 10 11:42:43 MST 2006

Thank you for your response,

- Are you getting debugging output? Debug output is slow. Figure out why
you're getting it, and correct the cause.
No i'm running relase mode, when all is OK (mass > 0,200Kg) -> time step
takes from 1% to 2% on my processor. If mass < 0,2 kg (approximativaly),
after few seconds (from 3 to 10) timestep takes 750 ms. When this occurs, it
never re-go ok.

- Are you using release or debug versions of ODE? Release is faster.
Release version. The last week i posted a message about cylinder/box
separate axis error -> changing the box mass from 0,050 kg to 0,150 kg (if i
remember) solved the problem.

- The system may be reaching near singularity, or may be working with
denormal numbers. Denormals are really slow on most CPUs.
Do you think it's a float problem ? Double should resolve it ? When i look a
my first body position (after the first dWoldStep slow down) x=y=z=nand ....

- Do you have lots of contacts? dWorldStep is O(N^3) in the number of
contacts (constraints). Try using dWorldQuickStep() instead.
For the spider test i don't (4 legs tuch the floor) . For the firts
simulation (with the box/cylinder problem) YES !!! Lot of objects. But the
slowdown is solved changing my objects mass (real time simulation , with 15
to 20 % of cpu)

- Oh, and make sure you're actually deleting your contacts after each step
(dJointGroupEmpty()). Else they'll just accumulate...
Yes of course it's done. When all is OK simulations runs for several hours
without problem.

- Once you've checked those things, I'd suggest using a profiler (such as
VTune on Windows or OProfile on Linux) to figure out where it's running
Good idea ...

Note : I tryed changing time step (from 0.001ms to 0.010) -> the time from
slowdown is perhaps shorted with 0.01 ... Really it's the same.
Before you aswer to me, i changed all sub-objects mass to be > 150g , i
restart simulation it's working within 1 hour with no problem. Then i
changed the mass of a leg to 50g and .... 10 seconds later BANG ! :). The
curious thing is that before slowdown, comportment seems (visually) to be
all ok ... The spider is walking ... And then BANG !

Thank you for the help you can provide me 


          / h+

LR wrote:
> Hi,
> I have a problem when geoms mass is not heavy (0,01 Kg) : after a few 
> seconds, dWoldStep slowdown (don't crash) using 750ms for 1 time step ...
> My robot is a spider with 4 legs (2 geoms for each legs, connected 
> with a hinge) and a box for the body (connected with legs with 4 
> hinges2)
> If every geoms mass is less than ... 200g (0,200), there is a slow 
> down after few seconds, elsewhere all is OK.
> Some one have an idea ?
> Laurent.
> ----------------------------------------------------------------------
> --
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode

More information about the ODE mailing list