[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