Contact Mechanics

advertisement
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
Torques about 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
Quadratic constraint model
𝑓𝑡 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
Other Tasks
• 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
Download