[ODE] How do you determine the quality of a physics library?

Russ Smith russ at q12.org
Wed Mar 13 23:54:01 2002


to try and answer your questions...

> How do you say this physics SDK is better than another?

no one simulation method is "better". they all have their pros and
cons. consult chapter 1.1 of the manual to see what ODE is good at.
ODE's big disadvantage is that it's relatively slow for big systems.

> And that it does its job, that is, the simulations are correct.

this question is tricky. ODE simulates to 1st order accuracy, which
is a quantifiable way of measuring how "good" it is. but really we
should be measuring how close ODE will let you come to modeling a
real-world system ... e.g. 10th order accuracy to an ideal system
is no good if that ideal system doesn't work at all like the
corresponding real world system.

> And how do you prove that to someone with little or no background in
> physics simulators.

wave your hands a lot and use big words. that's what i do. muttering
to yourself and bumping into things are also sure signs of someone who
knows what he or she is talking about.

> Something like, "Why did you choose ODE?"

i think you answered that question for yourself.

> "How do you know that the simulations are correct?"

first you have to define what you mean by "correct". this is not
necessarily very easy. if you mean "behaves as close as possible to
the corresponding real system", do you mean:

  1. the state space trajectories of the real and simulated systems
     match as closely as possible. but what if the systems are chaotic?
  2. the same qualitative behaviors (behavior modes) are observed in
     both systems. but then defining "sameness" is tricky here too.

also you have to consider how each separate system element is modelled.
for example, you could be simulating the free-space trajectory
perfectly accurately, but the collision response might be completely
wrong (or vice versa). engineers who do this for a living (trying to
simulate a real world system that is) know that it can be extremely
difficult to get meaningful simulations, and it can take a long time
and require a very deep understanding of the real and simulated
systems. it also requires a lot of real-world experiments.

incidentally, this is why i think that "first order integration is
good enough for me". getting higher order integration is a necessary
step for building more physically correct simulators ... but there are
*many* other things you have to do. it's a lot of trouble, so
personally i'm just happy that it *looks* like the real thing.

russ.

--
Russell Smith
http://www.q12.org