[ODE] dWoldStep slowdown
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
- 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
> 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
> 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 ?
> ODE mailing list
> ODE at q12.org
More information about the ODE