Fast Frictional Dynamics for Rigid BodiesDanny Kaufman Timothy Edmonds Dinesh PaiRutgers UniversityRigid Bodies Simplified Model hard to know internal properties of all items Rigid instead More complex simulation Forces instantaneously change velocity of entire object Either: Allow interpenetration between object Find earliest collision, hard if too many collisions Ball bouncingTask Quickly compute next time step configuration Object not convex Simulate Collisions Sliding friction Rolling friction External forces (i.e gravity)Background Configuration of object SE(3) Mapping Homogeneous coordinates of x in frame i ix To obtain relative to frame j left multiply by: Meaning:Background (cont.) q is the orientation W is world frame Then Using that, obtain time derivative for changes from frame i to jBackground Define the skew-symmetric matrix A multiply by [ω] gives a cross product, therefore: Frame i with respect to frame j in i’scoordinatesBackground Element in tangent space to SE(3) denoted se(3) Determines spatial velocity vector, called a twist Linear operator extracts it. Its inverse is the bracket operator Top equation describes relative motion of frame iwith respect to frame j in i’s coordinatesBackground We have Those are in the tangent space of xk Providing the mapping from twist to elements of se(3)Background Change in frames induces change in spatial velocity coordinates SE(3) equipped with kinetic metric M(q) is frame appropriate inertial matrix at q.Background Explicit Euler stepConstraints and forces Interpenetration allowed between steps Take configuration half-step using the last know velocity Each contact (including penetrations) are used to calculate set of constraintsConstraints For rigid body B Constraints on B in SE(3) From the R3 constraint gradient obtain the se*(3) constraint gradient using the differential transpose matrixConstraints and contact forces A contract will impart normal or tangential force Find span of forces and convert into wrenches Tangential forces span constraint’s tangent planeContact Forces Wrenches generated give: Embed wrenches into se(3) New twists inkand iskin iSkContact Forces These are not generally orthogonal Observe inner product Therefore cannot make assumption that a friction cone in se(3) is orthogonalMulti-point Contact Contact includes points that penetrate constraints Set of collision points Define normal cone by span of all twists from contact pointsMulti-point Contact Sliding cone of embedded wrenches spans the entire range of possible contributionsMulti-point Contact For a twist to be a feasible velocity at xkits projection along ink>= 0 Inner product in se(3) Subspace of feasible twists For all C(q)Non-Smooth Dynamics Without contacts Where If there are contacts then Embedding into se(3)Dynamics Using first order discretization with step h Using pre and post-resolution velocity definedContact Resolution We know what subspace ir must be in, but not hwo to select it. Moreau -ir is the twist formed by the minimum spanning vector is se(3) between pre-resolution velocity, and the subspace of feasible velocitiesContact Resolution Equivalent to directly projecting iφ−onto the subpace of feasible velocities, T(q-) The boundary to T(q) We can now restrict the point to:Friction Modify the dynamics rule to have both normal and tangential impulses Normalize tangent vector at each contact, so thatFrictional Impulse Constraitns Generalize frictional coefficient µk We let iφτbe the twist from first projection Find the frictional impulse which can be set to a convex QP.Friction Adding the frictional reaction to the tangential velocity gives the post-revolution
View Full Document