You are on page 1of 6

Mechanics Research Communications 38 (2011) 294–299

Contents lists available at ScienceDirect

Mechanics Research Communications


journal homepage: www.elsevier.com/locate/mechrescom

Kronecker product and a new matrix form of Lagrangian equations with


multipliers for constrained multibody systems
Nguyen Van Khang ∗
Department of Applied Mechanics, Hanoi University of Science and Technology, 1 Dai Co Viet Street, Hanoi, Viet Nam

a r t i c l e i n f o a b s t r a c t

Article history: The automatic derivation of motion equations is an important problem of multibody system dynamics.
Received 12 August 2010 Firstly, an overview of the matrix calculus related to Kronecker product of two matrices is presented.
Received in revised form 5 April 2011 A new matrix form of Lagrangian equations with multipliers for constrained multibody systems is then
developed to demonstrate the usefulness of Kronecker product of two matrices in the study of dynamics
Keywords: of multibody systems. Finally, the equations of motion of mechanisms are derived using the proposed
Partial derivative of matrix functions
matrix form of Lagrangian equations as application examples.
Kronecker product
© 2011 Elsevier Ltd. All rights reserved.
Symbolic approach
Lagrangian equations
Dynamics of mechanism

1. Introduction et al., 1997; Schlacher et al., 1998; Park et al., 1999; Fisette et al.,
2002; Lot and Da Lio, 2004). There are essentially carried out in a
During the past decades, the theory on dynamics of multi- fashion similar to hand derivation. Systems based on the symbolic
body systems has been developed to a high degree of maturity. approach may be either add-ons to general-purpose Computer
The specialized literature includes a number of books on the Algebra Software, such as MATHEMATICA and MAPLE, or stand-
subject (Schiehlen and Eberhard, 2004; Nikravesh, 1988; Haug, alone environments. The latter allow a multibody system to be
1989; Shabana, 2005; Wittenburg, 2008), where a broad vari- modeled and to derive the equations of motion, which in most cases
ety of formulations and computational methods are discussed. are converted into a C or FORTRAN source code for producing highly
Besides, a number of general-purpose computer software that specialized simulation programs. For instance NEWEUL software
is capable of simulating the motion of a very broad class of (Schiehlen, 1990; Kreuzer, 1994), which has been applied to per-
multibody systems has been developed. For example ADAMS form the analysis of vehicle dynamics, biomechanics and dynamics
(www.mscsoftware.com), an acronym for automatic dynamic of mechanisms, can generate the motion equations of the multi-
analysis of mechanical systems, is one of the general-purpose com- body systems in symbolic form using Newton–Euler formulation.
mercial multibody codes with capability of modeling a wide variety The equations of motion for a multibody system are obtained as
of complex multibody systems. SIMPACK (www.simpack.de) is a the end result of a sequence of mathematical operations. In general,
multibody simulation code based on recursive dynamics that is able the known methods to derive the equations of motion of multibody
to calculate the motion, to analyze vibration behavior and to cal- systems are Newton–Euler equations, Lagrange’s equations, Kane’s
culate forces and moments of general mechanical systems. Most of equations, Boltzmann–Hammel equations, Gibbs–Appel equations,
them are based on numerical approaches for automatic generation etc. (Schiehlen and Eberhard, 2004; Nikravesh, 1988; Haug, 1989;
and integration of the equations of motion. Shabana, 2005; Wittenburg, 2008; Schiehlen, 1990; Abdellatif and
The alternative approach is to automatically derive the equa- Heimann, 2009). Recently, a family of Lie group time integrators
tions of motion of multibody systems in symbolic form using has been used for the simulation of multibody systems (Bruels
different techniques (Kreuzer, 1994; Howard and Tashjian, 1968; and Cardona, 2010). Among these methods, the approach using
Hale and Meirovitch, 1978; Cheng et al., 1988; Ju and Mansour, Lagrange’s equations with multipliers has become an attractive
1989; Sayers, 1991; Lieh and Haque, 1991; Korayem et al., 1994; method to derive the equations of motion of closed-loop multi-
Lieh, 1994; Cui et al., 1995; Cui and Haque, 1997; Kecskemethy body systems. This approach provides a well analytical and orderly
structure that is very useful for control purposes. However, one
of the major drawbacks of the approach is that its implementa-
∗ Tel.: +84 4 38680469; fax: +84 4 38683280.
tion requires a large amount of symbolic calculation to find partial
E-mail address: nvankhang@mail.hut.edu.vn
derivatives and a large number of numerical computation to evalu-

0093-6413/$ – see front matter © 2011 Elsevier Ltd. All rights reserved.
doi:10.1016/j.mechrescom.2011.04.004
N. Van Khang / Mechanics Research Communications 38 (2011) 294–299 295

ate these derivatives. For this reason, the present paper will propose The Kronecker product of two matrices A(x) ∈ Rm×p and
a more convenient computer-oriented way based on Lagrange’s B(x) ∈ Rq×s , denoted by A ⊗ B, is a mq × ps matrix defined as (Zhang,
approach to automatically derive the equations of motion for con- 1999; Steeb, 1997; Brewer, 1978; Bernstein, 2009)
strained multibody systems. ⎡ ⎤
a11 B a12 B ... a1p B
In this study, the automatic derivation of motion equations with
⎢ ⎥
multipliers for constrained multibody systems using Kronecker ⎢ a21 B a22 B . . . a2p B ⎥

A⊗B=⎢ ⎥. (2)
product of two matrices is investigated. Firstly, the definition of the ⎥
partial derivative of matrix function with respect to a vector vari- ⎣ ... ... ... ... ⎦
able and the definition of the Kronecker product of two matrices am1 B am2 B ... amp B
are reviewed. The theorem for the time derivative of a matrix and
the theory for the partial derivative of product of two matrices with On the relationships between the time derivative of a matrix and
respect to a vector are then presented in Section 2. In Section 3, the its partial derivative with respect to a vector we have the following
theoretical results obtained in the first part are applied to estab- theorems:
lish a new matrix form of Lagrangian equations with multipliers
Theorem 1 (Van Khang, 2010). When matrix A = A(x) ∈ Rm×p is a
for constrained multibody systems. Finally, the motion equations
function of vector x ∈ Rn , and x(t) is a function of the time, we have
of two mechanisms are established using the new matrix form of
the following rule
Lagrangian equations with multipliers as application examples in
Section 4. dA(x) ∂A(x)
= (In ⊗ ẋ). (3)
dt ∂x
Theorem 2 (Van Khang, 2010). Let the matrices A ∈ Rm×p and
B ∈ Rp×s be functions of vector x ∈ Rn . Then the partial derivative
2. Partial derivative of a matrix with respect to a vector and
of the matrix product A(x)B(x) with respect to vector x is given by
Kronecker product: a review
∂ ∂A(x) ∂B
(A(x)B(x)) = (B(x) ⊗ In ) + A (4)
Let us review some basic concepts of matrix calculus for ∂x ∂x ∂x
understanding the proofs of the theorems presented in the follow- where In is the n × n identity matrix.
ing sections, which are useful to establish dynamic equations of
mechanical systems.
3. A matrix form of Lagrangian equations with multipliers
for constrained multibody systems
Definition 1. Partial derivative of a matrix with respect to a vector
(Van Khang, 2010). Whenever we formulate equations of motion using generalized
coordinates than the number of degrees of freedom, we must deal
Let matrix A = A(x) ∈ Rm×p be a function of vector x ∈ Rn , namely with constrained generalized coordinates. The key feature of such
formulations is the need to account for constraint forces in the
equations of motion.
⎡ ⎤ Let us consider a scleronomic multibody system containing p
a11 a12 ... a1p
... a2p ⎥  rigid-bodies with r holonomic constraints of the form
⎢ a21 a22
A=⎣
... ... ⎦
= a1 , a2 , ..., ap
... ... fj (q1 , q2 , ..., qm ) = 0, j = 1, 2, . . . , r, (5)
am1 am2 ... amp
and s linear nonholonomic constraints of the form

m
with aij = aij (x). hk (q1 , ..., qm , q̇1 , ..., q̇m ) = aki (q1 , ..., qm ) q̇i
The partial derivative of the matrix A(x) with respect to the
i=1
vector x is here defined as an m × pn matrix
+ bk (q1 , ..., qm ) = 0, k = 1, 2, . . . , s. (6)
⎡ ∂a1p

∂a11 ∂a12
··· Also, because the number m of generalized coordinates exceeds
⎢ ∂x ∂x ∂x ⎥
⎢ ⎥ the number n of degrees of freedom, there are m − n = r + s con-

⎢ ∂a21 ∂a22 ∂a2p ⎥
∂A ∂a1 ∂a2 ∂ap ⎢ ··· ⎥ straint conditions that must be explicitly satisfied. The equations
= ··· = ⎢ ∂x ∂x ∂x ⎥
∂x ∂x ∂x ∂x ⎢ ··· ··· ··· ··· ⎥ of motion for the constrained multibody systems using Lagrangian
⎢ ⎥ multipliers are then given by (Lurie, 2002; Hiller, 1983; Fabien,
⎣ ⎦
∂am1 ∂am2 ∂amp 2009; Doughty, 1988)
···
∂x ∂x ∂x   
r
s
d ∂T ∂T ∂ ∂j ∂ k
.(1) − + + j + k = Qi∗ ,
⎡ ∂a ∂a11 ∂a12 ∂a12 ∂a1p ∂a1p
⎤ dt ∂q̇i ∂qi ∂qi ∂qi ∂q̇i
11 j=1 k=1
... ... ... ...
⎢ ∂x1 ∂xn ∂x1 ∂xn ∂x1 ∂xn ⎥
⎢ ∂a ⎥ i = 1, . . . , m, (7)
⎢ 21 ... ∂a21 ∂a22 ∂a22 ∂a2p ∂a2p ⎥
⎢ ... ... ... ⎥
= ⎢ ∂x1 ∂xn ∂x1 ∂xn ∂x1 ∂xn ⎥ where T is kinetic energy; ˘ is the potential energy; ␭j and k are
⎢ ⎥ the Lagrangian multipliers; and Qi∗ is generalized forces of non-
⎢ ... ... ... ... ⎥
⎣ ⎦ conservative forces.
∂am1 ∂am1 ∂am2 ∂am2 ∂amp ∂amp
... ... ... ... Eqs. (7), (5), (6) can be written in following matrix form:
∂x1 ∂xn ∂x1 ∂xn ∂x1 ∂xn
T T
d ∂T ∂T
− + FTq ␭ + AT ␮ + g(q) = fQ , (8)
Definition 2. Kronecker product of two matrices dt ∂q̇ ∂q
296 N. Van Khang / Mechanics Research Communications 38 (2011) 294–299

where Substitution of Eqs. (13) and (14) into Eq. (9) yields
T  T
 T ∂ 1 T ∂M(q)
fQ = Q1∗ , . . . , Qm

, g(q) = , (9) M(q)q̈ + Ṁ(q)q̇ − q̇ (q̇ ⊗ In )
T
+ q ␭
∂q 2 ∂q
⎡ ⎤ ⎡ ⎤
∂f1 /∂q1 . . . ∂f1 /∂qm a11 . . . a1m + AT ␮ + g(q) = fQ . (18)
∂f ⎢ ⎥ ⎢ ⎥
Fq = =⎣ ... ... ... ⎦ , A = ⎣ . . . . . . . . . ⎦ . (10)
∂q
The Coriolis/Centripetal vector is defined by
∂fr /∂q1 . . . ∂fr /∂qm as1 . . . asm
 T
The kinetic energy T of the system can be expressed as (Schiehlen 1 T ∂M(q)
v(q, q̇) = Ṁ(q)q̇ − q̇ (q̇ ⊗ In ) . (19)
and Eberhard, 2004; Nikravesh, 1988; Haug, 1989; Shabana, 2005; 2 ∂q
Wittenburg, 2008; Schiehlen, 1990)
Note that according to (3)
∂M(q)  
1 T 1 T
T = q̇ M (q) q̇ = q̇ b(q, q̇), (11)
2 2 Ṁ(q) = In ⊗ q̇ . (20)
∂q
where q = [q1 , q2 , . . ., qm ]T
are the displacements and q̇ =
T Therefore, vector v(q, q̇) can be rewritten as
[q̇1 , q̇2 , ..., q̇m ] are the velocities of system, 
b(q, q̇) = M(q)q̇, and the m × m inertia matrix M(q) has the
 T 
∂M(q) 1 ∂M(q)
following form (Schiehlen and Eberhard, 2004; Nikravesh, 1988; v(q, q̇) = (In ⊗ q̇) − (q̇ ⊗ In ) q̇. (21)
∂q 2 ∂q
Haug, 1989; Shabana, 2005; Wittenburg, 2008; Schiehlen, 1990)


p
  By introducing the new notation
M (q) = mi JTT JTi + JTR Ii JRi = MT (q) ,
i i
(12)  T
∂M(q) 1 ∂M(q)
i=1 C(q, q̇) = (In ⊗ q̇) − (q̇ ⊗ In ) , (22)
∂q 2 ∂q
where JTi , JRi are the rotational and translational Jacobian matrices
of the body i, mi and Ii are the mass and the moment of inertia of the Lagrangian equations of multibody system, Eq. (8), can be
the body i. rewritten in the compact matrix form
To apply Eq. (8) we must calculate partial derivatives of the
M(q)q̈ + C(q, q̇)q̇ + FTq ␭ + AT ␮ + g(q) = fQ . (23)
kinetic energy T with respect to vectors q and q̇. Firstly, using Eq. (4)
the partial derivative of the kinetic energy T with respect to vector The matrix C(q, q̇) is called a Coriolis/Centripetal matrix. Based
q̇ is given as on the proposed formula for calculating the Coriolis/Centripetal
 T
 matrix, a program for dynamic analysis of robots and mechanisms
∂T 1 ∂ T 1 ∂q̇ T ∂b in MAPLE computer algebraic system has been developed at the
= (q̇ b) = (b ⊗ In ) + q̇ , (13)
∂q̇ 2 ∂q̇ 2 ∂q̇ ∂q̇ Hanoi University of Science and Technology.
The following remarks are accrued from Eqs. (22) and (23):
where
⎡ ⎤
b1 In - When the generalized mass matrix M(q) is known, the Corio-
⎢ ⎥ lis/Centripetal matrix C(q, q̇) can then be determined using the
∂q̇
T  ⎢ b2 In ⎥
(b ⊗ In ) = eT1 , eT2 , ..., eTn ⎢⎢ ··· ⎥
⎥ well-known Christoffel symbols which is not easy to implement
∂q̇
⎣ ⎦ and requires users to have specific programming skills to solve the
(14) problem. Conversely, the approach to derive matrix C(q, q̇) using
bn In
Eq. (22) and build-in functions of MAPLE is more convenient.
 - The automatic derivation of motion equations based on Eq. (23) is
= b1 eT1 In + b2 eT2 In + · · · + bn eTn In
therefore more straightforward in comparison with other meth-
 T T ods and algorithms, i.e. see Cheng et al. (1988) and Lot and Da Lio
= [b1 , b2 , ..., bn ] = bT = M(q)q̇ = q̇ M(q)
(2004).
and - Solutions of the minimum problem for constraints reaction forces
 
T ∂b T ∂
 T ∂M(q) ∂q̇
can then be found by studying characteristics of the generalized
q̇ = q̇ M(q)q̇ = q̇ (q̇ ⊗ In ) + M(q) mass matrix M(q) from Eq. (23).
∂q̇ ∂q̇ ∂q̇ ∂q̇
T T In case of closed loop systems, the Lagrange’s approach involves
= q̇ M(q)In = q̇ M(q). (15)
introducing a set of Lagrange’s multipliers and an additional set of
algebraic constraint equations. This yields a system of differential
Substitution of Eqs. (14) and (15) into Eq. (13) yields ∂T/∂q̇ = algebraic equations (DAE) which are not easy to solve. In references
T (Eich-Soellner and Fuehrer, 1998; Garcia de Jolon and Bayo, 1994;
q̇ M(q). Thus
T T Van Khang, 1975; Dresig and Vulfson, 1989; Eich, 1993; Terze and
∂T d ∂T Naudet, 2008, 2010), the authors have developed a number of effi-
= M(q)q̇, = M(q)q̈ + Ṁ(q)q̇. (16)
∂q̇ dt ∂q̇ cient methods for finding numeric solutions of differential algebraic
Eq. (23).
Now we calculate the partial derivative of the kinetic energy T
with respect to vector q 4. Application examples

T
∂T 1 ∂ T 1 ∂q̇ T ∂b 1 T ∂
= (q̇ b) = (b ⊗ In ) + q̇ = q̇ (M(q)q̇)
∂q 2 ∂q 2 ∂q ∂q 2 ∂q 4.1. The motion equations of a planar four bar mechanism
(17)


1 T ∂M(q) ∂q̇ 1 T ∂M(q) To illustrate how Lagrangian equations with multipliers in
= q̇ (q̇ ⊗ In ) + M(q) = q̇ (q̇ ⊗ In ).
2 ∂q ∂q 2 ∂q matrix form can be applied to a multibody systems, we consider
N. Van Khang / Mechanics Research Communications 38 (2011) 294–299 297

y r4
G
θ3
H

E F

C
θ1
τ
lAH
B
D

Fig. 1. A planar four bar mechanism.


r2
a planar four bar mechanism as shown in Fig. 1. The crank AB of
θ2 x
length l1 has mass m1 and moment of inertia I1 referred to its cen-
ter of mass. The connecting rod BC of length I2 has mass m2 and A
moment of inertia I2 , follower DC of length l3 has mass m3 and
Fig. 2. A quick-return mechanism.
moment of inertia I3 referred to its center of mass. The distance
from A to D is l4 , and a torque  is applied to the crank AB. For
brevity, we assume that the centers of mass of links are positioned
in the middle of the corresponding link.
From Eq. (27) we obtain the rotation Jacobian matrices of the
The angle 1 gives the orientation of the crank with respect to
links of the mechanism
the x-axis, let 2 be the angle between the x-axis and the connect-
ing rod, and the angle 3 gives the orientation of the follower DC
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0 0 0 0 0 0 0 0 0
with respect to the x-axis. Thus, the configuration displacement ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
variables for the mechanism are q1 = 1 , q2 = 2 and q2 = 2 . The JR1 = ⎣ 0 0 0⎦, JR2 = ⎣ 0 0 0⎦, JR3 = ⎣ 0 0 0⎦.
mechanism has one degree of freedom. Typically, the angle 1 is 1 0 0 0 1 0 0 0 1
selected as the independent generalized coordinate. Here, however, (28)
we have chosen three generalized coordinates to describe the sys-
tem. Therefore, we must determine two constraint equations that
relate there configuration displacements. The vector loop closure The kinetic energy of the system may be expressed as
equation yields the two constraint equations, i.e.
1 T
f1 = l1 cos(q1 ) + l2 cos(q2 ) − l3 cos(q3 ) − l4 = 0, T= q̇ M (q) q̇.
2
f2 = l1 sin(q1 ) + l2 sin(q2 ) − l3 sin(q3 ) = 0. (24)
Here the mass matrix M(q) is calculated as following:
The coordinates of the mass centers of the links of the mecha-
nism are determined as follows:
3

1 1 M(q) = (mi JTT JTi + JTR Ii JRi )


x1 = l1 cos(q1 ); y1 = l1 sin(q1 ); z1 = 0; i i
2 2 i=1
1 1
x2 = l1 cos(q1 ) + l2 cos(q2 ); y2 = l1 sin(q1 ) + l2 sin(q2 ); ⎡ ⎤
2 2 (25) 1 1
z2 = 0; I1 + m1 l12 + m2 l22 m2 l1 l2 cos(q1 − q2 ) 0
⎢ 4 2 ⎥
⎢ ⎥
1
x3 = l4 + l3 cos(q3 );
1
y3 = l3 sin(q3 ); z3 = 0. ⎢1 1 ⎥
= ⎢ m2 l1 cos(q1 − q2 ) I2 + m2 l22 0 ⎥.
2 2 ⎢2 4 ⎥
The translation Jacobian matrices of the links of the mechanism
⎣ ⎦
1
are determined as follows: 0 0 I3 + m3 l32
4
⎡ l1
⎤ ⎡ l2
⎤ (29)
− sin(q1 ) 0 0 −l1 sin(q1 ) − sin(q2 ) 0
2 2

= ⎣ l1
⎥, ⎢ ⎥,
0⎦
JT2 = ⎣
0⎦
JT1 l2
− cos(q1 ) 0 l1 cos(q1 ) cos(q2 )
2 2 To derive the equations of motion of a constrained multibody
0 0 0 0 0 0 system by means of Lagrange’s equations with Lagrangian mul-
⎡ l3
⎤ tipliers, a large amount of symbolic calculations is required to
0 0 − sin(q3 ) find partial derivatives as well as a large number of numerical
2
JT3 = ⎣
⎢ ⎥.
0 0
l3
cos(q3 ) ⎦ (26) calculations is needed to evaluate these derivatives. Using Kro-
2 necker product of two matrices we can overcome this drawback.
0 0 0 By means of MAPLE software, we can quickly and conve-
niently calculate the Coriolis/Centripetal matrix with the following
The angular velocity of links may be expressed as command:
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
0 0 0
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ C:=evalm(multiply(dMq, Kronecker product(In, qp)))
ω1 = ⎣ 0 ⎦ , ω2 = ⎣ 0 ⎦ , ω3 = ⎣ 0 ⎦ . (27)
1
q̇1 q̇2 q̇3 − ∗ (transpose(dMq, Kronecker product(qp, In))).
2
298 N. Van Khang / Mechanics Research Communications 38 (2011) 294–299

For this example we get these nonlinear differential-algebraic equations is required in order
to simulate the dynamic behavior of mechanism that undergoes
 
  T large displacements and rotations. It is very difficult or impossi-
∂M(q) 1 ∂M(q)
C(q, q̇) = Im ⊗ q̇ − q̇ ⊗ Im ble to find the analytical solution. The efficient way to solve the
∂q 2 ∂q
⎡ 1 1
⎤ problem is by using the numerical methods (Eich-Soellner and
m2 l1 l2 sin(q1 − q2 )q̇2 − m2 l1 l2 sin(q1 − q2 )(q̇1 − q̇2 ) 0 Fuehrer, 1998; Garcia de Jolon and Bayo, 1994; Van Khang, 1975;
.
⎢ 4 2
⎥ Dresig and Vulfson, 1989; Eich, 1993; Terze and Naudet, 2008,
=⎢ 1 ⎥
⎣ − m2 l1 l2 sin(q1 − q2 )(q̇1 − q̇2 )
1
− m2 l1 l2 sin(q1 − q2 )q̇1 0⎦ 2010).
2 4
0 0 0

(30)
4.2. The motion equations of a quick-return mechanism
The potential energy of mechanism is given by
In the mechanism shown in Fig. 2, an input torque  is applied
1 1

to the crank BC. This causes the slider at D to translate along the
 = m1 gl1 sin(q1 ) + l1 sin(q1 ) + l2 sin(q2 ) m2 g link AE, while the link AE simultaneously rotates about A. Also, the
2 2
motion of the link EF causes the slider at G to translate in the hori-
1 zontal direction. The motion of this device is such that the point
+ m3 gl3 sin(q3 ). (31)
2 C has a circular path, while point E moves along a circular arc,
and point F translates horizontally. The links BC, AE and EF are
From Eq. (31) we obtain treated as uniform bars. The sliders at D and G are treated as lumped
masses.
 T It is easy to verify that the mechanism has one degree of
∂
g(q) = freedom. However, it will be convenient to use the angles 1 ,
∂q

  T 2 and 3 as shown in Fig. 2 to describe the system. Therefore
1 1 1 we have the composite set of generalized coordinates for this
= m1 + m2 gl1 cos(q1 ) m2 gl2 cos(q2 ) m3 gl3 cos(q3 ) . (32)
2 2 2 mechanism

From constraint Eq. (24) the constraint Jacobian matrix has the
following form  T
    q = 1 2 3 . (35)
∂f −l1 sin(q1 ) −l2 sin(q2 ) l3 sin(q3 ) 1
Jq = = , ␭= .
∂q l1 cos(q1 ) l2 cos(q2 ) −l3 cos(q3 ) 2
(33) The coordinates of the mass centers of the links are determined
as follows:
By substituting Eqs. (29), (30), (32) and (33) into Eq. (23) and
using the constraint Eq. (24) we obtain the algebraic-differential
equations of motion of the planar four bar mechanism lBC lBC
m  x1 = cos 1 , y1 = sin 1 + lAB , z1 = 0,
m2 2 2
1 2
l + m2 l12 + I1 q̈1 + l1 l2 cos(q1 − q2 )q̈2
4 1 2 lAE lAE
x2 = cos 2 , y2 = sin 2 , z2 = 0,
m2
m  2 2
1
+ l1 l2 sin(q1 − q2 )q̇22 + + m2 gl1 cos(q1 ) lEF
2 2 x3 = lAE cos 2 + cos 3 , y3 = lAE sin 2
2 (36)
−1 l1 sin(q1 ) + 2 l1 cos(q1 ) = ,
lEF
m  + sin 3 , z3 = 0,
m2 2
2 2
l1 l2 cos(q1 − q2 )q̈1 + l + I2 q̈2
2 4 2 x4 = lBC cos 1 , y4 = lAB + lBC sin 1 , z4 = 0,
m2 m2 x5 = lAE cos 2 + lEF cos 3 , y5 = lAH , z5 = 0.
− l1 l2 sin(q1 − q2 )q̇21 + gl2 cos(q2 ) − 1 l2 sin(q2 )
2 2 (34)

+2 l2 cos(q2 ) = 0,
m  m3
where lBC is the length of link BC, lAE is the length of link AE, lEF is
3 2
l + I3 q̈3 + gl3 cos(q3 ) + 1 l3 sin(q3 ) the length of link EF, lAB is the distance from A to B and lAH is the dis-
4 3 2
tance from A to H. The three displacements are used to describe the
one degree of freedom system. Hence, we muss establish two inde-
−2 l3 cos(q3 ) = 0,
pendent constraint equations to account for the “excess” variables.
From Fig. 2 we obtain two constraint equations
l1 cos(q1 ) + l2 cos(q2 ) − l3 cos(q3 ) − l4 = 0,

l1 sin(q1 ) + l2 sin(q2 ) − l3 sin(q3 ) = 0.


   
In Eq. (34)  = [1 , 2 ]T represents the two Lagrangian multi- f1 lAH − lAE sin 2 − lEF sin 3
pliers, q = [q1 , q2 , q3 ]T is the composite set of three generalized f= = = 0. (37)
f2 lAB cos 2 − lBC sin( 2 − 1 )
coordinates for the planar four bar mechanism. The solution of
N. Van Khang / Mechanics Research Communications 38 (2011) 294–299 299

By implementing the similar way as the preceding example, we Cheng, Pi-Ying, Weng, Ching-I., Chen, Chao-Kuang, 1988. Symbolic derivation of
obtain the differential-algebraic equations of motion of the quick- dynamic equations of motion for robot manipulators using Piogramm symbolic
method. IEEE Journal of Robotics and Automation 4 (6), 599–609.
return mechanism

 m  Cui, K, Haque, I., 1997. Symbolic equations of motion for hybrid multibody sys-
tems using a matrix–vector formulation. Mechanism and Machine Theory 32,
1 2 +I ¨
+ m4 lBC BC 1 + lBC cos( 1 − 2 )2 = , 743–763.
4 Cui, K., Haque, I., Thirumalai, M., 1995. On configurations of symbolic equations,

m m5 m5
of motion for rigid multibody systems. Mechanism and Machine Theory 30,
2 2 ¨2
+ m3 + − cos(2 2 ) lAE 1149–1170.
4 4 2 Doughty, S., 1988. Mechanics of Machines. John Wiley & Sons, New York.

m Dresig, H., Vulfson, J.I., 1989. Dynamik der Mechanismen. Deutscher Verlag der
3
+ cos( 2 − 3 ) + m5 sin 2 sin 3 lAE lEF ¨ 3 Wissenschaften, Berlin.
2 Eich, E., 1993. Convergence results for a coordinate projection method applied

m5 2 m3

to mechanical systems with algebraic constraints. SIAM Journal on Numerical
Analysis 30 (5), 1467–1482.
+ l sin(2 2 ) ˙ 22 + sin( 2 − 3 ) + m5 sin 2 cos 3 lAE Eich-Soellner, E., Fuehrer, C., 1998. Numerical Methods in Multibody Dynamics.
2 AE 2
Teubner, Stuttgart.
Fabien, B., 2009. Analytical System Dynamics. Springer, New York.
lEF ˙ 32 − lAE 1 cos 2 − lAB 2 sin 2 − lBC 2 cos( 1 − 2 ) = 0, Fisette, P., Postiau, T., Sass, L., Samin, J.C., 2002. Fully symbolic generation of complex

m (38)
multibody models. Mechanics of Structures and Machines 30, 31–82.
Garcia de Jolon, J., Bayo, E., 1994. Kinematic and Dynamic Simulation of Multibody
3
cos( 2 − 3 ) + m5 sin 2 sin 3 lAE lEF ¨ 2 Systems. Springer-Verlag, Berlin.
2 Hale, A.L., Meirovitch, L., 1978. Derivation of the equations of motion for com-

m  plex structures by symbolic manipulation. Computers & Structures 9 (6),
3
+ + m5 sin2 ( 3 ) lEF
2 +I
EF ¨ 3 639–649.
4 Haug, E.J., 1989. Computer Aided Kinematics and Dynamics of Mechanical Systems.

m Basic Methods, vol. 1. Allyn and Bacon, Boston.
3
+ − sin( 2 − 3 ) + m5 cos 2 sin 3 lAE lEF ˙ 22 Hiller, M., 1983. Mechanische Systeme. Springer-Verlag, Berlin.
2 Howard, J.C., Tashjian, H., 1968. An algorithm for deriving the equations of mathe-
matical physics by symbolic manipulation. Communications of the ACM 11 (12),
m5 2 814–818.
+ l sin(2 3 ) ˙ 32 − lEF 1 cos 3 = 0,
2 EF Ju, M.S., Mansour, J.M., 1989. Comparison of methods for developing the dynamics of
rigid-body systems. The International Journal of Robotics Research 8 (6), 19–27.
lAH − lAE sin 2 − lEF sin 3 = 0, Kecskemethy, A., Krupp, T., Hiller, M., 1997. Symbolic processing of multiloop mech-
anism dynamics using closed-form kinematics solutions. Multibody System
Dynamics 1, 23–45.
lAB cos 2 − lBC sin( 2 − 1 ) = 0. Korayem, M.H., Yao, Y., Basu, A., 1994. Application of symbolic manipulation to
inverse dynamics and kinematics of elastic robots. The International Journal
of Advanced Manufacturing Technology 9, 343–350.
5. Conclusion Kreuzer, E. (Ed.), 1994. Computerized Symbolic Manipulation in Mechanics.
Springer-Verlag, Wien, New York.
The purpose of this paper is to use a consistent notation of par- Lieh, J., 1994. Computer-oriented closed-form algorithm for constrained multi-
body dynamics for robotics applications. Mechanism and Machine Theory 29,
tial derivative of matrix functions with respect to vector variables 357–371.
and the Kronecker product for the automatic derivation of dynamic Lieh, J., Haque, I., 1991. Symbolic closed-form modeling and linearization of multi-
equations of constraint multibody systems. body systems subject to control. Journal of Mechanisms, Transmissions, and
Automation in Design 113, 124–132.
A new form of Lagrangian equations has been established and
Lot, R., Da Lio, M., 2004. A symbolic approach for automatic generation of the equa-
expressed by Eqs. (22) and (23). The proposed form of motion equa- tions of motion of multibody systems. Multibody System Dynamics 12, 147–172.
tions is written in the compact matrix form, which enables us to Lurie, A.I., 2002. Analytical Mechanics. Springer-Verlag, Berlin.
Nikravesh, P.E., 1988. Computer Aided Analysis of Mechanical Systems. Prentice-
construct the motion equations of constraint multibody systems
Hall, Englewood Cliffs, NJ.
conveniently by means of computer software packages such as Park, F.C., Choi, J., Ploen, S.R., 1999. Symbolic formulation of closed chain dynamics
MAPLE, MATHCAD, and MATHEMATICA. in independent coordinates. Mechanism and Machine Theory 34, 731–751.
The application of Kronecker product of two matrices to derive Sayers, M.W., 1991. Symbolic computer language for multibody systems. Journal of
Guidance, Control, and Dynamics 14, 1153–1163.
the equations of motion of multibody systems with nonholonomic Schiehlen, W. (Ed.), 1990. Multibody Systems Handbook. Springer-Verlag, Berlon.
constraints, based on i.e. Kane’s equations and Gibbs–Appel’s equa- Schiehlen, W., Eberhard, P., 2004. Technische Dynamik, 2. Auflage. B.G. Teubner,
tions, will be presented in other works. Stuttgart.
Schlacher, K., Kugi, A., Scheidl, R., 1998. Tensor analysis based symbolic computation
for mechatronic systems. Mathematics and Computers in Simulation 46 (5–6),
Acknowledgement 517–525.
Shabana, A.A., 2005. Dynamics of Multibody Systems, 3rd edition. Cambridge Uni-
versity Press, New York.
This paper war completed with the financial support by the Viet- Steeb, W.H., 1997. Matrix Calculus and Kronecker Product with Applications and
nam National Foundation for Science and Technology Development C++ Programms. Word Scientific Publishing, Singapore.
(NAFOSTED). Terze, Z., Naudet, J., 2008. Geometric properties of projective constraint violation
stabilization method for generally constrained multibody systems on manifolds.
Multibody System Dynamics 20, 85–106.
References Terze, Z., Naudet, J., 2010. Structure of optimized generalized coordinates parti-
tioned vectors for holonomic and non-holonomic systems. Multibody System
Abdellatif, H., Heimann, B., 2009. Computational efficient inverse dynamics of 6-DOF Dynamics 24, 203–218.
fully parallel manipulators by using the Lagrangian formalism. Mechanism and Van Khang, Nguyen, 1975. Über eine Methode zur Lösung der Bewegungs-
Machine Theory 44, 192–207. gleichungen von Mechanismen mit mehreren Freiheitsgraden. WZ der TH
Bernstein, D.S., 2009. Matrix Mathematics, 2nd edition. Princeton University Press, Karl-Marx-Stadt 17 (1), 59–70.
Princeton and Oxford. Van Khang, Nguyen, 2010. Consistent definition of partial derivatives of matrix func-
Brewer, J.W., 1978. Kronecker products and matrix calculus in system theory. IEEE tions in dynamics of mechanical systems. Mechanism and Machine Theory 45,
Transactions on Circuits and Systems CAS-25, 772–781. 981–988.
Bruels, O., Cardona, A., 2010. On the use of Lie group time integrators in multi- Wittenburg, J., 2008. Dynamics of Multibody Systems, 2nd edition. Springer-Verlag,
body dynamics. Journal of Computational and Nonlinear Dynamics 5 (3), Berlin.
031002. Zhang, F., 1999. Matrix Theory. Springer, New York.

You might also like