[ODE] coulomb friction model?

Bob Dowland Bob.Dowland at blue52.co.uk
Thu Oct 21 16:57:34 MST 2004


(Apologies for the double posting Nguyen - just my outlook skills! erhh, I lost them round here somewhere.. ;)

<actual post>

Graham,

For another ref there is David Eberley's "Game Physics". There is quite a full discussion in there on the details of how the A_ij and b_i terms are formulated, there is also something in the SIGGRAPH tutorial, "Physically based modelling,.." on precisely this - although there were a couple of small errors in the code when I last looked at it.

Not much (IIRC) on friction in either of those two I'm afraid but both awfully helpful if you want to get those non-pen constraints working as a first pass - I get the feeling you are also working on that right? If so, bear in mind that solving for the reaction forces is a good place to start.

Note that the problem of formulating ie setting up that "system matrix" etc and the problem of selecting a solution from the space of all possible answers are distinct/separate issues. My advice would be to RM&ID as many approaches as poss especially if you're writing an engine. Even if you can do better than the Cottle-Dantzig algo - it's worth taking some time (if you have it) to study (ie implement and watch it go). But be prepared to put some time in looking at results and thinking about ways to detect/recover when its producing garbage.

:)

Bob.



> -----Original Message-----
> From: Nguyen Binh [mailto:ngbinh at gmail.com]
> Sent: 21 October 2004 05:20
> To: Graham Fyffe
> Cc: ode at q12.org
> Subject: Re: [ODE] coulomb friction model?
> 
> 
> On Wed, 20 Oct 2004 16:06:23 -0300, Graham Fyffe 
> <gfyffe at gmail.com> wrote:
> > Hi all!  I'm trying to use a coulomb friction model for my own
> > simulation stuff.  I am in the middle of decyphering Baraff's paper
> > and website, where he prescribes using a modified Dantzig method of
> > sorts.  My question is, what algorithm does ODE use? 
> 
>     Hi-low Dantzig on Step (normal)
>     a sort of iterative on StepFast (obsolete now, IMHO)
>     Better Iterative (K. Murty) in QuickSep(recommended)
> 
>     All the meterials in Barraff paper seems to archaic now. I don't
> know any modern physics lib use it now.
> 
> > I've tried
> > parsing through the step.cpp file, but I can't extract the 
> algorithm.
> 
>     I will be surprised if you could find the algorithm at 
> first read. :)
> 
> > There seem to be optimizations based on the two-body joints 
> that mask
> > the true meaning to me.  I've read about the jacobians and 
> matrices in
> > the joints how-to document as well, but it is very light on what
> > actually goes into the matrix in order to handle the "max force"
> > properties of friction.  I've also red Russ's articles on 
> the subject
> > in the Games Programming Gems books, but again it is light 
> on details
> > about how to construct the matrix.  Can anybody help me out?
> 
>    The thing Russ wrote in GPG is just how to create a joint.So it's a
> bit cryptic.
> 
> > BTW, I'm not using ODE for this project because the model is very
> > simple; I only care about angular velocities of some parts and the
> > rest of the system is totally fixed.  Also, ODE is unusable for it
> > because I have linear constraints involving up to 5 of the bodies,
> > whereas ODE only supports 2 :(
> 
>    Hmmm..... IMHO no physical simulation libary exists now use more
> than 2 bodies constraints. All the 5 bodies constraints must be
> converted to 2 bodies-constraints system.
> 
> -- 
> Nguyen Binh
> www.glassegg.com
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
> 



More information about the ODE mailing list