[ODE] Relation between mass, gravity and step size
Michael Merz
michael.merz at igd.fhg.de
Thu Sep 12 01:04:02 2002
> > > > 1. If I change just the sWorldStep the mass (or/and the gravity)
seem to
> > > > change as well. Why and how is it changing?
> > >
> > > I don't think it should change... are you certain that the scene is
being
> > > rendered at exactly the rate that your WorldStep parameter indicates?
If
> > > the dWorldStep time is less than the rendering frame rate, things
appear
> > > to slow down - I can see how that might look like reduced gravity.
> >
> > Maybe I see things a little greenly... if I change nothing else but the
> > sWorldStep (e.g. with the values 0.1, 0.05 and 0.01) in the
> > test_buggy, then
> > the joint between the front wheel and the chassis behaves different.
Yes,
> > things slow down... and yes, the result of the simulation must
> > be different,
> > but the joint should be the same. Where am I wrong?
>
> In order to have things move at realistic speeds, the time interval
> passed to dWorldStep needs to be identical to the actually time that
> elapses between calls to dWorldStep. It may be that you are changing the
> parameter to dWorldStep without respect to the rate at which the scene is
> rendered on the screen.
Whether I'm completely nuts or we misunderstand each other. I'm not talking
about the speed and the realistic look. I'm talking about the different
behavior of the joint between the front wheel and the chassis. This can't
have anything to do with the dWorldStep-time vs. render-time disagreement.
> > > > 2. To construct a real world model I need to simulate the
gravitational
> > > > force of the earth. What's the unit of mass? If I set
dWorldSetGravity
> > > > (world,0,0,-9.81) in the example test_buggy it does not look real at
all.
> > >
> > > Units are arbitrary. What matters is the relationships between units,
for
> > > example if you use -9.8 for gravity then you should ensure that all of
> > > your length dimensions are in meters.
> >
> > ...and the mass in kilogram. weight=mass*g and since the
> > weight is a force,
> > its SI unit is newton. By simulating with this units the result is
> > unsatisfying :-(
>
> I suspect that is a result of the dWorldStep-time vs. render-time
> disagreement I described above.
Besides the problem we're talking about above: how do you sync the
dWorldStep-time and render-time if you like to run the simulation on
different hardware?
> > > > 3. Is there a possibility to give objects properties such as
> > > > elasticity or surface condition?
> > >
> > > Not that I know of. You can make joints somewhat elastic with "large"
> > > values of CFM (like 0.1), but that may not give the effects
> > > you're looking
> > > for.
> >
> > What a bummer! Is there anything planned to implement this?
>
> Not that I know of. If you would like to implement deformable-body
> simulation, you should ask about that on the mailing list. There are
> probably people on the list who can help you get started.
It must be very interesting to do that, unfortunately the next time I'm busy
;-)