[ODE] Realistic friction based on material.

Patrick Enoch Hendrix_ at gmx.net
Mon May 21 08:21:54 MST 2007

This thread topic has been discussed several times. This is what I  
got from all the discussions:

			eff_mu = SQRT( geo1->surface.mu * geo2->surface.mu );
			eff_bounce = 0.5*( geo1->surface.bounce + geo2->surface.bounce );
			eff_bounce_vel = min( geo1->surface.bounce_vel, geo2- 
 >surface.bounce_vel );
			eff_soft_cfm = 0.5*( geo1->surface.soft_cfm + geo2- 
 >surface.soft_cfm );

"eff_" stands for "effective". More or less, plausability assumptions  
lead to this solution.


There is an archive of the messages sent on the list here:


On 20. May 2007, at 10:54 Uhr, Alen Ladavac wrote:

>> Is there any table with friction constants for most common
>> materials? And havint that, how I set the correct resulting value
>> for surface.mu? Multiply? Sum?
> Even though, as other people mentioned, to be "perfectly realistic",
> you'd need a full table, you may get away with pretty good effects  
> with
> a multiply. Take coefficients for A-A friction (e.g. steel-steel) from
> the realistic tables, then take the square root of those and remember
> as friction coefficients for that material. On contact, multiply the
> coefficients for the two materials and use that. This is not strictly
> realistic, but retains some basically palusible properties, i.e. you
> get the "correct" friction for all A-A combinations, and in an A-B
> combination the coefficient is between A-A and B-B (which may not
> always be correct in the real world, but is plausible).
> You can use the same "trick" for bounciness as well.
> Also note that since both the friction model used in ODE (and most
> real-time simulators today) and this "trick" are just approximations,
> taking "real world values" from a table is only good for orientational
> purposes. It is always best that you tweak the values a bit for
> desired results.
> HTH,
> Alen
> _______________________________________________
> ODE mailing list
> ODE at ode.org
> http://ode.org/mailman/listinfo/ode

More information about the ODE mailing list