Multibody Syst Dyn (2012) 27:487–503

DOI 10.1007/s11044-011-9291-6
Singularity-free simulation of closed loop multibody
systems by using null space of Jacobian matrix
Dinh Van Phong · Nguyen Quang Hoang
Received: 1 April 2011 / Accepted: 5 December 2011 / Published online: 30 December 2011
© Springer Science+Business Media B.V. 2011
Abstract Numerical simulation of closed loop multibody systems is associated with nu-
merical solution of equations of motion which are, in general, in the form of DAE’s index-3
systems. For assuring continuous simulation, one should overcome some difficulties such as
stabilization of the constraint equations, singular configuration of the system. In this paper,
the system equations of motion with the Lagrange multipliers is rewritten by introducing
generalized reaction forces. The combination with the condition of ideality of constraints
leads to the system of equations which can be solved by numerical techniques smoothly,
even over singular positions. Based on the new criterion of ideality of constraints, which re-
lates generalized reaction forces and the null space matrix of Jacobian matrix, it is possible
also to remove reaction forces and use only the reduced system of equations with null space
matrix for passing singular positions. In order to prevent the constraint equations from the
accumulated errors of integral time, the method of position and velocity projection has been
exploited. Some numerical experiments are carried out to verify the proposed approach.
Keywords Constrained mechanical system · Singularity configuration · Numerical
simulation · DAE · Null space · Generalized reaction forces · Equation of motion
1 Introduction
Dynamic simulation of multibody systems has an association with deriving of the equation
of motion and numerical solving them. For multibody systems with closed loop, the redun-
dant coordinates, with performing, e.g., Lagrange multipliers are frequently used and this
results in the index-3 systems of differential-algebraic equations (DAEs). The simulation
of constrained multibody systems has been investigated by many authors including [1, 9,
D.V. Phong · N.Q. Hoang ()
Department of Applied Mechanics, Hanoi University of Science and Technology, No. 1 Dai Co Viet
Road, Hanoi, Vietnam
e-mail: hoangnq-dam@mail.hut.edu.vn
D.V. Phong
e-mail: phong@mail.hut.edu.vn
488 D.V. Phong, N.Q. Hoang
11–14, 19–26, 31, 32]. Besides using the reliable numerical methods, some related prob-
lems have been to taken into account for smooth and continuous simulation. Methods such
as Lagrange multiplier partition, constraint violation stabilization method and coordinate
partitioning method have been normally used due to their simplicity [7, 8, 20, 21, 26]. The
method of velocity transformations is also applied [33]. However, these methods require the
Jacobian matrix of constraint equations having a full rank, it means the system is outside of
singular configurations.
In recent years, the problems of overcoming the singular configuration have been inves-
tigated by several authors. The augmented Lagrangian formulation within the context of
singular positions has been used by some authors as in [4–6]. This method is stable and
accurate, but the method parameters are not easy to choose. Moreover, with representing
these parameters, the dynamics of the systems is described approximately only. The vector
of generalized acceleration and Lagrangian multipliers at each time point are determined by
iterative algorithms.
Besides the smoothness over the singular configuration, the stability of the simulation
algorithm is also important issue. The stable property requires that the constraints in position
and velocity are not broken down. For this problem, the stabilization method introduced by
Baumgarte [3] is one of the most popular methods and this has been applied successful by
several authors [16]. However, the choice of the method parameters is not straightforward
and they are normally determined by expertise.
The methods of coordinate and velocity projection are a post-stabilized techniques, in
which the solution obtained after one or several integration steps will be projected onto the
manifold determined by constrained equations and its derivatives. This technique has been
investigated and applied successfully for closed loop multibody systems [5]. Nevertheless,
the integration and projection are two separate processes; they are not simultaneously per-
formed. The comprehensive review of the theoretical foundations used for the enforcement
of constraints in multibody systems can be found in [2].
In this paper, the null space technique is applied to overcome the singular configura-
tion of the system. Firstly, the system of equations of motion with Lagrange multipliers
are rewritten by introducing the generalized reaction forces and the null space of Jacobian
matrix of the constrains are used to close the presenting equations. The advantage of this
new kind of equations of motion is that it enables algorithms dealing with the singular con-
figuration to make the simulation process be continuous. Also, the coordinate and velocity
projection technique is applied to guarantee that the constraints are not broken down due to
the accumulated errors during the integration process.
2 Equations of motion of constrained mechanical systems
For a mechanical system, the differential equations describe the dynamics of the system and
the algebraic equations describe the constraints in the system. Let us consider a system of
n degree of freedom that is described by m redundant coordinates. Note that in comparison
with the system with the minimal number of generalized coordinates the system with redun-
dant generalized coordinates leads to the easier algorithm for deriving equations of motion
and also is more convenient for simulation on computer.
Let q = [q
1
, q
2
, . . . , q
m
]
T
, m > n be the vector of generalized coordinates. The derivation
of equations of motion for this system belongs to standard multibody codes, well described
in the literature (see, e.g., [15, 20, 26]). With Lagrange multipliers, the system of equations
Singularity-free simulation of closed loop multibody systems 489
of motion is in the following form [27, 32]:
d
dt
_
∂T
∂ ˙ q
_
T

_
∂T
∂q
_
T
=Q−G
T
q
(q)λ −
_
∂Π
∂q
_
T
(2.1)
where T =
1
2
˙ q
T
M(q) ˙ q is the kinetic energy, M(q) is the mass matrix with a size of m×m;
Π = Π(q) is the potential energy; vector Q denotes the generalized forces of control and
nonpotential forces; vector λ = [λ
1
λ
2
. . . λ
r
]
T
with size of r ×1, r = m −n, contains La-
grange multipliers; Vector function g(q) = 0, g = [g
1
g
2
. . . g
r
]
T
, contains m−n constraint
equations of redundant coordinates; and G
q
(q) = ∂g/∂q with size of r ×m is the Jacobian
matrix.
It is well known that (2.1) can be rewritten as
M(q) ¨ q +C(q, ˙ q) ˙ q +h(q) +G
T
q
(q)λ =Q, (2.2)
with
h(q) =
_
∂Π
∂q
_
T
, C(q, ˙ q) ˙ q =
˙
M(q) ˙ q −
_
∂T
∂q
_
T
.
Matrix C(q, ˙ q) is determined from the mass matrix M(q) according to Christoffel formula
as [18]
C(q, ˙ q) =
_
c
ij
(q, ˙ q)
_
, c
ij
(q, ˙ q) =
1
2
m

k=1
_
∂m
ij
∂q
k
+
∂m
ik
∂q
j

∂m
jk
∂q
i
_
˙ q
k
. (2.3)
Putting p
1
= Q−C(q, ˙ q) ˙ q −h(q), and taking into account the constraint equations one
gets the differential algebraic equations describing the system as
M(q) ¨ q +G
T
q
(q)λ =p
1
(u, q, ˙ q), (2.4)
g(q) = 0. (2.5)
In order to solving the system (2.4), (2.5), the consistent initial conditions are necessary, it
mean the initial conditions are required to satisfy
g(q
o
) = 0, (2.6)
G(q
o
) ˙ q
o
= 0. (2.7)
The DAEs (2.4), (2.5) can be solved by numerical methods. Some techniques are required
such as Lagrange multipliers partition, constraint violation stabilization method, and coor-
dinate partitioning method, etc. Basically, for applying the numerical schemes for ordinary
differential equations (ODEs), one uses the second derivatives of the constraint equations.
2.1 Method of Lagrange multiplier partition
An important property of the DAEs for mechanical system is that the equations are lin-
ear to differential variables ¨ q and algebraic variables λ (Lagrange multipliers). This allows
separating two variables ¨ q and λ to get the ordinary differential equations for q. By differ-
entiating equation (2.5) with respect to time, one gets
G
q
(q) ¨ q = −
˙
G
q
(q) ˙ q −G
t q
˙ q −g
t t
, with
490 D.V. Phong, N.Q. Hoang
G
q
(q) =
∂g
∂q
, g
t
=
∂g
∂t
, g
t t
=

2
g
∂t
2
, G
t q
=
∂g
t
∂q
. (2.8)
Writing (2.4) and (2.8) together yields
M(q) ¨ q +G
T
q
λ =p
1
(u, q, ˙ q),
G
q
(q) ¨ q = −
˙
G
q
(q) ˙ q −G
t q
˙ q −g
t t
=: p
2
, with p
2
= −
˙
G
q
(q) ˙ q −G
t q
˙ q −g
t t
(2.9)
or in the matrix form
_
M(q) G
T
q
G
q
(q) 0
_
_
¨ q
λ
_
=
_
p
1
(u, q, ˙ q)
p
2
(q, ˙ q, t )
_
. (2.10)
Note that the method of Lagrange multipliers partition can be applied only in case the fol-
lowing matrix to be regular
A(q) =
_
M(q) G
T
q
G
q
(q) 0
_
.
In this case from (2.10), one gets
¨ q = ¨ q(u, q, ˙ q, t ), λ =λ(u, q, ˙ q, t ).
2.2 Coordinate partitioning method
Main idea of this method is to eliminate dependent coordinates and Lagrange multipliers, to
transform DAEs (2.4), (2.5) to ODEs. Firstly, the generalized coordinates q are divided into
two subgroups: independent coordinates q
i
and dependent coordinates q
d
, so the constraint
equations can be rewritten as
g(q) =g(q
i
, q
d
) = 0. (2.11)
From (2.11), the dependent coordinates q
d
can be solved by analytical or numerical methods
to get a function of independent coordinates q
d
=z(q
i
).
The constraint equations at velocity level are given by differentiating (2.5) with respect
to time
G
q
(q) ˙ q =G
q
d
(q) ˙ q
d
+G
q
i
(q) ˙ q
i
= 0, (2.12)
where G
q
d
(q) is a square matrix of size r ×r, and G
q
i
(q) is a matrix of size r ×n. Assuming
that matrix G
q
d
(q) to be nonsingular, det G
q
d
(q) = 0. Solving (2.12) for ˙ q
d
yields
˙ q
d
= −
_
G
q
d
(q)
_
−1
G
q
i
(q) ˙ q
i
. (2.13)
Putting a homogeneous presenting
˙ q
i
=E˙ q
i
, with identity matrix E of size n, (2.14)
so (2.13) and (2.14) can be combined together as following:
˙ q =
_
˙ q
i
˙ q
d
_
=
_
E
−[G
q
d
(q)]
−1
G
q
i
(q)
_
˙ q
i
. (2.15)
Singularity-free simulation of closed loop multibody systems 491
Let define the matrix
D(q) =
_
E
−[G
q
d
(q)]
−1
G
q
i
(q)
_
. (2.16)
It is clear that it describes the relationship between derivatives of generalized coordinates
and independent generalized velocity. Now (2.15) is rewritten in a compact form as
˙ q =D(q) ˙ q
i
. (2.17)
Substituting (2.17) into (2.12) yields
G
q
(q) ˙ q =G
q
(q)D(q) ˙ q
i
= 0. (2.18)
Because the elements of vector ˙ q
i
are independent so we can conclude that
G
q
(q)D(q) = 0 or D
T
(q)G
T
q
(q) = 0. (2.19)
Left multiplying both sides of (2.4) by matrix D
T
(q) yields
D
T
(q)M(q) ¨ q +D
T
(q)G
T
q
(q)λ =D
T
(q)p
1
. (2.20)
Considering the formula (2.19), so (2.20) becomes
D
T
(q)M(q) ¨ q =D
T
(q)p
1
. (2.21)
Differentiating (2.17) with respect to time one gets
˙ q =D(q) ˙ q
i
⇒ ¨ q =D(q) ¨ q
i
+
˙
D(q) ˙ q
i
(2.22)
and substituting (2.22) into (2.21) yields
D
T
(q)M(q)
_
D(q) ¨ q
i
+
˙
D(q) ˙ q
i
_
=D
T
(q)p
1
(2.23)
or
D
T
(q)M(q)D(q) ¨ q
i
=D
T
(q)p
1
−D
T
(q)M(q)
˙
D(q) ˙ q
i
. (2.24)
Equation (2.24) is the differential equation of motion for a closed loop mechanical systems
described by independent generalized coordinates. Surely, the system (2.24) is only a ODE’s
system and by solving one obtains
¨ q
i
=
_
D
T
MD
_
−1
_
D
T
p
1
−D
T
M
˙
D˙ q
i
_
=ϕ(u, q
i
, ˙ q
i
, t ). (2.25)
3 Singularity-free with null space of Jacobian matrix
Two above mentioned methods can be used only in the cases that the Jacobian matrix G
q
(q)
is nonsingular. It means the matrix G
q
(q) must have a full rank, i.e., rank[G
q
(q)] = r, where
r is the number of constraints. However, the simulation can collapse, as well known, at
some so-called singular configurations if the Jacobian matrix reduces its rank that is at these
positions rank[G
q
(q)] < r, where and when that occurs, depends on the system structure
492 D.V. Phong, N.Q. Hoang
and its parameters. In order to assure the continuous and smooth simulation we need to find
a solution to deal with this singularity.
For this purpose, the technique using null space of Jacobian matrix of constraints will
be presented in this section. At first, let us define so-called generalized reaction forces of
constraints. In case under consideration this is m dimensions vector r = G
T
q
(q)λ and it is
the generalized force vector of reaction forces appearing at the cutting joints [23]. So, (2.4)
describing the behavior of the system becomes
M(q) ¨ q +r = p
1
(u, q, ˙ q, t ),
g(q, t ) = 0.
(3.1)
In this system of equations, the unknowns are q and r, hence their total number is 2m. It is
clear that we have in (3.1) only 2m−n equations. In order to close the system of equations
of motion, the ideality of the constraints will be taken into account. According to principle
of virtual work, one can write
δA = δq
T
· r = 0 ⇒ δq
T
· G
T
q
(q)λ = 0. (3.2)
Dividing the generalized coordinates by two groups: independent set q
i
with n elements and
dependent set q
d
with r elements
q =
_
q
T
i
, q
T
d
_
T
so δq =
_
δq
T
i
, δq
T
d
_
T
.
These virtual displacements have to satisfy the following equation:
G
q
(q) · δq = 0 ⇒ G
q
i
(q) · δq
i
+G
q
d
(q) · δq
d
= 0. (3.3)
At the regular configurations, det G
q
d
(q) = 0, and from (3.3) one gets
δq
d
= −G
−1
q
d
(q) · G
q
i
(q) · δq
i
. (3.4)
Putting (3.4) into (3.2) yields
δA = δq
T
· r = 0 ⇒
δq
T
· r =
__
E, −G
−1
q
d
(q) · G
q
i
(q)
_
· δq
i
_
T
· r
= δq
T
i
_
E, −
_
G
−1
q
d
(q) · G
q
i
(q)
_
T
_
· r = 0.
With the m×n matrix D defined by (2.16), i.e.,
D =
_
E, −
_
G
−1
q
d
(q) · G
q
i
(q)
_
T
_
T
(E is identity matrix with size of n × n), the virtual work of generalized reaction forces is
rewritten as
δA = δq
T
· r = δq
T
i
· D
T
· r = 0. (3.5)
Since the elements of vector δq
i
are independent, so the virtual work vanishes only if fol-
lowing condition is satisfied
D
T
r = 0. (3.6)
Singularity-free simulation of closed loop multibody systems 493
This matrix condition with n equations will be added to (3.1) to close the systemof equations
of motion. Thus, after combination two matrix equations (3.1) and (3.6), one gets a complete
system of 2m equations with 2m unknowns (q and r). Matrix equation (3.6) which relates
the generalized reaction force r and the matrix D, presents a nice criterion for the condition
of ideality of constraints. It is worth to note that the ideality of the constraints is commonly
supposed. Hence, by dropping (3.6), we will pass to other class of mechanical systems with
nonideal constraints. That is the sense of using generalized reaction force [23].
Note that matrix D is the null space of the Jacobian matrix G
q
(q), i.e. G
q
(q)D = 0. This
can be proved as follows:
G
q
(q)D =
_
G
q
i
(q), G
q
d
(q)
_
_
E
−G
−1
q
d
(q)G
q
i
(q)
_
= G
q
i
(q) −G
q
d
(q)G
−1
q
i
(q)G
q
i
(q) = 0.
By combining (3.1) and (3.6), the DAEs of the closed loop mechanical systems can be
written as
M(q) ¨ q +r = p
1
(u, q, ˙ q, t ),
g(q, t ) = 0,
D
T
r = 0
(3.7)
with p
1
(u, q, ˙ q, t ) =Q−C(q, ˙ q) ˙ q −h(q) and G
q
(q)D = 0.
Keep in mind that in the system (3.7) the constraint equation g(q, t ) = 0 is represented
in the original form at position level. So, if we dispose of reliable numerical integration
methods for the index-3 DAE’s system, direct integration can be performed. However, the
common effective way for solving the system is using the numerical schemes for ODEs. For
this purpose, the constraint equations are rewritten in acceleration level; it means that we
differentiate g(q, t ) = 0 two times and get the constraint equations as the following:
G
q
(q) ¨ q = −
˙
G
q
(q) ˙ q −G
t q
˙ q −g
t t
=p
2
(q, ˙ q, t ).
So, (3.7) becomes
M(q) ¨ q +r = p
1
(u, q, ˙ q, t ),
G
q
(q) ¨ q = p
2
(q, ˙ q, t ),
D
T
· r = 0
(3.8)
or in the matrix form
_
_
M(q) E
G
q
(q) 0
0 D
T
_
_
_
¨ q
r
_
=
_
_
p
1
(u, q, ˙ q, t )
p
2
(q, ˙ q, t )
0
_
_
. (3.9)
Putting
B(q) =
_
_
_
M(q) E
G
q
(q) 0
0 D
T
_
¸
_
, y =
_
¨ q
r
_
, f(u, q, ˙ q, t ) =
_
_
_
p
1
(u, q, ˙ q, t )
p
2
(q, ˙ q, t )
0
_
¸
_
494 D.V. Phong, N.Q. Hoang
one can write the system of equations of motion in a compact form as
B(q)y =f(u, q, ˙ q, t ). (3.10)
The matrix equations (3.10) describe the dynamics of the same constrained mechanical sys-
tems as (2.10), however, note the difference about them. Number of equations in (2.10) is
2m−n, i.e., the size of the matrix A(q) is (2m−n) ×(2m−n), and it has full rank only at
regular positions, at the singular configurations the rank of this matrix is less than 2m−n.
The matrix equations (3.9) or (3.10) have (2m+s) lines, i.e., the size of the matrix B(q)
is (2m+s) ×2m, with s = r −rank[G
q
(q)]. In the case the Jacobian matrix has a full rank,
rank[G
q
(q)] = r, then s is equal to zero. According to the theorem of rank plus nullity, it is
always hold for rank[G
q
(q)] +rank[D] = m [17]. Hence, the matrix B(q) always has a full
rank, i.e., rank[B(q)] = 2m and the solution of (3.10) with 2m unknowns can be founded by
y =
_
B
T
(q)B(q)
_
−1
B
T
(q)f(u, q, ˙ q, t ). (3.11)
Therefore, the vector of generalized acceleration ¨ q is always determined directly from (3.11)
and the solution is independent of the fact that the system is at regular configurations or not.
This is a remarkable advantage of the equations of motion in form (3.9) in comparison
with (2.10). Thus, by writing the equations of motion with the generalized reaction forces
the numerical simulation for constrained systems is continuous over the singular configura-
tions.
Further, in this case of ideal constraints the reaction forces are coupled with the null
space of Jacobian matrix by (3.6) and we can remove the vector r and get the reduced form
of system equations of motion [2]. Really, premultiplying the first equation of (3.8) by D
T
and using third equation of (3.8) one gets easily the system
D
T
M(q) ¨ q = D
T
p
1
(u, q, ˙ q, t ),
G
q
(q) ¨ q = p
2
(q, ˙ q, t ).
Again the total number of equations of the system is m, since rank[G
q
] +rank[D
T
M] = m
for all positions: regular and singular.
One of key points of the proposed algorithm is the construction of the matrix D. In case
under consideration with the assumption of ideal constraints, this matrix can be determined
by analytical or numerical methods. At the regular configurations of the system, the matrix
D is defined either directly by (2.16) or computed by numerical methods. At the singu-
lar configurations, the rank of Jacobian matrix G
q
(q) decreases, the formula (2.16) cannot
be used and, in general, numerical methods should be applied for finding matrix D from
G
q
D = 0 [7, 23, 24]. In this case, the numerical methods as transformation to row echelon
form or method of SVD can be used.
It is worth to note that in the proposed approach with the null space matrix D, it is not
necessary to find out the singular position for smooth simulation. However, it is possible by
using the rank of matrix G
q
or D to check these positions. Surely, it is not easy task and is
time consuming. The most reliable numerical method is using SVD technique to check the
number of singular values of these matrices.
Also, if we use the system equation (3.9) with derivatives form on constraints the drift
phenomenon can occur during simulation process and some stabilization methods should be
used. The most popular method is Baumgarte methods. However, reader can combine the
proposed method with many other procedures; see [3, 10, 16, 28–30, 34]. Note that in some
procedures the null space matrix is used [28–30]. In illustrated examples in this paper, the
method of position and velocity projection is exploited.
Singularity-free simulation of closed loop multibody systems 495
Fig. 1 (a) The slider-crank mechanism. (b) Singular configurations
4 Numerical experiments
In this section, some numerical simulations for closed loop multibody systems are imple-
mented to illustrate the proposed approach. Two systems considered here are a slider-crank
mechanism and two four-bar mechanism. The length of linkages is chosen so that there are
singularities in their configurations.
Example 1 We solve the simulation problem of a slider-crank mechanism moving in the
vertical plane (Fig. 1a). The mechanism consists of crank having a length OA = L
1
; con-
nection rod AB = L
2
= L
1
, and a slide B. The centers of mass are located at the middle
of each member, with OC
1
= L
1
/2, e
2
= AC
2
= L
2
/2; masses and inertia moment respect
to axis through the centers of mass are givens as m
1
= 1, m
2
= 1, m
3
= 0.5 kg, J
C1
= 0.1,
J
C2
= 0.1 kgm
2
, and L
2
= L
1
= 0.5 m.
The system has only one degree-of-freedom and the generalized coordinates are defined
as
q = [q
1
, q
2
, q
3
]
T
, so m = 3, n = 1.
The equation of motion of the mechanism in form of (3.7) is given by matrices and vector
as the following:
M(q) =
_
_
_
m
1
e
2
1
+J
C1
+m
2
L
2
1
, −m
2
L
1
e
2
cos(q
1
+q
2
) 0
−m
2
L
1
e
2
cos(q
1
+q
2
) m
2
e
2
2
+J
C2
0
0 0 m
3
_
¸
_
,
C(q, ˙ q) =
_
_
_
0 m
2
L
1
e
2
˙ q
2
sin(q
1
+q
2
) 0
m
2
L
1
e
2
˙ q
1
sin(q
1
+q
2
) 0 0
0 0 0
_
¸
_
,
h(q) = [g(m
1
e
1
cos q
1
+m
2
L
1
cos q
1
), −m
2
ge
2
cos q
2
, 0]
T
.
The constraint equations are given in the form:
g
1
(q) = L
1
cos q
1
+L
2
cos q
2
−q
3
= 0,
g
2
(q) = L
1
sinq
1
−L
2
sinq
2
= 0
496 D.V. Phong, N.Q. Hoang
Fig. 2 Simulation results without driving moment
and the Jacobian matrix is
G
q
(q) =
_
−L
1
sinq
1
−L
2
sinq
2
−1
L
1
cos q
1
−L
2
cos q
2
0
_
,
Because of L
2
= L
1
= L, so we have q
2
= q
1
. At the regular configurations, null space of
the Jacobian matrix G
q
(q) is determined as
D = [ 1 1 −2Lsinq
1
]
T
.
The rank of the matrix [G
T
q
, D]
T
at the regular configurations is therefore 3. Although it is
not necessary to know exactly the singular positions, for illustrating the proposed method
we can provide the analysis how simulation process passes through these positions. At the
singular configurations, corresponding to q
2
= q
1
= ±
1
2
(2k + 1)π, k = 0, 1, 2, . . . , rank of
the Jacobian matrix G
q
(q) is reduced, i.e.,
G
q
(q) =
_
±L ±L −1
0 0 0
_
, rank(G
q
) = 1 < 2.
At these singular configurations, the null space of the Jacobian matrix can be written as fol-
lows:
G
q
=
_
−L −L −1
0 0 0
_
⇒ D =
_
_
0 1
1 0
−L −L
_
_
, rank(D) = 2,
Singularity-free simulation of closed loop multibody systems 497
Fig. 3 Simulation results in 8 seconds with driving moment
G
q
=
_
L L −1
0 0 0
_
⇒ D =
_
_
−1 1/L
1 0
0 1
_
_
, rank(D) = 2.
So, the dimension of the null space at this configuration has been increased to 2, and we
have always rank(D) +rank(G
q
) = 3.
In this example, two simulations are carried out with consistent initial conditions
q(0) = [0.785398 0.785398 0.707107]
T
, ˙ q(0) = [0, 0, 0]
T
.
498 D.V. Phong, N.Q. Hoang
Fig. 4 Simulation results in 20 seconds with driving moment
In the first simulation, there is not applied moment on the crank; the mechanism is forced
to move by only gravity. While in the second case, the mechanism is moved under acting
of moment u
1
= 10 − 2˙ q
1
on the crank OA. The numerical simulation is performed by the
Runge–Kutta rule with fixed step time equal to 0.01 s. The scheme for constraint stabiliza-
tion is the method of position and velocity projection. The simulation results are shown in
the Figs. 2, 3, and 4.
Simulation results of the first case are shown in the Fig. 2. In this case, the system is
conservative. The results show that time history of the generalized coordinates change re-
peatedly. The mechanism moves smoothly through the singular configurations and the errors
of the constraint equations hold very small about 10
−14
m.
Figures 3 and 4 show the simulation results of the second case. Since there is an applied
moment on the driving link, the crank OA increases respectively to time. The mechanism
moves also smoothly through the singular configurations and the errors of the constraint
equations hold very small about 10
−13
m. These small errors are also maintained when the
integration time is set longer, Fig. 4. This confirms the stability of the integration process
with the projection techniques.
Singularity-free simulation of closed loop multibody systems 499
Fig. 5 (a) Double four-bar mechanism. (b) Singular configurations of double four-bar mechanism
The comparison of two alternative forms: with and without the reaction force vector r
was also provided. The results show that these two forms have practically the same effect.
The reduced form seems to be simpler since it consists of fewer equations; however, if the
reaction force r is required in direct way it is better to use the original form. The most
important for simulation is the using of null space matrix with combination with a good
integration scheme and stabilization method.
Example 2 Figure 5a shows the considered mechanism of a one degree-of-freedom as-
sembly of two four-bar linkages in the vertical plane. The lengths of links of the mech-
anism are chosen such that OABO
1
and O
1
BCO
2
are parallelograms. Here, we choose
L
1
= L
3
= L
5
= r, L
01
= L
2
= L
02
= L
4
= L. The system has only one degree-of- free-
dom and the generalized coordinates are defined as
q = [q
1
, q
2
, q
3
, q
4
, q
5
]
T
, so m = 5, n = 1.
The equation of motion of the mechanism in form of (3.7) is given by matrices and vector
as the following:
• The elements of mass matrix M(q) are given as
m
11
= m
1
e
2
1
+J
C1
+m
2
L
2
1
, m
12
= m
21
= m
2
L
1
e
2
cos(q
1
+q
2
),
m
33
= m
3
e
2
3
+J
C3
+m
4
L
2
3
, m
34
= m
43
= m
4
L
3
e
4
cos(q
3
−q
4
),
m
44
= m
4
e
2
4
+J
C4
, m
55
= m
5
e
2
5
+J
C5
and the others m
ij
= 0.
• Matrix C(q, ˙ q) are given with nonzero elements
c
12
= m
2
L
1
e
2
sin(q
1
−q
2
) ˙ q
2
, c
21
= −m
2
L
1
e
2
sin(q
1
−q
2
) ˙ q
1
,
c
34
= m
4
L
3
e
4
sin(q
3
−q
4
) ˙ q
4
, c
43
= −m
4
L
3
e
4
sin(q
3
−q
4
) ˙ q
3
and the other elements are equal to zero, c
ij
= 0.
• The vector of generalized force due to gravity is defined as
h(q) =
_
_
_
_
_
_
g(m
1
e
1
cos q
1
+m
2
L
1
cos q
1
)
m
2
e
2
g cos q
2
g(m
3
e
3
cos q
3
+m
4
L
3
cos q
3
)
m
4
e
4
g cos q
4
m
5
e
5
g cos q
5
_
¸
¸
¸
¸
_
.
500 D.V. Phong, N.Q. Hoang
The constraint equations are given for two closed loops as
g
1
= L
1
cos q
1
+L
2
cos q
2
−L
3
cos q
3
−L
01
= 0,
g
2
= L
1
sinq
1
+L
2
sinq
2
−L
3
sinq
3
= 0,
g
3
= L
3
cos q
3
+L
4
cos q
4
−L
5
cos q
5
−L
02
= 0,
g
4
= L
3
sinq
3
+L
4
sinq
4
−L
5
sinq
5
= 0.
The Jacobian matrix is given as
G
q
(q) =
_
_
_
_
_
−L
1
sinq
1
−L
2
sinq
2
L
3
sinq
3
0 0
L
1
cos q
1
L
2
cos q
2
−L
3
cos q
3
0 0
0 0 −L
3
sinq
3
−L
4
sinq
4
L
5
sinq
5
0 0 L
3
cos q
3
L
4
cos q
4
−L
5
cos q
5
_
¸
¸
¸
_
.
In case of L
1
= L
3
= L
5
= r, L
01
= L
2
; L
02
= L
4
, we have
G
q
(q) =
_
_
_
_
_
−r sinq
1
−L
2
sinq
2
r sinq
3
0 0
r cos q
1
L
2
cos q
2
−r cos q
3
0 0
0 0 −r sinq
3
−L
4
sinq
4
r sinq
5
0 0 r cos q
3
L
4
cos q
4
−r cos q
5
_
¸
¸
¸
_
.
With the chosen length of linkages, the mechanism has singular configurations at q
1
=
±kπ, k = 0, 1, 2, . . . . At regular positions q
1
= ±kπ, k = 0, 1, 2, . . . , the Jacobian matrix
G
q
(q) has a full rank, equal to 4. And the null space in this case is
D = [1 0 1 0 1]
T
.
And the rank of the matrix [G
T
q
, D]
T
is 5. Again for illustration, we can check the situation
at singular configurations. At positions q
1
= ±kπ, k = 0, 1, 2, . . . q
5
= q
3
= q
1
, q
4
= q
2
=
±kπ, rank of G
q
(q) reduces and is equal to two
G
q
=
_
_
_
_
0 0 0 0 0
±r L
2
∓r 0 0
0 0 0 0 0
0 0 ±r L
4
∓r
_
¸
¸
_
, rank(G
q
) = 2 < 4.
At these singular configurations, the null space of the Jacobian matrix can be written as
follows:
G
q
=
_
_
_
_
0 0 0 0 0
r L
2
−r 0 0
0 0 0 0 0
0 0 r L
4
−r
_
¸
¸
_
⇒ D =
_
_
_
_
_
_
−L
2
/r −L
4
/r 1
1 0 0
0 −L
4
/r 1
0 1 0
0 0 1
_
¸
¸
¸
¸
_
, rank(D) = 3,
G
q
=
_
_
_
_
0 0 0 0 0
−r L
2
r 0 0
0 0 0 0 0
0 0 −r L
4
r
_
¸
¸
_
⇒ D =
_
_
_
_
_
_
1 0 0
0 1 0
1 −L
2
/r 0
0 0 1
1 −L
2
/r −L
4
/r
_
¸
¸
¸
¸
_
, rank(D) = 3.
Singularity-free simulation of closed loop multibody systems 501
Fig. 6 Simulation results
So, the rank of the null space at these configurations has been increased to 3, and we have
always rank(D) +rank(G
q
) = 5.
Following are the system parameters used in simulations:
L
1
= r; L
3
= r; L
5
= r; L
4
= L; L
2
= L; L
01
= L
2
; L
02
= L
4
;
e
1
= L
1
/2; e
2
= L
2
/2; e
3
= L
3
/2; e
4
= L
4
/2; e
5
= L
5
/2;
r = 0.4; L = 0.7 m;
m
1
= 1; m
2
= 1; m
3
= 1; m
4
= 1; m
5
= 1 kg;
J
C1
= 0.1; J
C2
= 0.1; J
C3
= 0.1; J
C4
= 0.1; J
C5
= 0.1 kgm
2
.
502 D.V. Phong, N.Q. Hoang
In this example, a simulation is performed with initial conditions of driving link of q
1
(0) =
80

, ˙ q
1
(0) = 0. Solving constraint equations, one obtains the consistent initial conditions as
follows:
q(0) = [1.3963 0.0000 1.3963 −0.0000 1.3963]
T
, ˙ q(0) = [0, 0, 0, 0, 0]
T
.
In this example, there is not driven moment acting on the mechanism. The integration
step is chosen as constant with t = 0.01 s and the Runge–Kutta rule is used in the simula-
tion.
The simulation is performed in time interval of 8 s. The results obtained are displayed in
Fig. 6. The left column plot shows the time history of the coordinates q
1
, q
3
, q
5
from top to
bottom. The right column shows the q
2
, errors of constraint equations, and the mechanism
configurations of in the first second respectively. During the simulation, the mechanism goes
through the singular positions (q
1
= ±kπ) 6 times with no difficulty and without locking
the simulation. The results show that there are no differences between of the time history of
the coordinates q
1
, q
3
, q
5
.
It is worth to make a remark that in our examples the problems can be solved with the in-
dependent generalized coordinates; however, the described technique with redundant gener-
alized coordinates is very general and can be applied to any multibody system in comparison
with the concept of minimal number of generalized coordinates.
5 Conclusion
In this paper, a new form of equation of motion for constrained systems is presented by
introducing the generalized reaction forces. The null space of Jacobian matrix is exploited
to close the set of equations for the system. The most important advantage of this new form
is that the numerical simulation can be performed smoothly through the singular configura-
tions. The post-adjusting technique is also applied to guarantee the constraints in the system
from breakdown as well. Numerical experiments have been shown to verify the efficiencies
of the proposed approach.
References
1. Amirouche, F.M.L., Tung, C.-W.: Regularization and stability of the constraints in the dynamics of multi-
body systems. Nonlinear Dyn. 1(6), 459–475 (1990)
2. Bauchau, O.A., Laulusa, A.: Review of contemporary approaches for constraint enforcement in multi-
body system. J. Comput. Nonlinear Dyn. 3, 011005 (2008)
3. Baumgarte, J.: Stabilization of constraints and integrals of motion in dynamical systems. Comput. Meth-
ods Appl. Mech. Eng. 1, 1–16 (1972)
4. Bayo, E., Avello, A.: Singularity-free augmented Lagrangian algorithms for constrained multibody dy-
namics. Nonlinear Dyn. 5, 209–231 (1994)
5. Bayo, E., Ledesma, R.: Augmented Lagrangian and mass-orthogonal projection methods for constrained
multibody dynamics. Nonlinear Dyn. 9, 113–130 (1996)
6. Bayo, E., Jalon, J.G., Serna, M.A.: A modified Lagrangian formulation for the dynamic analysis of
constrained mechanical systems. Comput. Methods Appl. Mech. Eng. 71, 183–195 (1988)
7. Blajer, W., Schiehlen, W., Schirm, W.: A projective criterion to the coordinate partitioning method for
multibody dynamics. Arch. Appl. Mech. 64, 215–222 (1994)
8. Blajer, W.: Elimination of constraint violation and accuracy aspects in numerical simulation of multibody
systems. Multibody Syst. Dyn. 7, 265–284 (2002)
Singularity-free simulation of closed loop multibody systems 503
9. Braun, D.J., Goldfarb, M.: Eliminating constraint drift in the numerical simulation of constrained dy-
namical systems. Comput. Methods Appl. Mech. Eng. 198(37–40), 3151–3160 (2009)
10. Eich, E.: Convergence results for a coordinate projection method applied to mechanical systems with
algebraic constraints. SIAM J. Numer. Anal. 30, 1467–1482 (1993)
11. Ider, S.K., Amirouche, F.M.L.: Coordinate reduction in constrained spatial dynamic systems—a new
approach. J. Appl. Mech. 55, 899–905 (1988)
12. Ider, S.K., Amirouche, F.M.L.: Numerical stability of the constraints near singular positions in the dy-
namics of multibody systems. Comput. Struct. 33, 129–137 (1989)
13. Jalon, J.G., Bayo, E.: Kinematic and Dynamic Simulation of Multibody Systems—The Real-Time Chal-
lenge. Springer, New York (1994)
14. Kamman, J.W., Huston, R.L.: Dynamics of constrained multibody systems. J. Appl. Mech. 51, 899
(1984)
15. Kane, T.R., Levinson, D.A.: Dynamics: Theory and Applications. McGraw-Hill, New York (1985)
16. Lin, S.T., Huang, J.N.: Stabilization of Baumgarte’s method using the Runge–Kutta approach. J. Mech.
Des. 124(4), 633 (2002)
17. Meyer, C.D.: Matrix Analysis and Applied Linear Algebra. SIAM, Philadelphia (2001)
18. Murray, R.M., Li, Z., Sastry, S.S.: A Mathematical Introduction to Robotic Manipulation. CRC Press,
Boca Raton (1994)
19. Nikravesh, P.E.: Some methods for dynamic analysis of constrained mechanical systems: a survey. In:
Haug, E.J. (ed.) Computer-Aided Analysis and Optimization of Mechanical System Dynamics, pp. 351–
368. Springer, Berlin (1984)
20. Nikravesh, P.E.: Computer-Aided Analysis of Mechanical Systems. Prentice Hall, Englewood Cliffs
(1988)
21. Orden, J.C.G., Ortega, R.A.: A conservative augmented Lagrangian algorithm for the dynamics of con-
strained mechanical systems. In: The Third European Conference on Computational Mechanics (2006)
22. Petzold, L.R., Ren, Y., Maly, T.: Regularization of higher-index differential-algebraic equations with
rank-deficient constraints. SIAM J. Sci. Comput. 18, 753–774 (1997)
23. Phong, D.V.: Principle of compatibility and criteria of ideality in study of constrained mechanical sys-
tems. Stroj. ˇ cas. 47(1), 2–11 (1996)
24. Phong, D.V.: An algorithm for deriving equations of motion of constrained mechanical system. J. Mech.,
NCNST Vietnam 21(1), 36–44 (1999)
25. Schiehlen, W. (ed.): Multibody System Handbook. Springer, Heidelberg (1990)
26. Schiehlen, W.: Multibody system dynamics: roots and perspectives. Multibody Syst. Dyn. 1, 149–188
(1997)
27. Shabana, A.A.: Dynamics of Multibody Systems, 2nd edn. Cambridge University Press, Cambridge
(1998)
28. Terze, Z., Lefeber, D., Muftic, O.: Null space integration method for constrained multibody system
simulation with no constraint violation. Multibody Syst. Dyn. 6, 229–243 (2001)
29. Terze, Z., Naudet, J.: Geometric properties of projective constraint violation stabilization method for
generally constrained multibody systems on manifolds. Multibody Syst. Dyn. 20, 85–106 (2008)
30. Terze, Z., Naudet, J.: Structure of optimized generalized coordinates partitioned vectors for holonomic
and non-holonomic systems. Multibody Syst. Dyn. 24, 203–218 (2010)
31. Tseng, F.C., Ma, Z.D., Hulbert, G.M.: Efficient numerical solution of constrained multibody dynamics
systems. Comput. Methods Appl. Mech. Eng. 192, 439–472 (2003)
32. Udwadia, F.E., Kalaba, R.E.: Analytical Dynamics: A New Approach. Cambridge University Press,
Cambridge (1996)
33. Wehage, R.A., Haug, E.J.: Generalized coordinate partitioning for dimension reduction in analysis of
constrained dynamic systems. J. Mech. Des. 104, 247–255 (1982)
34. Yoon, S., Howe, R.M., Greenwood, D.T.: Geometric elimination of constraint violations in numerical
simulation of Lagrangian equations. J. Mech. Des. 116, 1058–1064 (1994)