Title: Rigid Body Dynamics III Constraintbased Dynamics
1Rigid Body Dynamics (III)Constraint-based
Dynamics
2Bodies intersect ! classify contacts
- Bodies separating
- vrel gt ?
- No response required
- Colliding contact (Part I)
- vrel lt -?
- Resting contact (Part II)
- -? lt vrel lt ?
- Gradual contact forces avoid interpenetration
- All resting contact forces must be computed and
applied together because they can influence one
another
3Outline
- Algorithm overview
- Computing constrained accelerations
- Computing a frictional impulse
- Extensions - Discussion
4Outline
- Algorithm overview
- Computing constrained accelerations
- Computing a frictional impulse
- Extensions - Discussion
5Algorithm Overview
6Algorithm Overview
- Two modules
- Collision detection
- Dynamics Calculator
- Two sub-modules for the dynamics calculator
- Constrained motion computation (accelerations/forc
es) - Collision response computation (velocities/impulse
s)
7Algorithm Overview
- Two modules
- Collision detection
- Dynamics Calculator
- Two sub-modules for the dynamics calculator
- Constrained motion computation (accelerations/forc
es) - Collision response computation (velocities/impulse
s) - Two kinds of constraints
- Unilateral constraints (non-penetration
constraints) - Bilateral constraints (hinges, joints)
8Outline
- Algorithm overview
- Computing constrained accelerations
- Computing a frictional impulse
- Extensions - Discussion
9Constrained 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
10Constrained accelerations
11Constrained 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
12Constrained 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
13Constrained 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
14Constrained 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
15Constrained accelerations
- The set of possible accelerations is obtained
from the non-penetration constraints - This is a Projection problem
16Constrained accelerations
The particles unconstrained acceleration is
projected on the set of possible accelerations
(above the ground)
17Constrained 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
18Outline
- Algorithm overview
- Computing constrained accelerations
- Computing a frictional impulse
- Extensions - Discussion
19Computing a frictional impulse
- We consider -one- contact point only
- The problem is formulated in the collision
coordinate system
20Computing 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.
21Computing 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.
22Computing 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
23Computing a frictional impulse
- jz is the impulse magnitude in the normal
direction. - Wz is the work done in the normal direction.
jz
24Computing a frictional impulse
- v-v(0), v0v(tmc), vv(tf), vrelvz
- Newtons Empirical Impact Law
- Poissons Hypothesis
- Stronges Hypothesis
- Energy of the bodies does not increase when
friction present
25Computing a frictional impulse
- Sliding (dynamic) friction
- Dry (static) friction
- Assume no rolling friction
26Computing a frictional impulse
- where
- r (p-x) is the vector from the center of mass
to the contact point
27The K Matrix
- K is constant over the course of the collision,
symmetric, and positive definite
28Collision 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 ?.
29Collision 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)
30Sliding 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?
31Sliding 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 Stronges hypothesis, we know that
32Sliding Formulation
- Compression phase equations are
33Sliding Formulation
- Restitution phase equations are
34Sliding Formulation
- where the sliding vector is
35Sliding Formulation
- These equations are based on the sliding mode
- Sometimes, sticking can occur during the
integration
36Sticking Formulation
37Sticking 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.
38Impulse 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.
39Outline
- Algorithm overview
- Computing constrained accelerations
- Computing a frictional impulse
- Extensions - Discussion
40Extensions - Discussion
- Systems can be classified according to the
frequency at which the dynamics calculator has to
solve the dynamics sub-problems
41Extensions - 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
42Extensions - Discussion
- Problems with micro-collisions
- creeping a block on a ramp cant be stabilized
43Extensions - Discussion
- Problems with micro-collisions
- creeping a block on a ramp cant be stabilized
44Extensions - Discussion
- Problems with micro-collisions
- creeping a block on a ramp cant be stabilized
- A hybrid system is required to handle bilateral
constraints (non-trivial)
45Extensions - Discussion
- Problems with micro-collisions
- creeping a block on a ramp cant be stabilized
- A hybrid system is required to handle bilateral
constraints (non-trivial) - Objects stacks cant be handled for more than
three objects (in 1996), because numerous
micro-collisions cause the simulation to grind to
a halt
46Extensions - 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 Stronges hypothesis in this
formulation ?
47Extensions - Discussion
- Extending the projection problem
- accelerations are replaced by velocities
- constraints are expressed on velocities and
forces
48Extensions - 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