# [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:
http://ode.org/pipermail/ode/

Best,
Patrick

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