[ODE] friction and restitution

Jon Watte hplus-ode at mindcontrol.org
Mon Oct 4 09:14:35 MST 2004


"1" does not mean "infinite roughness". If you use the 
Approx1 approximation, the mu tells you how much counter-
force the friction will apply as a scale of the object 
force into the contact (IIRC). If you don't use Approx1, 
I think mu is a very simple force scaler (and not really 
all that useable).

In fact, the code will compare mu to dInfinity to switch 
into a more efficient "infinite friction contact" code 
for each joint.

I still think multiplication is a reasonable approximation, 
with the only question being what happens when one value 
is 0, and the other dInfinity :-)

Cheers,

			/ h+


-----Original Message-----
From: ode-bounces at q12.org [mailto:ode-bounces at q12.org]On Behalf Of Gary
R. Van Sickle
Sent: Sunday, October 03, 2004 12:01 AM
To: ode at q12.org
Subject: RE: [ODE] friction and restitution


> I recently came up against the same problem - each object can 
> store its own material parameters, but when two objects 
> collide, you have to find some way to combine them to create 
> a contact joint.  I don't know if my way is physically 
> accuract, but here's what I
> do: For friction I multiply the two objects' friction 
> parameters (each has sort of a "roughness" parameter, 
> actually, since friction parameters seems to be defined only 
> when two objects touch).  I also have a solidness and 
> bounciness parameters per object.  These I average when two 
> objects collide.
> 
> Tyler Streeter

This seems both physically right and wrong to me.  The "right" is the
"roughness" parameter, seeing as that's a major contributor to the resulting
friction.  The "wrong" is simply averaging the two to get a "physically
plausible" result:

Roughness1    Roughness2    Avg
0  (smooth)   0             0 (no friction, seems reasonable).
0             1 (rough)     0.5  (if #1 is 100% smooth, shouldn't this still
be zero friction?)
1             1             1 (if we say 1==infinte friction, maybe this
makes sense)

I wonder if simply multiplying the two roughness numbers together wouldn't
be more accuracte, to the infamous first-order.  Then anything on a
completely smooth surface (==0) has no friction (==0), two surfaces with
infinite roughness (==1) have infinite friction (==1), and any in-between
combinations are in-between.

-- 
Gary R. Van Sickle

_______________________________________________
ODE mailing list
ODE at q12.org
http://q12.org/mailman/listinfo/ode




More information about the ODE mailing list