### Contact Mechanics

```Contact Mechanics
B659: Principles of Intelligent Robot Motion
Spring 2013
Kris Hauser
Agenda
• Modeling contacts, friction
• Form closure, force closure
• Equilibrium, support polygons
Contact modeling
• Contact is a complex phenomenon involving deformation and
molecular forces… simpler abstractions are used to make
sense of it
• We will consider a rigid object against a static fixture in this
class
• Common contact models:
• Frictionless point contact
• Point contact with Coulomb friction
• Soft-finger contact
Point contact justification
• Consider rigid objects A and B that make
contact over region R
• Contact pressures (x)  0 for all x  R
• If R is a planar region, with uniform friction
and uniform normal, then all pressure
distributions over R are equivalent to
• A combination of forces on convex hull of R
• If R is polygonal, a combination of forces on
the vertices of the convex hull of R
• [“Equivalent”: one-to-one mapping between span of
forces/torques caused by pressure distribution over
R and the span of forces/torques caused by forces
at point contacts]
B
R
A
Frictionless contact points
• Contact point ci, normal ni for i=1,…,N
• Non-penetration constraint on object’s motion:   ≥ 0
• Here  is measured with respect to the motion of the object
• Unilateral constraint
object
fixture
Frictionless dynamics
• Assume body at rest
• Consider pre-contact acceleration a, angular accel
• Nonpenetration   ≥ 0 must be satisfied post-contact
• Solve for nonnegative contact forces fi that alter acceleration
to satisfy constraints
object
fixture
a
Post impact velocity
• Post impact velocities
• ’ =  +    /
• ’ =  + −1 ( ×   )
Forces at COM
• Post-contact acceleration at contact:  = ′ + ′ ×
• Formulating nonpenetration constraints:
•   =   +  ×  +

−
[ ]
−1 [ ]

≥0
Matrix formulation
• Note that the terms can be written
•      + −1   ≥ 0
• With  = 1, … ,  ,  = ,  , element-wise inequality
• G is the grasp matrix (Jacobian of contact points w.r.t. rigid body
transform)
• Each of these linear inequalities in the fk’s must be satisfied for
all i.
• Write out  +  ≥ 0
•  =     −1   (symmetric positive semi-definite)
•  =     (vector of initial contact accelerations in normal dir.)
Complementarity constraints
• Nonpenetration constraints  +  ≥ 0
• Positivity constraints  ≥ 0
• Underconstrained system – how to prevent arbitrarily large
forces?
• Extra complementarity constraint: fi must be 0 whenever
> 0
• Meaning: a contact force is allowed only if the contact remains
after the application of forces
Note relationship

• Expressed as  ⋅ (  ) = 0
to virtual work!
• More compactly formulated as    +  = 0
• Result: linear complementarity problem (LCP) that can be
solved as a convex quadratic program (QP) or using more
specialized solvers (Lemke’s algorithm)
Frictional contact
• Coulomb friction model
•
•
•
•
Normal force  =
Tangential force  =  −
Coefficient of friction μ
Constraint:  ≤
• Space of possible contact forces described by a friction cone
tan−1
n
n
2 ≤  2
−  ⋅   2 −   2 ≤ 0
− 2   2 +   2 −  2   2 ≤ 0
Cone specified exactly using following two constraints
1.    − 1 + 2   ≤ 0 (quadratic nonconvex constraint)
2.   ≥ 0
(linear)
• Constraint 1 is relatively hard to deal with numerically
•
•
•
•
Frictional contact
approximations
• In the plane, frictional contacts can be treated as two
frictionless contacts
• The 3D analogue is the common pyramidal approximation to
the friction cone
• Caveats:
• In formulation Af + b >= 0, A is no longer a symmetric matrix,
which means solution is nonunique and QP is no longer convex
• Complementarity conditions require consideration of sticking,
slipping, and separating contact modes
High level issues
• Zero, one, or multiple solutions? (Painlevé paradox)
• Rest forces (acceleration variables) vs dynamic impacts
(velocity variables)
• Active research in improved friction models
• Most modern rigid body simulators use specialized algorithms
for speed and numerical stability
• Often sacrificing some degree of physical accuracy
• Suitable for games, CGI, most robot manipulation tasks where
microscopic precision is not needed
• Determine whether a fixture resists disturbances (form
closure)
• Determine whether a disturbance can be nullified by active
forces applied by a robot (force closure)
• Determine whether an object is stable against gravity (static
equilibrium)
• Quality metrics for each of the above tasks
Form Closure
• A fixture is in form closure if any possible movement of the
object is resisted by a non-penetration constraint
• Useful for fixturing workpieces for manufacturing operations
(drilling, polishing, machining)
• Depends only on contact geometry
Form closure
Not form closure
Testing Form Closure
• Normal matrix N and grasp matrix G
• Condition 1: A grasp is not in form closure if there exists a
nonzero vector x such that NTGTx > 0
• x represents a rigid body translation and rotation
• Definition: If the only x that satisfies NTGTx >= 0 is the zero
vector, then the grasp is in first-order form closure
• Linear programming formulation
• How many contact points needed?
• In 2D, need 4 points
• In 3D, need 7 points
• Nondegeneracy of NTGT must be satisfied
Higher-order form closure
• This doesn’t always work… sometimes there are nonzero
vectors x with NTGTx = 0 but are still form closure!
• Need to look at second derivatives (or higher)
Form closure
Not form closure
Force Closure
• Force closure: any disturbance force can be nullified by active
forces applied by the robot
• This requires consideration of robot kinematics and actuation
properties
• Form closure => force closure
• Converse doesn’t hold in case of frictional contact
Force closure but not
form closure
Not force closure
Static Equilibrium
• Need forces at contacts to support object against gravity
f2
f1
mg
f1  f 2  mg  0
f1  (c  p1 )  f 2  (c  p2 )  0
f1  FC1 , f 2  FC2
Force balance
Torque balance
Friction constraint
Equilibrium vs form closure
• Consider augmenting set of contacts with a “gravity contact”:
a frictionless contact at COM pointing straight downward
• Form closure of augmented system => equilibrium
Support Polygon
Side
Top
Doesn’t correspond
to convex hull of
contacts projected
onto plane
Strong vs. weak stability
• Weak stability: there exist a
set of equilibrium forces that
satisfy friction constraints
• Strong stability: all forces that
satisfy friction constraints and
complementarity conditions
yield equilibrium (multiple
solutions)
• Notions are equivalent
without friction
A situation that is weakly, but not
strongly stable
Some robotics researchers that
work in contact mechanics
•
•
•
•
•
•
•
Antonio Bicchi (Pisa)
Jeff Trinkle (RPI)
Matt Mason (CMU)
Elon Rimon (Technion)
Mark Cutkosky (Stanford)
Joel Burdick (Caltech)
(many others)
Recap
• Contact mechanics: contact models, simulation
• Form/force closure formulation and testing
• Static equilibrium
```