Multi-Body Systems: Iker Aguinaga

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 34

Multi-body Systems

Iker Aguinaga
June 18, 2010
Iker Aguinaga () Multi-body Systems June 18, 2010 1 / 34
1
Natural Coordinates in 2D
2
Kinematical Problems
3
Constraint Dynamics
4
R method
Iker Aguinaga () Multi-body Systems June 18, 2010 2 / 34
Introduction
A Multi-body System or Mechanism is formed by a set a rigid solids,
linked by kinematical relationships or Joints:
For example a body can rotate around other but no other motion is
possible
A Multi-body System is not like a Particle System!
Multi-body system are an example of constrained dynamics:
Bodies need to fulll the equations of Dynamics,
and their motion constraints.

3
Iker Aguinaga () Multi-body Systems June 18, 2010 3 / 34
Introduction
The Degrees of Freedom (DOFs) of a Mechanism are a minimal set of
parameters that can be used to position it univocally.
A coordinate is one of these parameters.
Coordinates are dependant if their number is above that of the number of
degree of freedom:
In that case the coordinates need to be related by algebraic
relationships or restrictions.
If we have a mechanism with g DOFs, n coordinates and m restricion then:
g = n m (1)
Iker Aguinaga () Multi-body Systems June 18, 2010 4 / 34
Joints
Revolution (R) Gear Universal / Cardan (U) Spherical (S)
Prismatic (P) Rolling Cilindrical (C)
Iker Aguinaga () Multi-body Systems June 18, 2010 5 / 34
Relative Coordinates
C
D
A
B
L
1
L
3

2
s

3
Iker Aguinaga () Multi-body Systems June 18, 2010 6 / 34
Reference Point Coordinates
A
B
C
D

1

3

2
x y
2 2
,
x y
3 3
,
x y
1 1
,
Iker Aguinaga () Multi-body Systems June 18, 2010 7 / 34
Natural Coordinates
Iker Aguinaga () Multi-body Systems June 18, 2010 8 / 34
Natural Coordinates in 2D
Each solid has:
at least 2 points (2D),
each articulation has 1 point,
prismatic joints are dened by 3 aligned points,
and as many additional points as required.
Example (Slider-Crank mechanism):
(x
1
x
A
)
2
+ (y
1
y
1
)
2
L
2
1
= 0 (2)
(x
2
x
1
)
2
+ (y
2
y
1
)
2
L
2
2
= 0 (3)
(x
2
x
C
)(y
C
y
B
) (y
2
y
C
)(x
C
x
B
) = 0 (4)
A
B C
1
2
Iker Aguinaga () Multi-body Systems June 18, 2010 9 / 34
Rigid Solid Restrictions
1
2
L
12
(x
2
x
1
)
2
+ (y
2
y
1
)
2
L
12
2
= 0
(x
2
x
1
)
2
+ (y
2
y
1
)
2
L
12
2
= 0
(x
3
x
1
)
2
+ (y
3
y
1
)
2
L
13
2
= 0
(x
3
x
2
)
2
+ (y
3
y
2
)
2
L
23
2
= 0
1
2
3
L
12
L
13
L
23
Iker Aguinaga () Multi-body Systems June 18, 2010 10 / 34
Rigid Solid Restrictions
1
2
3
L
12
L
23
(x
2
x
1
)
2
+ (y
2
y
1
)
2
L
12
2
= 0
(x
3
x
1
)
2

L
13
L
12
(x
2
x
1
) = 0
(y
3
y
1
)
2

L
13
L
12
(y
2
y
1
) = 0
(x
2
x
1
)
2
+ (y
2
y
1
)
2
L
12
2
= 0
(x
3
x
1
)
2
+ (y
3
y
1
)
2
L
13
2
= 0
(x
3
x
2
)
2
+ (y
3
y
2
)
2
L
23
2
= 0
(x
4
x
1
) (x
2
x
1
) (x
3
x
1
) = 0
(y
4
y
1
) (y
2
y
1
) (y
3
y
1
) = 0
1
2
3
4
L
12
L
23
L
13
Iker Aguinaga () Multi-body Systems June 18, 2010 11 / 34
Cinematic Pairs
1 2
x
1
x
2
= 0 y
1
y
2
= 0
1
2
3
4
(x
2
x
1
)(y
3
y
1
) (y
2
y
1
)(x
3
x
1
) = 0
1
2
3
4
(x
2
x
1
)(y
3
y
1
) (y
2
y
1
)(x
3
x
1
) = 0
(x
2
x
1
)(x
4
x
3
) + (y
2
y
1
)(y
4
y
3
) c = 0
Iker Aguinaga () Multi-body Systems June 18, 2010 12 / 34
Relative Coordinates
2 1
3

(x
2
x
1
)(x
3
x
1
) + (y
2
y
1
)(y
3
y
1
)
L
12
L
13
cos = 0
1
2
3
4
s
(x
3
x
1
)
s
L
12
(x
2
x
1
) = 0
(y
3
y
1
)
s
L
12
(y
2
y1) = 0
Iker Aguinaga () Multi-body Systems June 18, 2010 13 / 34
Kinematic Problem
When we model a mechanism we get two set of coordinates:
q, the set of all coordinates, this are dependant coordinates used to
model the mechanism.
z, the set of independent coordinates or DOF, which usually is a
subset of q
There are 3 types of kinematical problems:
Problem Input (known values) Output
Position z q
Velocity q, z q
Acceleration q, q, z q
Iker Aguinaga () Multi-body Systems June 18, 2010 14 / 34
Position Problem
Position Problem: Given the values of the DOF z calculate the position
of the whole mechanism q.
We know the non-linear the contraint equations for the system:
(q, t) =
_
_
_

1
(q, t)

m
(q, t)
_
_
_
= 0 (5)
Given a set of DOF coordinates z we want to nd the values of q that
fulll those equation Newton Raphson Method:
(q + q, t)

= (q, t) +
q
(q + q, t) q 0 (6)
Iker Aguinaga () Multi-body Systems June 18, 2010 15 / 34
Position Problem
Where:

q
=
_

1
q
1

1
q
2


1
q
n

2
q
1

2
q
2


2
q
n
.
.
.
.
.
.
.
.
.

m
q
1

m
q
2


m
q
n
_

_
(7)
We can iterate to obtain values of q closer to the solution:

q
(q
i
, t) q = (q
i
, t) (8)
Iker Aguinaga () Multi-body Systems June 18, 2010 16 / 34
Position Problem
The process can resumed as:
1
We dene an initial approximation q
0
with the correct values of z.
2
We compute a new approximation
q
(q
i
, t) q = (q
i
, t)
3
q
1
= q
0
+ q
4
We iterate until the system converges to a solution.
One way to avoid having to correct the input values is to add additional
constraint equations that enforce the values of the variable.
Iker Aguinaga () Multi-body Systems June 18, 2010 17 / 34
Velocity and Acceleration Problems
Velocity Problem: Knowing the speed of the DOF and the position of
the mechanism calculate the velocity of all the coordinates:
d
dt
(q
i
, t) =

(q
i
, t) =
q
q +
t

q
q =
t
(9)
Acceleration Problem: Knowing the acceleration of the DOF and the
position and velocities of the entire mechanism calculate the acceleration
for all coordinates:

(q
i
, t) =
q
q +

q
q +

q
q =

q
q

t
(10)
Iker Aguinaga () Multi-body Systems June 18, 2010 18 / 34
Constrained Dynamics: Introduction
We want to nd the trajectories that make a system react to external
forces Q but also to comply with the kinematical restrictions of the system.
One way to impose those kinematical restrictions is by some force that
guaranties its fulllment. These forces are known as reaction forces Q

.
Iker Aguinaga () Multi-body Systems June 18, 2010 19 / 34
Virtual Work Principle
Consider a particle system in equilibrium. The total force acting on each
particle is:

F = 0
If we take an arbitrary displacement of the particles r the total work of
the forces is:
W =

F
i
r
i
= 0
W =

F
i
exterior
r
i
+

F
i
constraint
r
i
= 0
(11)
For displacements that are not arbitrary but compatible with the
restrictions, then:

F
i
constraint
r
i
= 0
W =

F
i
exterior
r
i
= 0
(12)
For a system in equilibrium the work of external forces when the
system is displaced virtually and compatibly with system constraints
is 0.
Iker Aguinaga () Multi-body Systems June 18, 2010 20 / 34
Compatible Displacements
A displacement compatible with a given constraint maintains its value:
(q) = 0
(q + q) = 0
(13)
We can use a Taylor decomposition:
(q + q) (q)
. .
0
+
q
q = 0
q
q = 0 (14)
Compatible displacements are orthogonal to the rows of the jacobian
matrix.
This rows are the gradient vectors of the constraint equations and
represent the directions where the change in the value of the constraints
increases faster (that is the direction where it separates more from its
current value 0).
Iker Aguinaga () Multi-body Systems June 18, 2010 21 / 34
Constraint Forces
Constraints are enforce by so called Reaction forces.
Since these constraint forces cannot increase the energy of a system
(produce work) their direction needs to orthogonal to compatible
displacements.
Therefore, they will be proportional to the rows of the Jacobian Matrix of
the constraints:
F
constraints
=
q
T
(15)
Iker Aguinaga () Multi-body Systems June 18, 2010 22 / 34
DAlamberts Principle: Dynamic Equilibrium
To apply the Virtual Work Principle we need a system in equilibrium.
If we apply an acceleration a
i
to each particle of the system equal to its
acceleration and with the contrary direction we will get a system in
equilibrium:

F
i
exterior
m
i
a
i
= 0 (16)
These accelerations are equivalent to a external force, the inertia forces.
Adding these forces transforms a dynamic system into a system in
equilibrium where the Virtual Work Principle applies!
Iker Aguinaga () Multi-body Systems June 18, 2010 23 / 34
Multibody Modeling
i
x
0
r
i
x
e
P
r
e
r
P
j
y
e
y
0
Iker Aguinaga () Multi-body Systems June 18, 2010 24 / 34
Forces acting on a Multibody System in Dynamic
Equilibrium
The virtual work for the inertia Forces can be written as :
W
in
e
= q
e
T
M
e
q
e
(17)
where q
e
are the coordinates used to modelled the position of the body or
particle.
For a particle system M
e
is a diagonal matrix. For a 2D rigid solid
modelled using natural coordinates is:
M
e
=
_

_
M +
I
i
L
2
ij

2M
e
x
G
L
ij
0
M
e
x
G
L
ij

I
i
L
2
ij

M
e
y
G
L
ij
M +
I
i
L
2
ij

2M
e
x
G
L
ij
M
e
y
G
L
ij
M
e
x
G
L
ij

I
i
L
2
ij
I
i
L
2
ij
0
sim.
I
i
L
2
ij
_

_
(18)
Iker Aguinaga () Multi-body Systems June 18, 2010 25 / 34
Forces acting on a Multibody System in Dynamic
Equilibrium
The external forces produce a virtual work whose value is:
W
F
= q
e
T
T
P
T
F = q
e
T
Q
F
(19)
For a rigid solid modelled with two points the matrix is:
T
P
=
_
1
e
x
P
L
ij
e
y
P
L
ij
e
x
P
L
ij

e
x
P
L
ij

e
y
P
L
ij
1
e
x
P
L
ij
e
y
P
L
ij
e
x
P
L
ij
_
(20)
Iker Aguinaga () Multi-body Systems June 18, 2010 26 / 34
Motion Equations: Lagrange Multipliers
The work performed by external forces (including inertia forces) when we
apply a compatible displacement has to be 0:
W
in
+ W
ext
= 0 (21)
This means:
q
T
M q + q
T
Q = 0 (22)
q
T
(M q Q) = 0 (23)
But we cannot remove q because the coordinates are related: In principle
they are dependant coordinates!
Since Constraints forces do not produce work for compatible displacements
we can add their virtual work:
q
T
_
M q Q +
T
q

_
= 0 (24)
Since the are unknown we can choose those that make the equation
valid regardless of the displacements.
Iker Aguinaga () Multi-body Systems June 18, 2010 27 / 34
Motion Equations: Lagrange Multipliers
Therefore:
M q Q +
T
q
= 0 (25)
We have a system m+n unknowns (m coordinates and n lambdas one for
each constraint equation )and only n equations.
But due to kinematics we also know that:

q
q =

q
q

t
(26)
Therefore we obtain the following linear equation system:
_
M
T
q

q
0
_ _
q

_
=
_
Q

q
q

t
_
(27)
Iker Aguinaga () Multi-body Systems June 18, 2010 28 / 34
Motion Equations: Lagrange Multipliers
n
M

q
T

q
0
q
..

Q
-
q
q - t
. .
=
n
m
m
Iker Aguinaga () Multi-body Systems June 18, 2010 29 / 34
Reducing the equation system
We can write the position problem as some function f of the DOF z:
q = f (z) (28)
Deriving with regards to time we get a relationship between the velocities
of the DOFs and the coordinates:
q = R z (29)
Where:
R =
q
z
(30)
Since velocities and displacements follow the same relationships, we can
also say q = Rz.
Iker Aguinaga () Multi-body Systems June 18, 2010 30 / 34
Reducing the equation system
This relationship can be substituted into the equation of the principle of
virtual work:
q
T
(M q Q) = 0 (31)
We get:
z
T
R(M q Q) = 0 (32)
Initially we could not remove the virtual displacements because they were
dependent. Now we can remove z
T
beacuse it contains the virtual
displacements of the DOFs that are independent.
Therefore: R(M q Q) = 0
Iker Aguinaga () Multi-body Systems June 18, 2010 31 / 34
Reducing the equation system
Since q is a function of z we can remove q. Deriving once more we get:
q = Rz +

R z (33)
And substituting, we get:
R
T
MRz + R
T
M

R z R
T
Q = 0 (34)
This equation describes a system of dierential equations with the same
number of equation than the number of DOFs of the system. To solve this
system we have to compute the matrix R and the vector

R z
Iker Aguinaga () Multi-body Systems June 18, 2010 32 / 34
Computing R and

R z
To compute the matrix R we can use the relationship q = R z. If of all the
posible velocities of the DOF we select a ctious velocity vector with all
velocities 0 except for position i with a velocity of 1 we get:
q =
_
R
1
|R
2
| |R
i
|

_
0
0
.
.
.
1
.
.
.
_

_
= R
i
(35)
The i-th column of R is the velocity q when the degrees of freedom have a
0 velocity except for DOF i that has a velocity of 1.
We can use this to solve n velocity problems ( one per DOF) and compute
the matrix R.
Iker Aguinaga () Multi-body Systems June 18, 2010 33 / 34
Computing R and

R z
If we start from the equation:
q = Rz +

R z (36)
We notice that the vector Rz are the accelerations q when z = 0.
We can solve the acceleration problem with z = 0 and obtain the vector.
Note that in this case we need the actual velocities of the mechanism and
not the ctious velocities used for obtaining R
Iker Aguinaga () Multi-body Systems June 18, 2010 34 / 34

You might also like