0% found this document useful (0 votes)
10 views

Maggi 1

Uploaded by

aldasdaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Maggi 1

Uploaded by

aldasdaw
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Efficient Solution of Maggi’s

Javier Garcı́a de Jalón


ETSII and INSIA,
Equations
Technical University of Madrid (UPM),
According to a recent paper (Laulusa and Bauchau, 2008, “Review of Classical
José Gutiérrez Abascal 2,
Approaches for Constraint Enforcement in Multibody Systems,” ASME J. Comput. Non-
28006 Madrid, Spain
linear Dyn., 3(1), 011004), Maggi’s formulation is a simple and stable way to solve the
e-mail: [email protected]
dynamic equations of constrained multibody systems. Among the difficulties of Maggi’s
formulation, Laulusa and Bauchau quoted the need for an appropriate choice (and
change, when necessary) of independent coordinates, as well as the high cost of comput-
Alfonso Callejo ing and updating the basis of the tangent null space of constraint equations. In this paper,
e-mail: [email protected]
index-1 Lagrange’s equations are first considered, including the not-so-rare case of hav-
ing a singular mass matrix and redundant constraints. The existence and uniqueness of
Andrés F. Hidalgo solution for acceleration vector and Lagrange multipliers vector is studied in a very sim-
e-mail: [email protected]
ple way. Then, following Von Schwerin (Von Schwerin, Multibody System Simulation.
Numerical Methods, Algorithms and Software, Springer, New York, 1999), Maggi’s
INSIA,
formulation is described as the most efficient way (in general) to solve these index-1
Technical University of Madrid (UPM),
equations. Next, an improved double-step method, which implements the matrix transfor-
Campus Sur UPM, Ctra. Valencia km 7,
mations of Maggi’s formulation in an efficient way, is described. Finally, two large real-
28031 Madrid, Spain
life examples are presented. [DOI: 10.1115/1.4005238]

Keywords: constrained multibody dynamics, Maggi’s formulation, semirecursive formu-


lations, real-time formalisms, vehicle models

1 Introduction these rods, in addition to the cutting of some joints of the system.
For kinematics, a rod element can be replaced by a constant dis-
Complex multibody systems (MBS) arise in many areas of en-
tance condition, but, for dynamics, its inertia forces should be
gineering: automobiles, machinery, robotics, aerospace, biome-
considered in an exact way.
chanics, etc. The first studied practical systems (spacecraft and
robots) were open-chain systems, so relative coordinates were
more appropriate than Cartesian coordinates. In addition to this, 1.1 Lagrange’s Equations of the First Kind. In the descrip-
relative coordinates had fewer storage requirements. In the 1970s tor form, using Cartesian dependent coordinates, the differential
and 80s, the main emphasis switched to automobile applications, equations of motion take the form:
which are inherently closed-chain systems. Thus, software pack-
ages that used highly constrained Cartesian coordinates, such as q þ UTq ðq; tÞk ¼ Fðq; q;
MðqÞ€ _ tÞ (1)
ADAMS and DADS, were developed. These programs are based on
global formulations, in the sense that they consider all mecha-
nisms — open-chain and closed-chain, loosely or severely con- where q 2 Rn is the vector of Cartesian coordinates that defines
strained — in the exact same way. As a consequence, the the system position, q_ and q
€ are its first and second order time
efficiency was poor. In the bibliography, the most widespread derivatives, M 2 Rnn is the inertia or mass matrix, F 2 Rn is a
global formulations are index-1 Lagrange’s equations of the first vector that includes the external and velocity dependent inertia
kind, the null space method, and Maggi’s formulation. Laulusa forces, Uq 2 Rmn is the Jacobian matrix of the kinematic con-
and Bauchau [1] present an excellent review of the state of the art straint equations, and k 2 Rm the vector of Lagrange multipliers.
in the dynamics of constrained multibody systems. The present The position, velocity, and acceleration vectors in Eq. (1) must
paper starts from their conclusions and describes a formulation satisfy the corresponding constraint equations:
and an implementation that largely improve the efficiency of
Uðq; tÞ ¼ 0 (2)
Maggi’s formulation, which, according to these authors, is among
the best ones in terms of stability. _ ¼ Uq q_ þ Ut ¼ 0;
U Uq q_ ¼ b; b  Ut (3)
In contrast with global formulations, topological formulations
try to take advantage of the system topology to improve the effi- € ¼ Uq q
U _ q q_ þ U
€þU _ t ¼ 0; € ¼ c;
Uq q _ q q_  U
c  U _ t (4)
ciency of the dynamic simulations. Topological formulations tend
to use relative coordinates or special sparse matrix techniques. In Equations (1)–(4) constitute a system of index-3 DAEs. If only
their first stages, these formulations were very involved, with Eqs. (1) and (4) are considered, the following index-1 DAE
great difficulties in becoming general-purpose commercial system — equivalent to an ordinary differential equation (ODE)
packages. system — is obtained:
In this paper, a simple topological way to improve the effi-     
ciency of Maggi’s formulation, based on a double velocity trans- M UTq €
q F
formation, will be described. It is known that the presence of rods ¼ (5)
Uq 0 k c
(slender elements with two spherical joints) presents some diffi-
culties when relative coordinates are used. An interesting option The matrix in this system of linear equations is known as the aug-
— when possible — is to open the closed-chains by eliminating mented matrix (Negrut, Serban and Potra [3]) or a matrix with
optimization structure (Serban et al., [4], Von Schwerin [2]). The
Manuscript received May 16, 2011; final manuscript received October 3, 2011; system of differential equations in Eq. (5) suffers from the con-
published online December 22, 2011. Assoc. Editor: Parviz Nikravesh. straint stabilization problem. As only the acceleration constraint

Journal of Computational and Nonlinear Dynamics APRIL 2012, Vol. 7 / 021003-1


C 2012 by ASME
Copyright V

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


equations have been imposed, the positions and velocities pro- In order to solve the system of equations in Eq. (5) with redun-
vided by the integrator suffer from the “drift” phenomenon. Two dant constraints using general-purpose routines, it is convenient to
popular solutions to this problem are the Baumgarte [5] stabiliza- make the rank of matrix ½ M UTq  visible through an LU factori-
tion method and the mass-orthogonal projections of position and zation with row swaps. One can write:
velocity vectors (Bayo and Ledesma [6]).  
According to Von Schwerin [2], the matrix transformation of Urn
PUq ¼ Lmm (12)
Maggi’s formulation can also be seen as an efficient way to solve 0ðmrÞn
the system of linear equations in Eq. (5), and — ultimately — to
integrate the dynamic equations of motion in Eqs. (1)–(4). where L is an invertible mm lower triangular matrix with ones
In the bibliography, it is common to find the hypothesis that the in the diagonal, P is a permutation matrix, and U is upper echelon
nn matrix M is invertible and that the mn Jacobian matrix Uq with full row rank. As P is an orthogonal matrix, Eq. (5) can be
has full-rank m. In these conditions, the solution of the system of written as:
equations in Eq. (5) can be expressed compactly as:
2 h i3
M UTrn 0TðmrÞn    
 1  6  7 q € F
k ¼ Uq M1 UTq Uq M1 F  c (6) 4 Urn 5 k ¼ c (13)
0mm
  0ðmrÞn
€ ¼ M1 F  UTq k
q (7)
where k ¼ LT PT k and c ¼ L1 Pc. In order to make the system
Serban et al. [4] proved that, with block diagonal matrices of iner- in Eq. (13) compatible, it must be fulfilled that:
tia, the solution of the system of equations in Eq. (5) by means of
Eqs. (6) and (7) (substituting the inversion of matrix Uq M1 UTq crþ1 ¼    ¼ cm ¼ 0 (14)
for a Cholesky factorization) is more efficient than the direct solu-
tion using the Gauss method, both for dense and sparse matrices. The indetermination in the transformed Lagrange multipliers k is
Von Schwerin [2] also indicated that the general LU factorization located in elements krþ1 ; …; km , which can have any value
of the matrix of the system, Eq. (5), is preferable to the pivoting because they are multiplied by zeros. If the condition of Eq. (9) is
techniques that take advantage of the matrix symmetry. fulfilled, the matrix of the system of equations
For the sake of generality, in this paper we consider the case in     
which mass matrix M is positive semidefinite, and also that redun- M UT €
q F
¼ (15)
dant equations may exist, so that: U 0 k1:r c1:r

 has full rank and can be solved by standard library subroutines,


rankðMÞ  n; rank Uq  m (8)
even if matrix M is not invertible
The direct solution of the systems of equations in Eq. (5) and/or
With these hypotheses, first it is necessary to consider the condi- Eq. (15) cannot be carried out very efficiently and it is preferable
tions that the system in Eq. (5) must fulfill so that a solution exists, to use procedures that take advantage of their structure (Serban
and whether this solution is determined or not. This problem has et al. [4], Von Schwerin [2]).
been studied by Udwadia and Phohomstri [7], who, by means of a
long proof based on the Moore-Penrose pseudoinverse, proved
that the system in Eq. (5) has a unique solution for accelerations q € 1.2 Range Space and Null Space Methods. Von Schwerin
if it is fulfilled that: [2] proposes two alternative methods to solve the systems of equa-
  tions in Eqs. (5) or (15): the range space method (RSM) and the
M null space method (NSM). In what follows, the notation of Eq. (5)
rank ¼n (9)
Uq shall be used, taking into account that, if matrix Uq is not of full
rank, the notation of Eq. (15) should be used instead.
It is possible to arrive at the same result in a more direct way by For the RSM, a factorization of Eq. (5) that assumes a positive
means of the Rouché-Capelli theorem (also known as the Rouché- definite matrix M, is proposed. Negrut et al. [3] use a similar fac-
Frobenius theorem) applied to the first part of system in Eq. (5): torization. It can be expressed as:

h i €  " # " #" #" #


q M UTq L1 0 Im 0 LT1 LT21
M UTq ¼F (10) ¼
k
Uq 0 L21 L2 0 If 0 LT2
" #
In order to allow this system to have a solution for any vector of L1 LT1 L1 LT21
forces F, it is necessary and sufficient that matrix ½ M UTq  has n ¼ (16)
L21 LT1 L21 LT21  L2 LT2
linearly independent columns, i.e., that it has rank n.
On the other hand, the equations in Eq. (5) that affect vector q€
can be written in the following way: where
     T  
M F Uq k L1 ¼ cholðMÞ; LT21 ¼ L1 T
1 Uq ; L2 ¼ chol L21 LT21 (17)
€¼
q  (11)
Uq c 0
From this factorization, the solution can be computed as:
The solution will be unique for q € if the condition in Eq. (9) is ful-
filled. Assuming that the acceleration constraint equations " #( ) ( )
Uq q€ ¼ c are compatible, it can be concluded that, if the condition M UTq €
q F
¼ ;
in Eq. (9) is satisfied, the system of equations in Eq. (5) is always Uq 0 k c
compatible and determined for the vector of accelerations q €. If the ( ) " #" T #( )
rank of the augmented matrix of the system in Eq. (5) is lower x Im 0 L1 LT21 €
q
than nþm, but the condition in Eq. (9) is fulfilled, the indetermina-  (18)
tion is limited to the vector of Lagrange multipliers k. l 0 If 0 LT2 k

021003-2 / Vol. 7, APRIL 2012 Transactions of the ASME

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


    
L1 0 x F From the point of view of efficiency, the null space method is not
¼ ) x ¼ ðL1 Þ1 F; l ¼ ðL2 Þ1 ðc  L21 xÞ
L21 L2 l c very different from index-1 Lagrange’s equations, and it has the
(19) same instability problems in the numerical integration process,
" #    because it does not consider the position and velocity constraints,
LT1 LT21 €
q x  Eqs. (2)–(3).
T
¼ ) k ¼ ðLT2 Þ1 l; q
€ ¼ ðLT1 Þ1 xLT21 k Maggi’s method obtains an expression of the differential equa-
0 L2 k l
tions in which only independent accelerations appear. By finding
(20) € in Eqs. (22)–(23):
the value of q
   1    
Equations (16)–(20) assume a positive definite matrix M of rank €d
q Udq Uiq c c
n. However, when this matrix is only positive semidefinite of rank ¼ ¼ ½S R ¼ R€z þ Sc
€i
q 0f m If €z €z
rM , a factorization M ¼ L 1L T can be used. Matrix L 1 would be
1
 1 ¼ I.
nrM , with full rank, and with a left inverse C such that CL (29)
Equations (16)–(20) can be adapted to this situation, but, in this
case, the method loses its interest and competitiveness. and substituting in the first part of Eq. (27):
Another alternative is to eliminate the Langrage multipliers of
Eqs. (5) and/or (15). This is traditionally done by calculating a RT MR€z ¼ RT F  RT MSc (30)
basis for the kernel or null space of the Jacobian matrix Uq (or
U). This basis can be determined in several ways. Perhaps, the These dynamic equations are completed with the relationship
simplest one is the coordinate partitioning method [8,9], that between dependent and independent velocities (similar to Eq. (29)),
divides the coordinates q (and the columns of Uq ) into dependent which can be obtained from Eq. (3):
and independent ones:
q_ ¼ R_z þ Sb (31)
h i 
€d
q
Udq Uiq ¼ fcg (21) Products Sb and Sc in Eqs. (31) and (29) can be obtained without
€i
q
€ when €z ¼ 0.
calculating matrix S. For instance, Sc in Eq. (29) is q
This can be easily calculated from Eq. (22).
in such a way that matrix Udq is invertible or, at least, of full col-
Equation (30) can also be considered as a step in the solution of
umn rank (in order to have left inverse). € can be computed from Eq. (29) and
Eq. (5). The accelerations q
If €z stands for the independent accelerations and f ¼ n-r for the
the Lagrange multipliers from Eq. (28). Von Schwerin [2] points
number of degrees of freedom, Eq. (21) can be expressed as:
out that the NSM is usually cheaper than the RSM, except for
     loosely constrained systems.
Udq Uiq €d
q c By defining a state vector yT ¼ z_ T ; qT , Eqs. (30)–(31) allow
¼ (22)
0f m If f €i
q €z _ which is given to the numerical integrator of the
calculating y,
motion differential equations. Maggi’s method formulated this
The system matrix in Eq. (22) is invertible. If ½ S R  is its way is numerically more stable than the methods based on Eqs.
inverse matrix, it can be written that: (5) or (27), and has a smaller size. After mentioning these advan-
 d     tages, Laulusa and Bauchau [1] also examined its possible
Uq Uiq Sd Rd Im 0mf drawbacks:
¼ (23)
0f m If Si Ri 0f m If (1) The choice of independent coordinates is not unique, and a
particular set of independent coordinates which are appro-
from which matrices S and R are found in the form: priate for one position can become inappropriate for a dif-
 d     d " # ferent one. In this case, it is necessary to stop the numerical
1
S d 1 R ðUdq Þ Uiq integration, choose a new set of independent coordinates,
S¼ ¼ ðU q Þ ; R¼ ¼
0f m 0f m If and start it again.
If
(2) In every step of the numerical integration, it is necessary to
(24) evaluate a basis R for the null space of Uq , a task which
can be very expensive for big size problems.
Note that the columns of matrix R are a basis for ker ðUq Þ, (3) The computation of this matrix R must be carried out in a
whereas matrix S is a right inverse of Uq . It is then verified that: robust and efficient way. It can be computed by using meth-
ods based on the Gauss elimination (or the LU factoriza-
Uq R ¼ 0mf (25) tion) or more stable but more expensive methods such as
Uq S ¼ Im (26) the QR factorization or the singular value decomposition.
According to our experience, the Gauss elimination and
related methods are stable and precise enough for most
The null space formulation eliminates the Lagrange multipliers in practical applications. In a modular implementation of the
Eq. (5) by premultiplying the upper part of the aforesaid equation algorithms described in this paper, it is a relatively simple
by RT and considering Eq. (25). The following system is obtained: task to replace for instance the LU factorization with the
   T  QR one.
RT M R F
€g ¼
fq (27)
Uq c
2 Double-Step Maggi’s Formulation
It can be easily proved that Eq. (9) is also the necessary and suffi- The computation of matrix R according to Eq. (24) may be
cient condition for the system in Eq. (27) to be compatible and very expensive for medium to large-size multibody systems, par-
have a unique solution. ticularly if the dynamic equations in Eq. (1) are first formulated in
Lagrange multipliers can be found by premultiplying Eq. (1) by Cartesian coordinates (natural or reference point). For instance,
ST and considering Eq. (26): the semitrailer truck considered at the end of this paper in example
2 has 47 bodies, 282 Cartesian accelerations, and 40 degrees of
k ¼ ST F  ST M€
q (28) freedom. Matrix Uq is (242  282) and matrix R is (282  40).

Journal of Computational and Nonlinear Dynamics APRIL 2012, Vol. 7 / 021003-3

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


The necessary computations to determine matrix R and to variables, which are the position vector of the origin of the mov-
evaluate the product of matrices RT MR in Eq. (30) are cumber- ing reference frame ri and the transformation matrix Ai.
some, even with the most careful and efficient numerical For reasons that will be discussed later, the body’s Cartesian
implementations. velocities Zi include the velocity s_ i of the point attached to body i
Some authors such as Negrut et al. [3] and Rodrı́guez et al. [15] that instantaneously coincides with the origin of the inertial refer-
have emphasized the advantages of using joint formulations (or ence frame. These Cartesian velocities and accelerations are also
relative coordinates) in order to reduce the size of the numerical used by Negrut et al. [3], and Kim [13]. The Cartesian velocities
problems to solve. However, they point out that dynamic formula- and accelerations are then defined by vectors
tions with joint coordinates are complex. Nearly all dynamic for-    
mulations based on joint coordinates start by opening the closed s_ i €si
Zi  ; Z_ i  (32)
loops and considering first an open-chain system. The relative xi x_ i
coordinates in an open-chain system are independent, so the kine-
matic and dynamic formulations are simpler at this stage. In a sec- Vectors Z and Z_ are, respectively, the vectors that contain the
ond phase, the closure of the loop constraints is enforced. Cartesian velocities and accelerations of all bodies:
Regarding matrix sizes, the benefits can be considerable. For
instance, the aforesaid semitrailer truck has 282 Cartesian coordi- T
n o
nates, but only 80 open-chain relative coordinates. There are 242 ZT ¼ ZT1 ZT2    ZTn ; Z_ ¼ Z_ T1 Z_ T2    Z_ Tn (33)
constraints for Cartesian accelerations, but only 51 (40 independ-
ent) for the relative ones. Using points and unit vectors, joints between contiguous bodies
The key point of this paper is to apply Maggi’s formulation in are very easily modeled. For instance, in a revolute joint between
Eq. (30) to the Cartesian dynamic Eq. (1) in a simple and efficient bodies i1 and i (see Fig. 1), an output point and a unit vector of
way. The matrix transformation of Eq. (30) is applied in two steps. element i1 coincide with the input point and unit vector of ele-
First, a transformation from Cartesian to relative open-chain coor- ment i, respectively. For a prismatic joint, both elements share a
dinates is applied. This transformation considerably reduces the unit vector, and the input point of element i is located on the line
size of the problem, and it can be carried out symbolically in a defined by the output point and unit vector of element i1 (see
simple recursive way. Next, a second transformation leads from Fig. 2); in this case, both elements share the same transformation
the open-chain relative coordinates to closed-chain independent matrix.
relative coordinates. This transformation is carried out numeri- For dynamics, it is simpler to use expressions for the Cartesian
cally, but with a far smaller system than the initial one. This sec- velocities Y and accelerations Y_ based on the center of gravity,
ond transformation benefits very much from the use of basic which are defined in the form:
linear algebra subprograms (BLAS) and/or sparse matrix     
techniques. g_ i I ~gi s_ i
There are some factors that make the whole formulation sim- Yi ¼ ¼ 3 ¼ Di Zi (34)
xi 0 I3 xi
pler than others found in the bibliography. One is the definition of       
the system topology or connectivity through the path matrix, and €gi I ~gi €si x~ ix~ i gi
Y_ i ¼ ¼ 3 þ ¼ Di Z_ i þ ei
other is the use of natural coordinates [10] (coordinates of points x_ i 0 I3 x_ i 0
and unit vectors) to define both the geometry of the bodies and the (35)
closure of the loop constraints.
The first semirecursive formulation based on a velocity trans- Equations (34) and (35) constitute the definition of matrix Di and
formation between Cartesian and relative velocities was due to vector ei. In these expressions, ~gi and x~ i are the skew-symmetric
Jerkovsky [11]. These ideas were subsequently extended by matrices associated with vectors gi and xi, so that for a generic
authors such as Kim and Vanderploeg [12]. More recently, semi- vector x, ~gi x ¼ gi  x and x
~ i x ¼ xi  x.
recursive formulations have been developed by authors like For open-chain systems, the Cartesian positions, velocities, and
Negrut et al. [3], and Kim [13]. In the next section, a new simple accelerations can be recursively computed upwards from the rela-
and general variant will be described. tive coordinates, velocities, and accelerations. The recursive cal-
culations for positions are straightforward and are not included
2.1 Open-Loop Equations. The present method starts with
the dynamic equations set in Cartesian coordinates, and then
applies two velocity transformations that lead to the differential
equations of motion using a set of independent relative
coordinates.
It is possible to consider only revolute and prismatic joints,
because other joints with more degrees of freedom can be decom-
posed into a combination of revolute and prismatic joints with
massless intermediate bodies.
If the system has closed loops, it is first transformed into an
open-chain system through the cut-joint method or—in some
cases—by removing some bodies with a particular geometry and
mass distribution (rods). The motion equations are first formulated
in Cartesian coordinates. Then, a first velocity transformation
switches from the Cartesian velocities to the relative velocities
corresponding to the open-chain system.
In this formulation, the geometry of each moving body is
defined in a local reference frame attached to it by using natural
coordinates, i.e., by defining a set of points and unit vectors that
describe the geometry of the body and its joints. In this way, the
geometry becomes simpler and clearer than using multiple
“markers” or additional reference frames attached to the moving
bodies. When needed, this geometric information is easily trans-
formed to the global reference frame using the body position Fig. 1 Revolute joint

021003-4 / Vol. 7, APRIL 2012 Transactions of the ASME

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


2 3
b1 b2 0 0 b5
6 7
60 b2 0 0 b5 7
6 7
6 7
R¼6
60 0 b3 b4 b5 7 7
6 7
60 0 0 b4 b5 7
4 5
0 0 0 0 b5
2 32 b1 0 0 0 0
3
I I 0 0 I
6 76 0 7
60 I 0 0 I 76 b2 0 0 0 7
6 76
6
7
7
¼6
60 0 I I I776 0 0 b3 0 0 7  TRd (39)
6 76
6
7
40 0 0 I I 54 0 0 0 b4 0 7
5
0 0 0 0 I 0 0 0 0 b5

where I is the identity matrix of size (6  6), T is the path matrix


that defines the connectivity of the multibody system, and Rd is a
Fig. 2 Prismatic joint
diagonal matrix whose elements are the vectors bi defined in
Eq. (36). Remember that vector bi represents the velocity of the
here because they are not important for the first velocity transfor- point that coincides with the inertial frame origin, induced by a
mation. For velocities and accelerations: unit relative velocity in joint i.
The introduction of the path matrix T is a key point of this for-
Zi ¼ Zi1 þ bi z_i (36) mulation. This allows the topology to be taken into account in a
straightforward way. Other authors need to introduce complicated
Z_ i ¼ Z_ i1 þ bi €zi þ di (37)
expressions to explain the recursive processes on different
branches that start from a common junction body. Observe that
where zi are the relative coordinates, and vectors bi and di have the k row of the path matrix T contains the joints or relative coor-
simple expressions that depend on the kind of joint i. Note that, if dinates that are below body k, while the k column gives the bodies
different reference points are used for bodies i and i1, Eqs. (36) that are upwards of joint k.
and (37) should include a transformation matrix Bi. The simplicity Taking into account Eqs. (34) and (35), the virtual power of the
of Eqs. (36) and (37) has important advantages in some subse- inertia and external forces acting on the whole system is:
quent accumulated expressions.
For open-chain systems, a velocity transformation defined by X
n  X
n 
the following equation can be set directly: YT
i Mi Y_ i  Qi ¼ ZT T _
i Di Mi Di Zi þ Mi ei  Qi
i¼1 i¼1
q_ ¼ R1 z_1 þ R2 z_2 þ    þ Rn z_n ¼ R_z (38) X
n 
¼ ZT M  ¼0
 i Z_ i  Q (40)
i i
In this case, the column j of matrix R can be computed directly, i¼1

because its elements are the Cartesian velocities of the bodies that
are upwards in the tree, originated by a unit relative velocity in where the virtual velocities have been denoted with an asterisk
the joint j and null relative velocities in the remaining joints. Since (*). The matrices appearing in Eq. (40) are:
all the bodies share the same reference point, all have the same ve-  
locity bi , according to Eq. (36). mi I3 0
Mi ¼
This velocity transformation and the way the system topology 0 Ji
is taken into account is better explained with an example. Figure 3  
mi I3 mi ~gi
shows an open-chain, tree configured multibody system. As sug- M i ¼ DT M i D i ¼
i
gested by Negrut et al. [3], the bodies have been numbered from mi ~gi Ji  mi ~gi ~gi
the leaves to the root, in such a way that each body has a number  T
Qi ¼ Di ðMi ei  Qi Þ (41)
lower than its parent. This numbering avoids the later fill-in in the
Gauss elimination process. Each body has the same number as its where mi is the mass of body i and Ji is its inertia tensor. Matrix
input joint. In this example, the velocity transformation matrix Di and vector ei are defined in Eq. (35). In Eqs. (40) and (41), the
corresponding to Eq. (38) has the following form: inertia matrices and vector forces denoted with an upper bar refer
to the origin of the global reference frame.
By defining the global system inertia matrix M, force vector Q 
and acceleration vector Z_ in the form:

M  diagðM  1; M 2 ; …; M  nÞ (42)
h i
QT ¼ Q  T; Q
 T ; …; Q T (43)
1 2 n

T
h T T T
i
Z_ ¼ Z_ ; Z_ ; …; Z_
1 2 n (44)

the dynamic Eq. (40) can be written as:



ZT M  ¼0
 Z_  Q (45)

Using Eq. (39) for matrix R, the velocity transformation and its
Fig. 3 Example of an open-chain system time derivative can be written for the whole system as:

Journal of Computational and Nonlinear Dynamics APRIL 2012, Vol. 7 / 021003-5

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


Z ¼ R_z ¼ TRd z_ (46) 2.2 Closed-Loop Equations. The dynamics of closed-chain
multibody systems can be formulated by adding the constraint
Z_ ¼ TRd €z þ TR_ d z_ (47) equations to the dynamic equations in Eq. (48), corresponding to
the open-chain system.
Substituting Eqs. (46) and (47) in Eq. (45) and taking into account Then, it is possible to select an independent subset of relative
that the relative virtual velocities are independent, a set of equa- coordinates, in such a way that a set of ODEs will be obtained at
tions analogous to Eqs. (30) is obtained: the end. This is carried out by a new velocity transformation simi-
  lar to the one introduced to arrive at Eq. (30). In this case, the
 Rd €z ¼ RT TT Q
RTd TT MT   MT
 R_ d z_ (48) transformation matrix Rz will be obtained numerically from the
d
Jacobian matrix of the closing loop constraint equations. In many
It is interesting to visualize the pattern of the inertia matrix in applications [14], it is possible to find a set of independent relative
Eq. (48), for the open-chain example in Fig. 3: coordinates valid for the whole motion range.
2.2.1 Kinematic Constraints. For the sake of simplicity, the

RTd MR Rd  RTd TT MTR
2
d
3 closure of the loop constraint equations are first formulated in
bT1 MR1 b1 bT1 MR1 b2 0 0 bT1 MR1 b5 Cartesian coordinates and then transformed to relative coordi-
6 T R 7 nates. In this paper, two ways to set the closed-chain constraint
6 b2 M1 b1 bT2 MR2 b2 0 0 bT2 MR2 b5 7
6 7 equations will be considered. The first one is the cut-joint method,
¼6
6 0 0 bT3 MR3 b3 bT3 MR3 b4 bT3 MR3 b5 7
7 which is very common in the literature. In this paper, the cutting
6 7
4 0 0 bT4 MR3 b3 bT4 MR4 b4 bT4 MR4 b5 5 of a revolute joint (or a spherical one) defined with natural coordi-
T R T R nates will be examined in detail. The second method to open the
b5 M1 b1 b5 M2 b2 bT5 MR3 b3 bT5 MR4 b4 bT5 MR5 b5
loops involves the elimination of one or more rods (slender bodies
with two spherical joints and a negligible moment of inertia
where around the direction of the axis). This second procedure is rarely
found in the bibliography, and it is particularly interesting in
1
MR1 ¼ M applications such as car suspension systems, where rods are very
R
M ¼M  2 þ MR common.
2 1
Rods are rigid bodies difficult to analyze: sometimes they are
3
MR3 ¼ M (50) considered as distance constraints, neglecting their inertia forces.
R
M ¼M  4 þ MR Many commercial computer programs even do not allow the intro-
4 3
 5 þ MR þ MR duction of bodies with two spherical joints and require the
MR5 ¼ M 2 4 replacement of a spherical joint by a universal joint, so that the
free rotation around the rod axis is eliminated. Opening the loops
Matrices MRi are accumulated inertia matrices, described by by removing a rod introduces one constraint equation, but keeping
many authors. They represent the accumulation of the inertia mat- the rod and opening the loop by cutting a spherical joint introdu-
rices of all the elements that are upwards of joint i. Observe that ces three constraint equations and keeps the two relative coordi-
the pattern of the inertia matrix in Eq. (49) reproduces symmetri- nates of the universal joint. On the other hand, while a rod can be
cally the pattern of path matrix T in Eq. (39). eliminated easily, the exact inclusion of its inertia properties is
In an analogous way, the accumulated external forces QR and more complicated.
velocity dependent accumulated inertia forces PR can be com- Figure 4(a) shows a revolute joint that is defined with natural
puted from the right-hand side of Eq. (48): coordinates. In order to formulate the constraints of this joint, two
8 9 8 9 points and two unit vectors from different bodies are forced to coin-
>
> QR1 >
> >
> PR > cide. Accordingly, the following equations must be established:
>
> >
> > 1>
> >
>
>
> R>> >
> R>>
< Q2 >
> = < P2 >
> = rj  rk ¼ 0 ð3 independent equationsÞ (53)
R T R R T  _ R
Q  T Q ¼ Q3 ; P  T MTRd z ¼ P3 _ (51)
>
> > > > uj  uk ¼ 0 ðonly 2 independent equationsÞ (54)
>
> R>>
>
>
>
> R>>
>
>
> Q 4 >
> >
> P 4 >
>
>
: R> ; >
: R> ;
Q5 P5 For the rod element in Fig. 4(b), only one constant distance condi-
tion is necessary:
where  T
rj  rk rj  rk  l2jk ¼ 0 (55)

QR1 
¼Q PR1  1 TR_ d z_
¼ M
1  1
QR2  þ QR
¼Q PR2  2 TR_ d z_
¼ M þ PR1
2 1  2
QR3 
¼Q PR3  3 TR_ d z_
¼ M (52)
3  3
QR4  þ QR
¼Q PR4  4 TR_ d z_
¼ M þ PR3
4 3  4
QR5  þ QR þ QR
¼Q PR5  5 TR_ d z_
¼ M þ PR2 þ PR4
5 2 4 5

The meaning of the accumulation of external forces is clear. With


respect to the velocity dependent inertia forces, Eq. (52) shall be
related with Eq. (47).
The matrix in Eq. (49) shows the advantages of numbering the
bodies and joints from the leaves to the root: the Gaussian elimi-
nation (or the LU factorization) keeps the pattern of zeros in the
matrix, i.e., it maintains the skyline or the sparsity of this matrix,
avoiding some arithmetic operations.
Equation (48) constitute a system of ODEs whose coefficient
matrix and right-hand side vector can be computed recursively in Fig. 4 Loop closure by means of a revolute joint (a) or a rod
a very efficient way. element (b)

021003-6 / Vol. 7, APRIL 2012 Transactions of the ASME

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


The constraint equations in Eqs. (53)–(55) shall be expressed in All the terms in this equation are known, except for the parenthe-
terms of the relative coordinates z. This is not difficult, because sis with the derivatives of the transformation matrices. It is sim-
points rj and rk , and unit vectors uj and uk can be expressed as pler to compute the two terms jointly. Considering Eq. (61), the
functions of the relative coordinates of the joints in their respec- parenthesis in Eq. (63) can be written as:
tive branches of the open-chain system.
It is also necessary to compute the Jacobian matrix of the con- R_ d z_ þ Rd R_ z z_ i ¼ R_ d Rz z_ i þ Rd R_ z z_ i
straints in Eqs. (53)–(55) with respect to relative coordinates z. As  dðRd Rz Þ i
the aforesaid constraints are expressed as a function of Cartesian ¼ R_ d Rz þ Rd R_ z z_ i ¼ z_ (64)
coordinates, the chain derivative rule shall be used. For instance, dt
for the constant distance constraint in Eq. (55):
This derivative can be computed from the product of velocity
transformations that relates Cartesian and independent relative
@rj @rk @ r_ j @ r_ k velocities:
Uz ¼ Urj þ Urk ¼ Urj þ Urk (56)
@z @z @ z_ @ z_
Z ¼ R_z ¼ TRd z_ ¼ TRd Rz z_ i (65)
The derivatives with respect to the coordinates rj and rk in
Eq. (55) are easy to find: Taking the time derivative of this equation:

    dðRd Rz Þ i
Urj ¼ 2 rTj  rTk ; Urk ¼ 2 rTj  rTk (57) Z_ ¼ TRd Rz €zi þ T z_ (66)
dt

In this equation, the product of the path matrix T times the


The derivatives of the position vectors rj and rk with respect to searched derivative, can be computed as the Cartesian accelera-
the relative coordinates z can be computed from the velocities of tions Z_ that would be produced by the true velocities z_ and null
these points induced by unit relative velocities in the joints relative independent accelerations (€zi ¼ 0).
between the fixed body and bodies j and k, respectively. For Thus, a way to compute the terms in the Maggi’s set of ODEs,
instance, if the joint i is a revolute joint determined by a point ri Eq. (63), has been completed. Two velocity transformations have
and a unit vector ui , located between the base body and point rj , been introduced. The first one, from Cartesian to open-chain rela-
the velocity of point j originated by a unit relative velocity in joint tive velocities, is applied directly and leads to an accumulation of
i can be expressed as: forces and inertias. The second one is applied in a fully numerical
@ r_ j   way to a (usually) smaller system.
¼ u i  rj  ri ¼ u
~ i rj  r i (58)
@ z_i 2.2.2 Rod’s Inertia. For the sake of brevity, the details about
the inertia forces of the rods that have been removed to open the
If joint i were a prismatic joint also determined by ri and ui , the closed loops will not be given here. This information is detailed in
derivative would be (unit translation motion): other sources [15]. It is enough to point out that a rod introduces
coupling terms between the inertia forces of the two tree branches
@ r_ j connected by it. The topological information to compute these
¼ ui (59) coupling terms is also contained in the path matrix.
@ z_i

In any case, it can be assumed that the closure of the loop con- 2.3 Additional Implementation Details. The Maggi’s for-
straint equations UðzÞ ¼ 0 and their Jacobian matrix Uz are either mulation previously described, based on a double velocity trans-
known or easy to compute. Using the coordinate partitioning formation, improves very much the efficiency of the direct
method based on Gaussian elimination with full pivoting as in computation of the null space basis of Uq , that are the columns of
Eq. (24), it is possible to arrive to the following partitioned veloc- matrix R. However, the improvement in the formulation is not
ity equation: enough to get the efficiency needed for real-time dynamic simula-
tions. A careful implementation is also necessary.
  The most expensive steps in the numerical algorithm are the
 d  z_ d  1 i i
Uz Uiz ¼ 0; z_ d ¼  Udz Uz z_ (60) computation of matrix Rz from Eq. (61) and the product of matri-
z_ i ces to arrive at Eq. (63) from Eq. (48). These operations can bene-
fit from the use of specialized routines such as dense BLAS and
where it is assumed that matrix Udz is invertible. Equation (60) sparse matrix functions.
allows an easy calculation of the transformation matrix Rz that The aforesaid product of matrices is simple and does not
relates dependent and independent relative velocities: deserve further attention. More important is the LU factorization
 d       of the Jacobian matrix Uz and the subsequent solution steps to get
1 i 1 i
z_ ¼ Rz z_ i ;
z_
¼  Udz Uz z_ i ; R ¼  Udz Uz matrix Rz according to Eq. (61). The presence of redundant con-
z
z_ i I I straints, which leads to systems of redundant but compatible equa-
(61) tions, is a source of difficulties. The sparse function MA48 from
Harwell is able to deal with this, but there is not an equivalent
function for dense matrices in LAPACK. Thus, two C/Cþþ func-
If this equation is differentiated with respect to time, the following
tions have been built. They directly call the BLAS functions cbla-
equation is obtained:
s_idamax, cblas_dswap and cblas_dger to perform the LU
factorization with column pivoting and row swapping, and then
€z ¼ Rz€zi þ R_ z z_ i (62)
they solve two triangular systems of linear equations. These oper-
ations have been carried out through rank-1 matrix updating
The velocity transformation defined by Eqs. (61) and (62) is intro- (function cblas_dger), which is crucial to gain efficiency.
duced in the equations of motion, Eq. (48). The final Maggi’s
equation is obtained by premultiplication by matrix RTz :
3 Results
 In order to assess the computational performance of the pre-
RTz RTd MR Rd Rz€zi ¼ RTz RTd QR  RTz RTd M R_ d z_ þ Rd R_ z z_ i
R
(63) sented Maggi’s formulation, two large and complex examples

Journal of Computational and Nonlinear Dynamics APRIL 2012, Vol. 7 / 021003-7

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


Fig. 5 Schematic MBS model of the coach

have been analyzed: a 15-dof coach and a 40-dof 5-axle semi- up of a rigid support containing the axle and the differential.
trailer truck. Both models are real-life vehicles, with realistic sus- There are four air springs and four dampers between the chassis
pension geometry and forces. Both simulations consist of a 5 s and the support, which is joined to the chassis through two longi-
multiple slalom test along a flat road. A 4th-order Runge-Kutta in- tudinal rods and two diagonal rods. There is also an anti-roll bar.
tegrator with a 103 s time step has been used, with 20 000 evalu- The coach has 198 Cartesian coordinates, 32 open-chain relative
ations of the state vector derivative. coordinates, and 17 constraint equations.
Figure 5 shows a schematic view of the coach. Table 1 shows
the CPU time for 20 000 evaluations of each algorithm step, con-
3.1 Coach Model. The first model is a 15-dof coach with 34 sidering three different implementations: standard C/Cþþ, BLAS
joints, 33 bodies (14 of them auxiliary massless bodies), 11 rods (MKL), and sparse (MA48). Steps 3 and 8 are the most expensive
and a driven coordinate for the steering system. It has two wheels ones. BLAS routines do not improve the CPU times, and the
in the front and four wheels in the rear axle. The tire forces are sparse routine makes them worse.
modeled with Pacejka’s magic formula. The independent front
suspension is made up of parallel triangles between the carriers
and the chassis, an anti-roll bar between these carriers, dampers 3.2 Semitrailer Truck Model. The second example is a
and air springs. The steering system drives the carriers by means multibody model of a complete truck with tractor and semitrailer.
of two rods. The rear suspension is a live axle one, and it is made It has 40 dof, 5 axles, 81 bodies (of which 34 are massless

Table 1 CPU times for 5 s simulation—Coach

Coach

Algorithm step C/Cþþ BLAS SPARSE


P
1  i ; MR ¼ M
bj ; Ai ; Ji ; M i þ R 0.258 0.264 0.274
i j<i Mi
 d i  d
2 Uz Uz ; ½L; U ¼ lu Uz 0.134 0.252 0.323
3 h  d 1 i i 0.305 0.158 0.225
Rz ¼  Uz Uz
I
4  1 i i 0.088 0.107 0.078
z_ d ¼  Udz Uz z_ ; recVel: Zi ; di ; dRi
5 
Qi ; Qi ; si 0.165 0.170 0.181
6 c ¼ Uz z_ ; R_ z z_ ¼ Ud nUz
_ z z_ 0.133 0.119 0.138
7  QR
recAccel: Zi ; Q; 0.073 0.076 0.083
8 M ¼ RTz RTd MR Rd Rz 0.574 0.565 0.582
 
b ¼ RTz RTd QR  RTd MR R_ d z_ þ Rd R_ z z_ i

9 €zd ¼ Md;d n Md;g €zg ; bg ¼ Mg;d €zd þ Mg;g €zg 0.066 0.069 0.069
Elapsed time [s] 1.796 1.779 1.952

021003-8 / Vol. 7, APRIL 2012 Transactions of the ASME

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


Table 2 CPU times for 5 s simulation—Semi-trailer truck

Semi-trailer truck

Algorithm step C/Cþþ BLAS SPARSE


P
1 bj ; Ai ; Ji ; M i ; MR ¼ M iþ R
0.675 0.665 0.658
i j<i Mi
 d  
2 Uz Uiz ; ½L; U ¼ lu Udz 0.425 0.927 0.721
3 h  d 1 i 4.032 0.655 0.616
Rz ¼  Uz Uiz
I
4  1 i i 0.289 0.361 0.195
z_ d ¼  Udz Uz z_ ; recVel: Zi ; di ; dRi
5 Qi ; Q ; si 0.273 0.275 0.275
i
6 c ¼ Uz z_ ; R_ z z_ ¼ Ud nU z
_ z z_ 0.258 0.198 0.180
7  QR
recAccel: Zi ; Q; 0.193 0.194 0.193
8 M ¼ RTz RTd MR Rd Rz 3.037 2.054 2.044
 
b ¼ RTz RTd QR  RTd MR R_ d z_ þ Rd R_ z z_ i

9 €zd ¼ Md;d n Md;g €zg ; bg ¼ Mg;d €zd þ Mg;g €zg 0.247 0.258 0.255
Elapsed time [s] 9.428 5.588 5.137

Fig. 6 Schematic MBS model of the truck

auxiliary), 89 joints, and a driven coordinate for the steering sys- 4 Conclusions
tem. All axles have two wheels. The tire-ground contact forces are
modeled by Pacejka’s magic formula. The semitrailer suspension Maggi’s formulation is a way to set out the dynamic equations
and the tractor rear suspension are made up of air springs and of constrained multibody systems with important advantages in
dampers, whereas the tractor front suspension is made up of leaf size and stability, as it has been pointed out by several authors. It
springs and dampers. The joint between the semitrailer and the implies the computation of a basis of the constraint Jacobian null
tractor has been considered a spherical joint. space at each time step. This can lead to a slow numerical per-
Table 2 shows the results of the truck model. They present a formance for medium/large systems.
different trend from the coach ones, as a consequence of its bigger In this paper, Maggi’s equations are efficiently obtained
size. Again, steps 3 and 8 are the most expensive ones, but their through a double velocity transformation. First, by removing
relative weight is bigger. Both BLAS and sparse routines improve some joints (and rods), the system is transformed into an open-
the results considerably, the latter being the best one. chain through a straightforward velocity transformation from Car-
The semitrailer truck has 282 Cartesian coordinates, 80 open- tesian to relative coordinates. The introduction of the path matrix
chain relative coordinates, and 51 constraint equations (40 inde- allows an easy way of considering the topology of tree configured
pendent). Figure 6 shows a view of the model. systems. The closure of the loop constraints are formulated in

Journal of Computational and Nonlinear Dynamics APRIL 2012, Vol. 7 / 021003-9

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm


Cartesian coordinates and then transformed into relative coordi- [4] Serban, R., Negrut, D., Potra, F. A., and Haug, E. J., 1997, “A Topology Based
nates, in order to add them to the open-chain dynamic equations. Approach for Exploiting Sparsity in Multibody Dynamics. Cartesian For-
mulation,” Mech. Struct. Mach., 25(3), pp. 379–396.
The second velocity transformation is numerically applied to a [5] Baumgarte, J., 1972, “Stabilization of Constraints and Integrals of Motion in
reduced size system to get the final differential equations in terms Dynamical Systems,” Comput. Methods Appl. Mech. Eng., 1, pp. 1–16.
of independent accelerations. [6] Bayo, E., and Ledesma, R., 1996, “Augmented Lagrangian and Mass-
The result is a fast, simple, and robust method. Some simplicity Orthogonal Projection Method for Constrained Multibody Dynamics,” J. Com-
put. Nonlinear Dyn., 9, pp. 113–130.
benefits are obtained by defining the geometry of the moving [7] Udwadia, F. E., and Phohomstri, P., 2006, “Explicit Equations of Motion
bodies using natural coordinates. The C/Cþþ implementation for Constrained Mechanical Systems With Singular Mass Matrices and
uses BLAS and/or sparse routines to further improve the numeri- Applications to Multi-Body Dynamics,” Proc. R. Soc. London, 462,
cal efficiency. Two real-life examples have been presented with pp. 2097–2117.
[8] Wehage, R., and Haug, E. J., 1982, “Generalized Coordinate Partitioning for
detailed performance results. Dimension Reduction in Analysis of Constrained Mechanical Systems,” ASME
J. Mech. Des., 104, pp. 247–255.
[9] Serna, M. A. Avilés, R., and Garcı́a de Jalón, J., 1982, “Dynamic Analysis of
Acknowledgment Plane Mechanisms with Lower Pairs in Basic Coordinates,” Mech. Mach.
The authors acknowledge the support of the Ministry of Science Theory 17, pp. 397–403.
[10] Garcı́a de Jalón, J., and Bayo, E., 1994, Kinematic and Dynamic Simulation
and Innovation of Spain under Research Project TRA2009-14513- of Multi-Body Systems – The Real-Time Challenge, Springer-Verlag,
C02-01 (OPTIVIRTEST), and of the Education Department of the New York.
Government of Navarre. [11] Jerkovsky, W., 1978, “The Structure of Multibody Dynamic Equations,”
J. Guid. Control, 1, pp. 173–182.
[12] Kim, S.-S., and Vanderploeg, M. J., 1986, “A General and Efficient Method for
References Dynamic Analysis of Mechanical Systems Using Velocity Transformations,”
[1] Laulusa, A., and Bauchau, O. A., 2008, “Review of Classical Approaches for ASME J. Mech., Transm., Autom. Des., 108, pp. 176–182.
Constraint Enforcement in Multibody Systems,” ASME J. Comput. Nonlinear [13] Kim, S.-S., 2002, “A Subsystem Synthesis Method for Efficient Vehicle Multi-
Dyn., 3(1), p. 011004. body Dynamics” Multibody Syst. Dyn., 7, pp. 189–207.
[2] Von Schwerin, R., 1999, Multibody System Simulation. Numerical Methods, [14] Serban, R. and Haug, E. J., 2000, “Globally Independent Coordinates for Real-
Algorithms and Software, Springer, New York. Time Vehicle Simulation,” ASME J. Mech. Des., 122, pp. 575–582.
[3] Negrut, D., Serban, R., and Potra, F. A., 1997, “A Topology Based Approach [15] Rodrı́guez, J. I., Jiménez, J. M., Funes, F. J., and Garcı́a de Jalón, J., 2004,
for Exploiting Sparsity in Multibody Dynamics. Joint Formulation,” Mech. “Recursive and Residual Algorithms for the Efficient Numerical Integration of
Struct. Mach., 25(2), pp. 221–241. Multi-Body Systems,” Multibody Syst. Dyn., 11, pp. 295–320.

021003-10 / Vol. 7, APRIL 2012 Transactions of the ASME

Downloaded From: http://computationalnonlinear.asmedigitalcollection.asme.org/pdfaccess.ashx?url=/data/journals/jcnddm/25804/ on 05/10/2017 Terms of Use: http://www.asm

You might also like