Sunteți pe pagina 1din 47

Rigid body dynamics II

Solving 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 particles 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

Computing a frictional impulse


We

consider -one- contact point only


The problem is formulated in the collision
coordinate system

-j
+j

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


fv
ft : the normal and tangential (frictional)
zand
t
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

vz is the relative
normal velocity.
(We used vrel
before)

S. Redon - M. C. Lin

Computing a frictional impulse


jz

jz is the impulse
magnitude in
the normal
direction.
Wz is the work
done in the
normal
direction.

S. Redon - M. C. Lin

Computing a frictional impulse


v-=v(0),

v0=v(tmc), v+=v(tf), vrel=vz

Empirical Impact Law: v z v z


Poissons Hypothesis: jz j0z j0z
jz (1 )j0z
Newtons

Stronges Hypothesis: Wz Wz0 2 Wz0


Wz (1 2 )Wz0
Energy of the bodies does not increase
when friction present
S. Redon - M. C. Lin

Computing a frictional impulse


Sliding

Dry

(dynamic) friction
v t 0 ft fn v t

(static) friction
v t 0 ft fn

Assume

no rolling friction
S. Redon - M. C. Lin

Computing a frictional impulse


1

1
~
~
~
~

1
v(t)

1 r1I1 r1 r2I2 r2 j(t) Kj(t)


m1 m2

where:
r = (p-x) is the vector from the center of
mass to the contact point
0 - rz ry

~r r
0
r
z
x

- ry rx
0
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: v( ) Kj( )
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 v t 0
Use the friction equation
to formulate
v t 0 ft fn v t

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 v z

v z is the relative normal velocity at the


start of the collision (we know this)
At the end of the compression phase, v 0z 0
For

the restitution phase, use Wz

Wz0 is the amount of work that has been


done in the compression phase
From Stronges hypothesis, we know that

Wz (1 2 )Wz0

S. Redon - M. C. Lin

Sliding Formulation
Compression

phase equations are:

vx
k x()
d
1

vy
k y()
k z()

dv z
Wz
v z

S. Redon - M. C. Lin

Sliding Formulation
Restitution

phase equations are:

vx
k x ()
d
1
1
v y K ()
k y ()

dWz v z
vz
v z
k z()

S. Redon - M. C. Lin

Sliding Formulation
where the sliding vector is:
v x

v 2x v 2y

cos

v
y
() sin

2
2


vx vy
1

S. Redon - M. C. Lin

Sliding Formulation
These

equations are based on the


sliding mode
v t 0 ft fn v t

Sometimes,

sticking can occur during


the integration

S. Redon - M. C. Lin

Sticking Formulation

S. Redon - M. C. Lin

Sticking Formulation
Stable

if K

K K

1 2
13

1 2
23

1 2
33

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 impulsebased 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 cant be stabilized

S. Redon - M. C. Lin

Extensions - Discussion
Problems

with micro-collisions

creeping : a block on a ramp cant be stabilized

S. Redon - M. C. Lin

Extensions - 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)

S. Redon - M. C. Lin

Extensions - 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

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

v v
Problem

constraints are expressed on velocities and forces (!)


This can add energy to the system
Integrating Stronges 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

v v

S. Redon - M. C. Lin

Extensions - Discussion
Extending

the projection problem

accelerations are replaced by velocities


constraints are expressed on velocities

v v
Problem

constraints are expressed on velocities (!)


This can add energy to the system

S. Redon - M. C. Lin

S-ar putea să vă placă și