[ODE] CFM, ERP, stepsize, bNormalizationResult failed

ode@thoemsen.ch ode at thoemsen.ch
Wed Nov 21 09:21:38 MST 2007


Hi,
the damping didn't help for my problem. I could see a nice effect on the
settling of the rover on the terrain at the beginning (still with soft
constraints). With hard constraints he error occurred already after about 3
simulation steps so the damping couldn't help.
But I found that reducing the number of redundant joints was helpful. I changed
some hinge joints into ball joints and this seems to work better.
Thanks again.

Thomas

Quoting "Jon Watte (ODE)" <hplus-ode at mindcontrol.org>:

> It's not possible to simulate "perfectly stiff" joints in ODE, because 
> it is a solver that will find the system out of sync each step, and each 
> step try to bring it into sync based on the rules (constraints) you 
> provide. Something as simple as gravity will pull the system out of 
> sync. This is just a fact of life with game physics simulations (you get 
> similar behaviors in PhysX, Havok, et al).
> 
> However, you should be able to use tighter constraints (0.9 and 0.0001, 
> say) if you apply rotational dampening to each body each step. Try this, 
> for each body, for each step:
> 
>   float const *f = dBodyGetAVel(body);
>   scale = get_body_scalar_mass(body) * 0.01;
>   dBodyAddTorque(body, -f[0] * scale, -f[1] * scale, -f[2] * scale);
> 
> This ought to stabilize the system without negatively affecting the 
> simulation too much.
> You can do the same thing with linear velocity, too.
> 
> Cheers,
> 
>           / h+
> 
> 
> 
> ode at thoemsen.ch wrote:
> > Hi,
> > I'm simulating a 6-wheeled mobile robot with a rather complex suspension
> > mechanism (parallel and closed kinematic loops). I get it to work but only
> with
> > a "spongy" behavior. I've been experimenting with the CFM, ERP and
> simulation
> > step parameters. The "hardest" constraints I can impose are: ERP=0.9 and
> > CFM=0.001 at a step size of 0.005.
> > Even if I set ERP to the default 0.2, I can't get any closer to the
> default
> > value for CFM (9.9*10^-6). This means that the rover cannot be simulated
> with
> > default ERP and CFM because l get an error that "bNormalizationResult"
> failed.
> > Any ideas?
> > With the current settings the rover is not stable in its initial state,
> i.e. the
> > suspension is bending under the load of the body even though everything is
> made
> > of rigid bodies. This indicates to me that ERP and CFM are too "soft". How
> can
> > I fix this problem?
> > Thanks for any help.
> >
> > Thomas
> >
> > _______________________________________________
> > ODE mailing list
> > ODE at ode.org
> > http://ode.org/mailman/listinfo/ode
> >
> >
> >   
> 






More information about the ODE mailing list