HAL Id: hal-00140638
https://hal.science/hal-00140638
Submitted on 29 Mar 2019
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
A planar mechanical library in the AMESim simulation
software. Part II: Library composition and illustrative
example
Wilfrid Marquis-Favre, Eric Bideaux, Serge Scavarda
To cite this version:
Wilfrid Marquis-Favre, Eric Bideaux, Serge Scavarda. A planar mechanical library in the AMESim
simulation software. Part II: Library composition and illustrative example. Simulation Modelling
Practice and Theory, 2006, 14 (2), pp.95-111. �hal-00140638�
A planar mechanical library in the AMESim simulation software -
Part II: Library composition and illustrative example
Wilfrid Marquis-Favre
Eric Bideaux Serge Scavarda
Abstract
This paper presents the composition of a planar mechanical library for the simulation tool AMESim.
This library is composed of 5 body components: one fixed to the frame of reference and the four others
corresponding to moving bodies with one to four connecting ports. These body components may be connected
to any of the joint components defined in the library. There are four basic joint components for: 1. a
translational joint, 2. a revolute joint, 3. a double translational joint, 4. a double translational-revolute joint.
Actuated versions of the translational and revolute joints are also available. Two more joint components
are also defined for coupling perpendicular motion planes. Finally four more specific components enable a
linear actuator in planar motion, a spring-damper, a 1 dimension to 2 dimensions coupling and a given action
to be modeled. The use of this planar mechanical library is illustrated using the example of a seven-body
mechanism.
Keywords : AMESim, planar mechanics, dynamics equations, constraint equations, Lagrange multipliers,
Baumgarte stabilization.
1 Introduction
As explained in part I of this two part paper the motivation for the planar mechanical library for the simulation
tool AMESim [AME04] is to enlarge the domain of applications using this tool. The philosophy of AMESim has
imposed constraints in the formulation of dynamics equations. The multibody system domain has certainly been
one of the most important vectors for the development of computer aided analyses and design tools. In particular
for solving the Differential-Algebraic Equations problem, research has concentrated on finding and improving
efficient numerical methods. Today the challenge of computer aided engineering is to provide tools that are
able to undertake analyses and design investigation of the multiphysical domain (mechatronics), this includes
linear and/or nonlinear, lumped and/or distributed parameter models. The open question is if the complete
engineering kit has to be incorporated into a unique simulation tool or if it is preferable to make existing tools
communicate through the concept of cosimulation, for instance [Sch00]. The planar mechanics library is a step
towards the first option.
Some simulation tools, such as Dymola, have also developed an object-oriented policy and propose a multi-
body mechanical library [Ott93]. Like AMESim, modeling relies on coupling the components that are connected
to the others by power ports. One common and important feature is that these simulation tools deal with mul-
tiphysical domains. Nevertheless one difference is that Dymola submodels do not have to be a priori explicitly
assigned and to have an organized set of equations, whereas AMESim submodels require this. If one is familiar
with bond graph, Dymola submodels correspond to an acausal bond graph while AMESim submodels correspond
to a causal bond graph (e.g. [Dau00] or [Kar90]).
In fact the modularity property and the connecting port concept requires working with a set of dependent
generalized coordinates and using the Lagrange multiplier method. Part I enabled generic models for both body
and joint components to be set up. The body component model consists of a set of differential equations in
terms of the absolute position of the body mass center and the absolute angular position of the body. The joint
Laboratoire d’Automatique Industrielle, Institut National des sciences Appliquées de Lyon, Bât. St Exupéry, 25, avenue Jean
Capelle, F-69621 Villeurbanne Cedex, e-mail: [email protected]
1
PSfrag replacements
Body
(m,I)
G(x, y)
O
M
i
(x
M
i
, y
M
i
)
θ
θ
il
~x
0
~x
0
~y
0
~y
~x
~x
il
(F
xi
, F
yi
)
C
zi
~g
Figure 1: Geometrical characteristics of a body in planar motion.
component model consists of a set of implicit equations for which the solutions are the Lagrange multipliers
corresponding to the joint constraints. The geometrical constraint equations are not directly used but instead a
Baumgarte stabilisation schema which also uses the kinematical and acceleration constraint equations.
The next section (section 2) recapitulates the mathematical models for the body and joint components. Sec-
tion 3 gives the detailed composition of the library. Section 4 illustrates the use of this planar mechanical library
using the example of a seven-body mechanism proposed in [Sch90]. Section 5 concludes with the development
perspectives of the library.
2 Recapitulation of body and joint component mathematical models
The planar mechanical library constructed for AMESim has been built on the basis of body and joint components.
Their associated generic mathematical models are resumed here.
2.1 Body component mathematical model
The mathematical model of a body component is essentially based on the following dynamics equations (see
Part I and figure 1):
˙x = v
x
˙v
x
=
1
m
n
P
i=1
F
xi
˙y = v
y
˙v
y
=
1
m
n
P
i=1
F
yi
g
˙
θ = v
θ
˙v
θ
=
1
I
n
P
i=1
C
zi
+
n
P
i=1
[(x
M
i
cos θ y
M
i
sin θ) F
xi
(x
M
i
sin θ + y
M
i
cos θ) F
yi
]
(1)
with n the number of body component connecting ports, g, the gravity acceleration that may be set to
any given value if the motion is in a non vertical plane (the x coordinate absolute axis is always supposed to
be horizontal), m and I are the body mass and the body central moment of inertia about the planar motion
perpendicular axis, (x
M
i
,y
M
i
) are the coordinates of the connecting port point M
i
relative to the body frame in
its mass center. g, m, I, x
M
i
, y
M
i
are parameters for the body component.
Since n is associated with the connection topology of the body component, different icons with their associated
mathematical models have been created depending on the number of connecting ports under consideration (see
section 3).
The equation (1) model inputs (F
xi
,F
yi
,C
zi
)
i=1 to n
(figure 2) correspond to the coordinates in the absolute
frame of reference of the connecting ports wrench about points M
i
. The state variables (x,y,θ,v
x
,v
y
,v
θ
) are the
absolute coordinates of the body mass center, the absolute angular position of the body, the absolute velocity
coordinates of the body mass center and the absolute angular velocity of the body.
2
The outputs of the body component (figure 2) supplied to joint components are the absolute positions,
velocities and accelerations of the connecting port points expressed in the absolute frame of reference and the
absolute angular position, velocity and acceleration of the joint axes at the connecting ports. These outputs are
expressed by:
x
0
M
i
= x + x
M
i
cos θ y
M
i
sin θ
y
0
M
i
= y + x
M
i
sin θ + y
M
i
cos θ
for i=1 to n (2)
for the position,
(
v
0
x
M
i
= v
x
v
θ
(x
M
i
sin θ + y
M
i
cos θ)
v
0
y
M
i
= v
y
+ v
θ
(x
M
i
cos θ y
M
i
sin θ)
for i=1 to n (3)
for the velocity,
(
a
0
x
M
i
= ˙v
x
˙v
θ
(x
M
i
sin θ + y
M
i
cos θ) v
2
θ
(x
M
i
cos θ y
M
i
sin θ)
a
0
y
M
i
= ˙v
y
+ ˙v
θ
(x
M
i
cos θ y
M
i
sin θ) v
2
θ
(x
M
i
sin θ + y
M
i
cos θ)
for i=1 to n (4)
for the acceleration, and
θ
0
M
i
= θ + θ
il
ω
0
M
i
= v
θ
γ
0
M
i
= ˙v
θ
for i=1 to n (5)
for the angular variables with the parameter θ
il
the relative angular position of the joint axis in the body
frame.
2.2 Joint component mathematical model
The mathematical model for a joint component is based on implicit equations (6). These equations are im-
plemented in the joint component model by defining residuals equal to the left-hand side members. Then the
solver numerically integrates the whole differential-algebraic system maintaining the residuals declared under
very small given tolerances. This enables the Lagrange multipliers to be indirectly calculated. These latter
thus constitute the unknows of equations (6). Due to the causal feature of the component models the Lagrange
multipliers cannot be calculated explicitly but are calculated implicitly.
¨
f
k
+ 2α
˙
f
k
+ β
2
f
k
= 0 for k=1 to m (6)
with α and β the coefficients of the Baumgarte stabilization schema (see part I of this paper). To obtain
good stabilizing effects on the constraint error these coefficients have been both chosen equal to 5. m is the
number of constraint equations associated with the joint.
In equations (6) f
k
represents the mathematical expression of a joint constraint equation. The generic
expression of the first derivative with respect to time is given by
1
:
˙
f
k
=
~
f
k,
OM
·
v
0
x
M
~x
0
+ v
0
y
M
~y
0
+
~
f
k,
ON
·
v
0
x
N
~x
0
+ v
0
y
N
~y
0
+ ω
0
M
~
f
k,~x
il
· ~y
il
~
f
k,~y
il
· ~x
il
+ ω
0
N
~
f
k,~x
jl
· ~y
jl
~
f
k,~y
jl
· ~x
jl
for k=1 to m (7)
In equations (7) subscripts i and j refer to the bodies connected through the joint component. Point M
and N are respectively on body i and body j. The inputs of the joint components are the outputs of a body
component (figure 2). A set of m implicit variables λ
k
, which are solutions of equations (6), is implemented in the
joint components. These variables correspond to the Lagrange multipliers associated with the joint constraint
1
For the sake of conciseness the second derivative is given in appendix.
3
PSfrag replacements
x
0
M
, y
0
M
θ
0
M
v
0
xM
, v
0
yM
ω
0
M
a
0
xM
, a
0
yM
γ
0
M
(F
xi
, F
yi
)
C
zi
x
0
N
, y
0
N
θ
0
N
v
0
xN
, v
0
yN
ω
0
N
a
0
xN
, a
0
yN
γ
0
N
(F
xj
, F
yj
)
C
zj
Body i
component
Joint
component
Point M
connecting port
Point N
connecting port
Force power
variables
(
)
Velocity power
variables
Figure 2: A symbolic representation of exchanged variables between the body and joint components.
equations. The outputs are given by equations (8) and passed in turn to the body components (with the Einstein
implicit summation convention on the repeated subscript k).
for body i:
F
x
i
= λ
k
~
f
k,
OM
· ~x
0
F
y
i
= λ
k
~
f
k,
OM
· ~y
0
C
z
i
= λ
k
~
f
k,~x
il
× ~x
il
+
~
f
k,~y
il
× ~y
il
· ~z
0
for body j:
F
x
j
= λ
k
~
f
k,
ON
· ~x
0
F
y
j
= λ
k
~
f
k,
ON
· ~y
0
C
z
j
= λ
k
~
f
k,~x
jl
× ~x
jl
+
~
f
k,~y
jl
× ~y
jl
· ~z
0
(8)
The formulation presented for body and joint components enabled a generic set of inputs and outputs at the
component connecting port to be obtained and not to be dependent on the joint type. Figure 2 finally recalls
the inputs and outputs for a body component and a joint component. It is worthwhile noting that among these
inputs and outputs at a connecting port are the power variables (as indicated on figure 2).
2.3 Spring and damping items in the joint components
In addition to the pure constraints of the joint, linear models of spring and damping items have been implemented
into the joint components acting along the joint mobilities. These contribute to the global action of the joint
component on the body component. For a translational mobility these actions have the following forms and are
implemented in the corresponding joint component mathematical models:
~
F
S/j
= k (q q
r
)
MN
MN
on the body j
~
F
S/i
=
~
F
S/j
on the body i
~
C
S/i
=
~
C
S/j
=
~
0
(9)
for the spring action, where q =
MN
is the current spring length, and
~
F
D/j
= b ˙q
MN
MN
on the body j
~
F
D/i
=
~
F
D/j
on the body i
~
C
D/i
=
~
C
D/j
=
~
0
(10)
for the damping action.
4
Figure 3: Iconographic representation of the body components.
For a rotational mobility, the actions may be expressed by:
~
F
S/i
=
~
F
S/j
=
~
0
~
C
S/j
= k
θ
0
N
θ
0
M
~z
0
on the body j
~
C
S/i
=
~
C
S/j
on the body i
(11)
for the spring action, and
~
F
D/i
=
~
F
D/j
=
~
0
~
C
D/j
= b
ω
0
N
ω
0
M
~z
0
on the body j
~
C
D/i
=
~
C
D/j
on the body i
(12)
for the damping action.
The additional parameters for the joint component are, q
r
, the spring length at rest (in translation), k
the spring stiffness (in translation or in rotation) and b the viscous damping coefficient (in translation or in
rotation). These actions are completely determined by the joint component inputs (equations 2, 3, and 5).
Their contributions are added to the output expressions (equations 8). Spring and damping items are available
for every mobility of the following joint components.
The next section presents the library and the different components implemented.
3 Composition of the library
As already presented previously, the basic components of the planar mechanical AMESim library are a body
component and a joint component. In fact four body components and four joint components have been developed.
In addition a reference fixed body has been set up and two special joint components have been developed for
coupling two perpendicular planar motions. Specific components are also available, for linear actuators, for
spring-dampers, for coupling one dimension mechanics to planar mechanics and an action source on a body.
These components are now detailed.
3.1 Body components
The generic mathematical model has been presented for these components in part I of this paper and in the
previous section. Four body components have been set up each corresponding to a body with a given number of
connecting ports (icons two to five in figure 3). Any joints may be connected to any of these body components
by their connecting ports. There is a total behavior symmetry with respect to the body component connecting
ports. The first specific body component (figure 3) enables a fixed body to be defined with respect to the
absolute frame of reference.
3.2 Joint components
Figure 4 shows the four basic joint components. The corresponding constraints to these joints are now given.
Translational joint
This joint has already been presented as an illustration example of the part I developments. It is not repeated
here.
5
Figure 4: Iconographic representation of the joint components.
Figure 5: Iconographic representation of the actuated joint components.
Revolute joint
The constraint due to this joint must express the coincidence of both body joint points. This constraint is given
by the following vector relation and furnishes two constraint equations in planar mechanics:
MN =
~
0
f
1
MN
=
MN · ~x
0
=
OM · ~x
0
+
ON · ~x
0
= 0 Lagrange multiplier λ
1
f
2
MN
=
MN · ~y
0
=
OM · ~y
0
+
ON · ~y
0
= 0 Lagrange multiplier λ
2
(13)
On points M and N connecting ports, the actions on the connected bodies are:
for body i:
F
x
i
= λ
1
(~x
0
) · ~x
0
+ λ
2
(~y
0
) · ~x
0
= λ
1
F
y
i
= λ
1
(~x
0
) · ~y
0
+ λ
2
(~y
0
) · ~y
0
= λ
2
C
z
i
= 0
for body j:
F
x
j
= λ
1
~x
0
· ~x
0
+ λ
2
~y
0
· ~x
0
= λ
1
F
y
j
= λ
1
~x
0
· ~y
0
+ λ
2
~y
0
· ~y
0
= λ
2
C
z
j
= 0
(14)
And the constraint equations are:
geometrical
x
0
N
x
0
M
= 0
y
0
N
y
0
M
= 0
(15)
kinematical
v
0
x
N
v
0
x
M
= 0
v
0
y
N
v
0
y
M
= 0
(16)
acceleration
a
0
x
N
a
0
x
M
= 0
a
0
y
N
a
0
y
M
= 0
(17)
Figure 5 shows the actuated versions of both latter joints. They enable electrical, hydraulic or pneumatic
actuators to be connected onto the rotational mechanical port for the revolute joint and onto the linear mechanical
port for the translational joint. These rotational and translational mechanical ports are located at the bottom
left of each icon. Moreover a signal port (bottom right) enables these components to be used with control
elements. While the main connecting ports of these components are of planar mechanical type the actuated
components show how this library may be coupled with components of other existing libraries.
Double translational joint
This joint consists of two perpendicular cascaded translational joints. The associated constraints must simply
express that both translational joint axes are perpendicular. This is given by:
~x
jl
· ~y
il
= 0 Lagrange multiplier λ (18)
6
On points M and N connecting ports, the actions on the connected bodies are:
for body i:
F
x
i
= 0
F
y
i
= 0
C
z
i
= λ (~x
jl
× ~y
il
) · ~z
0
= λ cos
θ
0
N
θ
0
M
for body j:
F
x
j
= 0
F
y
j
= 0
C
z
j
= λ (~y
il
× ~x
jl
) · ~z
0
= λ cos
θ
0
N
θ
0
M
(19)
And the constraint equations are:
geometrical sin
θ
0
N
θ
0
M
= 0 (20)
kinematical cos
θ
0
N
θ
0
M
ω
0
N
ω
0
M
= 0 (21)
acceleration cos
θ
0
N
θ
0
M
γ
0
N
γ
0
M
= 0 (22)
Despite the angular peculiarity of the constraint the trigonometric functions have been retained to conserve
sign information. Also equation (22) has been simplified using equation (20).
Double translational-revolute joint
This joint is composed successively of a translational joint and a revolute joint. The associated constraint must
express that point M must belong to the (N,~x
jl
) axis. The corresponding constraint is:
MN · ~y
jl
=
OM · ~y
jl
+
ON · ~y
jl
= 0 Lagrange multiplier λ (23)
On points M and N connecting ports, the actions on the connected bodies are:
for body i:
F
x
i
= λ (~y
jl
) · ~x
0
= λ sin θ
0
N
F
y
i
= λ (~y
jl
) · ~y
0
= λ cos θ
0
N
C
z
i
= 0
for body j:
F
x
j
= λ~y
jl
· ~x
0
= λ sin θ
0
N
F
y
j
= λ~y
jl
· ~y
0
= λ cos θ
0
N
C
z
j
= λ
h
ON
OM
× ~y
jl
i
· ~z
0
= λ

x
0
N
x
0
M
cos θ
0
N
+
y
0
N
y
0
M
sin θ
0
N
(24)
And the constraint equations are:
geometrical
x
0
N
x
0
M
sin θ
0
N
+
y
0
N
y
0
M
cos θ
0
N
= 0 (25)
kinematical
v
0
x
N
v
0
x
M
sin θ
0
N
+
v
0
y
N
v
0
y
M
cos θ
0
N
ω
0
N

x
0
N
x
0
M
cos θ
0
N
+
y
0
N
y
0
M
sin θ
0
N
= 0
(26)
acceleration
a
0
x
N
a
0
x
M
sin θ
0
N
+
a
0
y
N
a
0
y
M
cos θ
0
N
γ
0
N

x
0
N
x
0
M
cos θ
0
N
+
y
0
N
y
0
M
sin θ
0
N
2ω
0
N

v
0
x
N
v
0
x
M
cos θ
0
N
+
v
0
y
N
v
0
y
M
sin θ
0
N
= 0
(27)
Coupling motion plane joints
Figure 6 shows two additional special joint components for coupling two perpendicular planes of motion. The
first component consists of two revolute joints with perpendicular axes. This revolute joint axis intersection is
constrained to move on the motion plane intersection. The second component is the first one with a transla-
tional joint added in one of the motion planes. The axis of this additional translational joint goes through the
intersection of both former revolute joints axes. The axis ~x
0
is considered as the common axis of the motion
planes.
The first joint (figure 6) imposes that the connected body points M and N are coincident and move on an
axis that is supposed here to be the absolute axis of reference (O,~x
0
). The constraint is then expressed by the
7
Figure 6: Iconographic representation of coupling motion plane joint components.
following constraint equations:
MN · ~x
0
=
OM · ~x
0
+
ON · ~x
0
= 0 Lagrange multiplier λ
1
OM · ~y
0
= 0 Lagrange multiplier λ
2
ON · ~y
0
0
= 0 Lagrange multiplier λ
3
(28)
It is important here to make a clear distinction between both axes ~y
0
and ~y
0
0
. In the absolute frame of
reference (O,~x
0
,~y
0
,~z
0
) ~y
0
0
is identical to ~z
0
at every instant but it plays the role of a ~y axis for the motion plane
on the point N side. Moreover the third (resp. second) constraint does not affect the point M (resp. N) side
motion plane.
On points M and N connecting ports, the actions on the connected bodies are:
for body i:
F
x
i
= λ
1
(~x
0
) · ~x
0
+ λ
2
~y
0
· ~x
0
= λ
1
F
y
i
= λ
1
(~x
0
) · ~y
0
+ λ
2
~y
0
· ~y
0
= λ
2
C
z
i
= 0
for body j:
F
x
j
= λ
1
~x
0
· ~x
0
+ λ
3
~y
0
0
· ~x
0
= λ
1
F
y
j
= λ
1
~x
0
· ~y
0
0
+ λ
3
~y
0
0
· ~y
0
0
= λ
3
C
z
j
= 0
(29)
And the constraint equations are:
geometrical
x
0
N
x
0
M
= 0
y
0
M
= 0
y
0
0
N
= 0 component on axis ~y
0
0
(30)
kinematical
v
0
x
N
v
0
x
M
= 0
v
0
y
M
= 0
v
0
0
y
N
= 0 component on axis ~y
0
0
(31)
acceleration
a
0
x
N
a
0
x
M
= 0
a
0
y
M
= 0
a
0
0
y
N
= 0 component on axis ~y
0
0
(32)
The second coupling motion plane joint imposes that point N stays on the axis (O,~x
0
) and that the vector
MN be collinear to the translational joint. Compared to the previous joint the fact that point N implicitly
belongs to the (O,~x
0
,~z
0
) plane must be taken into consideration by setting y
0
N
= v
0
y
N
= a
0
y
N
= 0 in the following
expressions. Moreover the axis ~y
0
0
plays the same role as previously. The constraints for this joint are expressed
by:
(
MN · ~y
il
=
OM · ~y
il
+
ON · ~y
il
= 0 Lagrange multiplier λ
1
ON · ~y
0
0
= 0 Lagrange multiplier λ
2
(33)
On points M and N connecting ports, the actions on the connected bodies are:
for body i:
F
x
i
= λ
1
(~y
il
) · ~x
0
= λ
1
sin θ
0
M
F
y
i
= λ
1
(~y
il
) · ~y
0
= λ
1
cos θ
0
M
C
z
i
= λ
1
MN × ~y
il
· ~z
0
= λ
1

x
0
N
x
0
M
cos θ
0
M
+
y
0
M
sin θ
0
M
for body j:
F
x
j
= λ
1
~y
il
· ~x
0
+ λ
2
~y
0
0
· ~x
0
= λ
1
sin θ
0
M
F
y
j
= λ
1
~y
il
· ~y
0
0
+ λ
2
~y
0
0
· ~y
0
0
= λ
2
C
z
j
= 0
(34)
8
Figure 7: Iconographic representation of the four specific components.
And the constraint equations are:
geometrical
x
0
N
x
0
M
sin θ
0
M
+
y
0
M
cos θ
0
M
= 0
y
0
0
N
= 0 component on axis ~y
0
0
(35)
kinematical
v
0
x
N
v
0
x
M
sin θ
0
M
+
v
0
y
M
cos θ
0
M
ω
0
M

x
0
N
x
0
M
cos θ
0
M
+
y
0
M
sin θ
0
M
= 0
v
0
0
y
N
= 0 component on axis ~y
0
0
(36)
acceleration
a
0
x
N
a
0
x
M
sin θ
0
M
+
a
0
y
M
cos θ
0
M
γ
0
M

x
0
N
x
0
M
cos θ
0
M
+
y
0
M
sin θ
0
M
2ω
0
M

v
0
x
N
v
0
x
M
cos θ
0
M
+
v
0
y
M
sin θ
0
M
= 0
a
0
0
y
N
= 0 component on axis ~y
0
0
(37)
3.3 Specific components
Four additional components are now presented (figure 7). The two first components are used when actuating
items (active for the first and passive for the second) are needed. The linear actuator is strictly equivalent, from
a kinematic point of view, to one revolute joint, a body, a translational joint, a body, and a revolute joint in
cascade. These basic components have been integrated into only one component. This also enables actuators
with neglected masses to be modeled. The spring-damper component is in the same situation except that it is
a passive component with only stiffness and damping phenomena. These two components are to be connected
to body components.
The figure 7 third component is used for coupling one dimension mechanics to planar mechanics. On the
one dimension connecting port the component is connected to a translational mass component. On the planar
connecting port two joint components may be connected, either the translational joint component or the double
translational-revolute joint onto the translational connecting port. The connection of this specific component to
a translational joint component may be viewed globally as a fork-shaped body in one dimensional motion with
respect to which a body slides in planar motion.
The figure 7 last component is used to distinguish the different coordinates of an applied wrench on a body.
It is connected to a body on the planar mechanical connecting port and to signal components on the three signal
connecting ports.
The use of the planar mechanical library is now illustrated on the test example of a seven-body mechanism.
4 Example: a seven-body mechanism
The seven-body mechanism is a planar test example used in [Sch90] in order to show different multibody
simulation tools. It is presented in figure 8. Ideal revolute joints connect all bodies. As the input of the
mechanism, a torque of 0.033Nm drives link 1. A linear and massless spring connects link 3 in point D to the
reference frame in point C.
The Iconographic representation in AMESim (figure 8) shows the connection of the mechanism to the ref-
erence frame in points A, B, C and O. Two reference frame components have been used for the point A joint
with both links 5 and 7. An alternative AMESim model would have to choose a 3-connecting port body com-
ponent for either link 5 or link 7 and it would be necessary to connect one to the other through a revolute joint
component. Points M and N of both links 4 and 6 have been identically parameterized since they correspond
to the same position for the revolute joints between links 2, 3, 4, and 6. Here again different combinations of
3 and 4-connecting port body components with revolute joint components may be used for modeling this part
9
PSfrag replacements
A
B
C
D
O
Link 1
Link 2
Link 3
Link 4
Link 5
Link 6
Link 7
0.033Nm
Figure 8: Schema of a seven-body mechanism and its iconographic representation in AMESim.
PSfrag replacements
1- Link 1 angular position (rad)
2- Link 1 angular velocity (rad/s)
3- Link 1 angular acceleration (rad/s2)
Figure 9: Numerical results over 0.03s for the link 1 angular position, velocity and acceleration.
of the mechanism in the same way from a purely kinematical point of view. A spring-damper component with
a null damping coefficient has been installed for the spring connecting points C and D. Finally an actuated
revolute joint component is used for modeling both the joint between the reference frame and link 1 and the
torque applied to the link 1. An alternative AMESim model would have been to use a 3-connecting port body
component for link 1, a wrench source component (figure 7) and constant signal source components of value
0.033Nm for the first one and 0N for the other two.
The main results concern the link 1 and 3 motions. They are given on figure 9 and 10 graphs displaying the
angular positions, velocities and acceleration (for link 1). These results turn out to be in total agreement with
the results of different simulations presented in [Sch90].
5 Conclusion
This paper describes the composition of a planar mechanical library for the simulation tool AMESim. Based on
body and joint components for modeling the planar multibody domain of a system, this library also possesses
10
PSfrag replacements
1- Link 3 angular position (rad)
2- Link 3 angular velocity (rad/s)
(s)
Figure 10: Numerical results over 0.03s for the link 3 angular position and velocity.
specific components (figures 5 and 7) that enable coupling with other library components from the electrical,
hydraulic, and pneumatic domains. For example the figure 8 AMESim model shows the actuated pivot at point
O connected to a component from the standard one dimensional mechanics library. This could be connected
at this point to a rotating hydraulic or pneumatic actuator instead. Thus this library enlarges the range of
applications that can be modeled with the AMESim simulation tool.
Moreover the mathematical foundation of the component models has been derived in a generic way. So the
extension of the number of joint components can be envisaged. Examples of components for future development
are a massless connecting rod joint, cam contact joint, coupling motion plane joint with non-perpendicular
planes.
Finally, with no competition to the multibody oriented simulation tools (like ADAMS or SIMPACK for
instance [Kor93]), more dedicated to this domain, one important difference is that AMESim does not provide
any CAD input for the model. This represents a difficulty when introducing geometrical parameters since they
are not visualized. In fact the initial configuration of the mechanism to model must be carefully inspected
from a geometrical point of view. This ensures a coherent initialization of the simulation. The information
about the initial configuration of a mechanism is given to the body components through the absolute position
of the body fixed frame origins in combination with the relative position of the connecting port points. With
no computer aided design input, determining the complete initial configuration for the AMESim model is far
from being obvious. This problem is even crucial for closed loop mechanisms. However the mathematical model
of joint components based on the Baumgarte stabilization does not require a strictly rigorous definition of the
initial configuration. The Baumgarte stabilization initially accepts relaxation of the constraint equations and
afterwards forces them to converge towards zero. It acts as if it assembles an initially non-coherent closed loop
mechanism and makes it coherent. Nevertheless, depending on the Baumgarte stabilization coefficients, the
initial non-coherent configuration must not be too far from a coherent configuration for numerical reasons and
the coherent configuration of convergence is not necessarily the desired initial configuration for the simulation.
For the above reasons two extra modules have been recently developed in AMESim [Arm04]. The first
one enables a 3D visualization of mechanisms (depth can be introduced) as well as their animation after a
simulation run. It is not a CAD interface in the sense that this visualization is just the spatial interpretation
of the iconographic representation of the system. The model is always built into the iconographic interface.
Nevertheless the 3D visualization of planar mechanisms gives a more intuitive perception of the system motion
which is an important feature in the multibody domain. The second module is run before the dynamics simulation
and enables a coherent initialization of the model to be set up. However some initial conditions can be constrained
11
by the user during the initialization set up. This helps to define a coherent set of initial conditions with respect
to the kinematic topology.
Finally if the main objective of the analysis is not the mechanical part of a model but the overall multiphysics
behavior then one can obtain the benefit of having a planar mechanical library in a tool like AMESim. This is
one reason for having developed generic mathematical models adapted to the AMESim modularity requirements.
References
[AME04] AMESim. http://www.amesim.com, 2004.
[Arm04] Armbruster, C., Botellé, E., Marquis–Favre, W. Introduction of innovative analysis methods in
frequency- and energy- domain for the development of hydraulic component. In Proceedings of the
ifk’04 Internationales Fluidtechniches Kolloquium, volume 1, pages 197–214, 2004.
[Dau00] Dauphin-Tanguy, G. Les bond graphs. Hermès Science Publications, Paris, 2000.
[Kar90] Karnopp, D. C., L. Margolis, D., Rosenberg, R. C. System Dynamics: A Unified Approach. John
Wiley & Sons, New York, 1990.
[Kor93] Kortüm, W., Sharp, R. S., editor. Multibody computer codes in vehicle system dynamics, volume 22
of Supplement to Vehicle System Dynamics. Swets & Zeitlinger, 1993.
[Ott93] Otter, M., Elmqvist, H., Cellier, F.E. Modeling of multibody systems with the object-oriented mod-
eling language dymola. In Proc. of the NATO-Advanced Study Institute on Computer Aided Analysis
of Rigid and Flexible Mechancial Systems, volume II, pages 91–110, Troia, Portugal, 27 June-9 July
1993.
[Sch90] Schiehlen, W. Multibody systems handbook. Springer Verlag, Berlin, 1990.
[Sch00] Schiehlen, W., Kortüm, W., Arnold, M. Software tools: from multibody system analysis to vehicle
system dynamics. In Proc. of the International Congress on Theoretical and Applied Mechanics,
ICTAM2000, Chicago, USA, 27 Aug-2 Sept 2000.
Appendix
Second derivative of joint constraint equation
¨
f
k
=
~
f
k,
OM
·
a
0
x
M
~x
0
+ a
0
y
M
~y
0
+
~
f
k,
ON
·
a
0
x
N
~x
0
+ a
0
y
N
~y
0
+ f
k,
OM
2
v
0
x
M
2
+ v
0
y
M
2
+ f
k,
ON
2
v
0
x
N
2
+ v
0
y
N
2
+ 2f
k,
OM,
ON
v
0
x
M
v
0
x
N
+ v
0
y
M
v
0
y
N
+ γ
0
M
~
f
k,~x
il
· ~y
il
~
f
k,~y
il
· ~x
il
+ γ
0
N
~
f
k,~x
jl
· ~y
jl
~
f
k,~y
jl
· ~x
jl
ω
0
M
2
~
f
k,~x
il
· ~x
il
+
~
f
k,~y
il
· ~y
il
ω
0
N
2
~
f
k,~x
jl
· ~x
jl
+
~
f
k,~y
jl
· ~y
jl
+ 2ω
0
M
ω
0
N

f
k,~x
il
,~x
jl
+ f
k,~y
il
,~y
jl
cos
θ
0
M
θ
0
N
f
k,~x
il
,~y
jl
f
k,~y
il
,~x
jl
sin
θ
0
M
θ
0
N

2v
0
x
M
h
ω
0
M
f
k,
OM,~x
il
sin θ
0
M
+ f
k,
OM,~y
il
cos θ
0
M
+ ω
0
N
f
k,
OM,~x
jl
sin θ
0
N
+ f
k,
OM,~y
jl
cos θ
0
N
i
+ 2v
0
y
M
h
ω
0
M
f
k,
OM,~x
il
cos θ
0
M
f
k,
OM,~y
il
sin θ
0
M
+ ω
0
N
f
k,
OM,~x
jl
cos θ
0
N
f
k,
OM,~y
jl
sin θ
0
N
i
2v
0
x
N
h
ω
0
M
f
k,
ON,~x
il
sin θ
0
M
+ f
k,
ON,~y
il
cos θ
0
M
+ ω
0
N
f
k,
ON,~x
jl
sin θ
0
N
+ f
k,
ON,~y
jl
cos θ
0
N
i
+ 2v
0
y
N
h
ω
0
M
f
k,
ON,~x
il
cos θ
0
M
f
k,
ON,~y
il
sin θ
0
M
+ ω
0
N
f
k,
ON,~x
jl
cos θ
0
N
f
k,
ON,~y
jl
sin θ
0
N
i
for k=1 to m (38)
12