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