43

SpringerWienNewYork - ciando

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SpringerWienNewYork - ciando
Page 2: SpringerWienNewYork - ciando

~ SpringerWienNewYork

Page 3: SpringerWienNewYork - ciando

CISM COURSES AND LECTURES

Series Editors:

The RectorsGiulio Maier - Milan

Jean Salençon - PalaiseauWilhelm Schneider - Wien

The Secretary GeneralBernhard Schrefler - Padua

Executive EditorPaolo Serafini - Udine

The series presents lecture notes, monographs, edited works andproceedings in the field of Mechanics, Engineering, Computer Science

and Applied Mathematics.Purpose of the series is to make known in the international scientificand technical community results obtained in some of the activities

organized by CISM, the International Centre for Mechanical Sciences.

Page 4: SpringerWienNewYork - ciando

INTERNATIONAL CENTRE FOR MECHANICAL SCIENCES

COURSES AND LECTURES - No. 511

ADVANCED DESIGN OF MECHANICAL SYSTEMS:

FROM ANALYSIS TO OPTIMIZATION

EDITED BY

JORGE A.C. AMBRÓSIOIDMEC, INSTITUTO SUPERIOR TÉCNICO,

TECHNICAL UNIVERSITY OF LISBON, PORTUGAL

PETER EBERHARDINSTITUTE OF ENGINEERING AND COMPUTATIONAL MECHANICS,

UNIVERSITY OF STUTTGART, GERMANY

Page 5: SpringerWienNewYork - ciando

This volume contains 219 illustrations

This work is subject to copyright.All rights are reserved,

whether the whole or part of the material is concernedspecifically those of translation, reprinting, re-use of illustrations,

broadcasting, reproduction by photocopying machineor similar means, and storage in data banks.

© 2009 by CISM, UdinePrinted in ItalySPIN 12723423

All contributions have been typeset by the authors.

ISBN 978-3-211-99460-3 SpringerWienNewYork

Page 6: SpringerWienNewYork - ciando

PREFACE

Multibody systems are used extensively in the investigation of mechanical systems including structural and non-structural applications. It can be argued that among all the areas in solid mechanics the methodologies and applications associated to multibody dynamics are those that provide an ideal framework to aggregate dif-ferent disciplines. This idea is clearly reflected, e.g., in the multidisciplinary applications in biomechanics that use multibody dynamics to describe the motion of the biological entities, in finite elements where multibody dynamics provides po-werful tools to describe large motion and kinematic restrictions between system components, in system control where the methodologies used in multibody dynamics are the prime form of describing the systems under analysis, or even in many ap-plications that involve fluid-structure interaction or aero elasticity. The development of industrial products or the development of analysis tools, using multibody dynamics methodologies, requires that the final result of the develop-ments are the best possible within some limitations, i.e., they must be optimal. Furthermore, the performance of the developed systems must either be relatively insensitive to some of their design parameters or be sensitive in a controlled manner to other variables. Therefore, the sensitivity analysis of such systems is fundamental to support the decision making process.

This book presents a broad range of tools for designing mechanical systems ranging from the kinematic and dynamic analysis of rigid and flexible multibody systems to their advanced optimization. The multibody kinematics and dynamics methodologies are presented from the fundamentals to the point where it is possible to build and analyze complex multibody models of machines, vehicles and biome-chanics. The design sensitivity and optimization methods are presented and applied to these systems to solve problems in design optimization, reliability or parameter identification. It is intended that the models developed demonstrate cases of prac-tical importance and that the methods presented are used as tools for advanced design.

The first part of the book, authored by Dr. John Hansen, addresses the basic methodologies based on Cartesian coordinates for kinematics and dynamics of planar and spatial rigid multibody systems. The synthesis of mechanical systems is used to demonstrate the use of optimal approaches to the kinematic design of me-chanisms. The second part of this book, authored by Prof. Wojciech Blajer, explores the modeling and computational issues in the simulation of multibody systems including differential-geometric aspects of multibody dynamics, dependent and independent variable formulations, accuracy and stability of numerical solutions and a wide number of useful specialized techniques.

Page 7: SpringerWienNewYork - ciando

Sensitivity analysis, adjoint and direct differentiation methods with applications for kinematic and dynamic systems, computational considerations and applications in optimization, parameter identification, inverse analysis and reliability are in-troduced in the third part of this book by Prof. Daniel Tortorelli. The fourth part of the book, written by Prof. Peter Eberhard, is dedicated to the optimization of mul-tibody systems, exploring stochastic, deterministic, constraint, multicriteria and topology optimization, e.g., applied to mechanisms. The final part of this book, authored by Prof. Jorge Ambrósio, addresses the representation of flexible multi-body systems, their application in analysis and their use in the framework of optimization problems in biomechanics, vehicle dynamics, optimal ride and han-dling and aerospace multibody systems.

This book is a result of the Advanced School on Advanced design of mechanical systems: from analysis to optimization, which took place in the Centre International des Sciences Méchaniques (CISM), Udine, Italy, during June 23-27, 2008. The course, lectured by the contributors to this book, brought together a large number of participants ranging from doctoral and postgraduate students to researchers, developers, and young faculty. We are indebted to the lecturers of the Advanced School not only for putting together excellent presentations that greatly motivated the active participation of those that attended the course but also for their contri-bution to the lecture notes and to this book. We are grateful to all participants in the Advanced School for their excellent contributions to the discussions that took place during and after the course. A word of acknowledgement is also due to the CISM scientific council for supporting the Advanced School and recognizing the impor-tance of topics related to optimal design of multibody systems. Finally, a special word of thanks to Dipl.-Ing. Thomas Kurz for his help in formatting parts of this book, which greatly enhanced its quality.

Jorge A.C. Ambrósio Peter Eberhard Technical University of Lisbon, Portugal University of Stuttgart, Germany

Page 8: SpringerWienNewYork - ciando

TABLE OF CONTENTS

Preface

1. Planar Multibody Systems 1 1.1. Introduction 1 1.2. Cartesian Coordinates 1 1.3. Kinematic Constraints 4 1.4. Drivers 8 1.5. Solution of the Kinematic Problem 10 1.6. Velocities and Accelerations 13 1.7. Newton’s Equation 15 1.8. Forces 17 1.9. Numerical Integration 20

2. Spatial Multibody Systems 23 2.1. Introduction to Spatial Kinematic Constraints 23 2.2. Rotational Coordinates 23 2.3. Kinematic Constraints 27 2.4. Kinematic Joints 30 2.5. Newton-Euler Equations 33 2.6. Forces 36 2.7. Solution of the Equations of Motion 37

3. Synthesis of Mechanisms 39 3.1. Introduction 39 3.2. The Joint Coordinate Method 42 3.3. Optimization Using Time-Varying Design Variables 47 3.4. Optimization Using Dynamics 52 3.5. Synthesis Allowing for Non-Assembly 54

4. Differential-Geometric Aspects of Constrained System Dynamics 67 4.1. Introduction 67 4.2. Unconstrained System Dynamics 67 4.3. Constraint Equations 74 4.4. Constraint Reactions and Constraint Reaction-Induced

Dynamic Equations 77

5. Dependent Variable Formulations 83 5.1. Introduction 83 5.2. Governing Equations in DAE Forms 83

Page 9: SpringerWienNewYork - ciando

5.3. ODE Forms of the Equations of Motion 89 5.4. Constraint Violation Problem 91 5.5. Aspects of Accuracy of Constraint-Consistent Solutions 97

6. Independent Variable Formulation 107 6.1. Introduction 107 6.2. Joint Coordinate Formulation for Open-Loop Systems 107 6.3. Velocity Partitioning Formulation 112 6.4. General Projective Scheme for Independent Variable

Formulations 117 6.5. Treatment of Closed-Loop Multibody Systems 120

7. Other Useful Modeling and Simulation Techniques 131 7.1. Introduction 131 7.2. Augmented Lagrangian Formulation 131 7.3. Augmented Joint Coordinate Method 142

8. Sensitivity Analysis: Linear Static Spring Systems 151 8.1. Introduction 151 8.2. Notation 152 8.3. Static Analysis 154 8.4. Solution Strategy 158 8.5. Finite Element Program 161 8.6. Sensitivity Analysis 172 8.7. Sensitivity Computer Program 182 8.8. Optimization Problems 190

9. Sensitivity Analysis: Nonlinear Static Spring Systems 195 9.1. Nonlinear Linear Static Spring Systems 195 9.2. Newton Raphson Method 197 9.3. Sensitivity Analysis: Nonlinear Elastic Static Spring Systems 206 9.4. Transient Problems 216

10. Sensitivity Analysis: Generalized Coordinate Kinematic Systems 219 10.1. Position Analysis 219 10.2. Velocity and Acceleration Analysis 225 10.3. Inverse Dynamic Analysis 226 10.4. Sensitivity Analysis 231 10.5. Conclusion 235

Page 10: SpringerWienNewYork - ciando

11. Optimization of Mechanical Systems 237 11.1. Introduction 237 11.2. Optimization Algorithms 240 11.3. An Example from Multibody Dynamics 245 11.4. Concluding Remarks 250

12. Using Augmented Particle Swarm Optimization for Constrained Problems in Engineering 253

12.1. The Basic PSO Algorithm 256 12.2. Augmented LagrangeMultiplier Method 257 12.3. Augmented Lagrange Particle Swarm Optimization 260 12.4. Web-Based Optimization with ALPSO 264 12.5. Engineering Example: Hexapod Robot 265 12.6. Concluding Remarks 269

13. Optimization of Mechatronic Systems Using the Software Package NEWOPT/AIMS 273 13.1. Optimization of Mechatronic Systems 274 13.2. Software Package NEWOPT/AIMS 276 13.3. Example: Hexapod Manipulator 280 13.4. Concluding Remarks 284

14. Topology Optimized Synthesis of Planar Kinematic Rigid Body Mechanisms 287 14.1. Topology Representation of Mechanisms 289 14.2. Genetic Algorithms 291 14.3. Kinematic Analysis and Dimensional Synthesis 292 14.4. Topology Optimization of Mechanisms 296 14.5. Concluding Remarks 299

15. Grid-Based Topology Optimization of Rigid Body Mechanisms 303 15.1. Grid Structures for Topology Optimization 304 15.2. Kinematic Analysis 305 15.3. Mechanism Design Using Grid Structures 307 15.4. Amplifier Mechanism Example 313 15.5. Concluding Remarks 313

16. Lumped Deformations: a Plastic Hinge Approach 317 16.1 Introduction 317 16.2 Flexible Multibody Dynamics by Lumped Deformations 319 16.3 Plastic Hinges Constitutive Relations Implementation 322 16.4 Continuous Contact Force Model 324

Page 11: SpringerWienNewYork - ciando

16.5 Road Vehicle Multibody Model for Crash Analysis 326 16.6 Application to the Design of Railway Dynamics Crash Tests 336

17. Distributed Deformation: a Finite Element Method 351 17.1 Introduction 351 17.2 Brief Literature Overview 351 17.3 General Deformation of a Flexible Body 354 17.4 Reference Conditions in a Flexible Body: Linear

Elastic Deformations 356 17.5 Generalized Elastic Coordinates for Linear Flexible Bodies 358 17.6 Generalized Coordinates for Nonlinear Flexible Bodies 361 17.7 Kinematic Joints Involving Flexible Bodies 362 17.8 Demonstration Examples 368

18. Optimization of Flexible Multibody Systems 375 18.1 Introduction 375 18.2 Road Vehicle Multibody Model 376 18.3 Road Vehicle Simulations for Comfort and Handling 383 18.4 Vehicle Dynamics Optimization for Comfort and Handling 393 18.5 Minimization of the Maximum Deformation Energy 399 18.6 Sensitivity Analysis in Flexible Multibody Dynamics 401 18.7 Demonstrative Example: Flexible Slider-Crank Mechanism 407 18.8 Optimization of the Deployment of a Satellite Antenna 414 18.9 Conclusions 422

Page 12: SpringerWienNewYork - ciando

1 Planar Multibody Systems

John M. Hansen

MAN Diesel SE, Teglholmsgade 41, DK-2450 Copenhagen SV, Denmark∗

1.1 Introduction

The first three chapters given here are actually divided into two logical parts:Chapter 1–2 and Chapter 3. The first two chapters introduce the general analy-sis methods and notation used in most of the remaining chapters, including theconcept of Cartesian coordinates. It is therefore recommended to read these chap-ters first. The chapters are divided into the four components: Planar kinematics,planar dynamics, spatial kinematics, and spatial dynamics. It does, however, onlytreat systems of rigid bodies; in later chapters it is shown how the methods can beexpanded to deal with flexible bodies. The notation used here is strongly based onthe one found in (Nikravesh, 1988).

Chapter 3 is on synthesis of mechanisms, and deals mostly with some none-standard methods on this subject. It also assumes some knowledge of optimizationmethods, so it is recommended to postpone reading of this chapter until the chap-ters on general optimization and synthesis have been read.

1.2 Cartesian Coordinates

Consider the rigid body, labelled i, shown in Figure 1.1. The body is located in aplane with an inertial xy-coordinate system by the geometric vector�ri. This vectorhas the algebraic components

ri =

{xi

yi

}(1.1)

which also locates the center of mass of the body. At the center of mass is attacheda local ξiηi-coordinate system. This coordinate system defines the rotation, ϕi, ofthe body as shown. All together the three quantities, xi, yi and ϕi, makes up theCartesian coordinates, qi of body i:

qi =

⎧⎨⎩

xi

yi

ϕi

⎫⎬⎭ (1.2)

∗Work carried out while the author worked at Technical University of Denmark, Dept. of MechanicalEngineering, Nils Koppels Alle bldg. 404, DK-2800 Kgs. Lyngby, Denmark

Page 13: SpringerWienNewYork - ciando

2 J. M. Hansen

Figure 1.1. Planar rigid body with a local coordinate system attached.

or

qi =

{ri

ϕi

}(1.3)

In Figure 1.2 body i is shown with a point Pi. This point is fixed in body i, and hasthe position vector �sP

i relative to the center of mass. In the ξiηi coordinate systemthis vector is given by

s′Pi =

{ξ′

Pi

η′Pi

}(1.4)

Figure 1.2. Rigid body with a point Pi attached.

Page 14: SpringerWienNewYork - ciando

Planar Multibody Systems 3

From Figure 1.2 it can be seen that the components of �sPi in the global xy-

coordinate system can be written as

sPi =

{ξ′

Pi cosϕi − η′P

i sin ϕi

ξ′Pi sin ϕi + η′P

i cosϕi

}(1.5)

This we can also write as

sPi =

[cosϕi − sinϕi

sin ϕi cosϕi

]{ξ′

Pi

η′Pi

}(1.6)

orsP

i = Ais′Pi (1.7)

in which

Ai =

[cosϕi − sin ϕi

sin ϕi cosϕi

](1.8)

is the transformation matrix which transforms entities given in the local coordinatesystem to the global xy coordinate system. The transformation matrix Ai is anorthonormal matrix, see e.g. (Nikravesh, 1988), which means that

s′Pi = AT

i sPi (1.9)

where AT is the transpose of A. From Figure 1.2 it can also be seen that

�rPi = �ri + �sP

i (1.10)

from which the global coordinates of point Pi can be found as

rPi = ri + sP

i (1.11)

orrP

i = ri + As′Pi (1.12)

in which

rPi =

{xP

i

yPi

}(1.13)

are the global coordinates of Pi. Equation (1.12) can be expanded to

rPi =

{xi

yi

}+

[cosϕi − sinϕi

sinϕi cosϕi

]{ξ′Piη′P

i

}(1.14)

from which it can be seen that the coordinates of any point on a body can be deter-

mined if the Cartesian coordinates of the body qi ={rT

i ϕi

}Tand the coordinates

Page 15: SpringerWienNewYork - ciando

4 J. M. Hansen

Figure 1.3. A collection of nb bodies in a plane

ξPi and ηP

i of the point in the local coordinate system are known. This fact willbe used extensively in the following. If we have more than one body, let us say nb

bodies, as shown in Figure 1.3, the coordinates of all the bodies can be assembledin the vector q as

q =

⎧⎪⎪⎪⎨⎪⎪⎪⎩

q1

q2...

qnb

⎫⎪⎪⎪⎬⎪⎪⎪⎭ (1.15)

or

q =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

x1

y1

ϕ1

x2

...xnb

ynb

ϕnb

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

(1.16)

1.3 Kinematic Constraints

In the preceding section it has been shown how we can describe the position androtation of a number of bodies located in the plane. For most mechanical systems

Page 16: SpringerWienNewYork - ciando

Planar Multibody Systems 5

the bodies do not move independently, as they are connected by kinematic jointswhich restrict their relative motion. Two examples of such joints, the revolute andthe translational joint, are shown in Figure 1.4. The revolute joint constrains themotion of the two bodies connected by it to a rotation about a common axis, whilethe translational joint constrains the motion to a translational movement along anaxis.

Figure 1.4. A slider-crank mechanism with 3 revolute (R) and 1 translational (T) joint

There are of course many more joint types present in mechanical systems, butthese are the most common ones, and we shall restrict ourselves to describe thesetwo in details. For a description of more joints, please refer to e.g. (Nikravesh,1988).

Figure 1.5. Revolute joint connecting bodies i and j

The revolute joint In Figure 1.5 a schematic drawing of a revolute joint betweenbodies i and j is shown. The rotational axis is perpendicular to the xy-plane, goingthrough the point P . As the joint is connected to both bodies, the point actually

Page 17: SpringerWienNewYork - ciando

6 J. M. Hansen

has two coincident points, Pi on body i and Pj on body j. For the joint to act as arevolute joint, these points must be coincident at all times, which we can write as

�ri + �sPi − �rj − �sP

j = �0 (1.17)

or, using Equation (1.12)

Φ = ri + AisPi − rj −Ajs

Pj = 0 (1.18)

In more elaborate terms this comes out as

Φ(r) =

{xi + ξP

i cosϕi − ηPi sin ϕi − xj − ξP

j cosϕj + ηPj sin ϕj

yi + ξPi sinϕi + ηP

i cosϕi − xj − ξPj sin ϕj − ηP

j cosϕj

}= 0

(1.19)From this it is also clear that only coordinates from body i and body j appear inthe expression for this constraint, i.e. Φ(r) = Φ(r)(qi, qj).

Figure 1.6. Schematic of a translational joint

The translational joint In Figure 1.6 a schematic drawing of a translational jointbetween bodies i and j is shown together with points Pi and Qi on body i andpoint Pj on body j. The translational joint restricts the relative motion betweenthe two bodies along the translational axis, meaning also that the two bodies cannotrotate relative to each other. Therefore, the conditions for maintaining the requiredrelative motion are: There cannot be any relative rotation between the two bodies,

Page 18: SpringerWienNewYork - ciando

Planar Multibody Systems 7

and the point Pj should remain on the line that passes through−−→PiQi. The first

condition we can express as

(ϕi − ϕj)− (ϕi − ϕj)0 = 0 (1.20)

where (ϕi − ϕj)0 is the given, constant angle between the two bodies. The othercondition we can express as

�si ‖ �d⇒ �si ⊥ �dij ⇒ sTi dij = 0 (1.21)

where �si =−−→QiPi and �dij =

−−→PiPj , and˘over a vector �a indicates the vector rotated

90o counterclockwise. In component form, this means that

a =

{xy

}⇒ a =

{−yx

}. (1.22)

The constraint equations that define a translational joint then become

Φ(t) =

{(ϕi − ϕj)− (ϕi − ϕj)0

sTi dij

}= 0 (1.23)

As we have that

si = rPi − r

Qi = ri + Ais

′Pi − ri −Ais

′Qi = Ai(s

′Pi − s′Q

i ) (1.24)

anddij = rP

j − rPi = ri + Ais

′Pi − rj −Ajs

′Pj , (1.25)

Equation (1.23) can also be written as

Φ(t) =

{(ϕi − ϕj)− (ϕi − ϕj)0(

Ai

(s′P

i − s′Qi

))T (ri + Ais

′Pi − rj −Ajs

′Pj

)} = 0 (1.26)

We again notice that the constraint equations only depend on the coordinates ofthe two bodies connected by the joint, i.e. Φ(t) = Φ(t)(qi, qj).

Ground One last kinematic constraint will be mentioned here. For kinematicproblems, i.e. mechanisms, it will normally be necessary to constrain one or morebodies to remain fixed in space, i.e. to ground a body. Mathematically, we canexpress this for body i as

Φ(g) =

⎧⎨⎩

xi − c1

yi − c2

ϕi − c3

⎫⎬⎭ = 0 (1.27)

where c1, c2, and c3 are constants.

Page 19: SpringerWienNewYork - ciando

8 J. M. Hansen

1.4 Drivers

We now have most of the building blocks needed to construct a mechanism. Con-sider for example the mechanism shown in Figure 1.7(a). If we disassemble thesystem, as shown in Figure 1.7(b), we see that it is a system with six bodies. Toobtain the model shown in Figure 1.7(a) we need to “glue” the bodies togetherwith the six revolute joints marked with R and one translational joint, marked withT . Also, one body has to be fixed to ground, marked with G.

Figure 1.7. A mechanism from a sewing machine. The mechanism (a), and the disassem-bled mechanism with the “gluing” joints (b)

For the mechanism shown in Figure 1.7 we can now set up the equations neededto assemble the mechanism. For each of the six revolute joints we have 2 equa-tions, c.f. Equation (1.18), for the translational joint we have 2 equations, c.f.Equation (1.23), and for the ground we have 3 equations, c.f. Equation (1.27). Aswe have six bodies, and each of the bodies has 3 coordinates, we need to determinen = 6× 3 = 18 coordinates. To do this we have m = 6× 2 + 1× 2 + 1× 3 = 17equations. This is therefore a system with 1 Degree-of-freedom, or 1 DOF, and wesomehow need to specify this DOF. For kinematic analysis we will use drivers forthat.

In general, if we have n coordinates and m constraint equations, we have asystem of ndof = n −m DOF, and we need to specify ndof drivers. Two of themost often encountered drivers will be given here.

The most common driver in planar kinematics is the rotational driver whichspecifies a relative rotation between two bodies, most often between ground andan adjacent body, as shown in Figure 1.8. For this driver we have the equation

Φ(rd) = ϕi − ϕj − f(t) = 0 (1.28)

Page 20: SpringerWienNewYork - ciando

Planar Multibody Systems 9

Figure 1.8. The rotational driver

which specifies that body i rotates relative to body j in a manner described byf(t). Very often the function will be of the form f(t) = 1

2αt2 + ωt + ϕ0. Noticethat if α = 0 in this expression, we have a driver with a constant angular velocity.

Another common driver is the distance driver for which a distance between apoint Pi in body i and a point Pj in body j is specified, as shown in Figure 1.9.

Figure 1.9. The distance driver

The constraint equation for this driver can be written as

Φ(dd) = dTijdij − f(t)

2= 0 (1.29)

in which dij = rj + sPj − ri − sP

i .With the driver constraints available, it is now possible to set up enough equa-

tions to solve the kinematics problem. For example for the sewing mechanism

Page 21: SpringerWienNewYork - ciando

10 J. M. Hansen

problem above, one could decide to drive body 4 relative to ground with a rota-tional driver, which would give us the one equation missing.

Notice that the driver constraint equations differ from the joint constraint equa-tions in the sense that they are explicit functions of time.

1.5 Solution of the Kinematic Problem

Consider again the mechanism from Figure 1.7. We can “build” this from 6 bodies,6 revolute joints, 1 translational joint and one driver. We assemble all the constraintequations from joints and drivers into Φ(q, t) as in

Φ(q, t) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

Φ(r)1 (q)

Φ(r)2 (q)

...

Φ(r)6 (q)

Φ(t)(q)

Φ(g)(q)

Φ(rd)(q, t)

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

= 0 (1.30)

If we look at the mechanism at a certain time, tk, these equations become

Φ(q, tk) =

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

Φ(r)1 (q)

Φ(r)2 (q)

...

Φ(r)6 (q)

Φ(t)(q)

Φ(g)(q)

Φ(rd)(q, tk)

⎫⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭

= 0 (1.31)

which are exactly 18 non-linear equations in the 18 unknown coordinates con-tained in q, i.e. qT = {x1, y1, ϕ1, x2, . . . x6, y6, ϕ6}

T .This can be generalized so that for a given kinematic system we must solve the

equationsΦ(q, t) = 0 (1.32)

for given values of t.

The Newton-Raphson Procedure The task at hand now is to solve a set of non-linear equations. Consider first the one-dimensional equivalent: Solve the scalarequation Φ(q) = 0 where Φ(q) is a non-linear function of q. Assume that we

Page 22: SpringerWienNewYork - ciando

Planar Multibody Systems 11

have an initial guess, q0 of the solution. We can then make a first-order Taylorexpansion of Φ:

Φ(q) ≈ Φ(q0) +dΦ

dq

∣∣∣∣q0

Δq (1.33)

in which Δq = q− q0. If we set this approximating function equal to zero, we cansolve for Δq:

Φ(q0) +dΦ

dq

∣∣∣∣q0

Δq = 0 ⇒ Δq = −Φ(q0)

dΦdq

∣∣∣q0

(1.34)

and then determine q1 as q1 = q0 + Δq. From this we can determine q2 as

q2 = q1 −Φ(q1)

dΦdq

∣∣∣q1

(1.35)

This process can be continued to determine q3, q4, etc. The process is showngraphically in Figure 1.10. Under most conditions this process will converge invery few steps.

Figure 1.10. The Newton-Raphson procedure for a scalar function

This process can be generalized to n-dimensions. If we have an n-vector offunctions Φ(q) in the n-unknowns q, and we have an initial guess of the solution,q0, we can make a Taylor expansion of this as

Φ(q) ≈ Φ(q0) + Φq∣∣q

0

Δq (1.36)

Page 23: SpringerWienNewYork - ciando

12 J. M. Hansen

in which we have defined

Φq :=∂Φ

∂q(1.37)

Again, setting the first-order expansion equal to zero, we can solve for Δq:

Φ(q0) + Φq∣∣q

0

Δq = 0⇒ Φq∣∣q

0

Δq = −Φ(q0) (1.38)

which is a set of linear equations. Once Equation (1.38) has been solved, q can beupdated using q1 = q0 +Δq, and an iterative process similar to the one describedfor the one-dimensional case can be performed.

The Jacobian Matrix As we have seen in the section on the Newton-Raphsonprocedure we need the partial derivative of the constraints with respect to the Carte-sian coordinates in order to solve the set of non-linear equations that the constraintsconstitute. In this section we will demonstrate how we can do that in a systematicway for various joints and drivers.

First, we take a look at how the Jacobian matrix, ∂Φ/∂q is constructed. Clearly,the k-th element is the k-th constraint equation differentiated with respect to the-th coordinate.

Consider first the constraint equations for the revolute joint described in thesection on this joint:

ri + AisPi︸ ︷︷ ︸

qi

− rj −AjsPj︸ ︷︷ ︸

qj

= 0 (1.39)

As seen, these equations only depend on the Cartesian coordinates for the twobodies, i and j, which are connected to this joint. Therefore the Jacobain matrixonly has entries in the columns that correspond to the coordinates belonging to thei-th and j-th body, as seen in Figure 1.11.

· · · xi yi ϕi · · · xj yj ϕj · · ·...

Φ(r) 0 · · · 00 · · · 0

××

××

××

0 · · · 00 · · · 0

××

××

××

0 · · · 00 · · · 0

...

Figure 1.11. Structure of the entries in the Jacobian matrix from a revolute joint

Similar observations can be made for the translational joint and the drivers,we have presented so far, whereas a grounded body only will have entries in thecolumns corresponding to the coordinates for this body.

Page 24: SpringerWienNewYork - ciando

Planar Multibody Systems 13

Table 1.1. Entries of the Jacobian matrix for selected joints and drivers. (Subscript x and yindicates the x- and y- component of a vector, respectively)

xi yi ϕi xj yj ϕj

Φ(r)q

10

01

−sPi y

sPi x

−10

0−1

sPj y

−sPj x

Φ(t)q

0siy

0−six

1−six(dijx + sP

i x)−siy(dijy + sP

i y)

0−siy

0six

−1sixsP

j x+

siysPj y

Φ(g)q

100

010

001

Φ(rd)q 0 0 1 0 0 −1

Φ(dd)q −2dijx −2dijy

2(sPi ydijx

−sPi xdijy)

2dijx 2dijy

−2(sPj y

dijx

−sPj x

dijy)

Here, we will not derive the various entries for the Jacobian matrix, but restrictourselves to give the entries for ground, the revolute and translational joint, andthe rotational and distance drivers, see Table 1.1. A thorough derivation of theseentries as well as a larger table of Jacobian matrix entries for many joint types canbe found in e.g. (Nikravesh, 1988).

With these entries at hand, it is now possible systematically to set up the Jaco-bian matrix for any planar mechanism which is composed of a number of bodiesinterconnected with an arbitrary combination of revolute and translational joints,grounded bodies, and rotational and distance drivers.

1.6 Velocities and Accelerations

Once the positions have been obtained, and hence the Jacobian matrix is availablein factorized form, the velocities and accelerations may be obtained directly asshown below

Velocity analysis The constraint Equations (1.32) must hold for all t. Hence,both sides can be differentiated with respect to time to obtain

Φqq = −Φt ≡ υ (1.40)

where arguments (q, t) have been left out for clarity and Φ• denotes ∂Φ∂• . For all

holonomic constraints, like the joints shown so far, the entries on the right handside are 0, so that in most cases only entries from drivers are present. It is also

Page 25: SpringerWienNewYork - ciando

14 J. M. Hansen

Table 1.2. Entries in γ for selected joints and drivers. (Subscript x and y indicates the x-and y- component of a vector, respectively)

γ

Φ(r) (sPi x − xi)φ

2i − (sP

j x− xj)φ

2j

(sPi y − yi)φ

2i − (sP

j y− yj)φ

2j

Φ(t)0

−2(six(xi − xj) + siy

(yi − yj))φi

−(six(yi − yj)− siy

(xi − xj))φ2i

Φ(g)000

Φ(rd) ¨f(t)

Φ(dd) 2(sPi φ2

i − sPj φ2

j )T · d− dT · d + f f + f2)

noted that the Jacobian matrix has already been factorized at the current configu-ration in the last iteration step of the Newton-Raphson procedure. So to determinethe velocities of the bodies requires merely a forward-backward substitution.

Acceleration analysis As for the velocity analysis, the accelerations can be de-termined by differentiating the velocity Equation (1.40) with respect to time toobtain

Φqq = −(Φqq)qq − 2Φqq −Φtt ≡ γ (1.41)

where it again is seen that the accelerations can be determined by a forward-backward substitution using the factorized Jacobian matrix. Here, however, theright hand side is more complex. Values for the common constraints as shownabove are given in Table 1.2, some taken from (Nikravesh, 1988).

Time simulation Above, we have described how we can solve for all the Carte-sian coordinates of the bodies in a mechanical system for a given time tk. Mostoften, we want to perform a simulation of the behaviour of the system over a pe-riod of time, say from tbegin to tend. Therefore, we need to introduce a time loopinto the simulation. This can be accomplished as shown in Figure 1.12. We noticehere that the only terms that depend explicitly on time are the functions included inthe driver constraints. Hence, the procedure can be carried out as follows: At theinitial time, tbegin, calculate the function values for all driver functions. Solve forthe Cartesian coordinates using the Newton-Raphson procedure, as shown in thesection on this procedure. Then increment t, solve again, increment t, etc. untiltend has been reached.

Page 26: SpringerWienNewYork - ciando

Planar Multibody Systems 15

1.7 Newton's Equation

In the previous sections it was shown how an analysis of a mechanism made fromrigid bodies can be carried out, assuming that the system is kinematically driven.That is, the behavior is given by geometry and the driving functions of the driver(s).No external forces or inertia is included. In the section that follows, the systemequations for dynamics of constrained planar systems of rigid bodies are derived,based on Newton’s equations of motion. Thereby it is possible to predict the be-havior of the system under influence of inertia and external forces.

For an unconstrained rigid body i the equations of motion are written as

mixi = fix

miyi = fiy

μiφi = ni

(1.42)

where mi is the mass of body i, μi is the polar moment of inertia of body i, fix, fiy

are the forces acting on body i in the x and y direction, respectively, and ni is themoment acting on the body.

Figure 1.12. The kinematic simulation procedure

Page 27: SpringerWienNewYork - ciando

16 J. M. Hansen

In matrix form this becomes⎡⎣m 0 0

0 m 00 0 μ

⎤⎦

i

⎧⎨⎩

xy

φ

⎫⎬⎭

i

=

⎧⎨⎩

fx

fy

n

⎫⎬⎭

i

(1.43)

or more compactM iqi = gi (1.44)

For a system of n unconstrained bodies, this becomes

Mq = g (1.45)

in whichM = diag[M1, M 2, . . . ,Mn]

q ={qT

1 , qT2 , . . . , qT

n

}T

g ={gT

1 , gT2 , . . . , gT

n

}T

(1.46)

Now, for a constrained system of bodies, constraint forces must be included so thatEquation (1.45) becomes

Mq = g + gc (1.47)

In (Nikravesh, 1988) it is shown that the constraint forces can be written as

gc = ΦTq λ (1.48)

where λ are Lagrange multipliers and Φ are the constraint equations introduced inthe section on kinematic constraints earlier. It is worth noting here that this alsoimplies that for e.g. a body i connected to a revolute joint, the reaction forces fromthe joint acting on the body can be determined as

grc = Φr

qTλ (1.49)

Substitution of Equation (1.48) into Equation (1.47) yields the equations ofmotion for a constrained system of rigid bodies

Mq −ΦTq λ = g (1.50)

which must be solved together with the constraint equations

Φ = 0 (1.51)

in order to simulate the behavior of the system.

Page 28: SpringerWienNewYork - ciando

Planar Multibody Systems 17

1.8 Forces

The forces g is a vector of forces acting on the individual bodies, gi, each of whichhave the components

gi = {fx, fy, n}Ti (1.52)

where fxi, fyi, ni are the sum of all forces in x and y directions and the sum ofall moments, including moments from forces not acting at the center of gravity. Inthe following gi for various common forces are determined.

Figure 1.13. Single force acting on a body

Single force or moment For a single force �fi acting on body i at point Pi asshown in Figure 1.13 the force components are fxi and fyi. The point Pi is given

by its local coordinates s′Pi =

{ξP , ηP

}T

iand hence the global components are

sP = Ais′Pi . Therefore, the moment about the center of gravity acting on the

body becomesni = −sP

y fxi + sPx fyi (1.53)

or

ni = −(ξPi sin φi + ηP

i cosφi)fxi + (ξPi cosφi − ηP

i sinφi)fyi (1.54)

Hence, the vector of generalized forces acting at a point Pi on a body from asingle force becomes

gfi =

⎧⎨⎩

fxi

fyi−(ξP

i sin φi + ηPi cosφi)fxi + (ξP

i cosφi − ηPi sinφi)fyi

⎫⎬⎭ (1.55)

Page 29: SpringerWienNewYork - ciando

18 J. M. Hansen

Translational spring Consider a translational spring as depicted in Figure 1.14.The spring is attached to point Pi on body i and to point Pj on body j. The forceof the spring is a function of the difference between the deformed length l and theundeformed length l0, that is

f (sp) = f(l − l0) (1.56)

but the characteristics of the spring can be linear as well as nonlinear. For a linearspring with stiffness k Equation (1.56) takes the simpler form

f (sp) = k · (l − l0) (1.57)

The length of the deformed spring can be found as the length of the vector�l =

−−→PjPi as shown in Figure 1.14. From this figure we also see that this vector

can be written asl = rj + Ajs

′Pj − ri −Ais

′Pi (1.58)

If we define a unit vector u = l/l the force from the spring acting on body i andbody j, respectively, can be written as

f(sp)i = f (sp)u (1.59)

andf

(sp)j = −f (sp)u (1.60)

If the spring is attached away from the center of gravity, the moment contributionmust of course also be included, cf. Equation (1.55).

Figure 1.14. Translational spring acting between bodies i and j

Page 30: SpringerWienNewYork - ciando

Planar Multibody Systems 19

Translational damper For a translational damper as the one shown in Fig-ure 1.15 the damping force is given as

f(d)i = dl (1.61)

Since l =√

lT l we find that

l =lTl

l(1.62)

In Equation (1.62) l can be found from Equation (1.58) as

l = rj + φjBjs′Pj − ri − φiBis

′Pi (1.63)

in which

Bi =

[− sinφi − cosφi

cosφi − sinφi

](1.64)

and Bj is defined similarly. As for the translational spring, the force exerted onthe two bodies can now be determined as ±f (d)u and applied in exactly the sameway as for the spring. Expressions for more external forces can be found in forexample (Nikravesh, 1988).

Figure 1.15. Translational damper between two bodies

Page 31: SpringerWienNewYork - ciando

20 J. M. Hansen

1.9 Numerical Integration

To solve the set of differential-algebraic equations (DAEs) Equation (1.50) andEquation (1.51) it is necessary to rewrite the equations. As can be seen, if thereare m constraints, there are in Equation (1.50) n equations with n + m unknowns,and in Equation (1.51) there are m equations with n unknowns. If we differentiateEquation (1.50) twice with respect to t we have Equation (1.41):

Φqq = γ (1.65)

Combining this with Equation (1.50) we get[M ΦT

qΦq 0

]{q

−λ

}=

{g

γ

}(1.66)

This is a linear set of equations in q and λ which can be solved for when q, q, andg are known. To simulate the behavior of this system we need to integrate q intoq. As Equation (1.66) cannot in general be solved analytically we need to apply anumerical integration procedure. Most numerical differential equation solvers aredesigned to treat first order differential equations, i.e. to solve the system

y = f(y, t) (1.67)

We define an auxillary vector y as

y =

{q

q

}(1.68)

and hence

y =

{q

q

}(1.69)

In order to relate this to Equation (1.66) we recall that the elements of the coeffi-cient matrix, M and Φq , are functions of q, while the elements of the right-handside, g and γ, depend on q, q, and t. Therefore it is possible to define a functionthat can calculate q as function of y and t, and hence generate the last part of y

(the first part of y, that is q, is copied from the last part of y).Any differential equation solver solves the equations in discrete time steps, i.e.

from a known state at t0, it calculates the solution at times t1, t2, . . . , tn (oftent0 + Δt, t0 + 2Δt, . . . , tend ), and hence for each call to the solver the equationsare solved from time ti to ti+1.

As mentioned above the procedure is started from a known state at t0, i.e.

y(t0) ={qT (t0), q

T (t0)}T

, which must be input to the differential equationsolver.

Page 32: SpringerWienNewYork - ciando

Planar Multibody Systems 21

These values cannot be given at random but must satisfy the constraint equa-tions, i.e.

Φ(q(t0)) = 0 (1.70)

andΦq(q(t0))q = 0 (1.71)

Therefore, before integration starts it is of good practice to correct any giveninitial value using equations (1.70) and (1.71). Note that even if the initial condi-tions lead to small errors in the position and velocity constraint equations, thesecan be kept under control during the integration process if a constraint stabilizationmethod is used (Nikravesh, 1988), (Garcia de Jalon and Bayo, 1994).

References

Garcia de Jalon, J. and Bayo, E. Kinematic and Dynamic Simulation of Multibody Systems.Springer-Verlag New York, 1994.

Nikravesh, P.E. Computer-Aided Analysis of Mechanical Systems. Prentice-Hall, NewJersey, 1988.

Page 33: SpringerWienNewYork - ciando

2 Spatial Multibody Systems

John M. Hansen

MAN Diesel SE, Teglholmsgade 41, DK-2450 Copenhagen SV, Denmark†

2.1 Introduction to Spatial Kinematic Constraints

As for the planar case a set of coordinates are needed to describe position androtation of the bodies in a spatial mechanical system in order to describe the kine-matics. For the translational coordinates that is fairly straight forward, as it merelyrequires an extra Cartesian coordinate, z. Therefore the position vector ri for abody i becomes

ri =

⎧⎨⎩

xyz

⎫⎬⎭

i

(2.1)

For the rotational parameters, however, it is more complex. Since rotation aroundmore than one axis is not commutative as will be shown below; it is not sufficientto add the two additional angles around which the body can rotate to the vector ofcoordinates.

2.2 Rotational Coordinates

As mentioned above extending translations from planar to spatial systems poses noproblem. As can be seen from Figure 2.1 (a) the order of which the componentsof the translation vector is applied does not matter. It is possible to move fromorigo to point P along the path shown with continuous lines, i.e. first along thex-axis, then along the z-axis and finally along the y-axis. It is also possible tomove exactly the same distances along first the z-axis, then along the y-axis andfinally along the x-axis. Both paths lead to the same point, and hence the vector�sP is uniquely defined. With the rotations, however, it is more complex. Considerthe block shown in Figure 2.1 (b) with a local ξ, η, ζ coordinate system attached.The same block is shown in Figure 2.1 (c) rotated first π/2 around the ξ-axis andthen π/2 around the (now rotated) η-axis. In Figure 2.1 (d) the block has beenrotated from the same initial position but this time first π/2 around the η-axis andthen π/2 around the (now rotated) ξ-axis. As can be seen not only does the blockend up in two different positions - the attached coordinate system also shows that

†Work carried out while the author worked at Technical University of Denmark, Dept. of MechanicalEngineering, Nils Koppels Alle bldg. 404, DK-2800 Kgs. Lyngby, Denmark

Page 34: SpringerWienNewYork - ciando

24 J. M. Hansen

it has been rotated differently in the two cases. Therefore it is not possible simplyto add two more angles to the q vector introduced in the planar case and a differentapproach must be applied.

Figure 2.1. Spatial translation and rotation, (a) translating to a point along two differentpaths, (b) a block in initial position, (c) the block rotated around two axes, (d) same blockrotated about the same two axes, but in reverse order

First of all it must be realized that the primary purpose of having rotation coor-dinates is to describe how a body is rotated relative to a coordinate system, usuallythe inertial coordinate system. That is, we are looking for a way to describe thecoordinates of a point or a vector in one coordinate system when the coordinatesin another coordinate system are known, as in

sP = As′P (2.2)

In Equation (2.2) A is now a 3×3 matrix and the s vectors have three components.The matrix A is referred to as the matrix of direction cosines. Consider againEquation (2.2). The vector s′P hold the components of vector �sP given in thelocal coordinate system ξ, η, ζ while sP hold the components expressed in theglobal coordinate system. Each element of A, aij then holds the cosine of theangle between the i-axis of the global coordinate system and the j-axis of the local

Page 35: SpringerWienNewYork - ciando

Spatial Multibody Systems 25

coordinate system. Hence the naming of the matrix. Here, i = 1, 2, 3 refers to thex, y, z axis, respectively, and j = 1, 2, 3 refers to the ξ, η, ζ axis, respectively.

So, basically, the rotation matrix describes how to get from one coordinatesystem to another, but it does not specify which rotational coordinates it is gen-erated from. Several choices are available here. Some of the more common areEuler angles, Bryant angles, and Euler parameters. There are advantages and dis-advantages with them all, such as described in e.g. (Nikravesh, 1988). Here Eulerparameters are chosen. They do posses the disadvantage of having four elementsinstead of the three that are actually needed. However, they have no problems withsingularities as may be observed with the other choices.

Euler Parameters According to Euler’s theorem a rotational coordinate trans-formation can be accomplished by a single rotation about a suitable axis, see Fig-ure 2.2. This implies that the rotation can be described by three coordinates thatgives the orientation of the rotation axis, �u, and one coordinate that gives the rota-tion angle, φ, all in all four coordinates, u1, u2, u3, φ.

Figure 2.2. Euler rotation of a local coordinate system

Through various geometric observations, see e.g. (Nikravesh, 1988), it can beshown that

�s = �s ′ cosφ + �u(�u · �s ′)(1− cosφ) + �u× �s ′ sin φ (2.3)

By some trigonometric relationships and introduction of the quantities

e0 = cosφ

2

�e = �u sinφ

2

(2.4)

Page 36: SpringerWienNewYork - ciando

26 J. M. Hansen

the corresponding algebraic relation can be found

s =[(2e2

0 − 1)I + 2eeT + 2e0e]s′ (2.5)

in which the˜operator has been introduced as

e =

⎡⎣ 0 −e3 e2

e3 0 −e1

−e2 e1 0

⎤⎦ (2.6)

Angular velocity In contrast to the angular position the angular velocity can beexpressed as a vector. Consider Equation (2.2) and differentiate it with respect totime

sP = As′P + As′P (2.7)

Since s′P is fixed in the local coordinate system, s′P is zero, and hence

sP = As′P (2.8)

It can be shown, see e.g. (Nikravesh, 1988), that A can be written as

A = ωA (2.9)

or, in local coordinatesA = Aω′ (2.10)

Here again the ˜ operator is used to define a skew-symmetric matrix containingthe elements of a vector with three elements as introduced in Equation (2.6). Thevector ω which appears as ω above is denoted the angular velocity in global coor-dinates. Similarly, the vector ω′ is the same vector expressed in local coordinates.Combining Equation (2.8) and Equation (2.9) yields

sP = ωsP (2.11)

so that we can express the total velocity of a point P in a body as

rP = r + sP

= r + ωsP

= r + ωAs′P

(2.12)

As seen above the angular velocity ω is a vector quantity described with threecomponents while the rotational position p is a vector with four components. Itis therefore necessary to define some relations between the time derivatives of p

Page 37: SpringerWienNewYork - ciando

Spatial Multibody Systems 27

and ω. A thorough derivation can be found in e.g. (Nikravesh, 1988), but the mostimportant ones are given below. First, define the two matrices

G =

⎡⎣−e1 e0 −e3 e2

−e2 e3 e0 −e1

−e3 −e2 e1 e0

⎤⎦ (2.13)

and

L =

⎡⎣−e1 e0 e3 −e2

−e2 −e3 e0 e1

−e3 e2 −e1 e0

⎤⎦ (2.14)

The notation G and L are chosen deliberately as the G matrix is mostly usedwith transformations related to transformations expressed in the global coordinatesystem, while L is primarily confined to be used in the local coordinate system.Using these matrices the following relations that will come in handy later can bederived

ω = 2Gp (2.15)

p =1

2GT ω (2.16)

ω′ = 2Lp (2.17)

p =1

2LT ω′ (2.18)

and the time derivatives of these equations, using the facts that Gp = 0 andLp = 0

ω = 2Gp (2.19)

p =1

2GT ω −

1

4(ωT ω)p (2.20)

ω′ = 2Lp (2.21)

p =1

2LT ω′ −

1

4(ω′T ω′)p (2.22)

2.3 Kinematic Constraints

As for the planar case there may be kinematic constraints between pairs of bodies.Before deriving expressions for those, it turns out to be convenient first to definesome basic constraints between points and vectors. The approach used here is incontrast to many other formulations in which for example a constraint that requirestwo vectors to be parallel is expressed as a cross-product condition such as

�a�b = �0 (2.23)

Page 38: SpringerWienNewYork - ciando

28 J. M. Hansen

which in algebraic terms comes out as three scalar equations. However, generally aparallel constraint only involves restrictions of two DOF and hence it is necessaryto eliminate one of the scalar equations. For this and other reasons it has beenchosen here to express all constraints as some simpler, unique basic constraints asshown below.

The simplest of these is one defining two points to be coincident at all times.Assume that the points Pi and Pj in Figure 2.3 have to be coincident, i.e. dij = 0.This can be written as

Φ(s)(Pi, Pj) = rj + Ajs′jP− ri −Ais

′iP

= 0 (2.24)

where the superscript (s) indicates that it can be used to define a spherical joint.Consider the vectors �ai and �aj in Figure 2.3 that are vectors fixed in body i

and body j, respectively. If they at all time must remain perpendicular their dot-product must be zero, so that

Φ(d1)(ai, aj) = aTi aj = 0 (2.25)

or in the body-fixed constant vectors a′i and a′

j :

Φ(d1)(ai, aj) = a′iTAT

i Aja′j = 0 (2.26)

The superscript (d1) indicates that this is the first dot-constraint.It may also be the case that it is required for a vector in one body to remain

perpendicular to a vector between the same body and another one, as for instancevector �ai and vector �dij in Figure 2.3. This can be expressed as

Φ(d2)(ai,dij) = aTi dij = 0 (2.27)

Sincedij = rj + Ajs

′jP− ri −As′

iP (2.28)

Equation (2.27) becomes

Φ(d2)(ai,dij) = a′iTAT

i (rj + Ajs′jP− ri)− a′

iTs′

iP

= 0 (2.29)

which is superscripted (d2) to signal it is the second type of a dot-constraint. No-tice that this constraint is not symmetric with respect to body i and j. So if therequirement is that a vector in body j, �aj , must remain parallel to �dij , the indicesmust be switched.

Finally there may exist requirements about vectors remaining parallel at alltimes. These constraints can also be written in terms of the dot-constraints, as willbe shown here. Consider first two body-fixed vectors �ai and �aj in body i and j,respectively, as shown in Figure 2.4.

Page 39: SpringerWienNewYork - ciando

Spatial Multibody Systems 29

Figure 2.3. Perpendicular vectors in bodies and between two bodies

Figure 2.4. Parallel vectors in bodies and between two bodies

Page 40: SpringerWienNewYork - ciando

30 J. M. Hansen

First we look at two vectors, one, �ai, fixed in body i and one, �aj fixed in bodyj. We construct two vectors, �bi and �ci which are perpendicular both to each otherand to �ai. If we create two constraints that require �bi and �ci to be perpendicularto �aj , then it must also hold that �ai and �aj remain parallel to each other. We cantherefore write the parallel constraint as

Φ(p1)(ai, aj) =

{Φ(d1)(bi, aj)Φ(d1)(ci, aj)

}(2.30)

in which the (p1) denotes the first parallel constraint. Similarly to the (d2) con-straint a (p2) constraint may be needed, defined as a requirement that a vector inone body is parallel to a vector between two bodies, such as vectors �ai and �dij inFigure 2.4. Here, in order for this to hold, vectors�bi and �ci must be perpendicularto �dij , such that the (p2) constraint can be defined as

Φ(p2)(ai,dij) =

{Φ(d2)(bi,dij)

Φ(d2)(ci,dij)

}(2.31)

Tables of elements for the basic constraints Just as was the case for the planarcase it is possible to determine entries for Φq and γ, i.e. the terms of the Jacobianmatrix and the right-hand side of the acceleration equations. The ones given beloware from (Pedersen and Pedersen, 1995), and more can be found in (Nikravesh,1988) and (Haug, 1989).

For the Jacobian matrix it is in the spatial case more convenient to divide the el-ements both according to body, i or j, and translational and rotational coordinates,r and ω′, respectively, as seen below. In Table 2.1 I and 0 are 3 × 3 identity and

Table 2.1. Entries of the Jacobian matrix for the basic constraints for spatial kinematics

Φ ΦriΦω′

iΦrj

Φω′

j

Φ(s)q I −aP

i Ai −I ajAj

Φ(d1)q 0 −aT

j aiAi −I −aTi aP

j Aj

Φ(d2)q −aT

i −(dTij + sP

iT)aiAi aT

i −aTi sP

j Aj

zero matrices, respectively. For the right-hand side of the acceleration equationsthe entries are given in Table 2.2.

2.4 Kinematic Joints

In this section we will demonstrate how the basic constraint equations developedin the preceding section can be used to model some idealized physical spatial

Page 41: SpringerWienNewYork - ciando

Spatial Multibody Systems 31

Table 2.2. Entries of the right-hand side of the acceleration equations for spatial kinematics

Φ γ

Φ(s)q −ωis

Pi + ωj sj

Φ(d1)q sT

i ωisPi − 2sT

i sPj + sT

j ωjsPi

Φ(d2)q −dT

ijωiai − 2aTi dij − aT

i (ωisPj − ωis

Pi )

joints. Expressions for more joints and in other formulations can be found in e.g.(Nikravesh, 1988), (Haug, 1989), (Pedersen and Pedersen, 1995).

The spatial spherical joint A parallel to the planar revolute joint is the spatialspherical joint as shown in Figure 2.5. As seen from the figure the joint requirestwo points, Pi and Pj in body i and body j, respectively, to be coincident at alltimes, while the bodies can rotate freely around any axis desired. In other words,it is an (s)-constraint:

Φ(s)(Pi, Pj) = 0 (2.32)

or

Φ(s) = ri + AisPi − rj −Ajs

Pj = 0 (2.33)

where these equations now constitutes three scalar equations and all the necessaryexpressions for the Jacobian matrix and the right-hand side of the accelerationequations can be found in Tables 2.1 and 2.2 in the row with the entries for thespherical joint.

The spatial revolute joint For the spatial revolute joint as seen in Figure 2.6 onedegree of freedom exists between bodies i and j, namely a rotation around the axisalong which the vectors �ai and �aj are shown. Therefore five degrees of freedommust be constrained. Since there is only relative rotation between the bodies theremust also exist a point, P , in each body which must remain coincident at all times.For this an (s)-constraint can be applied. Furthermore, in order to restrain therelative rotation about the two other axes, the two vectors �ai and �aj must remainparallel at all times. Since these vectors are constant vectors in each body, thisconstraint constitutes a (p1)-constraint, which again is constructed as two (d1)-constraints: One between the vectors �bi and �aj and one between �ci and �aj where�bi and �ci are shown in Figure 2.6. Therefore the constraint equations for the spatialrevolute joint, superscripted by (r), can be written as

Page 42: SpringerWienNewYork - ciando

32 J. M. Hansen

Figure 2.5. The spatial spherical joint

Φ(r) =

{Φ(s)(Pi, Pj)

Φ(p1)(ai, aj)

}=

⎧⎨⎩

Φ(s)(Pi, Pj)

Φ(d1)(bi, aj)

Φ(d1)(ci, aj)

⎫⎬⎭ = 0 (2.34)

The spatial translational joint In quite a similar way as for the revolute joint theconstraints that define the behavior of the translational joint as shown in Figure 2.6can be created from the basic mathematical constraints.

The characteristics of the translational joint is that the two bodies connected bythe joint can perform relative translation along one axis. No rotation, however, andno relative movement along axes perpendicular to the translational axis are possi-ble. From Figure 2.7 it can be seen that the constraints for the spatial translationaljoint, Φ(t) become

Φ(r) =

⎧⎨⎩

Φ(d1)(bi, bj)

Φ(p1)(ai, aj)

Φ(p2)(ai,dij)

⎫⎬⎭ =

⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩

Φ(d1)(bi, bj)

Φ(d1)(bi, aj)

Φ(d1)(ci, aj)

Φ(d2)(bi,dij)

Φ(d2)(ci,dij)

⎫⎪⎪⎪⎪⎪⎬⎪⎪⎪⎪⎪⎭

= 0 (2.35)

These constraints correspond in fact to the following requirements:

Page 43: SpringerWienNewYork - ciando

Spatial Multibody Systems 33

Figure 2.6. Vectors in a spatial revolute joint

• The fact the two bodies cannot rotate relative to each other around the axisof translation can be achieved by requiring that the two vectors �bi and �bj

must remain perpendicular at all times, i.e. a (d1)-constraint.• The rotation around the remaining two axes can be constrained by requiring

that the two vectors �ai and �aj remain parallel at all times, i.e. this can beenforced by a (p1)-constraint

• The requirement that the two points Pi and Pj must remain on the same axisat all times can be enforced by requiring the �dij vector to be parallel to the�ai vector. For this a (p2) constraint can be used.

2.5 Newton-Euler Equations

In this section the equations of motion for spatial collections of rigid bodies willbe derived. They are similar to the ones for planar systems in the sense that theycan be divided into equations for translation and rotations, respectively. There are,however, some differences in the way rotations must be treated when they occuraround more than one axis as will be seen in the following.

The translational part of the equations of motion is very similar to its planarcounterpart as it is merely Newton’s second law expressed in space instead of in