Report

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