Hi,
I want to implement constraints in my rigid body system. Before
starting i would like to ask some question to you, physics guuruu ;o)
What system for "Rigid Body with constraint" did you use ? and why ?
in your opinion why didn't you choose another system ?
here the papers i read :
David Baraf
"Fast Contact Force Computation for Nonpenetrating Rigid Bodies"
Matthias Buck , Elmar Schomer
"Interactive Rigid Body simulation with obstacle constraint"
Devendra Kalra
"A general formulation of rigid body assemblies for computer modeling"
Richard Chaney
"Simulating Single Rigid Bodies"
Michle Clene
"Rigid Body Simulation with Contact and Constraints"
thanks for your time,
cheers,
Sebastien TIXIER - Game Developer
Dynamics and Car Physics
http://www.eden-studios.fr
GPLRank Normal:-44.24 Monster:-124.44
LFS GTI Online 1:31:02
LFS GTI Offline (HLVC) 1:31:38
Hi Sebastien!
I'm not sure who that physics guru is that you're talking about, but I'll
try to answer as well ;).
I myself started the whole business by this extremely nicely written and
instructive piece
http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/pbm/constraints.pdf
as linked from
http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/pbm/pbm.html
by Andrew Witkin (An Introduction to Physically Based Modelling:
Constrained Dynamics). This in itself should be enough to get you started
I believe (and more, in fact). From here on, basically I
adapted/polished the stuff on my own.
All the sytems basically use the same core principles, it's just the
little details which help them be adapted to special applications that
mostly distinguishes them.
I hope this was of some use,
-Gregor
On Mon, 24 Feb 2003, Sebastien Tixier wrote:
Quoted text (37 lines)
> Hi, > > I want to implement constraints in my rigid body system. Before > starting i would like to ask some question to you, physics guuruu ;o) > > What system for "Rigid Body with constraint" did you use ? and why ? > in your opinion why didn't you choose another system ? > > here the papers i read : > > David Baraf > "Fast Contact Force Computation for Nonpenetrating Rigid Bodies" > > Matthias Buck , Elmar Schomer > "Interactive Rigid Body simulation with obstacle constraint" > > Devendra Kalra > "A general formulation of rigid body assemblies for computer modeling" > > Richard Chaney > "Simulating Single Rigid Bodies" > > Michle Clene > "Rigid Body Simulation with Contact and Constraints" > > thanks for your time, > > cheers, > > Sebastien TIXIER - Game Developer > Dynamics and Car Physics > http://www.eden-studios.fr > GPLRank Normal:-44.24 Monster:-124.44 > LFS GTI Online 1:31:02 > LFS GTI Offline (HLVC) 1:31:38 > >
: I hope this was of some use,
:
: -Gregor
Thats freakey - I was about to post "You should get in Touch with the Good
Dr Veble "
Doug
:D
Hehe, but are you sure about the "Good" part? What about my Evil Dr
plans about taking over the world... muhahaha... ahem, sorry, did I say
that out loud ;)?
On Mon, 24 Feb 2003, Doug Ellison wrote:
Quoted text (12 lines)
> > : I hope this was of some use, > : > : -Gregor > > Thats freakey - I was about to post "You should get in Touch with the Good > Dr Veble " > > Doug > > :D >
"Gregor Veble" <[email hidden]> wrote in message
news:[email hidden]...
: Hehe, but are you sure about the "Good" part? What about my Evil Dr
: plans about taking over the world... muhahaha... ahem, sorry, did I say
: that out loud ;)?
I dont think anyone heard you. :D
Dr Gregor "Evil" Veble is it then . Muhaaa
Doug
On Mon, 24 Feb 2003 11:56:36 +0100, Gregor Veble
<[email hidden]> wrote:
Hi Gregor!
Nice to see you're still reading this NG. :)
Didn't your implementation end up being a bit of overkill though on
the CPU side? I think I recall you saying at one time that it was
funny that after the constraint system was in, it behaved mostly like
the old simpler system. :) (my mind may have cunningly construed this
though tough ;-) ).
But ofcourse you've found a brilliant way to speed up all this, and
we'll see it in action in RL, no doubt. :)
Cheers,
Ruud
PS I don't use constraints myself btw, so no survey results from this
side.
Ruud van Gaal
Free car sim: http://www.racer.nl/
Pencil art : http://www.marketgraph.nl/gallery/
Quoted text (8 lines)
>I myself started the whole business by this extremely nicely written and >instructive piece > >http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/pbm/constraints.pdf > >as linked from > >http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/pbm/pbm.htmlHi Ruud!
Yup, that's what I did say; the basic handling isn't all that much
different, which is a good thing (means I didn't make any stupid errors
in both versions, hopefully ;) ). If you stay at the same level of
modelling things you could call it a sort of overkill, yes. But it's not
even funny how many further possibilities towards various effects such a
framework opens. Since it ran more than fine on my old machine (the
PIII450) I don't think performance is that much of an issue. Besides (and
I'm fully biased here) what are the processors for if not physics :D
-Gregor
On Mon, 24 Feb 2003, Ruud van Gaal wrote:
Quoted text (22 lines)
> > Hi Gregor! > Nice to see you're still reading this NG. :) > > Didn't your implementation end up being a bit of overkill though on > the CPU side? I think I recall you saying at one time that it was > funny that after the constraint system was in, it behaved mostly like > the old simpler system. :) (my mind may have cunningly construed this > though tough ;-) ). > > But ofcourse you've found a brilliant way to speed up all this, and > we'll see it in action in RL, no doubt. :) > > Cheers, > Ruud > PS I don't use constraints myself btw, so no survey results from this > side. > > Ruud van Gaal > Free car sim: http://www.racer.nl/ > Pencil art : http://www.marketgraph.nl/gallery/ >On Mon, 24 Feb 2003 11:56:36 +0100, Gregor Veble
<[email hidden]> wrote:
nice paper,
Here's another thing i still have some problems.
How do you deal with multiple dynamic contacts, contacts with not null
normal velocity at contact ?
Exemple. If a block is colliding with a triangle soups, and got for
exemple, 10 contacts in front and 1 contact in rear. In real word the
block should not get any torque, but in my model, front contacts gives
more impulse than the rear one, and the block dont bounce straight :(
how to add dynamic contacts on the constrained rigid body system ?
cheers,
Sebastien TIXIER - Game Developer
Dynamics and Car Physics
http://www.eden-studios.fr
GPLRank Normal:-44.24 Monster:-124.44
LFS GTI Online 1:30:62
LFS GTI Offline (HLVC) 1:31:14
Quoted text (9 lines)
>Hi Sebastien! > >I'm not sure who that physics guru is that you're talking about, but I'll >try to answer as well ;). > >I myself started the whole business by this extremely nicely written and >instructive piece > >http://www-2.cs.cmu.edu/afs/cs/user/baraff/www/pbm/constraints.pdfHi Sebastien!
I don't think there exists a simple answer to your question. The problem
you are experiencing has to do with over-constraining, as I'm sure you
know. For a body with 6DOF, more than six contact constraints require a
special approach as there does not exist a unique solution to this
problem if the constraints are really rigid.
I can see two ways out; the first one is 'softening' the contacts
slightly, by making the contacts slightly 'springy'. This should bring
your linear system (where you calculate the constraint 'forces') that you
need to solve away from singularity. This is also one of the
suggestions that is given in ODE (it's called constaint force
mixing). Another solution is using methods such as singular value
decomposition which find one of the solutions (out of many possible);
this, however, can prove costly in terms of performance.
Another question you have is how to deal with non-zero velocities upon
contact creation. This is handled very elegantly in the constraint
formalism; you must have some equations that limit your accelerations
due to constraints. In such a system, thos equations should also have the
posibility to correct any velocity/position mismatches, such that the
constraint accelerations tend towads eliminating those in the next
timestep. Then the nonzero velocity upon contact creation can be handled
in a similar fashion, namely it's just another 'error' in velocity that
you need to handle properly.
Greetings,
-Gregor
On Tue, 25 Feb 2003, Sebastien Tixier wrote:
Quoted text (22 lines)
> > Here's another thing i still have some problems. > How do you deal with multiple dynamic contacts, contacts with not null > normal velocity at contact ? > > Exemple. If a block is colliding with a triangle soups, and got for > exemple, 10 contacts in front and 1 contact in rear. In real word the > block should not get any torque, but in my model, front contacts gives > more impulse than the rear one, and the block dont bounce straight :( > > how to add dynamic contacts on the constrained rigid body system ? > > cheers, > > Sebastien TIXIER - Game Developer > Dynamics and Car Physics > http://www.eden-studios.fr > GPLRank Normal:-44.24 Monster:-124.44 > LFS GTI Online 1:30:62 > LFS GTI Offline (HLVC) 1:31:14 > >
dont konw if you know this paper =>
www.cs.ubc.ca/grads/resources/thesis/Nov02/Michael_Cline.pdf
111 pages of great value :)
Sebastien TIXIER - Game Developer
Dynamics and Car Physics
http://www.eden-studios.fr
GPLRank Normal:-44.24 Monster:-124.44
LFS GTI Online 1:30:62
LFS GTI Offline (HLVC) 1:31:14


































