480 likes | 1.06k Views
Rigid body dynamics II Solving the dynamics problems. Outline. Algorithm overview Computing constrained accelerations Computing a frictional impulse Extensions - Discussion. Outline. Algorithm overview Computing constrained accelerations Computing a frictional impulse
E N D
Rigid body dynamics IISolving the dynamics problems S. Redon - M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion S. Redon - M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion S. Redon - M. C. Lin
Algorithm Overview S. Redon - 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) S. Redon - 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…) S. Redon - M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion S. Redon - 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 S. Redon - M. C. Lin
Constrained accelerations S. Redon - 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 S. Redon - 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 S. Redon - 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” S. Redon - 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 S. Redon - M. C. Lin
Constrained accelerations • The set of possible accelerations is obtained from the non-penetration constraints • This is a Projection problem S. Redon - 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) S. Redon - 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 S. Redon - M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion S. Redon - M. C. Lin
-j +j Computing a frictional impulse • We consider -one- contact point only • The problem is formulated in the collision coordinate system S. Redon - 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. S. Redon - 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. S. Redon - 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 S. Redon - 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 S. Redon - 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 S. Redon - M. C. Lin
Computing a frictional impulse • Sliding (dynamic) friction • Dry (static) friction • Assume no rolling friction S. Redon - M. C. Lin
Computing a frictional impulse where: r = (p-x) is the vector from the center of mass to the contact point S. Redon - M. C. Lin
The K Matrix • K is constant over the course of the collision, symmetric, and positive definite S. Redon - 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 . S. Redon - 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) S. Redon - 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? S. Redon - 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 S. Redon - M. C. Lin
Sliding Formulation • Compression phase equations are: S. Redon - M. C. Lin
Sliding Formulation • Restitution phase equations are: S. Redon - M. C. Lin
Sliding Formulation where the sliding vector is: S. Redon - M. C. Lin
Sliding Formulation • These equations are based on the sliding mode • Sometimes, sticking can occur during the integration S. Redon - M. C. Lin
Sticking Formulation S. Redon - 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. S. Redon - 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. S. Redon - M. C. Lin
Outline • Algorithm overview • Computing constrained accelerations • Computing a frictional impulse • Extensions - Discussion S. Redon - 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 S. Redon - 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 S. Redon - M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized S. Redon - M. C. Lin
Extensions - Discussion • Problems with micro-collisions • creeping : a block on a ramp can’t be stabilized S. Redon - 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) S. Redon - 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 S. Redon - 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 ? S. Redon - M. C. Lin
Extensions - Discussion • Extending the projection problem • accelerations are replaced by velocities • constraints are expressed on velocities and forces S. Redon - 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 S. Redon - M. C. Lin