490 likes | 678 Views
Rigid Body Dynamics (III) Constraint-based Dynamics. Bodies intersect ! classify contacts. Bodies separating v rel > No response required Colliding contact (Part I) v rel < - Resting contact (Part II) - < v rel < Gradual contact forces avoid interpenetration
E N D
Rigid Body Dynamics (III)Constraint-based Dynamics M. C. Lin
Bodies intersect ! classify contacts • Bodies separating • vrel > • No response required • Colliding contact (Part I) • vrel < - • Resting contact (Part II) • - < vrel < • Gradual contact forces avoid interpenetration • All resting contact forces must be computed and applied together because they can influence one another M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion M. C. Lin
Algorithm Overview M. C. Lin
Algorithm Overview • Two modules • Collision detection • Dynamics Calculator • Two sub-modules for the dynamics calculator • Constrained motion computation (accelerations/forces) • Collision response computation (velocities/impulses) M. C. Lin
Algorithm Overview • Two modules • Collision detection • Dynamics Calculator • Two sub-modules for the dynamics calculator • Constrained motion computation (accelerations/forces) • Collision response computation (velocities/impulses) • Two kinds of constraints • Unilateral constraints (non-penetration constraints…) • Bilateral constraints (hinges, joints…) M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion M. C. Lin
Constrained accelerations • Solving unilateral constraints is enough • When vrel ~= 0 -- have resting contact • All resting contact forces must be computed and applied together because they can influence one another M. C. Lin
Constrained accelerations M. C. Lin
Constrained accelerations • Here we only deal with frictionless problems • Two different approaches • Contact-space : the unknowns are located at the contact points • Motion-space : the unknowns are the object motions M. C. Lin
Constrained accelerations • Contact-space approach • Inter-penetration must be prevented • Forces can only be repulsive • Forces should become zero when the bodies start to separate • Normal accelerations depend linearly on normal forces • This is a Linear Complementarity Problem M. C. Lin
Constrained accelerations • Motion-space approach • The unknowns are the objects’ accelerations • Gauss’ principle of least contraints • “The objects’ constrained accelerations are the closest possible accelerations to their unconstrained ones” M. C. Lin
Constrained accelerations • Formally, the accelerations minimize the distance over the set of possible accelerations • a is the acceleration of the system • M is the mass matrix of the system M. C. Lin
Constrained accelerations • The set of possible accelerations is obtained from the non-penetration constraints • This is a Projection problem M. C. Lin
Constrained accelerations • Example with a particle The particle’s unconstrained acceleration is projected on the set of possible accelerations (above the ground) M. C. Lin
Constrained accelerations • Both formulations are mathematically equivalent • The motion space approach has several algorithmic advantages • J is better conditionned than A • J is always sparse, A can be dense • less storage required • no redundant computations M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion M. C. Lin
-j +j Computing a frictional impulse • We consider -one- contact point only • The problem is formulated in the collision coordinate system M. C. Lin
Computing a frictional impulse • Notations • v : the contact point velocity of body 1 relative to the contact point velocity of body 2 • vz : the normal component of v • vt : the tangential component of v • : a unit vector in the direction of vt • fz and ft : the normal and tangential (frictional) components of force exerted by body 2 on body 1, respectively. M. C. Lin
Computing a frictional impulse • When two real bodies collide there is a period of deformation during which elastic energy is stored in the bodies followed by a period of restitution during which some of this energy is returned as kinetic energy and the bodies rebound of each other. M. C. Lin
Computing a frictional impulse • The collision occurs over a very small period of time: 0 tmc tf. • tmc is the time of maximum compression vz is the relative normal velocity. (We used vrel before) vz M. C. Lin
Computing a frictional impulse • jz is the impulse magnitude in the normal direction. • Wz is the work done in the normal direction. jz M. C. Lin
Computing a frictional impulse • v-=v(0), v0=v(tmc), v+=v(tf), vrel=vz • Newton’s Empirical Impact Law: • Poisson’s Hypothesis: • Stronge’s Hypothesis: • Energy of the bodies does not increase when friction present M. C. Lin
Computing a frictional impulse • Sliding (dynamic) friction • Dry (static) friction • Assume no rolling friction M. C. Lin
Computing a frictional impulse where: r = (p-x) is the vector from the center of mass to the contact point M. C. Lin
The K Matrix • K is constant over the course of the collision, symmetric, and positive definite M. C. Lin
Collision Functions • Change variables from t to something else that is monotonically increasing during the collision: • Let the duration of the collision 0. • The functions v, j, W, all evolve over the compression and the restitution phases with respect to . M. C. Lin
Collision Functions • We only need to evolve vx, vy, vz, and Wz directly. The other variables can be computed from the results. (for example, j can be obtained by inverting K) M. C. Lin
Sliding or Sticking? • Sliding occurs when the relative tangential velocity • Use the friction equation to formulate • Sticking occurs otherwise • Is it stable or instable? • Which direction does the instability get resolved? M. C. Lin
Sliding Formulation • For the compression phase, use • is the relative normal velocity at the start of the collision (we know this) • At the end of the compression phase, • For the restitution phase, use • is the amount of work that has been done in the compression phase • From Stronge’s hypothesis, we know that M. C. Lin
Sliding Formulation • Compression phase equations are: M. C. Lin
Sliding Formulation • Restitution phase equations are: M. C. Lin
Sliding Formulation where the sliding vector is: M. C. Lin
Sliding Formulation • These equations are based on the sliding mode • Sometimes, sticking can occur during the integration M. C. Lin
Sticking Formulation M. C. Lin
Sticking Formulation • Stable if • This means that static friction takes over for the rest of the collision and vx and vy remain 0 • If instable, then in which direction do vx and vy leave the origin of the vx, vy plane? • There is an equation in terms of the elements of K which yields 4 roots. Of the 4 only 1 corresponds to a diverging ray – a valid direction for leaving instable sticking. M. C. Lin
Impulse Based Experiment • Platter rotating with high velocity with a ball sitting on it. Two classical models predict different behaviors for the ball. Experiment and impulse-based dynamics agree in that the ball rolls in circles of increasing radii until it rolls off the platter. • Correct macroscopic behavior is demonstrated using the impulse-based contact model. M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion M. C. Lin
Extensions - Discussion • Systems can be classified according to the frequency at which the dynamics calculator has to solve the dynamics sub-problems M. C. Lin
Extensions - Discussion • Systems can be classified according to the frequency at which the dynamics calculator has to solve the dynamics sub-problems • It is tempting to generalize the solutions (fame !) • Lasting non-penetration constraints can be viewed as trains of micro-collisions, resolved by impulses • The LCP / projection problems can be applied to velocities and impulses M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized • A hybrid system is required to handle bilateral constraints (non-trivial) M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized • A hybrid system is required to handle bilateral constraints (non-trivial) • Objects stacks can’t be handled for more than three objects (in 1996), because numerous micro-collisions cause the simulation to grind to a halt M. C. Lin
Extensions - Discussion • Extending the LCP • accelerations are replaced by velocities • forces are replaced by impulses • constraints are expressed on velocities and forces • Problem : • constraints are expressed on velocities and forces (!) This can add energy to the system • Integrating Stronge’s hypothesis in this formulation ? M. C. Lin
Extensions - Discussion • Extending the projection problem • accelerations are replaced by velocities • constraints are expressed on velocities and forces M. C. Lin
Extensions - Discussion • Extending the projection problem • accelerations are replaced by velocities • constraints are expressed on velocities • Problem : • constraints are expressed on velocities (!) • This can add energy to the system M. C. Lin