Re: CFM, ERP, stepsize, bNormalizationResult failed
[email protected] Wed, 21 Nov 2007 17:21:38 +0100
| Newsgroups | gmane.comp.lib.ode |
|---|---|
| Message-ID | <[email protected]> |
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)" <[email protected]>: > 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+ > > > > [email protected] 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 > > [email protected] > > http://ode.org/mailman/listinfo/ode > > > > > > >