Professional Documents
Culture Documents
net/publication/233021889
CITATIONS READS
37 333
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Radu Serban on 12 August 2014.
ABSTRACT
Analytical formulas for kinematic and kinetic derivatives needed in multibody system analyses are derived. A broad
spectrum of problems, including implicit numerical integration, dynamic sensitivity analysis, and kinematic workspace
analysis, require evaluation of first derivatives of generalized inertia and force expressions and at least three derivatives of
algebraic constraint functions. In the setting of a formulation based on Cartesian generalized coordinates with Euler
parameters for orientation, basic identities are developed that enable practical and efficient computation of all derivatives
required for a large number of multibody mechanical system analyses. The formulation is verified through application to to a
spatial slider crank mechanism and a 14 body vehicle model. Efficiency of computation using the expressions derived is
compared with results obtained employing finite differences, showing significant computational advantage using the
analytically derived expressions.
1 INTRODUCTION
Three different areas of multibody system analysis are considered. The common requirement for numerical methods used
in these types of analysis is the availability of higher order derivatives of both the differential equations of motion and of the
algebraic constraint equations. The three types of analysis under consideration are as follows:
(1) numerical implicit integration of the differential–algebraic equations (DAE) of motion for simulation of stiff
mechanical systems;
(2) dynamic sensitivity analysis for design optimization, parameter estimation, and model correlation;
Next, each of these problems is shortly described and required derivatives for numerical solution are identified.
1
1.1 Kinematic and Dynamic Analysis
Two forms of equations that characterize the dynamics of a multibody system may be generated, (1) the state–space
representation and (2) the descriptor form. The minimal dimension state–space ordinary differential equation (ODE) form of
the equations of motion occurs when the multibody system is tree–configured and relative coordinates are used. The presence
of kinematic closed–loops results in a DAE form of the equations of motion, called the descriptor form. The focus here is on
the descriptor form, using Cartesian generalized coordinates (Haug, 1989).
For a system described by n generalized coordinates q and m constraint equations, the equations of motion can be written
in the descriptor form
^ .. ^T ^ (1)
M q q Q
^
(q, t) 0 (2)
. .. ^
where q, q, and q are n 1 vectors representing generalized positions, velocities, and accelerations; M(q) is the n n
^ .
symmetric generalized inertia, or mass matrix; Q(q, q, t) is the n 1 generalized force vector; is the m 1 vector of
the kinematic constraint Jacobian matrix has full row rank. Equations 1 and 2 thus represent an index–3 DAE (Brenan et al.,
1989).
The position constraints of Eq. 2 can be differentiated with respect to time to yield the kinematic velocity and acceleration
constraint equations,
^ . ^
qq t 0 (3)
^ ..
^ .
qq qq q 2 tqq tt 0
. ^ . ^
(4)
q
2
derivatives of all terms in Eqs. 1 through 4 with respect to both generalized coordinates and velocities are required. The
^ ..
q
derivatives to be evaluated are as follows: Mq , q , Q q, Q q, qq , qq ,
^T ^ ^
.
^ .
q
^ ..
q
q q , q q .
^
q
.
q
. ^
q
.
q
.
.
q q q
Numerous problems in multibody mechanical system analysis can be formulated as optimization problems with respect
to dynamic behavior of the system. A nonlinear programming problem must then be solved. Optimization algorithms are most
efficient if accurate derivative information is provided. Dynamic design sensitivity analysis of multibody systems thus
represents the link between optimization tools and modelling and simulation tools.
Two methods are commonly used to generate sensitivity information. The most straightforward approach is the direct
differentiation method, which differentiates the differential–algebraic equations of motion with respect to parameters
(Krishnaswami et. al., 1983; Chang and Nikravesh, 1985; Haug, 1987). The second method is the adjoint variable method, in
which sensitivities are obtained as solutions of differential–algebraic equations that are adjoint to the equations of motion. The
adjoint variable method has been extensively applied in both optimal control and optimal design (Haug and Ehle, 1982; Haug,
1987; Bestle and Eberhard, 1992; Bestle and Seybold, 1992). Both methods require derivatives of terms in the DAE of motion
with respect to parameters. Use of the chain rule of differentiation in both methods reduces this problem to finding derivatives
of these terms with respect to generalized states and velocities. Therefore, all derivatives noted above for implicit integration
of the equations of motion are needed to generate the sensitivity equations.
The problem of defining achievable sets in the output space of a mechanism is known as kinematic workspace analysis.
Domains of operation (accessible output, operational envelope), domains of interference, and domains of mobility can be
treated in a unified fashion (Haug et al., 1996). Most research has focused on describing mechanism workspaces by defining
their boundaries. Analytical conditions for workspace boundaries in special mechanisms have been used by a number of
authors (Tsai and Soni, 1981; Yang and Lee, 1983; Freudstein and Primerose, 1984). For general mechanisms, Litvin (1980)
used the implicit function theorem to obtain criteria for workspaces, relating them to singular configurations of mechanisms.
Analytical criteria and numerical methods for mapping boundaries of workspaces, using Jacobian matrix row rank deficiency
conditions, have been developed by Jo and Haug (1989), Wang and Wu (1993), Haug et al. (1996), and Adkins (1996). The
3
following quantities related to the kinematics of the underlying mechanism must be evaluated: ǒF lǓ , ǒǒF lǓ aǓ ,
^T
q
^T
q
q
q
l
ǒǒ ^T
F ql a Ǔ q
Ǔ , ǒF qgǓ , where a, l, and g are vectors of appropriate dimension.
q
^
A common point of departure for many of the intended capabilities of a general multibody analysis tool is the ability to
obtain derivatives of both the differential equations of motion and the algebraic constraint equations. In modelling a multibody
system, the first important choice to be made is that of generalized coordinates to describe its position and motion. The
Cartesian coordinate formulation with Euler parameters for orientation is particularly attractive, from the point of view of
systematic analysis, because of the simple structure of the resulting equations. The form of the orientation matrix in terms of
Euler parameters yields bilinear forms in the Euler parameter vector p for constraint derivatives. Theoretically, this implies
that as many derivatives as desired can be taken. Advantages of Cartesian coordinates can be summarized as follows: (1) the
formulation yields simple forms of the coefficient matrices in the equations of motion, so constraint equations can be
generated in a consistent way; (2) the matrices involved are sparse; (3) position, velocity, and acceleration information for each
body is directly obtained; and (4) the constraints are established at a local level, in the sense that constraint equations for a
given joint involve only the coordinates of the two bodies that are connected by the joint. Therefore, the constraint equations
are independent of the complexity of the system.
In Cartesian coordinates with Euler parameters for orientation, the equations of motion of Eqs. 1 and 2 are (Haug, 1989)
F(r, p, t) + 0 (6)
F P(p) + 0 (7)
where M + diag{m iI3} is a block–diagonal matrix containing the masses of the n b bodies, JȀ + diag{JȀ i} is the block–diagonal
inertia matrix of the system, r + {r i} is the vector of body positions, p + {p i} is the vector of Euler parameters, F A is the vector
of applied forces, nȀ A is the vector of applied torques, G is a 34 matrix defined as G(p) + [* e, * e~ ) e 0I] , and F P is the
vector of Euler parameter normalization constraints. Here, e~ is the 33 skew–symmetric matrix defined by
4
e0 e3 e2
e
~
3 0 e1
(8)
e 2 e1 0
As shown in this paper, a relatively small number of basic identities enables computation of all required derivatives of both
kinematic and kinetic terms arising in each of the analyses discussed above. Explicit forms for derivatives of basic quantities
are obtained. Therefore, this approach is expected to be more efficient than using automatic differentiation methods (Bischof et
al., 1996). When evaluating higher order derivatives, automatic differentiation codes differentiate a lower order derivative and
thus cannot take advantage of simplifying identities that may exist, such as Euler parameter normalization constraints.
2 BASIC IDENTITIES
Derivatives of expressions used as basic building blocks in generating required kinematic and kinetic derivatives are
obtained in this section. The identities derived are subsequently applied to obtain higher order derivatives of the constraint
equations and of common force elements. When using Cartesian coordinates with Euler parameters to model a multibody
system, the generalized inertia matrix has a simple block–diagonal form. Obtaining derivatives of terms involving this matrix
is therefore straightforward.
In the Cartesian coordinate formulation, dependencies on states, velocities, and parameters that appear in the coefficients
of the DAE of motion are well defined. The most complicated terms are those involving the Jacobian of the constraint
equations. Derivatives with respect to Euler parameters are the principal focus, since dependency on position vectors is
straightforward.
A quantity that arises in many terms of interest is representation of a body–fixed vector relative to the global reference
frame. Let a be a constant body–fixed vector, represented in the body reference frame, and let p e 0; e T be the vector of
T
Euler parameters that defines the orientation of the body reference frame relative to a global reference frame. Then, the
orientation transformation matrix is (Haug, 1989)
The derivative of this quantity with respect to the vector of Euler parameters is given by the following sequence of operations:
(A(p)a ) 4e a 2a
~
e (11)
e 0 0
e
(A(p)a ) 2 e Ta I ea T e a
0
~
~
2 a e T ea T (e 0I e~ )a (12)
5
ēp ēe 0
ƪ ēe 0 ƫ NJ ƪ
ē (A(p)aȀ) + ē (A(p)aȀ) ; ē (A(p)aȀ) + 2 aȀp T ) (e I ) e~ )aȀ; eaȀ T * (e I ) e~ )aȀ
0
~
ƫNj (13)
^
A 34 matrix B(p, aȀ) is defined as
^
ƪ
B(p, aȀ) 5 (e 0I ) e~ )a; eaȀ T * (e 0I ) e~ )aȀ
~
ƫ (14)
NJ
B(p, aȀ) 5 2 aȀp T ) B(p, aȀ)
^
Nj (15)
Note that the 33 orientation transformation matrix A(p) involves quadratic terms in p, so it is expected that linear
^
expressions in p will occur after differentiation with respect to p in Eq. 13. Indeed, the matrices B and B are linear in the Euler
parameters. Moreover, these matrices have a commutativity property involving two 4–dimensional vectors, p i and p j, namely,
^ ~
B(p i, aȀ)p j + (e 0iI ) e~ i)aȀe 0j ) e iaȀ Te j * (e 0iI ) e~ i)aȀe j (17)
~
+ (e 0jI ) e~ j)aȀe 0i * e 0jaȀe i ) e ie TjaȀ ) e~ ie~ jaȀ
~ ^
+ (e 0jI ) e~ j)aȀe 0i ) e jaȀ Te i * (e 0jI ) e~ j)aȀe i + B(p j, aȀ)p i
and
NJ ^
Nj NJ ^
Nj
B(p i, aȀ)p j + 2 aȀp Tip j ) B(p i, aȀ)p j + 2 aȀp Tjp i ) B(p j, aȀ)p i + B(p j, aȀ)p i (18)
Calculation of the derivative of B T(p, aȀ) with respect to p is also required. Note, from Eq. 14, that
^T
B (p, aȀ) + ƪ aȀ T(e 0I * e~ )
~
aȀe T ) aȀ(e 0I * e~ )
ƫ (20)
ē B
ēe 0
ǒ
^T
(p, aȀ) + Ǔ ƪ ƫ
aȀ T
aȀ
~ (21)
6
while the derivative with respect to the Euler parameter subvector e is
ē B
ēe
ǒ
^T
(p, aȀ)g + Ǔ ƪ aȀ Tg~
aȀg T ) aȀg~
~ ƫ (22)
ē B
ēp
ǒ
^T
(p, aȀ)g + Ǔ ƪ aȀ Tg
~
aȀ Tg~
aȀg aȀg T ) aȀg~
~ ƫ (23)
Using the result of Eq. 23, together with the definition of Eq. 15,
ēp ēp
NJ
ē ǒB T(p, aȀ)gǓ + 2 ē ǒpaȀ TgǓ ) ē B
ēp
^T
(p, aȀ)g ǒ ǓNj + D(aȀ, g) (24)
D(aȀ, g) 8 2 ƪ 2aȀ Tg
~
aȀ Tg~
aȀg aȀ TgI ) aȀg T ) aȀg~
~ ƫ ƪ
+2
2aȀ Tg
~ ~
aȀ Tg~
~ ƫ
aȀg aȀg~ ) g~ aȀ ) 2aȀ TgI
(25)
The final form of Eq. 25 shows that D is symmetric, since ǒaȀ Tg~ Ǔ + g~ aȀ + * g~ aȀ + aȀg.
T T ~
Consider the pair of bodies shown in Fig. 1, denoted bodies i and j. Let the generalized coordinate vector corresponding to
the pair of bodies be q ij + ƪr Ti, p Ti, r Tj, p Tjƫ Ů R 14 , where r i and r j are 31 vectors that locate the origins of the body reference
T
frames relative to the origin of the global reference frame and p i and p j are 41 vectors of Euler parameters that define body
reference frame orientations. Let s iȀ be a vector fixed in body i, so s i + A(p i)s iȀ is its representation in the global frame. Define
s jȀ and s j in a similar fashion. Finally, let d ij + r j ) A js jȀ * r i * A is iȀ define the vector between points P i and P j on bodies i and
Four basic conditions on vectors in and between pairs of bodies can be defined, to serve as building blocks for a library of
kinematic constraints between bodies (Haug, 1989). These four conditions are as follows:
(1) orthogonality of a pair of body–fixed vectors s i and s j on bodies i and j (DOT–1 constraint),
(2) orthogonality of a body–fixed vector a i on body i and a vector d ij between bodies i and j (DOT–2 constraint),
7
(3) fixed distance between points P i on body i and P j on body j (Distance constraint),
s r j sj r i si 0 (29)
Most kinematic constraints that are encountered in applications can be described in terms of one or more of the above
conditions.
A ball and socket joint (or spherical joint) is defined by the condition that the centers of the ball and of the socket coincide
and is thus equivalent to a basic spherical constraint. The revolute joint of Fig. 2 allows one rotational degree of freedom about
a common axis fixed in bodies i and j and no relative translation along this axis. The five constraint equations that describe this
joint can be written in terms of basic constraints as
s(P i, P j) 0 30
d 1(f i, h j) 0
d 1(g i, h j) 0
The universal joint of Fig. 3 permits relative rotations about two orthogonal axes fixed in the bodies connected. It is described
by the conditions that points P i on body i and P j on body j coincide and that the vectors h i and h j are perpendicular. This can be
written as the following four constraint equations:
s(P i, P j) 0 31
(h i, h j) 0
d1
The translational joint of Fig. 4 has one relative translational degree of freedom along a common axis fixed in the bodies
connected. It is defined by five constraint equations. In terms of basic constraint these are
d 1(f i, h j) 0
d 1(g i, h j) 0 32
d 2(f i, d ij) 0
d 2(g i, d ij) 0
d 1(f i, f j) 0
In a similar way other commonly used physical joints, e.g., cylindrical, screw, or composite joints, can be described in
terms of the four previously defined basic constraints.
Pi p Tip i 1 0 (33)
8
4 DERIVATIVES OF KINEMATIC CONSTRAINT EXPRESSIONS
With the formulas derived in Section 2, basic constraint equations and their derivatives can be evaluated. A detailed
derivation of derivatives for the spherical constraint is presented here. Derivatives of the other three basic constraints, using the
same approach, are presented in Appendix A.
Derivatives of F s in Eq. 29 with respect to components of q ij are obtained, using Eq. 16, as
ē Fs + * I (34)
ēr i
ē Fs + I
ēr j
ē F s + * B(p , s Ȁ)
ēp i i i
ē F s + B(p , s Ȁ)
ēp j j j
With the above relations, the derivative of F s with respect to q ij, with the superscripts i and j suppressed for notational
convenience, becomes
Since this quantity does not depend on q, its derivative with respect to q is zero; i.e,
ǒǒF aǓ bǓ
s
q q
+0 (40)
q
9
.
For a b q, consider the quantity
.
Its derivative with respect to q is
F q q
s .
q q
.
.
0, 2B(p i, s i ), 0, 2B(p j, s j )
. .
(42)
q
Let l R 3. Then,
B(pl, s )l
T
F l
T i i
s
q l (43)
B (p , s )l T
j j
00 D(s0 , l) 00 00
F l
0 0 0 0
s
q
T i
(44)
0 0 0 D(s , l)
q
j
The components of the Euler parameter vector p i used to define the orientation of body i are not independent. They are
constrained by the relation
F Pi p Tip i 1 0 (45)
F Pia 0, 2a 2 T
q i
(47)
F PT
0 0
i l q l 0 2I
i 4
(48)
Derivatives of the right side of the Euler parameter acceleration constraint are computed as
10
Pi q. i
q i
qi
.
qi qi
0 (49)
and
Pi q. i
q i
qi
.
qi .
qi
0, 4p i
.T
50
As Eq. 5 shows, dependency of the generalized inertia matrix on Euler parameters occurs only through the matrix G(p).
..
For body i, the derivative of G T(p i)J iG(p i)p i with respect to p i must be evaluated. This quantity can be written as
..
.. e Ti e i0
G TiJ iG ip i J i[ e i, e~ i e i0I] e.. (51)
e i e i0I
~
i
For any 31 vector x, the derivative of the product G T(p i)x with respect to p i is obtained as
0 xT
x x x~ (55)
Using Eqs. 53 and 54, the derivative G T(p i)J iG(p i)p i p is obtained as
..
G T(p i)J iG(p i)p.. i G T(p i)J iG(p.. i) J iG(p i)p.. i (56)
p i
Dynamic and sensitivity analyses require derivatives of generalized force with respect to generalized coordinates and their
.
time derivatives. For the generalized force vector Q(q, q), the quantities Q q and Q q are calculated in this section.
.
11
6.1 Derivatives of Coriolis Terms
. .
Consider the term G T(p i)JȀ iG(p i)p i in Eq. 5. Its derivative with respect to p i is
.
while its derivative with respect to p i is obtained, similar to Eq. 56, as
*
ǒG T(p. i)JȀ iG(p. i)p iǓ + G T(p. i)JȀ iG(p i) ) ǒJȀ iG(p. i)p iǓ
. (58)
p i
Derivatives of the generalized force corresponding to a translational spring–damper–actuator (TSDA) are derived here.
Results for a rotational spring–damper–actuator (RSDA) are given in Appendix B. The TSDA force element of Fig. 5
consists of a spring (k), a damper (c), and a force actuator (F). It exerts forces on the bodies that are directed along the vector
between points Pi and Pj.
dw + * fdl (59)
l 2 + d Tijd ij (61)
d Tij
dl + ǒdr j ) B(pj, sȀ j)dpj * dr i * B(p i, sȀ i)dpiǓ (62)
l
where Eq. 16 has been used. Substituting this expression into Eq. 59 and identifying the coefficients of virtual displacements
and variations in Euler parameters, the TSDA generalized forces acting on bodies i and j are
Qi +
f
ƪT
d ij
l B (p i, sȀ i)d ij
ƫ (63)
Qj + *
f
ƪ
T
d ij
l B (p j, sȀ j)d ij
ƫ
12
The focus here is on derivatives of Q i. Derivatives of Q j are obtained in a similar fashion. The generalized force Q i acting
QF
on body i is rewritten as Q i Q N , where Q F (fl)d ij is the linear TSDA generalized force and Q N (fl)B T(p i, s i )d ij is the
Q Fq d ij fl fl d
q
ij q (64)
Since
.
.
f d ijd Tij d ijv T f
N1 k c l c I (69)
l l l2 l2 l
d ijd Tij
N2 c (70)
l2
the derivatives of Q F (fl)d ij and Q N (fl)B T(p i, s i )d ij with respect to q can be expressed in compact form as
13
Q Nq B T(p i, s i)N 1, B T(p i, s i)N 1B(p i, si ) N 2B(p i, si ) Ds i, d ij,
. f
l
(72)
B T(p i, s i)N 1, B T(p i, s i)N 1B(p j, sj ) N 2B(p j, sj )
.
Q Fq d ij
. fl q
.
(73)
Q Nq B T(p i, s i)d ij
. fl B (p , s )Q
.
q
T
i i
F.
q (74)
fl 1l f .
q
q
. c lq
l
.
. (75)
d Tij
I, B(p i, s i), I, B(pj, s j)
.
lq . (77)
l
d ijd Tij
Q Fq c. I, B(pi, s i), I, B(pj, s j) (78)
l2
d ijd Tij
Q Nq cB(p i, s i)
. I, B(p i, s i), I, B(p j, s j) (79)
l2
7 NUMERICAL EXPERIMENTS
The kinematic and kinetic derivatives obtained in analytical form in this paper are verified using two examples, with
numerical efficiency compared with finite differences. The two mechanisms analyzed are in assembled configurations and
kinematically admissible values for the generalized velocities were used in computations.
The first example is the one–degree–of–freedom spatial slider–crank mechanism of Fig. 6, consisting of three bodies
(slider, crank, and connecting rod) connected by four joints (revolute, spherical, universal, and translational) and a TSDA. The
crank has length l C 2.0 m and the connecting rod has length l CR 5.0 m. All three bodies have unit masses and inertias. The
TSDA has the following characteristic values: k 10.0 Nm, l 0 5.0 m, c 1.0 Nsm. The mechanism is described by 21
14
generalized coordinates, constrained by 17 joint constraints and 3 Euler parameter normalization constraints. The following
kinematic derivatives are considered: F q, F Tql q, F qq q , g q, and g q, where F is the array of constraint expressions, l is the
.
.
array of Lagrange multipliers, and g F qq qq is the right side of the acceleration constraint equation.
. .
Table 1 presents maximum absolute differences between analytical and numerical values of the kinematic derivatives, for
different values of the perturbation d used in computing finite differences. Analytical Jacobians of generalized force with
respect to generalized coordinates and velocities are also compared to numerical Jacobians obtained with finite differences.
Results are presented in Table 2. Finite difference numerical derivatives are obtained with an accuracy of the order of the
perturbation d. As shown in Tables 1 and 2, they converge to the analytical values as d decreases.
As numerical results show, the perturbation d has a strong influence on computational accuracy using finite differences.
Moreover, selection of d to obtain derivatives within a prescribed accuracy is function of the type of derivative to be computed
and is problem dependent.
Availability of analytical derivatives not only gives more accurate results, but also leads to increased computational
efficiency. Table 3 presents the average CPU seconds required to compute the complete three groups of derivatives (kinematic
derivatives, generalized force derivatives, and generalized mass matrix derivatives) for the slider crank mechanism, using both
analytical and finite difference methods. The numerical experiments were performed on a HP J–210 computer. Speed–ups of
more than 10 were obtained for all derivative computations when using exact analytical formulas.
As a second example consider the 14–body, eleven–degree–of–freedom model of the Army High Mobility Multipurpose
Wheeled Vehicle (HMMWV) shown in Fig. 7. Detailed data for this model can be found in Serban et. al. (1998). The same
tests carried out for the slider–crank mechanism were performed on this larger model, which consists of 14 bodies connected
by 21 joints (8 revolute, 8 spherical, 4 distance constraints, and 1 translational). The resulting model has 98 generalized
coordinates, 73 joint constraints and 14 Euler parameter normalization constraints. The 73 kinematic joint constraints used to
described this model translate into the following basic constraints: 16 spherical constraints, 4 distance constraints, 19 DOT–1
constraints, and 2 DOT–2 constraints. Table 4 presents maximum absolute differences between analytical and numerical
values of the kinematic derivatives, while Table 5 presents a comparison of results for generalized force Jacobians.
For this larger model the computation times obtained when using analytical derivative computations, as opposed to finite
differences, are presented in Table 6. Speed–ups are even larger than those obtained for the slider–crank example. Analytical
computation of kinematic and generalized force derivatives were about 30 times as fast as finite difference computations,
while the speed–up obtained in generating the generalized mass matrix derivatives was about 130.
15
8 CONCLUSIONS
Results presented in this paper enable accurate and efficient computation of higher order derivatives required in multibody
analysis, including implicit numerical integration of the differential–algebraic equations (DAE) of motion, dynamic
sensitivity analysis of mechanical systems, design optimization, and parameter estimation. A formulation to generate three
derivatives of the terms involved in the DAE of motion required in each of these analyses is presented and verified. This
formulation is extendable to compute higher order derivatives that appear in continuation methods for mapping workspace
boundaries. Derivative computations are developed in the Cartesian coordinate formulation with Euler parameters as
orientation parameters. Similar methods can be applied to generate kinematic and kinetic derivatives when using joint (or
relative) coordinates.
ACKNOWLEDGMENT
This research was supported by the US Army Tank–Automotive Command (TACOM), through the Automotive Research
Center (Department of Defense contract number DAAE07–94–R094).
REFERENCES
Adkins, F.A., 1996, “Numerical Continuation and Bifurcation Methods for Mechanism Workspace and Controllability Analysis,”
Bestle, D. and Eberhard, P., 1992, “Analyzing and Optimizing Multibody Systems,” Mechanics of Structures and Machines, Vol
Bestle, D. and Seybold, J., 1992, “Sensitivity Analysis of Constrained Multibody Systems,” Archive of Applied Mechanics, Vol. 62,
pp. 181–190
Bischof, C., Roh, L., and Mauer, A., 1996, “ADIC: A Tool for the Automatic Differentiation of C Program,” Technical Report,
Brenan, K.B., Campbell S.L., and Petzold L.R., 1989, Numerical Solution of Initial–Value Problems in Differential–Algebraic
Chang, C.O. and Nikravesh, P.E., 1985, “Optimal Design of Mechanical Systems With Constraint Violation Stabilization Method,”
Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 107, pp. 493–498
Freudenstein, F. and Primerose, E.J., 1984, “On the Analysis and Synthesis of the Workspace of a three–Link, Turning–Pair
Connected Robot Arm,” Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 106, pp. 365–370
16
Hairer E. and Wanner G., 1996, Solving Ordinary Differential Equations II: Stiff and Differential–Algebraic Problems, Springer–
Verlag, Berlin
Haug, E.J., 1987, “Design Sensitivity Analysis of Dynamic Systems,” Computer–Aided Design: Structural and Mechanical Systems,
Haug, E.J., 1989, Computer–Aided Kinematics and Dynamics of Mechanical Systems, Volume I: Basic Methods, Allyn and Bacon,
Haug, E.J. and Ehle, P.E., 1982, “Second–Order Design Sensitivity Analysis of Mechanical System Dynamics,” International
Haug, E.J., Luh, C.M., Adkins, F.A., and Wang, J.Y., 1996, “Numerical Algorithms for Mapping Boundaries of Manipulator
Haug, E.J., Negrut, D, and Iancu, M., 1997, “An Implicit Numerical Integration Algorithm for Differential–Algebraic Equations of
Haug, E.J., Iancu, M, and Negrut, D., 1997, “Implicit Integration of the Equations of Multibody Dynamics in Descriptor Form,”
Jo, D.Y. and Haug, E.J., 1989, “Workspace Analysis of Multibody Mechanical Systems Using Continuation Methods,” Journal of
Krishnaswami, P., Wehage, R.A. and Haug, E.J., 1983, “Design Sensitivity Analysis of Constrained Dynamic Systems by Direct
Differentiation,” Technical Report No. 83–5, Center for Computer–Aided Design, The University of Iowa, Iowa City, Iowa
Litvin, F.L., 1980, “Application of Theorem of Implicit Function System Existence for Analysis and Synthesis of Linkages,”
Nikravesh, P.E., 1988, Computer–Aided Analysis of Mechanical Systems, Prentice–Hall, Englewood Cliffs, New Jersey
Potra, F.A., 1994, “Numerical Methods for Differential–Algebraic Equations with Application to Real–Time Simulation of
Serban, R., Negrut, D., and Haug, E.J., 1998, “High Mobility Multipurpose Wheeled Vehicle (HMMWV) Multibody Models,”
Technical Report No. R–211, Center for Computer–Aided Design, The University of Iowa, Iowa City, Iowa
Tsai, Y.C. and Soni, A.H., 1981, “Accesible Region and Synthesis of Robot Arms,” Journal of Mechanical Design, Vol. 103, pp.
803–811
Wang, J.Y. and Wu, J.K., 1993, “Dextrous Workspace of Manipulators, Part II: Computational MEthods,” Mechanics of Structures
17
Yang, F.C. and Lee, T.W., 1983, “On the Workspace of Mechanical Manipulators,” Journal of Mechanisms, Transmissions, and
Mathematically, the DOT–1 constraint is equivalent to the condition that the scalar product of body–fixed vectors s iȀ and
s jȀ, on bodies i and j, respectively, represented in the global frame, is zero; i.e.,
Partitioning the 141 vectors a and b as in Eq. 37, the derivatives ǒF dq1aǓ q and ǒF dq1aǓqb ǒ Ǔ are
q
ǒF dq1aǓ + ƪ0, s TjB(a 2, s iȀ) ) a 4 B T(p j, s jȀ)B(p i, s iȀ),0, s TiB(a 4, s jȀ) ) a 2 B T(p i, s iȀ)B(p j, s jȀ),ƫ
T T
q
(82)
ǒǒF d1
Ǔ
q a qb
Ǔ T T
+ [0 ,a4 B T(p j, sjȀ)B(b 2, siȀ) ) b 4 B T(a4, sjȀ)B(p i, siȀ) ) b 4 B T(p j, sjȀ)B(a2, siȀ) ,
T
(83)
q
0 , a B T(p i, siȀ)B(b 4, sjȀ)) b B T(a2, siȀ)B(p j, sjȀ) ) b B T(p i, siȀ)B(a4, sjȀ)ƫ
2T 2T 2T
Derivatives of the right side of the acceleration constraint equation corresponding to the DOT–1 constraint with respect to q
.
and q are
ǒǒF d1 .
Ǔ
.
q q qq
Ǔ + [0 ,p j ǒ2B T(p j, sjȀ)B(p i, siȀ) ) B T(p j, sjȀ)B(p i, siȀ)Ǔ , 0 , p i ǒ2B T(p i, siȀ)B(p j, sjȀ) ) B T(p i, siȀ)B(p j, sjȀ)Ǔ
.T . . .T . .
ƫ (84)
q
ǒǒF d1 .
Ǔ
.
q q qq .
Ǔ + ƪ 0 , 2sTjB(p i, siȀ) ) 2p j B T(p j, sjȀ)B(p i, siȀ) , 0 , 2sTiB(p j, sjȀ) ) 2p i B T(p i, siȀ)B(p j, sjȀ)ƫ
. .T . .T
(85)
q
ȧ
T i j i i j j
d1
q 0 0 0 (86)
Ȳ ȴ
q
0 B (p , s Ȁ)B(p , sT
Ȁ) 0
j D(s
j Ȁ, s ) i i j i
18
Derivatives of DOT–2 Constraint
The condition for orthogonality of a body–fixed vector a iȀ on body i and a vector d ij between bodies i and j (DOT–2
constraint) is
Assuming the orientation matrix A i to be orthonormal, the DOT–2 constraint can be rewritten as
F d 2 + ǒr j ) s j * r iǓ a i * sȀ TiaȀ i + 0
T
(88)
The derivative of the constraint of Eq. 88 with respect to q is obtained, using Eq. 16, as
ǒFdq2aǓ + ƪ* a2 B T(p i, a iȀ) ,ǒB(p j, sjȀ)a4 ) a3 * a1Ǔ B(p i, a iȀ) ) (d ij ) si)TB(a2, a iȀ) , a2 B T(p i, a iȀ) ,
T T T
q
(90)
a2 B T(p i, a iȀ)B(p j, sjȀ) ) a TiB(a4, sjȀ)ƫ
T
ǒǒF d2
Ǔ
q a qb
Ǔ + ƪ* b 2 B T(a2, a iȀ) , ǒb 4 B T(p j, sjȀ) ) b 3 * b 1 ǓB(a2, a iȀ)
T T T T
(91)
q
) ǒa4 B T(p j, sjȀ) ) a3 * a1 ǓB(b 2, a iȀ) ) b 4 B T(a4, sjȀ)B(p i, a iȀ) , b 2 B T(a2, a iȀ) ,
T T T T T
.
Derivatives of the right side of the acceleration constraint corresponding to the DOT–2 constraint with respect to q and q are
ǒǒF d2 .
Ǔ
.
q q qq
Ǔ + ƪ* p i B T(p i, a iȀ) , 2ǒp j B T(p j, sjȀ) ) rj * ri ǓB(p i, a iȀ) ) p j B T(p j, sjȀ)B(p i, a iȀ) ,
.T . .T .T .T . .T .
(92)
q
ǒǒF d2 .
Ǔ
.
q q qq .
Ǔ + ƪ* 2p i B T(p i, a iȀ) , 2ǒp j B T(p j, sjȀ) ) rj * ri ǓB(p i, a iȀ) ) 2ǒd Tij ) sTiǓB(p i, a iȀ) ,
.T .T .T .T .
(93)
q
2p i B T(p i, a iȀ) , 2p i B T(p i, a iȀ)B(p j, sjȀ) ) 2a TiB(p j, sjȀ)ƫ
.T .T .
The derivative of the product ǒF dq2Ǔ l with respect to q is obtained, using Eqs. 16 and 24, as
T
ȱ* B (p0 , a Ȁ) D(a
* B(p , a Ȁ)
Ȁ, d ) s ) B (p , a Ȁ) B (p , a Ȁ)B(p , s Ȁ)ȳ
0 0 i i
ǒǒF Ǔ lǓ + lȧ 0
T T T
ȧ
T i i i ij i i i i i j j
d2
q B(p , a Ȁ) 0 0 (94)
ȴ
i i
Ȳ
q
0 B (p , s Ȁ)B(p , a Ȁ) 0 D(s Ȁ, a )
T j i
j j i i
19
Derivatives of Distance Constraint
The condition that the distance vector d ij between points P i on body i and P j on body j is a nonzero constant C is called the
F
q a qb
ss 2b 2 B T(a2, si ) b 4 B T(a4, sj ) ,
T T
(100)
q
.
Derivatives of the right side of the acceleration constraint corresponding to the distance constraint with respect to q and q are
F
ss . .
q q qq 2p i B T(p i, si ) p j B T(p j, sj ) ,
.T . .T .
(101)
q
4ri rj p TiB T(p i, si ) p TjB T(p j, sj )B(p i, si ) 2p i B T(p i, si ) p j B T(p j, sj )B(p i, si ) ,
.T .T . . . .T . .T .
4ri rj p TiB T(p i, si ) p TjB T(p j, sj )B(p j, sj ) 2p i B T(p i, si ) p j B T(p j, sj )B(p j, sj )
.T .T . . . .T . .T .
F
ss . .
q q qq . 4ri rj p TiB T(p i, si ) p TjB T(p j, sj ) ,
.T .T . .
(102)
q
The derivative of the product F ssq l with respect to q is obtained, using Eqs. 16 and 24, as
T
20
ȱ 2B (p2I , s Ȁ) 2D(s Ȁ, d ) )2B(p , s Ȁ) * 2I
i i
2B (p , s Ȁ)B(p , s Ȁ)* 2B (p , s Ȁ)
* 2B(p , s Ȁ)
* 2B (p , s Ȁ)B(p , s Ȁ)
ȳ j j
ǒǒ Ǔ lǓ + lȧ * 2I ȧ
T T T T
ȧ
T i i i ji i i i i i i i i j j
ss
q * 2B(p , s Ȁ) 2I 2B(p , s Ȁ) (103)
i i j j
Ȳ
q
* 2B (p , s Ȁ)
T
* 2B
j (p ,
j s Ȁ)B(p , sT
Ȁ) j 2B
j (p , s Ȁ) 2D(s Ȁ,
i d )
i ) 2B (p T
, s Ȁ)B(p
j , s Ȁ)ȴ
j j ij
T
j j j j
The virtual work approach yields the following forms for the rotational spring–damper–actuator (RSDA) generalized
forces acting on bodies i and j (Haug, 1989):
0
ƪ ƫ ƪ ƫ
0
Q i + 2nG Th Ȁ + 2n G Th Ȁ
i i i i
(104)
0
j
ƪ ƫ0
Q j + * 2nG Th jȀ + * 2n G Th jȀ
j
ƪ ƫ (105)
where h iȀ and h jȀ are unit vectors along the common axis of rotation, represented in the local frames of bodies i and j,
Derivatives of the angular component of Q i, Q Ni + 2nG T(p i)hȀ i, with respect to q + ƪr Ti, p Ti, r Tj, p Tjƫ and q + ƪr i , p i , r j , p j ƫ
T T
. .T .T .T .T
are
where the matrix h iȀ * is defined as in Eq. 55 and the components of n q and n q are .
ē n+0 (109)
ēri
ē n + kNJ(fTf )fTB(p , g Ȁ) * (g Tf )fTB(p , f Ȁ)Nj ) cNJp. TB T(p , f Ȁ) @ ǒ(fTf )B(p , g Ȁ) * (g Tf )B(p , f Ȁ)Ǔ) fT(fTf )B(p. , g Ȁ) * fT(g Tf )B(p. , f Ȁ)Nj (110)
ēp i i j j i i i j j i i j j j i j i i i j i i j i j i i j i j i i
ē n+0 (111)
ērj
ē n + kNJ(fTf )g TB(p , f Ȁ) * (g Tf )fTB(p , f Ȁ)Nj ) cNJp. Tǒ(fTf )B(p , g Ȁ) * (g Tf )B(p , f Ȁ)ǓB(p , f Ȁ)) g T(fTf )B(p. , g Ȁ) * fT(g Tf )B(p. , f Ȁ)Nj (112)
ēp j i j i j j i j i j j i i j i i i j i i j j i i j i i i i j i i
ē. n + 0 (113)
ēri
21
. n c(fTf )fTB(p , g ) (g Tf )fTB(p , f ) (114)
p i i j j i i i j j i i
. n 0 (115)
rj
In Eqs. 109 and 113, {f i, g i, h i} and f j, g j, h j are unit vectors along axes of the local frames on bodies i and j, respectively.
.
Derivatives of the angular component of Q j, Q Nj 2nG T(p j)h j, with respect to q and q are computed in a similar way.
22
Figure 1 Definition of body–fixed vectors
hj fi
Pj Pi
gi
j gj
hi
fj
23
fj hi
Pi P
fi j
j
hj i
gi
gj
fj
hj
j Pj
gi dij
fi gj
hi
i Pi
24
Figure 5 Translational spring–damper–actuator
25
26
View publication stats