470 likes | 587 Vues
This document by S. Redon and M. C. Lin explores efficient algorithms for solving complex rigid body dynamics problems, with a focus on constrained accelerations and frictional impulses. It provides an overview of algorithm structure, including modules for collision detection and dynamics calculations while addressing unilateral and bilateral constraints. The text delves into two significant methods: contact-space and motion-space approaches, detailing how to compute resting contact forces, and the dynamics of objects during collisions, ensuring proper impulse calculations and energy conservation.
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