A unilateral constraint for a frictional contact between a link and a fixed surface.
A unilateral constraint for a frictional contact between a link and a fixed surface. Friction constraints are fairly complex in relation to other constraint types. For static friction (i.e. when the tangential velocity is zero), the constraint equations are:1. an >= 0 (normal acceleration must be non-negative) 2. fn >= 0 (normal force must be non-negative) 3. fn*an >= 0 (normal force and/or normal acceleration must be zero) 4. sqrt(fx*fx + fy*fy) <= muS*fn (magnitude of the frictional force must be less than muS*magnitude of normal force) 5. ax*fx + ay*fy <= 0 (frictional force must be at least partially opposed to the tangential acceleration)For dynamic friction, the last two conditions above are replaced by:4. fx = -fn*muD*vx/sqrt(vx+vy) ` 5. fy = -fn*muD*vy/sqrt(vx+vy)These two conditions ensure that the frictional force has magnitude muD*fn and is directly opposed to the tangential velocity.Note that contact between multiple movable links is not yet implemented (it shouldn't be hard, but I haven't needed it yet.)
Alphabetic index HTML hierarchy of classes or Java